1. 07 Jan, 2008 40 commits
    • zimmermann@webkit.org's avatar
      Reviewed by Mark. · b5f7a80c
      zimmermann@webkit.org authored
      Enable SVG_FONTS by default.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29268 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b5f7a80c
    • mitz@apple.com's avatar
      Build fix. · dad1a603
      mitz@apple.com authored
              * platform/graphics/qt/SimpleFontDataQt.cpp:
              (WebCore::SimpleFontData::SimpleFontData):
              (WebCore::SimpleFontData::~SimpleFontData):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29267 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dad1a603
    • weinig@apple.com's avatar
      WebCore: · 6b00e241
      weinig@apple.com authored
              Reviewed by Sam Weinig
      
              Fixes: http://bugs.webkit.org/show_bug.cgi?id=16523
              <rdar://problem/5657447>
      
              When a frame is created with the URL "about:blank" or "", it should
              inherit its SecurityOrigin from its opener.  However, once it has
              decided on that SecurityOrigin, it should not change its mind.
              Prior to this patch, several events could induce the frame to change
              its SecurityOrigin, permitting an attacker to inject script into an
              arbitrary SecurityOrigin.
      
              This patch makes several changes:
      
              1) Documents refuse to change from one SecurityOrigin to another
                 unless explicitly instructed to do so.
      
              2) Navigating to a JavaScript URL that produces a value
                 preserves the current SecurityOrigin explicitly instead of
                 relying on the URL to preserve the origin (which fails for
                 about:blank URLs and SecurityOrigins with document.domain set).
      
                 Ideally, we should not preserve the URL at all.  Instead, the
                 frame's URL should be the JavaScript URL, as in Firefox, but this
                 would require changes that are too risky for this patch.  I'll
                 file this as a separate issue.
      
              3) Various methods of navigating to JavaScript URLs were not
                 properly handling JavaScript that returned a value (and should
                 therefore replace the current document).  This patch unifies
                 those code paths with the path that works.
      
                 There are still a handful of bugs relating to the handling of
                 JavaScript URLs, but I'll file those as separate issues.
      
              Tests: http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write.html
                     http/tests/security/aboutBlank/xss-DENIED-navigate-opener-javascript-url.html
                     http/tests/security/aboutBlank/xss-DENIED-set-opener.html
      
              * dom/Document.cpp:
              (WebCore::Document::initSecurityOrigin):
              * dom/Document.h:
              (WebCore::Document::setSecurityOrigin):
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::changeLocation):
              (WebCore::FrameLoader::urlSelected):
              (WebCore::FrameLoader::requestFrame):
              (WebCore::FrameLoader::submitForm):
              (WebCore::FrameLoader::executeIfJavaScriptURL):
              (WebCore::FrameLoader::begin):
              * loader/FrameLoader.h:
              * platform/SecurityOrigin.cpp:
              (WebCore::SecurityOrigin::setForURL):
              (WebCore::SecurityOrigin::createForFrame):
              * platform/SecurityOrigin.h:
      
      LayoutTests:
      
              Reviewed by Sam Weinig.
      
              Fixes: http://bugs.webkit.org/show_bug.cgi?id=16523
      
              Adds new LayoutTests for scripting from about:blank windows.  These
              windows should inherit its SecurityOrigin from its opener and should
              refuse to change their origins when their opener changes exogenously
              (the navigate-opener tests) or explicitly (the set-opener test).
      
              * http/tests/security/aboutBlank: Added.
              * http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write-expected.txt: Added.
              * http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write.html: Added.
              * http/tests/security/aboutBlank/xss-DENIED-navigate-opener-javascript-url-expected.txt: Added.
              * http/tests/security/aboutBlank/xss-DENIED-navigate-opener-javascript-url.html: Added.
              * http/tests/security/aboutBlank/xss-DENIED-set-opener-expected.txt: Added.
              * http/tests/security/aboutBlank/xss-DENIED-set-opener.html: Added.
              * http/tests/security/resources/innocent-victim-with-notify.html: Added.
              * http/tests/security/resources/innocent-victim.html: Added.
              * http/tests/security/resources/libwrapjs.js: Added.
              * http/tests/security/resources/open-window.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29266 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6b00e241
    • adele@apple.com's avatar
      Forgot to check in these changes in my last checkin. · 6a163b22
      adele@apple.com authored
              * rendering/RenderThemeSafari.cpp:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29265 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6a163b22
    • mitz@apple.com's avatar
      Build fixes. · 0350ca5c
      mitz@apple.com authored
              * WebCore.pro:
              * platform/graphics/qt/FontCacheQt.cpp:
              (WebCore::FontCache::getCachedFontData):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29264 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0350ca5c
    • mrowe@apple.com's avatar
      Update Tiger library to a G3-friendly version. · 772049b1
      mrowe@apple.com authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29263 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      772049b1
    • timothy@apple.com's avatar
      Reviewed by John Sullivan. · c6dbeaa8
      timothy@apple.com authored
              <rdar://problem/5674119> Make the Web Inspector toolbar the normal size when not docked
      
              * page/inspector/inspector.css: Changed CSS rules to have the toolbar and buttons be
                normal height when not docked, and small when docked. Also added some cursor properties
                prevent showing the text cursor over areas that are not selectable.
              * page/inspector/Images: A few images added and old ones removed or renamed.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29262 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c6dbeaa8
    • alp@webkit.org's avatar
      2008-01-07 Alp Toker <alp@atoker.com> · f101e963
      alp@webkit.org authored
              Prospective GTK+ autotools/qmake VIDEO build fix for breakage
              introduced in r29257.
      
              * GNUmakefile.am:
              * WebCore.pro:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29261 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f101e963
    • zimmermann@webkit.org's avatar
      062b30f0
    • zimmermann@webkit.org's avatar
      Reviewed by Mark. · 2eac39a9
      zimmermann@webkit.org authored
      Build fix affecting all builds - again related to the unicode-range addition.
      Note: There is still a crasher (svg/W3C-SVG-1.1/fonts-elem-03-b.svg) that Dan is about to fix.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29258 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2eac39a9
    • adele@apple.com's avatar
      WebCore: · 42f12e80
      adele@apple.com authored
              Reviewed by Antti, Adam, and Mitz.
      
              WebCore part of fix for 
              <rdar://problem/5619073> Updated look for <video> controls
              <rdar://problem/5619057> Add volume control to video controls
      
              * WebCore.base.exp: Added symbols for WebKitSystemInterface drawing methods.
              * WebCore.xcodeproj/project.pbxproj: Added MediaControlElements.h/cpp
              * WebCore.vcproj/WebCore.vcproj: ditto.
      
              * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added cases for new appearances.
              * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Added cases for new types.
              * css/CSSSelector.h: (WebCore::CSSSelector::): Added new pseudo elements.
              * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::checkOneSelector): ditto.
              * css/CSSValueKeywords.in: Added keywords for new control appearance styles.
              * css/html4.css: Added new styles for new controls.
      
              * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::canPlay): Added. Takes loading state into account.
              * html/HTMLMediaElement.h:
      
              * page/EventHandler.cpp: (WebCore::EventHandler::updateMouseEventTargetNode): Make sure the events always go to the capturing node, if there is one.
      
              * platform/mac/WebCoreSystemInterface.h: Added drawing methods for controls.
              * platform/mac/WebCoreSystemInterface.mm: ditto.
      
              * rendering/MediaControlElements.cpp: Added.
              (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement): Moved from RenderMedia.  Made this relatively positioned, instead of absolute.
              (WebCore::MediaControlInputElement::MediaControlInputElement): Moved from RenderMedia.  Removed call to updateFromElement, 
               since its too early to do this here, and causes crashes for the slider.
              (WebCore::MediaControlInputElement::attachToParent): Moved from RenderMedia.
              (WebCore::MediaControlInputElement::update): ditto.
              (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Added.
              (WebCore::MediaControlMuteButtonElement::defaultEventHandler): ditto.
              (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Moved from RenderMedia.
              (WebCore::MediaControlPlayButtonElement::defaultEventHandler): ditto.
              (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Added.
              (WebCore::MediaControlSeekButtonElement::defaultEventHandler): ditto.
              (WebCore::MediaControlSeekButtonElement::seekTimerFired): ditto.
              (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Moved from RenderMedia.
              (WebCore::MediaControlTimelineElement::defaultEventHandler): ditto.
              (WebCore::MediaControlTimelineElement::update): ditto. 
              (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Added.
              (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): ditto.
              * rendering/MediaControlElements.h: Added. Moved from RenderMedia.
              (WebCore::MediaControlShadowRootElement::isShadowNode):
              (WebCore::MediaControlShadowRootElement::shadowParentNode):
              (WebCore::RenderMediaControlShadowRoot::RenderMediaControlShadowRoot):
              (WebCore::RenderMediaControlShadowRoot::setParent):
      
              * rendering/RenderMedia.cpp: Moved control element classes to MediaControlElements files.
              (WebCore::RenderMedia::RenderMedia): No need to initialize RefPtrs.
              (WebCore::RenderMedia::layout): Set the position for the controlsRenderer.
              (WebCore::RenderMedia::createPanel): Added nil check for the renderer.
              (WebCore::RenderMedia::createMuteButton): Added.
              (WebCore::RenderMedia::createSeekBackButton): ditto.
              (WebCore::RenderMedia::createSeekForwardButton): ditto.
              (WebCore::RenderMedia::createTimeDisplay): Added nil check for the renderer.
              (WebCore::RenderMedia::createFullscreenButton): Added.
              (WebCore::RenderMedia::updateControls): Create, delete, and update new controls when appropriate.
              (WebCore::RenderMedia::updateControlVisibility): Don't fade controls for audio controls. 
              (WebCore::RenderMedia::forwardEvent): Forward events for new controls.
              * rendering/RenderMedia.h: Added new methods for creating new controls.
      
              * rendering/RenderObject.cpp: (WebCore::RenderObject::containingBlock): Updated special case for media elements, which are replaced elements, 
                but also can contain children (the controls' container) that may need to look for the containing block.
      
              * rendering/RenderSlider.cpp: (WebCore::RenderSlider::createThumbStyle): Added case for MediaSliderAppearance.
      
              * rendering/RenderStyle.h: Added appearance constants and pseudo ids for new controls.
              (WebCore::):
              (WebCore::RenderStyle::):
      
              * rendering/RenderTheme.cpp:
              (WebCore::RenderTheme::adjustStyle): Added cases for new appearances.
              (WebCore::RenderTheme::paint): ditto.
              * rendering/RenderTheme.h: Added new methods for painting new appearances.
              (WebCore::RenderTheme::paintMediaBackground):
              (WebCore::RenderTheme::paintMediaFullscreenButton):
              (WebCore::RenderTheme::paintMediaPlayButton):
              (WebCore::RenderTheme::paintMediaMuteButton):
              (WebCore::RenderTheme::paintMediaSeekBackButton):
              (WebCore::RenderTheme::paintMediaSeekForwardButton):
              (WebCore::RenderTheme::paintMediaSliderThumb):
              * rendering/RenderThemeMac.h:
              * rendering/RenderThemeMac.mm:
              (WebCore::RenderThemeMac::RenderThemeMac): Initialize m_mediaControlBackgroundImage.
              (WebCore::RenderThemeMac::~RenderThemeMac): Delete m_mediaControlBackgroundImage.
              (WebCore::RenderThemeMac::paintCapsLockIndicator): Use LocalCurrentGraphicsContext here too, since we use it in all other painting methods.
              (WebCore::RenderThemeMac::paintSliderTrack): Added case for MediaSliderAppearance.
              (WebCore::RenderThemeMac::adjustSliderThumbSize): Added case for MediaSliderThumbAppearance.
              (WebCore::RenderThemeMac::paintMediaBackground): Draws the new artwork for the controls.
              (WebCore::RenderThemeMac::paintMediaFullscreenButton): ditto.
              (WebCore::RenderThemeMac::paintMediaMuteButton): ditto.
              (WebCore::RenderThemeMac::paintMediaPlayButton): ditto.
              (WebCore::RenderThemeMac::paintMediaSeekBackButton): ditto.
              (WebCore::RenderThemeMac::paintMediaSeekForwardButton): ditto.
              (WebCore::RenderThemeMac::paintMediaSliderThumb): ditto.
              * rendering/RenderThemeSafari.cpp: Draws the new artwork on Windows.
              (WebCore::RenderThemeSafari::paintSliderTrack):
              (WebCore::RenderThemeSafari::adjustSliderThumbSize):
              (WebCore::RenderThemeSafari::paintMediaBackground):
              (WebCore::RenderThemeSafari::paintMediaFullscreenButton):
              (WebCore::RenderThemeSafari::paintMediaMuteButton):
              (WebCore::RenderThemeSafari::paintMediaPlayButton):
              (WebCore::RenderThemeSafari::paintMediaSeekBackButton):
              (WebCore::RenderThemeSafari::paintMediaSeekForwardButton):
              (WebCore::RenderThemeSafari::paintMediaSliderThumb):
              * rendering/RenderThemeSafari.h:
      
      WebKit/mac:
      
              Reviewed by Antti, Adam, and Mitz.
      
              WebKit part of fix for 
              <rdar://problem/5619073> Updated look for <video> controls
              <rdar://problem/5619057> Add volume control to video controls
      
              * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
      
      WebKitLibraries:
      
              Reviewed by Antti, Adam, and Mitz.
      
              WebKitLibraries part of fix for 
              <rdar://problem/5619073> Updated look for <video> controls
              <rdar://problem/5619057> Add volume control to video controls
      
              * WebKitSystemInterface.h:
              * libWebKitSystemInterfaceLeopard.a:
              * libWebKitSystemInterfaceTiger.a:
      
      LayoutTests:
      
              Reviewed by Antti, Adam, and Mitz.
      
              Updated results for:
              <rdar://problem/5619073> Updated look for <video> controls
              <rdar://problem/5619057> Add volume control to video controls
      
              * platform/mac/media/audio-controls-rendering-expected.checksum:
              * platform/mac/media/audio-controls-rendering-expected.png:
              * platform/mac/media/audio-controls-rendering-expected.txt:
              * platform/mac/media/video-controls-rendering-expected.checksum:
              * platform/mac/media/video-controls-rendering-expected.png:
              * platform/mac/media/video-controls-rendering-expected.txt:
              * platform/mac/media/video-display-toggle-expected.checksum:
              * platform/mac/media/video-display-toggle-expected.png:
              * platform/mac/media/video-display-toggle-expected.txt:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29257 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      42f12e80
    • timothy@apple.com's avatar
      Reviewed by Darin Adler. · 07b0719e
      timothy@apple.com authored
              Fix ASSERTION FAILED: dstOffset + srcSegmentLength == static_cast<int>(data.size())
              when the replacment string is a different length.
      
              * platform/text/StringImpl.cpp:
              (WebCore::StringImpl::replace): Move the parenthesis to be around only the subtraction in
              the Vector size calculation, correcting the order of math operations.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29256 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      07b0719e
    • zimmermann@webkit.org's avatar
      Reviewed by Eric. Hopefully fix build with mac tiger after the unicode-range... · 819cdc29
      zimmermann@webkit.org authored
      Reviewed by Eric. Hopefully fix build with mac tiger after the unicode-range addition. NSInteger not available there.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29255 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      819cdc29
    • alice.liu@apple.com's avatar
      Reviewed by Sam. · a9aa0116
      alice.liu@apple.com authored
              checking in platform-specific results. addresses <rdar://5137719>
      
              * platform/win/Skipped:
              * platform/win/fast/dom/Window/window-screen-properties-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29254 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a9aa0116
    • zimmermann@webkit.org's avatar
      Reviewed by Oliver. Fix build error introduced by Dan's unicode-range support... · 1f6a0b04
      zimmermann@webkit.org authored
      Reviewed by Oliver. Fix build error introduced by Dan's unicode-range support patch & enabling SVG_FONTS by default.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29253 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1f6a0b04
    • zimmermann@webkit.org's avatar
      Not reviewed. Next try to fix wx/mac leopard build. · cc3550da
      zimmermann@webkit.org authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29252 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cc3550da
    • kmccullough@apple.com's avatar
      Reviewed by Adele. · 1f760614
      kmccullough@apple.com authored
              - <rdar://problem/5667022> fast/events/mousemove-after-drag-over-scrollbar.html
              failing (missing a mousemove event)
              - Updated test to reflect it's original intention and filed a different
              bug about the issue that caused the test to fail on Windows.
      
              * fast/events/mousemove-after-drag-over-scrollbar-expected.txt:
              * fast/events/mousemove-after-drag-over-scrollbar.html:
              * platform/win/Skipped:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29251 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1f760614
    • mitz@apple.com's avatar
      WebCore: · 648b73b1
      mitz@apple.com authored
              Reviewed by Dave Hyatt.
      
              - <rdar://problem/5665216> Support the unicode-range property in @font-face rules
      
              * GNUmakefile.am:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * WebCoreSources.bkl:
              * bindings/objc/DOM.mm:
              * bridge/mac/WebCoreAXObject.mm:
              * css/CSSComputedStyleDeclaration.cpp:
              (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
              * css/CSSFontFace.cpp:
              (WebCore::CSSFontFace::fontLoaded): Changed to call the owning segmented
              font face.
              (WebCore::CSSFontFace::getFontData):
              * css/CSSFontFace.h:
              (WebCore::CSSFontFace::CSSFontFace):
              (WebCore::CSSFontFace::setSegmentedFontFace):
              * css/CSSFontFaceSource.cpp:
              (WebCore::CSSFontFaceSource::pruneTable): Removed the calls to
              GlyphPageTreeNode::pruneTreeCustomFontData because the fonts in the
              font table are not exposed in the glyph page tree. Only the segmented
              font is, and that is taken care of by the segmented font face.
              (WebCore::CSSFontFaceSource::getFontData):
              * css/CSSFontFaceSource.h:
              * css/CSSFontSelector.cpp:
              (WebCore::CSSFontSelector::addFontFaceRule): Changed to collect
              @font-face rules with the same family and traits into a single
              segmented font face, instead of just retaining the most recent one.
              (WebCore::CSSFontSelector::fontLoaded):
              (WebCore::CSSFontSelector::getFontData):
              * css/CSSFontSelector.h:
              * css/CSSGrammar.y:
              * css/CSSParser.cpp:
              (WebCore::CSSParser::parseValue):
              (WebCore::CSSParser::parseFontFaceUnicodeRange): Added. Parses a unicode
              range value.
              * css/CSSParser.h:
              * css/CSSPrimitiveValue.h:
              (WebCore::CSSPrimitiveValue::):
              * css/CSSPropertyNames.in:
              * css/CSSSegmentedFontFace.cpp: Added.
              (WebCore::CSSSegmentedFontFace::CSSSegmentedFontFace):
              (WebCore::CSSSegmentedFontFace::~CSSSegmentedFontFace):
              (WebCore::CSSSegmentedFontFace::pruneTable):
              (WebCore::CSSSegmentedFontFace::isLoaded):
              (WebCore::CSSSegmentedFontFace::isValid):
              (WebCore::CSSSegmentedFontFace::fontLoaded):
              (WebCore::CSSSegmentedFontFace::overlayRange):
              (WebCore::CSSSegmentedFontFace::getFontData):
              * css/CSSSegmentedFontFace.h: Added.
              (WebCore::FontFaceRange::FontFaceRange):
              (WebCore::FontFaceRange::from):
              (WebCore::FontFaceRange::to):
              (WebCore::FontFaceRange::fontFace):
              (WebCore::CSSSegmentedFontFace::fontSelector):
              * css/CSSStyleSelector.cpp:
              (WebCore::CSSStyleSelector::applyProperty):
              * css/CSSUnicodeRangeValue.cpp: Added.
              (WebCore::CSSUnicodeRangeValue::~CSSUnicodeRangeValue):
              (WebCore::CSSUnicodeRangeValue::cssText):
              * css/CSSUnicodeRangeValue.h: Added.
              (WebCore::CSSUnicodeRangeValue::CSSUnicodeRangeValue):
              (WebCore::CSSUnicodeRangeValue::from):
              (WebCore::CSSUnicodeRangeValue::to):
              * css/SVGCSSFontFace.cpp:
              (WebCore::SVGCSSFontFace::getFontData):
              * css/SVGCSSFontFace.h:
              * editing/Editor.cpp:
              (WebCore::Editor::fontForSelection):
              * editing/Editor.h:
              * page/mac/FrameMac.mm:
              * page/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge fontForSelection:]):
              * platform/graphics/Font.cpp:
              (WebCore::WidthIterator::advance):
              (WebCore::Font::glyphDataForCharacter):
              (WebCore::Font::primaryFont): Changed to return the simple font data
              used for the space character.
              (WebCore::Font::fontDataAt):
              (WebCore::Font::fontDataForCharacters):
              (WebCore::Font::drawGlyphBuffer):
              * platform/graphics/Font.h:
              * platform/graphics/FontCache.cpp:
              (WebCore::FontCache::getCachedFontData):
              (WebCore::FontCache::getFontData):
              * platform/graphics/FontCache.h:
              * platform/graphics/FontData.cpp: Renamed to SimpleFontData.cpp
              * platform/graphics/FontData.h: Renamed to SimpleFontData.cpp.
              * platform/graphics/FontDataBaseClass.cpp: Added. This will be renamed
              FontData.cpp.
              (WebCore::FontData::~FontData):
              * platform/graphics/FontDataBaseClass.h: Added. This will be renamed
              FontData.h.
              * platform/graphics/FontFallbackList.cpp:
              (WebCore::FontFallbackList::determinePitch):
              (WebCore::FontFallbackList::fontDataAt):
              (WebCore::FontFallbackList::fontDataForCharacters):
              * platform/graphics/FontFallbackList.h:
              (WebCore::FontFallbackList::primaryFont):
              * platform/graphics/FontSelector.h:
              * platform/graphics/GlyphBuffer.h:
              (WebCore::GlyphBuffer::fontDataAt):
              (WebCore::GlyphBuffer::swap):
              (WebCore::GlyphBuffer::add):
              * platform/graphics/GlyphPageTreeNode.cpp:
              (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
              (WebCore::GlyphPageTreeNode::initializePage): Added code to initialize
              pages for segmented font data.
              (WebCore::GlyphPageTreeNode::getChild):
              (WebCore::GlyphPageTreeNode::pruneCustomFontData):
              * platform/graphics/GlyphPageTreeNode.h:
              (WebCore::GlyphPage::setGlyphDataForCharacter):
              (WebCore::GlyphPage::setGlyphDataForIndex):
              (WebCore::GlyphPageTreeNode::getRootChild):
              * platform/graphics/SegmentedFontData.cpp: Added.
              (WebCore::SegmentedFontData::~SegmentedFontData):
              (WebCore::SegmentedFontData::fontDataForCharacter):
              (WebCore::SegmentedFontData::containsCharacters):
              (WebCore::SegmentedFontData::isCustomFont):
              (WebCore::SegmentedFontData::isLoading):
              (WebCore::SegmentedFontData::isSegmented):
              * platform/graphics/SegmentedFontData.h: Added.
              (WebCore::FontDataRange::FontDataRange):
              (WebCore::FontDataRange::from):
              (WebCore::FontDataRange::to):
              (WebCore::FontDataRange::fontData):
              (WebCore::SegmentedFontData::appendRange):
              (WebCore::SegmentedFontData::numRanges):
              (WebCore::SegmentedFontData::rangeAt):
              * platform/graphics/SimpleFontData.cpp: Copied from WebCore/platform/graphics/FontData.cpp.
              (WebCore::SimpleFontData::SimpleFontData):
              (WebCore::SimpleFontData::~SimpleFontData):
              (WebCore::SimpleFontData::ascent):
              (WebCore::SimpleFontData::descent):
              (WebCore::SimpleFontData::widthForGlyph):
              (WebCore::SimpleFontData::fontDataForCharacter):
              (WebCore::SimpleFontData::isSegmented):
              * platform/graphics/SimpleFontData.h: Copied from WebCore/platform/graphics/FontData.h.
              (WebCore::SimpleFontData::isCustomFont):
              (WebCore::SimpleFontData::isLoading):
              * platform/graphics/cairo/GraphicsContextCairo.cpp:
              (WebCore::GraphicsContext::setPlatformFont):
              * platform/graphics/gtk/FontCacheGtk.cpp:
              (WebCore::FontCache::getFontDataForCharacters):
              * platform/graphics/gtk/FontDataGtk.cpp: Renamed to
              SimpleFontDataGtk.cpp.
              * platform/graphics/gtk/FontGtk.cpp:
              (WebCore::Font::drawGlyphs):
              * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp:
              (WebCore::GlyphPage::fill):
              * platform/graphics/gtk/SimpleFontDataGtk.cpp: Copied from WebCore/platform/graphics/gtk/FontDataGtk.cpp.
              (WebCore::SimpleFontData::platformInit):
              (WebCore::SimpleFontData::platformDestroy):
              (WebCore::SimpleFontData::smallCapsFontData):
              (WebCore::SimpleFontData::containsCharacters):
              (WebCore::SimpleFontData::determinePitch):
              (WebCore::SimpleFontData::platformWidthForGlyph):
              (WebCore::SimpleFontData::setFont):
              * platform/graphics/mac/FontCacheMac.mm:
              (WebCore::FontCache::getFontDataForCharacters):
              * platform/graphics/mac/FontDataMac.mm: Renamed to SimpleFontDataMac.mm.
              * platform/graphics/mac/FontMac.mm:
              (WebCore::initializeATSUStyle):
              (WebCore::overrideLayoutOperation):
              (WebCore::ATSULayoutParameters::initialize):
              (WebCore::Font::drawGlyphs):
              * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
              (WebCore::GlyphPage::fill):
              * platform/graphics/mac/SimpleFontDataMac.mm: Copied from WebCore/platform/graphics/mac/FontDataMac.mm.
              (WebCore::initFontData):
              (WebCore::SimpleFontData::platformInit):
              (WebCore::SimpleFontData::platformDestroy):
              (WebCore::SimpleFontData::smallCapsFontData):
              (WebCore::SimpleFontData::containsCharacters):
              (WebCore::SimpleFontData::determinePitch):
              (WebCore::SimpleFontData::platformWidthForGlyph):
              (WebCore::SimpleFontData::checkShapesArabic):
              * platform/graphics/qt/FontDataQt.cpp: Renamed to SimpleFontDataQt.cpp.
              * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
              (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
              * platform/graphics/qt/SimpleFontDataQt.cpp: Copied from WebCore/platform/graphics/qt/FontDataQt.cpp.
              * platform/graphics/win/FontCacheWin.cpp:
              (WebCore::FontCache::getFontDataForCharacters):
              * platform/graphics/win/FontDataWin.cpp: Renamed to
              SimpleFontDataWin.cpp.
              * platform/graphics/win/FontWin.cpp:
              (WebCore::Font::drawGlyphs):
              * platform/graphics/win/GlyphPageTreeNodeWin.cpp:
              (WebCore::GlyphPage::fill):
              * platform/graphics/win/SimpleFontDataWin.cpp: Copied from WebCore/platform/graphics/win/FontDataWin.cpp.
              (WebCore::SimpleFontData::setShouldApplyMacAscentHack):
              (WebCore::SimpleFontData::platformInit):
              (WebCore::SimpleFontData::platformDestroy):
              (WebCore::SimpleFontData::smallCapsFontData):
              (WebCore::SimpleFontData::containsCharacters):
              (WebCore::SimpleFontData::determinePitch):
              (WebCore::SimpleFontData::platformWidthForGlyph):
              (WebCore::SimpleFontData::scriptFontProperties):
              * platform/graphics/wx/FontCacheWx.cpp:
              (WebCore::FontCache::getFontDataForCharacters):
              * platform/graphics/wx/FontDataWx.cpp: Renamed to SimpleFontDataWx.cpp.
              * platform/graphics/wx/FontWx.cpp:
              (WebCore::Font::drawGlyphs):
              * platform/graphics/wx/GlyphMapWx.cpp:
              (WebCore::GlyphPage::fill):
              * platform/graphics/wx/SimpleFontDataWx.cpp: Copied from WebCore/platform/graphics/wx/FontDataWx.cpp.
              (WebCore::SimpleFontData::platformInit):
              (WebCore::SimpleFontData::platformDestroy):
              (WebCore::SimpleFontData::smallCapsFontData):
              (WebCore::SimpleFontData::containsCharacters):
              (WebCore::SimpleFontData::determinePitch):
              (WebCore::SimpleFontData::platformWidthForGlyph):
              * platform/mac/FileChooserMac.mm:
              * platform/mac/PopupMenuMac.mm:
              * platform/mac/WebCoreTextRenderer.mm:
              * platform/win/PopupMenuWin.cpp:
              * platform/win/UniscribeController.cpp:
              (WebCore::UniscribeController::advance):
              (WebCore::UniscribeController::itemizeShapeAndPlace):
              (WebCore::UniscribeController::shapeAndPlaceItem):
              (WebCore::UniscribeController::shape):
              * platform/win/UniscribeController.h:
              * svg/SVGFont.cpp:
              (WebCore::Font::drawGlyphsWithSVGFont):
              * svg/SVGFontElement.cpp:
              (WebCore::SVGFontElement::collectGlyphs):
              * svg/SVGFontFaceElement.cpp:
              (WebCore::SVGFontFaceElement::createFontData):
              * svg/SVGFontFaceElement.h:
              * svg/SVGGlyphElement.cpp:
      
      WebKit/mac:
      
              Reviewed by Dave Hyatt.
      
              - <rdar://problem/5665216> Support the unicode-range property in @font-face rules
      
              * Misc/WebNSAttributedStringExtras.mm:
      
      WebKit/win:
      
              Reviewed by Dave Hyatt.
      
              - <rdar://problem/5665216> Support the unicode-range property in @font-face rules
      
              * WebView.cpp:
              (WebView::setShouldApplyMacFontAscentHack):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29250 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      648b73b1
    • zimmermann@webkit.org's avatar
      3406c238
    • zimmermann@webkit.org's avatar
      Not reviewed. Proposed build fix for wx. · 0109cf50
      zimmermann@webkit.org authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29248 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0109cf50
    • mitz@apple.com's avatar
      64-bit build fix · 3401b129
      mitz@apple.com authored
              * platform/graphics/mac/FontCustomPlatformData.cpp:
              (WebCore::FontCustomPlatformData::fontPlatformData): Have to use a
              cast here since FMGetFontFromATSFontRef() is not available on 64-bit.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29247 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3401b129
    • zimmermann@webkit.org's avatar
      Reviewed by Oliver. Parts reviewed by Eric, David Hyatt & Dan & Alexey. · c9b7d117
      zimmermann@webkit.org authored
      Fixes: http://bugs.webkit.org/show_bug.cgi?id=15741 (REGRESSION: svg/W3C-SVG-1.1/fonts-elem-03-b.svg shows worse behavior on TOT)
      
      Display SVG Fonts, fill svg/SVGFont.cpp with life by adding all needed code to
      measure & render glyphs contained in SVG Fonts, including ligature lookup support.
      
      Fixes dozens of testcases, see ChangeLog for details.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29246 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c9b7d117
    • darin@apple.com's avatar
      Rubber stamped by David Kilzer. · 0b4b5399
      darin@apple.com authored
              - get rid of empty fpconst.cpp
      
              * GNUmakefile.am: Remove fpconst.cpp.
              * JavaScriptCore.pri: Ditto.
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Ditto.
              * JavaScriptCore.xcodeproj/project.pbxproj: Ditto.
              * JavaScriptCoreSources.bkl: Ditto.
      
              * kjs/fpconst.cpp: Removed.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29245 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0b4b5399
    • zimmermann@webkit.org's avatar
      Rubberstamped by Oliver. · 758e900e
      zimmermann@webkit.org authored
      Fix all SVG layout tests now that DRT works again reliable for SVG pixel tests.
      
      Move all *-expected.txt files into platform/mac (as most contain text, and other measured values)
      Leave only -expected.txt files there which dump as text.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29244 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      758e900e
    • darin@apple.com's avatar
      Reviewed by David Kilzer. · 3b4d9cc5
      darin@apple.com authored
              - fix alignment problem with NaN and Inf globals
      
              * kjs/fpconst.cpp: Move the contents of this file from here back to
              value.cpp. The reason this was in a separate file is that the DARWIN
              version of this used a declaration of the globals with a different
              type to avoid creating "init routines". That's no longer necessary for
              DARWIN and was never necessary for the non-DARWIN code path.
              To make this patch easy to merge, I didn't actually delete this file
              yet. We'll do that in a separate changeset.
      
              * kjs/value.cpp: If C99's NAN and INFINITY are present, then use them,
              othrewise use the union trick from fpconst.cpp. I think it would be
              better to eliminate KJS::NaN and KJS::Inf and just use NAN and INFINITY
              directly or std::numeric_limits<double>::quiet_nan() and
              std::numeric_limits<double>::infinity(). But when I tried that, it
              slowed down SunSpider. Someone else could do that cleanup if they
              could do it without slowing down the engine.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29243 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3b4d9cc5
    • kmccullough@apple.com's avatar
      - Updated to run a test whose failure was only a build bot state issue. · 10793db1
      kmccullough@apple.com authored
       
              * platform/win/Skipped:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29242 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      10793db1
    • hyatt@apple.com's avatar
      Fix for bug 13095, CSS3 multiple backgrounds don't work on table cells. · cbd1b3c6
      hyatt@apple.com authored
              Reviewed by Dan
      
              * rendering/RenderBox.h:
              * rendering/RenderTableCell.cpp:
              (WebCore::RenderTableCell::paintBackgroundsBehindCell):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29241 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cbd1b3c6
    • aroben@apple.com's avatar
      * platform/win/Skipped: Skip the culprit, not the victim. · 91770c05
      aroben@apple.com authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29240 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      91770c05
    • aroben@apple.com's avatar
      Windows build fix · fe6c4259
      aroben@apple.com authored
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Added
              JavaScript.h to the project.
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make:
              Copy JavaScript.h to WEBKITOUTPUTDIR.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29239 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fe6c4259
    • timothy@apple.com's avatar
      Reviewed by Darin. · 81877173
      timothy@apple.com authored
              Fix Mac build.
      
              * API/JSNode.c:
              * API/JSNode.h:
              * API/JSNodeList.c:
              * API/JSNodeList.h:
              * API/JavaScript.h:
              * API/JavaScriptCore.h:
              * API/minidom.c:
              * JavaScriptCore.xcodeproj/project.pbxproj:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29238 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      81877173
    • aroben@apple.com's avatar
      * platform/win/Skipped: Added a few more failures. · 48e760c8
      aroben@apple.com authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29237 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      48e760c8
    • aroben@apple.com's avatar
      Remove a now incorrect Windows-specific result · 1992ea77
      aroben@apple.com authored
              This should have been done as part of r29187
      
              * platform/win/fast/dom/wrapper-classes-expected.txt: Removed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29236 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1992ea77
    • zimmermann@webkit.org's avatar
      Fixes: http://bugs.webkit.org/show_bug.cgi?id=16244 · 5cbaa97a
      zimmermann@webkit.org authored
      DRT doesn't handle platform specific pixel test results correctly.
      
      <test>-expected.txt files and <test>-expected.png files may now live
      in different directories (ie. a cross-platform <test>-expected.txt file
      and a platform-specific <test>-expected.png file).
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29235 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5cbaa97a
    • alp@webkit.org's avatar
      2008-01-07 Alp Toker <alp@atoker.com> · baab9e7f
      alp@webkit.org authored
              Reviewed by Darin.
      
              http://bugs.webkit.org/show_bug.cgi?id=16029
              JavaScriptCore.h is not suitable for platforms other than Mac OS X
      
              Introduce a new JavaScriptCore/JavaScript.h public API header. This
              should be used by all new portable code using the JavaScriptCore API.
      
              JavaScriptCore/JavaScriptCore.h will remain for compatibility with
              existing applications that depend on it including JSStringRefCF.h
              which isn't portable.
      
              Also add minidom to the GTK+/autotools build since we can now support
              it on all platforms.
      
              * API/JSNode.h:
              * API/JSNodeList.h:
              * API/JavaScript.h: Added.
              * API/JavaScriptCore.h:
              * ForwardingHeaders/JavaScriptCore/JavaScript.h: Added.
              * GNUmakefile.am:
              * JavaScriptCore.xcodeproj/project.pbxproj:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29234 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      baab9e7f
    • zecke@webkit.org's avatar
      * Fix indention · 82bb235f
      zecke@webkit.org authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29233 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      82bb235f
    • zecke@webkit.org's avatar
      * The ContextMenuController is going to live longer than the ContextMenu. It is · 6984ed10
      zecke@webkit.org authored
        going to live as long as the WebCore::Page is around where the ContextMenu, specially
        in the case of a SubMenu, is gone before we popup the menu.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29232 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6984ed10
    • zecke@webkit.org's avatar
      * Fix SubMenu handling · d4ffabbf
      zecke@webkit.org authored
      * Do not connect to the activated signal if we are a separator or submenu
      * Change our type from ActionType to SubMenuType when we have a submenu
      * Initialize the SubMenu
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29231 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d4ffabbf
    • zecke@webkit.org's avatar
      * Qt and Gtk must know if a ContextMenuItem is checkable. Add a new... · 1aee922b
      zecke@webkit.org authored
      * Qt and Gtk must know if a ContextMenuItem is checkable. Add a new ContextMenuItemType for checkable
        actions.
      * Use this information in the Gtk platform to create a GtkCheckMenuItem when needed.
      * Update the ContextMenuController to accept CheckableActionTypes as well.
      * Change ContextMenu.cpp to use the CheckableActionType. The information if a item is checkable
        was extracted from ContextMenu::checkOrEnableIfNeeded.
      * Update the Qt and Windows port.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29230 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1aee922b
    • kmccullough@apple.com's avatar
      WebKitTools: · 425dfd5e
      kmccullough@apple.com authored
              Reviewed by Darin.
      
              - <rdar://problem/5666914> fast/regex/test{1,4}.html are failing
              DRT did not correctly handle printing the '\0' char.  Now it does.
      
              * DumpRenderTree/win/DumpRenderTree.cpp:
              (dumpFramesAsText):
              (dump):
      
      LayoutTests:
      
              Reviewed by Darin.
      
              - <rdar://problem/5666914> fast/regex/test{1,4}.html are failing.
              Since they pass now, the two tests are removed from the Skipped list.
      
              * platform/win/Skipped:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29229 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      425dfd5e
    • alp@webkit.org's avatar
      2008-01-07 Luca Bruno <lethalman88@gmail.com> · ed4bd09a
      alp@webkit.org authored
              Reviewed by Alp Toker.
      
              http://bugs.webkit.org/show_bug.cgi?id=16745
              [GTK] Context menu doesn't feel or look native - no icons
      
              Use GTK+ stock icons for menu items where possible.
      
              * platform/gtk/ContextMenuItemGtk.cpp:
              (WebCore::gtkStockIDFromContextMenuAction):
              (WebCore::ContextMenuItem::createNativeMenuItem):
              (WebCore::ContextMenuItem::setAction):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29228 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ed4bd09a