1. 10 Sep, 2011 13 commits
    • hyatt@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=67861 · 00b988ce
      hyatt@apple.com authored
              
      Implement border-image-outset (and the mask equivalents).
      
      Reviewed by Beth Dakin.
      
      Source/WebCore: 
      
      Added new tests in fast/borders and fast/reflections.
      
      * css/CSSBorderImageValue.cpp:
      (WebCore::CSSBorderImageValue::CSSBorderImageValue):
      (WebCore::CSSBorderImageValue::cssText):
      * css/CSSBorderImageValue.h:
      (WebCore::CSSBorderImageValue::create):
      Add m_outset field to CSSBorderImageValue and teach it how to dump the field as
      part of cssText().
      
      * css/CSSComputedStyleDeclaration.cpp:
      (WebCore::valueForNinePieceImageQuad):
      (WebCore::valueForNinePieceImage):
      (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
      Add support for border-image-outset and -webkit-mask-box-image-outset. Refactor
      the code so that border-image-width and border-image-outset use a common
      function.
      
      * css/CSSParser.cpp:
      (WebCore::CSSParser::parseValue):
      (WebCore::BorderImageParseContext::BorderImageParseContext):
      (WebCore::BorderImageParseContext::allowOutset):
      (WebCore::BorderImageParseContext::commitSlash):
      (WebCore::BorderImageParseContext::commitBorderWidth):
      (WebCore::BorderImageParseContext::commitBorderOutset):
      (WebCore::BorderImageParseContext::commitRepeat):
      (WebCore::BorderImageParseContext::commitBorderImage):
      (WebCore::CSSParser::parseBorderImage):
      Teach the border image parsing code about outsets. This code will soon be
      replaced by true shorthand parsing code, but for now keep it working and add
      outset support to it.
      
      (WebCore::BorderImageQuadParseContext::BorderImageQuadParseContext):
      (WebCore::BorderImageQuadParseContext::commitBorderImageQuad):
      (WebCore::CSSParser::parseBorderImageQuad):
      (WebCore::CSSParser::parseBorderImageWidth):
      (WebCore::CSSParser::parseBorderImageOutset):
      * css/CSSParser.h:
      Refactor the border-image-width code so that it can be shared by border-image-outset, since
      they are extremely similar.
      
      * css/CSSPropertyNames.in:
      Add the new properties.
      
      * css/CSSStyleSelector.cpp:
      (WebCore::CSSStyleSelector::applyProperty):
      (WebCore::CSSStyleSelector::mapNinePieceImage):
      (WebCore::CSSStyleSelector::mapNinePieceImageQuad):
      (WebCore::CSSStyleSelector::loadPendingImages):
      * css/CSSStyleSelector.h:
      Refactor the code so that width/outset share common mapping functions. Add support for outset.
      
      * rendering/InlineFlowBox.cpp:
      (WebCore::InlineFlowBox::addToLine):
      (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
      (WebCore::InlineFlowBox::addBorderOutsetVisualOverflow):
      (WebCore::InlineFlowBox::computeOverflow):
      Add new functions for computing the visual overflow caused by border outsets. Fix bugs in
      the shadow overflow code as well.
      
      (WebCore::clipRectForNinePieceImageStrip):
      (WebCore::InlineFlowBox::paintBoxDecorations):
      (WebCore::InlineFlowBox::paintMask):
      * rendering/InlineFlowBox.h:
      Make sure the clip rect pushed when painting one piece of a split inline strip is expanded to
      include the border and mask outsets. Always include the block direction expansion, and conditionally
      include the inline direction expansion based off includeLogicalLeftEdge()/includeLogicalRightEdge().
      clipRectForNinePieceImageStrip is a common function shared by masks and border images that does this
      work.
      
      * rendering/RenderBlock.cpp:
      (WebCore::RenderBlock::computeOverflow):
      * rendering/RenderBox.cpp:
      (WebCore::RenderBox::maskClipRect):
      (WebCore::RenderBox::addBoxShadowAndBorderOverflow):
      * rendering/RenderBox.h:
      Rename addShadowOverflow to addBoxShadowAndBorderOverflow. Have it compute both shadow and border image
      outset overflow. Fix bugs with shadow overflow computation.
      
      * rendering/RenderBoxModelObject.cpp:
      (WebCore::RenderBoxModelObject::paintNinePieceImage):
      Change painting to apply the outsets to inflate the border image drawing area.
      
      * rendering/RenderEmbeddedObject.cpp:
      (WebCore::RenderEmbeddedObject::layout):
      * rendering/RenderIFrame.cpp:
      (WebCore::RenderIFrame::layout):
      Patched to call the renamed addBoxShadowAndBorderOverflow function instead of addShadowOverflow.
      
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::calculateRects):
      Patched to no longer apply box-shadow to overflow clip areas when inflating the intersection area for the
      layer bounds. Instead we generically apply all visual overflow so that border image outsets will also be
      included. This fixes https://bugs.webkit.org/show_bug.cgi?id=37467.
      
      * rendering/RenderReplaced.cpp:
      (WebCore::RenderReplaced::layout):
      Patched to call the renamed addBoxShadowAndBorderOverflow function instead of addShadowOverflow.
      
      * rendering/style/NinePieceImage.cpp:
      (WebCore::NinePieceImage::operator==):
      * rendering/style/NinePieceImage.h:
      (WebCore::NinePieceImage::NinePieceImage):
      (WebCore::NinePieceImage::outset):
      (WebCore::NinePieceImage::setOutset):
      (WebCore::NinePieceImage::computeOutset):
      (WebCore::NinePieceImage::copyOutsetFrom):
      Add the outset field to NinePieceImage along with some helpers for manipulating outsets.
      
      * rendering/style/RenderStyle.cpp:
      (WebCore::RenderStyle::getImageOutsets):
      (WebCore::RenderStyle::getImageHorizontalOutsets):
      (WebCore::RenderStyle::getImageVerticalOutsets):
      * rendering/style/RenderStyle.h:
      (WebCore::InheritedFlags::hasBorderImageOutsets):
      (WebCore::InheritedFlags::getBorderImageOutsets):
      (WebCore::InheritedFlags::getBorderImageHorizontalOutsets):
      (WebCore::InheritedFlags::getBorderImageVerticalOutsets):
      (WebCore::InheritedFlags::getBorderImageInlineDirectionOutsets):
      (WebCore::InheritedFlags::getBorderImageBlockDirectionOutsets):
      (WebCore::InheritedFlags::getImageInlineDirectionOutsets):
      (WebCore::InheritedFlags::getImageBlockDirectionOutsets):
      Helpers for outset computation used by painting and overflow functions.
      
      LayoutTests: 
      
      * fast/borders/block-mask-overlay-image-outset.html: Added.
      * fast/borders/block-mask-overlay-image.html~: Added.
      * fast/borders/border-image-outset-in-shorthand.html: Added.
      * fast/borders/border-image-outset-split-inline-vertical-lr.html: Added.
      * fast/borders/border-image-outset-split-inline.html: Added.
      * fast/borders/border-image-outset.html: Added.
      * fast/borders/inline-mask-overlay-image-outset-vertical-rl.html: Added.
      * fast/borders/inline-mask-overlay-image-outset.html: Added.
      * fast/css/getComputedStyle/computed-style-expected.txt:
      * fast/css/getComputedStyle/computed-style-with-zoom-expected.txt:
      * fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
      * fast/css/getComputedStyle/getComputedStyle-border-image-expected.txt:
      * fast/reflections/reflection-computed-style-expected.txt:
      * fast/reflections/reflection-masks-outset.html: Added.
      * platform/mac/fast/borders/block-mask-overlay-image-outset-expected.png: Added.
      * platform/mac/fast/borders/block-mask-overlay-image-outset-expected.txt: Added.
      * platform/mac/fast/borders/border-image-outset-expected.png: Added.
      * platform/mac/fast/borders/border-image-outset-expected.txt: Added.
      * platform/mac/fast/borders/border-image-outset-in-shorthand-expected.png: Added.
      * platform/mac/fast/borders/border-image-outset-in-shorthand-expected.txt: Added.
      * platform/mac/fast/borders/border-image-outset-split-inline-expected.png: Added.
      * platform/mac/fast/borders/border-image-outset-split-inline-expected.txt: Added.
      * platform/mac/fast/borders/border-image-outset-split-inline-vertical-lr-expected.png: Added.
      * platform/mac/fast/borders/border-image-outset-split-inline-vertical-lr-expected.txt: Added.
      * platform/mac/fast/borders/inline-mask-overlay-image-outset-expected.png: Added.
      * platform/mac/fast/borders/inline-mask-overlay-image-outset-expected.txt: Added.
      * platform/mac/fast/borders/inline-mask-overlay-image-outset-vertical-rl-expected.png: Added.
      * platform/mac/fast/borders/inline-mask-overlay-image-outset-vertical-rl-expected.txt: Added.
      * platform/mac/fast/reflections/reflection-masks-outset-expected.png: Added.
      * platform/mac/fast/reflections/reflection-masks-outset-expected.txt: Added.
      * svg/css/getComputedStyle-basic-expected.txt:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94912 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      00b988ce
    • mitz@apple.com's avatar
      Actually prevent unnecessary casts to MediaControls*. · e104c05f
      mitz@apple.com authored
      Reviewed by Oliver Hunt.
      
      * html/shadow/MediaControls.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94911 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e104c05f
    • rniwa@webkit.org's avatar
      Remove printf added by r94900. · 54fbcaf0
      rniwa@webkit.org authored
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::drawPlatformResizerImage):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94910 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      54fbcaf0
    • commit-queue@webkit.org's avatar
      Crash beneath WKURLIsEqual() when reloading in MiniBrowser. · 055dc218
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=59328
      
      Patch by Andreas Kling <kling@webkit.org> on 2011-09-10
      Reviewed by Kenneth Rohde Christiansen.
      
      * MiniBrowser/mac/BrowserWindowController.m:
      (-[BrowserWindowController updateProvisionalURLForFrame:]): Add missing null check.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94909 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      055dc218
    • cmarrin@apple.com's avatar
      requestAnimationFrame doesn't throttle on Mac · d9dca741
      cmarrin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=67171
      
      Reviewed by Simon Fraser.
      
      Source/JavaScriptCore:
      
      Added WTF_USE_REQUEST_ANIMATION_FRAME_TIMER to allow any platform to run
      requestAnimationFrame callbacks on a Timer defined in ScriptedAnimationController.
      Currently only enabled for PLATFORM(MAC)
      
      * wtf/Platform.h:
      
      Source/WebCore:
      
      Changed requestAnimationFrame to use a Timer in ScriptedAnimationController
      on Mac, rather than runLoopObservers. The Timer is throttled to fire no
      faster than every 15ms. It is behind a WTF_USE_REQUEST_ANIMATION_FRAME_TIMER
      flag and can be used by any implementation, but currently it is only enabled
      by PLATFORM(MAC).
      
      * dom/ScriptedAnimationController.cpp:
      (WebCore::ScriptedAnimationController::ScriptedAnimationController):
      (WebCore::ScriptedAnimationController::resume):
      (WebCore::ScriptedAnimationController::registerCallback):
      (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
      (WebCore::ScriptedAnimationController::scheduleAnimation):
      (WebCore::ScriptedAnimationController::animationTimerFired):
      * dom/ScriptedAnimationController.h:
      * loader/EmptyClients.h:
      * page/Chrome.cpp:
      (WebCore::Chrome::scheduleAnimation):
      * page/ChromeClient.h:
      
      Source/WebKit/mac:
      
      Removed runLoopObserver for requestAnimationFrame. It's now
      done by a Timer in ScriptedAnimationController in WebCore.
      
      * WebCoreSupport/WebChromeClient.h:
      * WebCoreSupport/WebChromeClient.mm:
      * WebView/WebView.mm:
      (-[WebView _close]):
      * WebView/WebViewData.h:
      * WebView/WebViewInternal.h:
      
      Source/WebKit2:
      
      Removed runLoopObserver for requestAnimationFrame. It's now
      done by a Timer in ScriptedAnimationController in WebCore.
      
      * WebProcess/WebCoreSupport/WebChromeClient.cpp:
      * WebProcess/WebCoreSupport/WebChromeClient.h:
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::~WebPage):
      * WebProcess/WebPage/WebPage.h:
      * WebProcess/WebPage/mac/WebPageMac.mm:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94908 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d9dca741
    • ossy@webkit.org's avatar
      [Qt] Unreviewed gardening after r94897. · 1542f550
      ossy@webkit.org authored
      * platform/qt/svg/custom/simple-text-double-shadow-expected.png: Added.
      * platform/qt/svg/custom/simple-text-double-shadow-expected.txt: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94907 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1542f550
    • commit-queue@webkit.org's avatar
      Source/WebCore: [Qt] QWebSettings::setUserStyleSheetUrl() does not work with... · 6ccd2782
      commit-queue@webkit.org authored
      Source/WebCore: [Qt] QWebSettings::setUserStyleSheetUrl() does not work with windows paths that contain drive letters
      https://bugs.webkit.org/show_bug.cgi?id=34884
      
      KURL::path() alone does not handle removing the leading slash from a windows file path.
      Using QUrl::toLocalFile() will turn file:///C:/path into C:/path appropriately.
      
      Patch by Jarred Nicholls <jarred@sencha.com> on 2011-09-10
      Reviewed by Andreas Kling.
      
      * platform/qt/KURLQt.cpp:
      (WebCore::KURL::fileSystemPath):
      
      Source/WebKit/qt: [Qt] QWebSettings::setUserStyleSheetUrl() does not work with windows paths that contain drive letters
      https://bugs.webkit.org/show_bug.cgi?id=34884
      
      KURL::path() alone does not handle removing the leading slash from a windows file path.
      Using QUrl::toLocalFile() will turn file:///C:/path into C:/path appropriately.
      
      New test case that ensures a user stylesheet from the file system will load correctly
      on all platforms.
      
      Patch by Jarred Nicholls <jarred@sencha.com> on 2011-09-10
      Reviewed by Andreas Kling.
      
      * tests/qwebpage/resources/user.css: Added.
      (p):
      * tests/qwebpage/tst_qwebpage.cpp:
      (tst_QWebPage::userStyleSheetFromFile):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94906 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6ccd2782
    • commit-queue@webkit.org's avatar
      Source/WebCore: Crash due to bad data in SVGDocumentExtensions m_pendingResources · bfd3b665
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=67488
      
      Patch by Ken Buchanan <kenrb@chromium.org> on 2011-09-10
      Reviewed by Nikolas Zimmermann.
      
      Resolving a crash condition caused by the deletion of
      elements while pending resource entries for those elements are still
      recorded.
      
      * rendering/svg/RenderSVGResourceContainer.cpp:
      (WebCore::RenderSVGResourceContainer::registerResource)
      * svg/SVGDocumentExtensions.h:
      (WebCore::SVGDocumentExtensions::isElementInPendingResources)
      * svg/SVGDocumentExtensions.cpp:
      (WebCore::SVGDocumentExtensions::addPendingResource)
      (WebCore::SVGDocumentExtensions::isElementInPendingResources)
      (WebCore::SVGDocumentExtensions::removeElementFromPendingResources)
      * svg/SVGStyledElement.h:
      (WebCore::SVGStyledElement::clearHasPendingResourcesIfPossible)
      * svg/SVGStyledElement.cpp:
      (WebCore::SVGStyledElement::buildPendingResourcesIfNeeded)
      (WebCore::SVGStyledElement::clearHasPendingResourcesIfPossible)
      * svg/SVGUseElement.cpp:
      (WebCore::SVGUseElement::svgAttributeChanged)
      
      LayoutTests: Crash due to bad data in SVGDocumentExtensions m_pendingResources.
      https://bugs.webkit.org/show_bug.cgi?id=67488
      
      Patch by Ken Buchanan <kenrb@chromium.org> on 2011-09-10
      Reviewed by Nikolas Zimmermann.
      
      Test added: validating that the crash referenced in the bug is not present.
      
      * svg/dom/SVGStyledElement-pendingResource-crash.html: Added.
      * svg/dom/SVGStyledElement-pendingResource-crash-expected.txt: Added.
      * svg/dom/resources/SVGStyledElement-pendingResource-crash.svg: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94905 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bfd3b665
    • abarth@webkit.org's avatar
      Build fix for Android. DumpRenderTree is a client of the WebKit API · b6104dff
      abarth@webkit.org authored
      and does not have access to notImplemented().
      
      * DumpRenderTree/chromium/TestShellAndroid.cpp:
      (openStartupDialog):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94904 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b6104dff
    • abarth@webkit.org's avatar
      Fix build break. · fff716eb
      abarth@webkit.org authored
      * webkit/webkitwebview.cpp:
      (webkit_web_view_get_encoding):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94903 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fff716eb
    • abarth@webkit.org's avatar
      Remove DocumentWriter::deprecatedFrameEncoding() · 7474a735
      abarth@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=67882
      
      Reviewed by Eric Seidel.
      
      Three years ago, in http://trac.webkit.org/changeset/39026, Alexey
      Proskuryakov added ContentDispositionEncodingFallbackArray to work
      around a web site compatibility issue with a non-ASCII file name
      becoming garbled when received in the Content-Disposition header.
      
      Since that time, there has been copious discussion of this topic among
      browser vendors, in the IETF, and in the broader web community.  For
      example, here is a Stack Overflow thread about this topic:
      
      http://stackoverflow.com/questions/93551/how-to-encode-the-filename-parameter-of-content-disposition-header-in-http
      
      Eric Lawrence has written a blog post that summarizes IE's perspective
      on this issue:
      
      http://blogs.msdn.com/b/ieinternals/archive/2010/06/07/content-disposition-attachment-and-international-unicode-characters.aspx
      
      The current consensus is that browsers should implement RFC 6266,
      which is a new RFC that updates the definition of the
      Content-Disposition header.  Chrome and Firefox have both implemented
      RFC 6266 and have encountered only one issue, which was then fixed by
      the web site operator.  IE has also implemented RFC 6266, but I don't
      have detailed information about their compatibility experience.
      
      This patch add explicit PLATFORM #ifdefs around the quirky
      implementation previously used in Apple's Mac and Windows ports.  This
      code is already only used on Apple's ports, so this patch introduces no
      functional changes.  It does, however, discourage other ports from
      adopting this quirk.  IMHO, Apple should remove this quirk as soon as
      compatibility allows and converge behavior with the other major browser
      vendors.
      
      See bug for manual test (the bug manifests in Safari download UI).
      
      * loader/DocumentWriter.cpp:
      * loader/DocumentWriter.h:
      * loader/FrameLoader.cpp:
      (WebCore::FrameLoader::addExtraFieldsToRequest):
      * platform/network/ResourceRequestBase.cpp:
      (WebCore::ResourceRequestBase::adopt):
      (WebCore::ResourceRequestBase::copyData):
      * platform/network/ResourceRequestBase.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94902 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7474a735
    • bdakin@apple.com's avatar
      Attempted Leopard build fix. · b634e70a
      bdakin@apple.com authored
      * rendering/RenderImage.cpp:
      (WebCore::RenderImage::paintReplaced):
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::drawPlatformResizerImage):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94901 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b634e70a
    • bdakin@apple.com's avatar
      Fix for https://bugs.webkit.org/show_bug.cgi?id=67819 · b49bc3da
      bdakin@apple.com authored
      Use high resolution platform images when the deviceScaleFactor > 1
      -and corresponding-
      <rdar://problem/10003098>
      
      Reviewed by Darin Adler.
      
      Add all of the new high resolution images. I also removed some tiffs from the 
      project and replaced them with png equivalents (that are already checked into 
      WebCore anyway). Since the high resolution images are pngs, it makes sense to use 
      pngs for all of the images that load through Image::loadPlatformResource()
      * WebCore.xcodeproj/project.pbxproj:
      * platform/graphics/mac/ImageMac.mm:
      (WebCore::Image::loadPlatformResource):
      
      Load the @2x resource for deviceScaleFactors >= 2.
      * editing/DeleteButtonController.cpp:
      (WebCore::DeleteButtonController::createDeletionUI):
      
      CachedImage::brokenImage() is no longer a static helper function, but a real 
      member function. It also now loads the @2x resource for deviceScaleFactors >= 2 
      and takes a parameter for the deviceScaleFactor. When CachedImage::image() returns 
      the brokenImage(), it just returns the 1x version. brokenImage() has to be called 
      directly to reliably return the deviceScaleFactor-appropriate resource.
      * loader/cache/CachedImage.cpp:
      (WebCore::CachedImage::brokenImage):
      (WebCore::CachedImage::image):
      * loader/cache/CachedImage.h:
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::drawPlatformResizerImage):
      (WebCore::RenderLayer::paintResizer):
      * rendering/RenderLayer.h:
      
      New static function to retrieve the deviceScaleFactor for callers that do not have 
      direct access to a Page.
      * page/Page.cpp:
      (WebCore::Page::deviceScaleFactor):
      * page/Page.h:
      
      Call CachedImage::brokenImage() for the broken-image image at an accurate 
      resolution.
      * rendering/RenderImage.cpp:
      (WebCore::RenderImage::imageSizeForError):
      (WebCore::RenderImage::paintReplaced):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94900 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b49bc3da
  2. 09 Sep, 2011 27 commits
    • ap@apple.com's avatar
      Add a script to create a monolithic script-test · 5c610f60
      ap@apple.com authored
              https://bugs.webkit.org/show_bug.cgi?id=67747
      
              Reviewed by Darin Adler.
      
              * Scripts/make-new-script-test: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94899 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5c610f60
    • arv@chromium.org's avatar
      Move Element.contains to Node · 03ce4650
      arv@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=67651
      
      Reviewed by Darin Adler.
      
      This moves the contains method from Element to Node as in the DOM4 working draft:
      http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-node-contains
      
      This also special cases Document contains to make it O(1) instead of O(depth).
      
      Source/WebCore:
      
      Tests: fast/dom/Node/contains-method.html
             perf/document-contains.html
      
      * bindings/objc/PublicDOMInterfaces.h: Move contains from DOMElement to DOMNode.
      * dom/Element.idl:
      * dom/Node.cpp:
      (WebCore::Node::contains): Added document special case.
      * dom/Node.idl:
      * editing/DeleteSelectionCommand.cpp:
      (WebCore::DeleteSelectionCommand::mergeParagraphs): Added a null check.
      
      LayoutTests:
      
      * fast/dom/Element/contains-method-expected.txt: Removed.
      * fast/dom/Element/script-tests/contains-method.js: Removed.
      * fast/dom/Node/contains-method-expected.txt: Added.
      * fast/dom/Node/contains-method.html: Renamed from LayoutTests/fast/dom/Element/contains-method.html.
      * fast/dom/Node/script-tests/contains-method.js: Added. Expanded tests.
      * fast/dom/Window/window-properties-expected.txt:
      * perf/document-contains-expected.txt: Added.
      * perf/document-contains.html: Added.
                                     Perf test to ensure that document.contains is O(1).
      * platform/gtk/fast/dom/Window/window-properties-expected.txt:
      * platform/mac/fast/dom/Window/window-properties-expected.txt:
      * platform/qt-wk2/fast/dom/Window/window-properties-expected.txt:
      * platform/qt/fast/dom/Window/window-properties-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94898 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      03ce4650
    • timothy_horton@apple.com's avatar
      Text rendered with a simple (i.e. 0px blur) shadow inside a transparency layer has a double shadow · b09bdbf3
      timothy_horton@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=67543
      <rdar://problem/10070536>
      
      Reviewed by Darin Adler.
      
      Source/WebCore:
      
      Generalize (begin|end)TransparencyLayer, which now forward
      through to (begin|end)PlatformTransparencyLayer, so that
      isInTransparencyLayer can exist on every platform.
      
      Make use of isInTransparencyLayer in FontMac to disable
      "simple" shadow drawing when the text is being rendered
      into a transparency layer.
      
      Test: svg/custom/simple-text-double-shadow.svg
      
      * platform/graphics/GraphicsContext.cpp:
      (WebCore::GraphicsContext::GraphicsContext):
      (WebCore::GraphicsContext::~GraphicsContext):
      (WebCore::GraphicsContext::beginTransparencyLayer):
      (WebCore::GraphicsContext::endTransparencyLayer):
      (WebCore::GraphicsContext::isInTransparencyLayer):
      * platform/graphics/GraphicsContext.h:
      * platform/graphics/cairo/GraphicsContextCairo.cpp:
      (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
      (WebCore::GraphicsContext::endPlatformTransparencyLayer):
      (WebCore::GraphicsContext::supportsTransparencyLayers):
      * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
      * platform/graphics/cg/GraphicsContextCG.cpp:
      (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
      (WebCore::GraphicsContext::endPlatformTransparencyLayer):
      (WebCore::GraphicsContext::supportsTransparencyLayers):
      * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
      (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
      * platform/graphics/haiku/GraphicsContextHaiku.cpp:
      (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
      (WebCore::GraphicsContext::endPlatformTransparencyLayer):
      (WebCore::GraphicsContext::supportsTransparencyLayers):
      * platform/graphics/mac/FontMac.mm:
      (WebCore::Font::drawGlyphs):
      * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
      (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
      (WebCore::GraphicsContext::endPlatformTransparencyLayer):
      (WebCore::GraphicsContext::supportsTransparencyLayers):
      * platform/graphics/qt/GraphicsContextQt.cpp:
      (WebCore::GraphicsContext::isInTransparencyLayer):
      (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
      (WebCore::GraphicsContext::endPlatformTransparencyLayer):
      (WebCore::GraphicsContext::supportsTransparencyLayers):
      * platform/graphics/skia/GraphicsContextSkia.cpp:
      (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
      (WebCore::GraphicsContext::endPlatformTransparencyLayer):
      (WebCore::GraphicsContext::supportsTransparencyLayers):
      * platform/graphics/win/FontCGWin.cpp:
      (WebCore::drawGDIGlyphs):
      * platform/graphics/win/GraphicsContextCGWin.cpp:
      (WebCore::GraphicsContext::releaseWindowsContext):
      * platform/graphics/win/GraphicsContextCairoWin.cpp:
      (WebCore::GraphicsContext::releaseWindowsContext):
      * platform/graphics/win/GraphicsContextWin.cpp:
      (WebCore::GraphicsContext::getWindowsContext):
      * platform/graphics/wince/GraphicsContextWinCE.cpp:
      (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
      (WebCore::GraphicsContext::endPlatformTransparencyLayer):
      (WebCore::GraphicsContext::supportsTransparencyLayers):
      * platform/graphics/wx/GraphicsContextWx.cpp:
      (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
      (WebCore::GraphicsContext::endPlatformTransparencyLayer):
      (WebCore::GraphicsContext::supportsTransparencyLayers):
      * platform/win/ScrollbarThemeWin.cpp:
      * plugins/win/PluginViewWin.cpp:
      * rendering/RenderThemeWin.cpp:
      
      LayoutTests:
      
      Add a test ensuring that text with 0px blur CSS shadow doesn't get rendered
      with a second shadow when inside a transparency layer.
      
      * platform/mac/svg/custom/simple-text-double-shadow-expected.png: Added.
      * platform/mac/svg/custom/simple-text-double-shadow-expected.txt: Added.
      * svg/custom/simple-text-double-shadow.svg: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94897 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b09bdbf3
    • luiz@webkit.org's avatar
      Adding myself to the reviewers list. · decdcef3
      luiz@webkit.org authored
      * Scripts/webkitpy/common/config/committers.py:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94896 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      decdcef3
    • mdelaney@apple.com's avatar
      Update Skipped lists for mac and mac-lion w.r.t. canvas · 30c55648
      mdelaney@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=67867
      
      Reviewed by Simon Fraser.
      
      * platform/mac-lion/Skipped:
      * platform/mac/Skipped:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94895 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      30c55648
    • jchaffraix@webkit.org's avatar
      [V8] V8WebKitPoint::constructorCallback leaks · 05fe133a
      jchaffraix@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=67865
      
      Reviewed by Adam Barth.
      
      Covered by fast/js/instanceof-XMLHttpRequest.html under Valgrind.
      
      * bindings/v8/custom/V8WebKitPointConstructor.cpp:
      (WebCore::V8WebKitPoint::constructorCallback): Changed the code
      to use a RefPtr (per our usual style). Also use toV8 that will
      take care of properly wrapping the object.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94894 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      05fe133a
    • crogers@google.com's avatar
      HRTFDatabaseLoader should not call WTF::waitForThreadCompletion() more than once · c51f9c3b
      crogers@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=67866
      
      Reviewed by David Levin.
      
      No new tests since this is difficult to test.
      This is designed to fix existing webaudio layout test failures.
      
      * platform/audio/HRTFDatabaseLoader.cpp:
      (WebCore::HRTFDatabaseLoader::HRTFDatabaseLoader):
      (WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
      (WebCore::HRTFDatabaseLoader::loadAsynchronously):
      (WebCore::HRTFDatabaseLoader::waitForLoaderThreadCompletion):
      * platform/audio/HRTFDatabaseLoader.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94893 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c51f9c3b
    • jberlin@webkit.org's avatar
      Cookies are not available after turning off Private Browsing after the last window has been · 0fe41f35
      jberlin@webkit.org authored
      closed.
      https://bugs.webkit.org/show_bug.cgi?id=67874
      
      Reviewed by Darin Adler.
      
      The private browsing storage session is a global setting that is being incorrectly set on a
      per-page basis (see http://webkit.org/b/67870).
      
      In this case, the global value was getting out of sync with the per-page setting:
      1. The global value was getting set to true when setPrivateBrowsingEnabled(true) was called.
      2. All Pages were then closed, destroying their Settings objects.
      3. When a new Page was created, a new Settings object was created and its
         m_privateBrowsingEnabled value was getting set to false.
      4. The WebPage settings were then applied to the new Settings object, resulting in
         setPrivateBrowsingEnabled(false) to be called.
      5. An if (m_privateBrowsingEnabled == privateBrowsingEnabled) early return prevented the
         global value for the storage session from being destroyed.
      
      * page/Settings.cpp:
      (WebCore::Settings::setPrivateBrowsingEnabled):
      Move the early return to be after setting the global private browsing values, and add a
      clearer comment + FIXME.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94892 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0fe41f35
    • rolandsteiner@chromium.org's avatar
      Generate a WebKitCSSMatrix constructor of V8 using the IDL 'Constructor' extended attribute · 7e15f97a
      rolandsteiner@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=67458
      
      Patch by Kentaro Hara <haraken@google.com> on 2011-09-09
      Reviewed by Adam Barth.
      
      Source/WebCore:
      
      Added a 'CallWithNullValue' extended attribute.
      If a parameter is optional and missing, 'CallWithDefaultValue'
      handles it as a string "undefined". On the other hand,
      'CallWithNullValue' handles it as a null string
      (Note: not a string "null", but a null string).
      
      Tests: fast/dom/Window/custom-constructors.html
             transforms/svg-vs-css.xhtml
             transforms/cssmatrix-2d-interface.xhtml
             transforms/cssmatrix-3d-interface.xhtmlGenerate a WebKitCSSMatrix constructor
      
      * WebCore.gypi: Removed V8WebKitCSSMatrixConstructor.cpp.
      * WebCore.pro: Removed V8WebKitCSSMatrixConstructor.cpp.
      * bindings/scripts/CodeGeneratorV8.pm:
      (GenerateParametersCheck): If the 'CallWithNullValue' extended attribute is set, we call MAYBE_MISSING_PARAMETER() with MissingIsEmpty mode to obtain a maybe missing parameter. Otherwise, we call MAYBE_MISSING_PARAMETER() with MissingIsUndefined mode.
      (RequiresCustomSignature):
      * bindings/scripts/test/V8/V8TestInterface.cpp: Updated test results.
      (WebCore::V8TestInterface::constructorCallback):
      * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: Ditto.
      (WebCore::TestMediaQueryListListenerInternal::methodCallback):
      * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
      (WebCore::TestObjInternal::voidMethodWithArgsCallback):
      (WebCore::TestObjInternal::intMethodWithArgsCallback):
      (WebCore::TestObjInternal::objMethodWithArgsCallback):
      (WebCore::TestObjInternal::methodThatRequiresAllArgsCallback):
      (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
      (WebCore::TestObjInternal::optionsObjectCallback):
      (WebCore::TestObjInternal::customArgsAndExceptionCallback):
      (WebCore::TestObjInternal::withDynamicFrameAndArgCallback):
      (WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback):
      (WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback):
      (WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback):
      (WebCore::TestObjInternal::methodWithOptionalArgCallback):
      (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
      (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
      (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
      (WebCore::TestObjInternal::overloadedMethod1Callback):
      (WebCore::TestObjInternal::overloadedMethod2Callback):
      (WebCore::TestObjInternal::overloadedMethod3Callback):
      (WebCore::TestObjInternal::overloadedMethod4Callback):
      (WebCore::TestObjInternal::classMethodWithOptionalCallback):
      (WebCore::TestObjInternal::enabledAtRuntimeMethod1Callback):
      (WebCore::TestObjInternal::enabledAtRuntimeMethod2Callback):
      * bindings/v8/V8Binding.h:
      (WebCore::V8ParameterBase::prepareBase): The fact that V8ParameterBase does not have any object means that we do not need to prepare anything, i.e. we should just return true in this case.
      (WebCore::::prepare): If V8ParameterBase does not have any object, then we set a null string.
      * bindings/v8/custom/V8BindingMacros.h: MAYBE_MISSING_PARAMETER() returns the parameter of a given index if the parameter exists. If the parameter does not exist and MissingIsUndefined is set, this macro returns an object that represents undefined. If the parameter does not exist and MissingIsEmpty is set, this macro returns an empty object.
      * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp: Removed.
      * css/WebKitCSSMatrix.idl: Added the 'Constructor' extended attribute.
      
      LayoutTests:
      
      Added a test case for "new WebKitCSSMatrix(null)" and "new WebKitCSSMatrix(undefined)".
      
      * fast/dom/Window/custom-constructors-expected.txt:
      * fast/dom/Window/custom-constructors.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94891 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7e15f97a
    • ggaren@apple.com's avatar
      2011-09-09 Geoffrey Garen <ggaren@apple.com> · 41cc2535
      ggaren@apple.com authored
              Reviewed by Dan Bernstein.
      
              Removed ENABLE(SINGLE_THREADED) support, since it is always false
              https://bugs.webkit.org/show_bug.cgi?id=67862
      
              Next step toward making the baseline platform assumption that threads exist.
      
              * wtf/wtf.pri:
              * JavaScriptCore.gypi:
              * JavaScriptCore.vcproj/WTF/WTF.vcproj: Removed references to
              ThreadingNone.cpp, which was only compiled in single-threaded mode.
      
              * wtf/Platform.h:
              * wtf/ThreadSpecific.h:
              (WTF::::destroy):
              * wtf/qt/ThreadingQt.cpp: Removed now-dead code.
      
              * wtf/ThreadingNone.cpp: Removed.
      2011-09-09  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Dan Bernstein.
      
              Removed ENABLE(SINGLE_THREADED) support, since it is always false
              https://bugs.webkit.org/show_bug.cgi?id=67862
      
              Next step toward making the baseline platform assumption that threads exist.
      
              * WebCore.pri:
              * features.pri: 
              * platform/sql/SQLiteDatabase.cpp:
              (WebCore::SQLiteDatabase::interrupt): Removed now-dead code.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94890 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      41cc2535
    • fsamuel@chromium.org's avatar
      Move pageScaleFactor code from Frame.{h|cpp} to Page.{h|cpp} · c43a7d1c
      fsamuel@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=67250
      
      Reviewed by Simon Fraser.
      
      Source/WebCore:
      
      No new tests because there's no change in functionality.
      
      * WebCore.exp.in:
      * css/CSSStyleSelector.cpp:
      (WebCore::CSSStyleSelector::styleForDocument):
      * dom/Element.cpp:
      (WebCore::Element::getClientRects):
      (WebCore::Element::getBoundingClientRect):
      * dom/Range.cpp:
      (WebCore::adjustFloatQuadsForScrollAndAbsoluteZoomAndPageScale):
      * loader/HistoryController.cpp:
      (WebCore::HistoryController::restoreScrollPositionAndViewState):
      * page/Frame.cpp:
      (WebCore::Frame::Frame):
      (WebCore::Frame::pageScaleFactor):
      * page/Frame.h:
      * page/Page.cpp:
      (WebCore::Page::Page):
      (WebCore::Page::setPageScaleFactor):
      * page/Page.h:
      (WebCore::Page::pageScaleFactor):
      * rendering/RenderLayerCompositor.cpp:
      (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
      (WebCore::RenderLayerCompositor::pageScaleFactor):
      * rendering/RenderView.cpp:
      (WebCore::RenderView::paintBoxDecorations):
      
      Source/WebKit/chromium:
      
      * src/WebViewImpl.cpp:
      (WebKit::WebViewImpl::pageScaleFactor):
      (WebKit::WebViewImpl::scalePage):
      
      Source/WebKit/gtk:
      
      * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
      (DumpRenderTreeSupportGtk::scalePageBy):
      
      Source/WebKit/mac:
      
      * WebView/WebView.mm:
      (-[WebView _scaleWebView:atOrigin:]):
      (-[WebView _viewScaleFactor]):
      
      Source/WebKit/qt:
      
      * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
      (DumpRenderTreeSupportQt::scalePageBy):
      
      Source/WebKit2:
      
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
      (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::scalePage):
      (WebKit::WebPage::pageScaleFactor):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94889 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c43a7d1c
    • commit-queue@webkit.org's avatar
      Source/WebCore: AX: Images within anchors causes crash · 3dbf0bb6
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=44149
      
      Patch by Dominic Mazzoni <dmazzoni@google.com> on 2011-09-09
      Reviewed by Chris Fleizach.
      
      Fixes the way parent RenderObject of an AccessibilityRenderObject
      is computed in the presence of adjacent continuations.
      
      Test: accessibility/div-within-anchors-causes-crash.html
      
      * accessibility/AccessibilityRenderObject.cpp:
      (WebCore::AccessibilityRenderObject::renderParentObject):
      
      LayoutTests: Add a test to catch a case where an assertion failure or
      crash is triggered in AccessibilityRenderObject when deleting
      a node that includes a continuation.
      https://bugs.webkit.org/show_bug.cgi?id=44149
      
      Patch by Dominic Mazzoni <dmazzoni@google.com> on 2011-09-09
      Reviewed by Chris Fleizach.
      
      * accessibility/div-within-anchors-causes-crash.html: Added.
      * platform/mac/accessibility/div-within-anchors-causes-crash-expected.txt: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94888 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3dbf0bb6
    • commit-queue@webkit.org's avatar
      CSS rules not being applied when a hidden field is inserted between an... · 01754773
      commit-queue@webkit.org authored
      CSS rules not being applied when a hidden field is inserted between an input[type=checkbox] and a label
      https://bugs.webkit.org/show_bug.cgi?id=66887
      
      Patch by Kulanthaivel Palanichamy <kulanthaivel@codeaurora.org> on 2011-09-09
      Reviewed by David Hyatt.
      
      Source/WebCore:
      
      Test: fast/css/adjacent-sibling-selector.html
      
      This patch addresses the problem of elements not getting their style recomputed
      when they are affected by direct adjacent sibling rules and one of their sibling in
      their corresponding rules is modified dynamically.
      
      * css/CSSStyleSelector.cpp:
      (WebCore::CSSStyleSelector::canShareStyleWithElement):
      (WebCore::parentStylePreventsSharing):
      * css/SelectorChecker.cpp:
      (WebCore::SelectorChecker::checkSelector):
      * dom/Element.cpp:
      (WebCore::Element::recalcStyle):
      (WebCore::checkForSiblingStyleChanges):
      * rendering/style/RenderStyle.cpp:
      (WebCore::RenderStyle::RenderStyle):
      * rendering/style/RenderStyle.h:
      (WebCore::InheritedFlags::affectedByDirectAdjacentRules):
      (WebCore::InheritedFlags::setAffectedByDirectAdjacentRules):
      
      LayoutTests:
      
      * fast/css/adjacent-sibling-selector-expected.txt: Added.
      * fast/css/adjacent-sibling-selector.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94887 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      01754773
    • commit-queue@webkit.org's avatar
      Make the EFL port use the correct rendering file. · 7febe4d2
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=66323
      
      Patch by Rafael Antognolli <antognolli@profusion.mobi> on 2011-09-09
      Reviewed by Martin Robinson.
      
      When compiling with Pango support, the EFL port should use
      FontPango.cpp instead of FontEfl.cpp (which is just full of stubs).
      
      No new functionality so no new tests.
      
      * CMakeListsEfl.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94886 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7febe4d2
    • commit-queue@webkit.org's avatar
      Add test cases for xss auditor encoding bugs. · 729db6b5
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=67134
      
      Patch by Tom Sepez <tsepez@chromium.org> on 2011-09-09
      Reviewed by Daniel Bates.
      
      * http/tests/security/xssAuditor/resources/echo-intertag.pl:
      * http/tests/security/xssAuditor/xss-filter-bypass-big5-expected.txt: Added.
      * http/tests/security/xssAuditor/xss-filter-bypass-big5.html: Added.
      * http/tests/security/xssAuditor/xss-filter-bypass-sjis-expected.txt: Added.
      * http/tests/security/xssAuditor/xss-filter-bypass-sjis.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94884 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      729db6b5
    • crogers@google.com's avatar
      AudioBufferSourceNode must validate AudioBuffer in .buffer attribute setter · 569fcdda
      crogers@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=67749
      
      Reviewed by Kenneth Russell.
      
      Source/WebCore:
      
      Test: webaudio/audiobuffersource-channels.html
      
      * WebCore.gypi:
      * bindings/js/JSAudioBufferSourceNodeCustom.cpp:
      (WebCore::JSAudioBufferSourceNode::setBuffer):
      * bindings/v8/custom/V8AudioBufferSourceNodeCustom.cpp: Copied from Source/WebCore/bindings/js/JSAudioBufferSourceNodeCustom.cpp.
      (WebCore::V8AudioBufferSourceNode::bufferAccessorSetter):
      * webaudio/AudioBufferSourceNode.cpp:
      (WebCore::AudioBufferSourceNode::setBuffer):
      * webaudio/AudioBufferSourceNode.h:
      * webaudio/AudioBufferSourceNode.idl:
      
      LayoutTests:
      
      * webaudio/audiobuffersource-channels-expected.txt: Added.
      * webaudio/audiobuffersource-channels.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94878 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      569fcdda
    • mitz@apple.com's avatar
      RenderBlock::addOverhangingFloats() takes superfluous parameters · af6b8e17
      mitz@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=67863
      
      Reviewed by Dave Hyatt.
      
      No new tests, because behavior is unchanged.
      
      * rendering/RenderBlock.cpp:
      (WebCore::RenderBlock::layoutBlock):
      (WebCore::RenderBlock::layoutBlockChild):
      (WebCore::RenderBlock::addOverhangingFloats): Removed the logical{Left, Top}Offset parameters,
      since they were always the inverse of the logical{Left, Top}() of the child parameter.
      * rendering/RenderBlock.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94877 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      af6b8e17
    • commit-queue@webkit.org's avatar
      Add replacement functions for gdk ones. · 1cd9c170
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=66323
      
      Patch by Rafael Antognolli <antognolli@profusion.mobi> on 2011-09-09
      Reviewed by Martin Robinson.
      
      .:
      
      * Source/cmake/FindPango.cmake:
      
      Source/WebCore:
      
      This will allow the EFL port to don't depend on gdk anymore.
      
      No new functionality so no new tests.
      
      * CMakeListsEfl.txt:
      * platform/graphics/cairo/CairoUtilities.cpp:
      (WebCore::appendRegionToCairoContext):
      * platform/graphics/cairo/CairoUtilities.h:
      * platform/graphics/pango/FontPango.cpp:
      (WebCore::drawGlyphsShadow):
      (WebCore::Font::drawComplexText):
      * platform/graphics/pango/PangoUtilities.cpp: Added.
      (WebCore::getLineClipRegionFromLayoutIter):
      (WebCore::getClipRegionFromPangoLayoutLine):
      * platform/graphics/pango/PangoUtilities.h: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94876 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1cd9c170
    • mhahnenberg@apple.com's avatar
      Unzip initialization lists and constructors in JSCell hierarchy (5/7) · 7317a7f6
      mhahnenberg@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=67420
      
      Reviewed by Geoffrey Garen.
      
      Source/JavaScriptCore:
      
      Completed the fifth level of the refactoring to add finishCreation()
      methods to all classes within the JSCell hierarchy with non-trivial
      constructor bodies.
      
      This primarily consists of pushing the calls to finishCreation() down
      into the constructors of the subclasses of the second level of the hierarchy
      as well as pulling the finishCreation() calls out into the class's corresponding
      create() method if it has one.  Doing both simultaneously allows us to
      maintain the invariant that the finishCreation() method chain is called exactly
      once during the creation of an object, since calling it any other number of
      times (0, 2, or more) will cause an assertion failure.
      
      * API/JSCallbackConstructor.cpp:
      (JSC::JSCallbackConstructor::JSCallbackConstructor):
      * API/JSCallbackConstructor.h:
      (JSC::JSCallbackConstructor::create):
      * API/JSCallbackFunction.cpp:
      (JSC::JSCallbackFunction::JSCallbackFunction):
      (JSC::JSCallbackFunction::finishCreation):
      * API/JSCallbackFunction.h:
      * API/JSCallbackObject.h:
      * API/JSCallbackObjectFunctions.h:
      (JSC::::JSCallbackObject):
      (JSC::::finishCreation):
      * JavaScriptCore.exp:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
      * debugger/DebuggerActivation.cpp:
      * debugger/DebuggerActivation.h:
      (JSC::DebuggerActivation::create):
      * jsc.cpp:
      (GlobalObject::finishCreation):
      (GlobalObject::GlobalObject):
      * runtime/ArrayConstructor.cpp:
      (JSC::ArrayConstructor::ArrayConstructor):
      (JSC::ArrayConstructor::finishCreation):
      * runtime/ArrayConstructor.h:
      * runtime/ArrayPrototype.cpp:
      (JSC::ArrayPrototype::ArrayPrototype):
      * runtime/ArrayPrototype.h:
      (JSC::ArrayPrototype::create):
      * runtime/BooleanConstructor.cpp:
      (JSC::BooleanConstructor::BooleanConstructor):
      (JSC::BooleanConstructor::finishCreation):
      * runtime/BooleanConstructor.h:
      * runtime/BooleanObject.cpp:
      (JSC::BooleanObject::BooleanObject):
      * runtime/BooleanObject.h:
      (JSC::BooleanObject::create):
      * runtime/BooleanPrototype.cpp:
      (JSC::BooleanPrototype::BooleanPrototype):
      (JSC::BooleanPrototype::finishCreation):
      * runtime/BooleanPrototype.h:
      * runtime/DateConstructor.cpp:
      (JSC::DateConstructor::DateConstructor):
      (JSC::DateConstructor::finishCreation):
      * runtime/DateConstructor.h:
      * runtime/DateInstance.cpp:
      (JSC::DateInstance::DateInstance):
      * runtime/DateInstance.h:
      (JSC::DateInstance::create):
      * runtime/DatePrototype.cpp:
      (JSC::DatePrototype::DatePrototype):
      (JSC::DatePrototype::finishCreation):
      * runtime/DatePrototype.h:
      * runtime/Error.cpp:
      (JSC::StrictModeTypeErrorFunction::StrictModeTypeErrorFunction):
      * runtime/ErrorConstructor.cpp:
      (JSC::ErrorConstructor::ErrorConstructor):
      (JSC::ErrorConstructor::finishCreation):
      * runtime/ErrorConstructor.h:
      * runtime/ErrorPrototype.cpp:
      (JSC::ErrorPrototype::ErrorPrototype):
      * runtime/ErrorPrototype.h:
      (JSC::ErrorPrototype::create):
      * runtime/FunctionConstructor.cpp:
      (JSC::FunctionConstructor::FunctionConstructor):
      (JSC::FunctionConstructor::finishCreation):
      * runtime/FunctionConstructor.h:
      * runtime/FunctionPrototype.cpp:
      (JSC::FunctionPrototype::FunctionPrototype):
      (JSC::FunctionPrototype::finishCreation):
      * runtime/FunctionPrototype.h:
      * runtime/InternalFunction.cpp:
      (JSC::InternalFunction::InternalFunction):
      * runtime/InternalFunction.h:
      * runtime/JSActivation.cpp:
      (JSC::JSActivation::JSActivation):
      * runtime/JSActivation.h:
      (JSC::JSActivation::create):
      * runtime/JSGlobalObject.h:
      (JSC::JSGlobalObject::create):
      (JSC::JSGlobalObject::JSGlobalObject):
      * runtime/JSONObject.cpp:
      (JSC::JSONObject::JSONObject):
      * runtime/JSONObject.h:
      (JSC::JSONObject::create):
      * runtime/JSStaticScopeObject.h:
      (JSC::JSStaticScopeObject::create):
      (JSC::JSStaticScopeObject::JSStaticScopeObject):
      * runtime/JSString.cpp:
      (JSC::StringObject::create):
      * runtime/MathObject.cpp:
      (JSC::MathObject::MathObject):
      * runtime/MathObject.h:
      (JSC::MathObject::create):
      * runtime/NativeErrorConstructor.cpp:
      (JSC::NativeErrorConstructor::NativeErrorConstructor):
      * runtime/NativeErrorConstructor.h:
      (JSC::NativeErrorConstructor::finishCreation):
      * runtime/NativeErrorPrototype.cpp:
      (JSC::NativeErrorPrototype::NativeErrorPrototype):
      (JSC::NativeErrorPrototype::finishCreation):
      * runtime/NativeErrorPrototype.h:
      * runtime/NumberConstructor.cpp:
      (JSC::NumberConstructor::NumberConstructor):
      (JSC::NumberConstructor::finishCreation):
      * runtime/NumberConstructor.h:
      * runtime/NumberObject.cpp:
      (JSC::NumberObject::NumberObject):
      * runtime/NumberObject.h:
      (JSC::NumberObject::create):
      * runtime/NumberPrototype.cpp:
      (JSC::NumberPrototype::NumberPrototype):
      (JSC::NumberPrototype::finishCreation):
      * runtime/NumberPrototype.h:
      * runtime/ObjectConstructor.cpp:
      (JSC::ObjectConstructor::ObjectConstructor):
      (JSC::ObjectConstructor::finishCreation):
      * runtime/ObjectConstructor.h:
      * runtime/RegExpConstructor.cpp:
      (JSC::RegExpConstructor::RegExpConstructor):
      (JSC::RegExpConstructor::finishCreation):
      (JSC::RegExpMatchesArray::RegExpMatchesArray):
      * runtime/RegExpConstructor.h:
      * runtime/RegExpMatchesArray.h:
      (JSC::RegExpMatchesArray::create):
      * runtime/RegExpObject.cpp:
      (JSC::RegExpObject::RegExpObject):
      * runtime/RegExpObject.h:
      (JSC::RegExpObject::create):
      * runtime/RegExpPrototype.cpp:
      (JSC::RegExpPrototype::RegExpPrototype):
      * runtime/StringConstructor.cpp:
      (JSC::StringConstructor::StringConstructor):
      (JSC::StringConstructor::finishCreation):
      * runtime/StringConstructor.h:
      * runtime/StringObject.cpp:
      (JSC::StringObject::StringObject):
      * runtime/StringObject.h:
      (JSC::StringObject::create):
      * runtime/StringObjectThatMasqueradesAsUndefined.h:
      (JSC::StringObjectThatMasqueradesAsUndefined::StringObjectThatMasqueradesAsUndefined):
      * runtime/StringPrototype.cpp:
      (JSC::StringPrototype::StringPrototype):
      (JSC::StringPrototype::finishCreation):
      * runtime/StringPrototype.h:
      
      Source/JavaScriptGlue:
      
      Completed the fifth level of the refactoring to add finishCreation()
      methods to all classes within the JSCell hierarchy with non-trivial
      constructor bodies.
      
      This primarily consists of pushing the calls to finishCreation() down
      into the constructors of the subclasses of the second level of the hierarchy
      as well as pulling the finishCreation() calls out into the class's corresponding
      create() method if it has one.  Doing both simultaneously allows us to
      maintain the invariant that the finishCreation() method chain is called exactly
      once during the creation of an object, since calling it any other number of
      times (0, 2, or more) will cause an assertion failure.
      
      * JSRun.cpp:
      (JSGlueGlobalObject::JSGlueGlobalObject):
      
      Source/WebCore:
      
      No new tests.
      
      Completed the fifth level of the refactoring to add finishCreation()
      methods to all classes within the JSCell hierarchy with non-trivial
      constructor bodies.
      
      This primarily consists of pushing the calls to finishCreation() down
      into the constructors of the subclasses of the second level of the hierarchy
      as well as pulling the finishCreation() calls out into the class's corresponding
      create() method if it has one.  Doing both simultaneously allows us to
      maintain the invariant that the finishCreation() method chain is called exactly
      once during the creation of an object, since calling it any other number of
      times (0, 2, or more) will cause an assertion failure.
      
      * WebCore.exp.in:
      * bindings/js/JSDOMBinding.h:
      (WebCore::DOMConstructorObject::DOMConstructorObject):
      * bindings/js/JSDOMGlobalObject.cpp:
      (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
      (WebCore::JSDOMGlobalObject::finishCreation):
      * bindings/js/JSDOMGlobalObject.h:
      * bindings/js/JSDOMWindowShell.cpp:
      * bindings/js/JSDOMWindowShell.h:
      (WebCore::JSDOMWindowShell::create):
      * bindings/js/JSDOMWrapper.h:
      (WebCore::JSDOMWrapper::JSDOMWrapper):
      * bindings/scripts/CodeGeneratorJS.pm:
      (GenerateImplementation):
      * bindings/scripts/test/JS/JSTestInterface.cpp:
      (WebCore::JSTestInterface::JSTestInterface):
      * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
      (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
      * bindings/scripts/test/JS/JSTestObj.cpp:
      (WebCore::JSTestObj::JSTestObj):
      * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
      (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
      * bridge/c/CRuntimeObject.cpp:
      (JSC::Bindings::CRuntimeObject::CRuntimeObject):
      (JSC::Bindings::CRuntimeObject::finishCreation):
      * bridge/c/CRuntimeObject.h:
      * bridge/jni/jsc/JavaRuntimeObject.cpp:
      (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
      (JSC::Bindings::JavaRuntimeObject::finishCreation):
      * bridge/jni/jsc/JavaRuntimeObject.h:
      * bridge/objc/ObjCRuntimeObject.h:
      * bridge/objc/ObjCRuntimeObject.mm:
      (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
      (JSC::Bindings::ObjCRuntimeObject::finishCreation):
      * bridge/objc/objc_runtime.h:
      (JSC::Bindings::ObjcFallbackObjectImp::create):
      * bridge/objc/objc_runtime.mm:
      (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
      * bridge/qt/qt_instance.cpp:
      (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
      * bridge/qt/qt_pixmapruntime.cpp:
      (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
      * bridge/qt/qt_runtime.cpp:
      (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
      (JSC::Bindings::QtRuntimeMethod::finishCreation):
      * bridge/qt/qt_runtime.h:
      * bridge/runtime_array.cpp:
      (JSC::RuntimeArray::RuntimeArray):
      * bridge/runtime_array.h:
      (JSC::RuntimeArray::create):
      * bridge/runtime_method.cpp:
      (JSC::RuntimeMethod::RuntimeMethod):
      (JSC::RuntimeMethod::finishCreation):
      * bridge/runtime_method.h:
      * bridge/runtime_object.cpp:
      (JSC::Bindings::RuntimeObject::RuntimeObject):
      * bridge/runtime_object.h:
      (JSC::Bindings::RuntimeObject::create):
      
      Source/WebKit/mac:
      
      Completed the fifth level of the refactoring to add finishCreation()
      methods to all classes within the JSCell hierarchy with non-trivial
      constructor bodies.
      
      This primarily consists of pushing the calls to finishCreation() down
      into the constructors of the subclasses of the second level of the hierarchy
      as well as pulling the finishCreation() calls out into the class's corresponding
      create() method if it has one.  Doing both simultaneously allows us to
      maintain the invariant that the finishCreation() method chain is called exactly
      once during the creation of an object, since calling it any other number of
      times (0, 2, or more) will cause an assertion failure.
      
      * Plugins/Hosted/ProxyRuntimeObject.h:
      * Plugins/Hosted/ProxyRuntimeObject.mm:
      (WebKit::ProxyRuntimeObject::ProxyRuntimeObject):
      (WebKit::ProxyRuntimeObject::finishCreation):
      
      Source/WebKit2:
      
      Completed the fifth level of the refactoring to add finishCreation()
      methods to all classes within the JSCell hierarchy with non-trivial
      constructor bodies.
      
      This primarily consists of pushing the calls to finishCreation() down
      into the constructors of the subclasses of the second level of the hierarchy
      as well as pulling the finishCreation() calls out into the class's corresponding
      create() method if it has one.  Doing both simultaneously allows us to
      maintain the invariant that the finishCreation() method chain is called exactly
      once during the creation of an object, since calling it any other number of
      times (0, 2, or more) will cause an assertion failure.
      
      * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
      (WebKit::JSNPMethod::JSNPMethod):
      (WebKit::JSNPMethod::finishCreation):
      * WebProcess/Plugins/Netscape/JSNPMethod.h:
      (WebKit::JSNPMethod::create):
      * WebProcess/Plugins/Netscape/JSNPObject.cpp:
      (WebKit::JSNPObject::JSNPObject):
      * WebProcess/Plugins/Netscape/JSNPObject.h:
      (WebKit::JSNPObject::create):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94875 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7317a7f6
    • commit-queue@webkit.org's avatar
      Rename FontGtk.cpp to FontPango.cpp · b400177d
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=66323
      
      Patch by Rafael Antognolli <antognolli@profusion.mobi> on 2011-09-09
      Reviewed by Martin Robinson.
      
      This file will be used by the EFL port too, and since it's not GTK
      specific anymore, rename it to something better.
      
      No new functionality so no new tests.
      
      * GNUmakefile.list.am:
      * platform/graphics/pango/FontPango.cpp: Renamed from Source/WebCore/platform/graphics/gtk/FontGtk.cpp.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94874 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b400177d
    • rniwa@webkit.org's avatar
      GTK rebaseline. · 990518aa
      rniwa@webkit.org authored
      * platform/gtk/css2.1/t090204-display-change-01-b-ao-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94873 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      990518aa
    • ggaren@apple.com's avatar
      2011-09-09 Geoffrey Garen <ggaren@apple.com> · 6d32daa5
      ggaren@apple.com authored
              Build fix: Guard against double-#define for something already #defined
              by the build system.
      
              * wtf/Platform.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94872 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6d32daa5
    • ggaren@apple.com's avatar
      2011-09-09 Geoffrey Garen <ggaren@apple.com> · fc7983db
      ggaren@apple.com authored
              Reviewed by Dan Bernstein.
      
              Never #define ENABLE_SINGLE_THREADED, !ENABLE_JSC_MULTIPLE_THREADS, or
              !ENABLE_WTF_MULTIPLE_THREADS
              https://bugs.webkit.org/show_bug.cgi?id=67860
      
              First step toward making the baseline platform assumption that threads
              exist: Never #define ENABLE_SINGLE_THREADED, !ENABLE_JSC_MULTIPLE_THREADS,
              or !ENABLE_WTF_MULTIPLE_THREADS.
      
              * wtf/Platform.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94871 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fc7983db
    • adamk@chromium.org's avatar
      Initialize ExceptionCode in Element::removeAttribute · 99dc179c
      adamk@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=67820
      
      Reviewed by Darin Adler.
      
      Silences valgrind warning reported in http://crbug.com/76490.
      
      No new tests since this would only very occasionally be flaky,
      and in the codepath in the valgrind report, the ec is ignored anyway.
      
      * dom/Element.cpp:
      (WebCore::Element::removeAttribute): Initialize ec to 0.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94869 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      99dc179c
    • rniwa@webkit.org's avatar
      Buildbot may use RunWebKitTest's evaluateCommand on bots that run nrwt · adbe4011
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=67855
      
      Reviewed by Dirk Pranke.
      
      The bug was caused by the fact some ports use RunWebKitTests instead of NewRunWebKitTests to run tests,
      and using RunWebKitTests.evaluateCommand after calling _parseNewRunWebKitTestsOutput.
      
      Fixed the bug by merging evaluateCommand of RunWebKitTests and NewRunWebKitTests.
      
      * BuildSlaveSupport/build.webkit.org-config/master.cfg:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94868 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      adbe4011
    • mhahnenberg@apple.com's avatar
      Add myself to committers.py · c35b19f9
      mhahnenberg@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=67853
      
      Reviewed by Darin Adler.
      
      * Scripts/webkitpy/common/config/committers.py:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94867 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c35b19f9
    • laszlo.1.gombos@nokia.com's avatar
      [Qt] Remove common.pri · 554e8937
      laszlo.1.gombos@nokia.com authored
      https://bugs.webkit.org/show_bug.cgi?id=67814
      
      Reviewed by Andreas Kling.
      
      .:
      
      * Source/WebKit.pri: Move rules from common.pri to WebKit.pri.
      * Source/common.pri: Removed.
      
      Source/JavaScriptCore:
      
      * JavaScriptCore.pri:
      
      Source/WebCore:
      
      No new tests, no change in functionality.
      
      * CodeGenerators.pri:
      * WebCore.pri:
      
      Tools:
      
      * Tools.pro:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94866 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      554e8937