1. 28 Mar, 2013 4 commits
  2. 27 Mar, 2013 36 commits
    • simon.fraser@apple.com's avatar
      Add a way to update GraphicsLayerCA visibleRects without having to do a flush · 7dd9a661
      simon.fraser@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=113459
      
      Reviewed by Tim Horton.
      
      Some platforms need to update TiledBacking visible rects from
      outside of WebKit, for example if they use delegated scrolling.
      They want to avoid forcing layout to be up-to-date when doing this.
      
      Currently, updating the visibleRect happens when the GraphicsLayerCA
      layer are being flushed, but that makes some assumptions about
      layout being up-to-date.
      
      To fix this, add a light-weight pass over the layer tree that
      uses TransformState to compute the visibleRect for each
      layer, and only if the visibleRect would cause a change in the
      tiles in a TiledBacking trigger a layer flush.
      
      * platform/graphics/GraphicsLayer.h:
      (WebCore::GraphicsLayer::recomputeVisibleRects):
      * platform/graphics/TiledBacking.h:
      * platform/graphics/ca/GraphicsLayerCA.cpp:
      (WebCore::GraphicsLayerCA::recursiveComputeVisibleRect):
      (WebCore::GraphicsLayerCA::recomputeVisibleRects):
      (WebCore::GraphicsLayerCA::computeVisibleRect):
      * platform/graphics/ca/GraphicsLayerCA.h:
      * platform/graphics/ca/mac/TileController.h:
      * platform/graphics/ca/mac/TileController.mm:
      (WebCore::TileController::tilesWouldChangeForVisibleRect):
      (WebCore::TileController::computeTileCoverageRect):
      (WebCore::TileController::revalidateTiles):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147058 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7dd9a661
    • pdr@google.com's avatar
      Rename toScriptElement -> toScriptElementIfPossible · b38b6ff0
      pdr@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=113473
      
      Reviewed by Ryosuke Niwa.
      
      Rename ScriptElement::toScriptElement to ScriptElement::toScriptElementIfPossible to
      differentiate this function from other to*Element functions, and to better describe the
      function's behavior. Other to*Element functions do not return null if the cast fails,
      whereas toScriptElementIfPossible does.
      
      No new tests as this is just a refactoring.
      
      * dom/ScriptElement.cpp:
      (WebCore::toScriptElementIfPossible):
      * dom/ScriptElement.h:
      (WebCore):
      * dom/ScriptRunner.cpp:
      (WebCore::ScriptRunner::timerFired):
      
          This is the only unchecked return value but there isn't a security issue here.
      
      * html/HTMLOptionElement.cpp:
      (WebCore::HTMLOptionElement::collectOptionInnerText):
      * html/parser/HTMLConstructionSite.cpp:
      (WebCore::HTMLConstructionSite::attachLater):
      (WebCore::HTMLConstructionSite::insertForeignElement):
      * html/parser/HTMLScriptRunner.cpp:
      (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
      (WebCore::HTMLScriptRunner::requestPendingScript):
      (WebCore::HTMLScriptRunner::runScript):
      * xml/parser/XMLDocumentParser.cpp:
      (WebCore::XMLDocumentParser::notifyFinished):
      * xml/parser/XMLDocumentParserLibxml2.cpp:
      (WebCore::XMLDocumentParser::startElementNs):
      (WebCore::XMLDocumentParser::endElementNs):
      * xml/parser/XMLDocumentParserQt.cpp:
      (WebCore::XMLDocumentParser::parseStartElement):
      (WebCore::XMLDocumentParser::parseEndElement):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147057 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b38b6ff0
    • ggaren@apple.com's avatar
      2013-03-27 Geoffrey Garen <ggaren@apple.com> · 5fa0d379
      ggaren@apple.com authored
              Unreviewed build fix: Removed a dead field.
      
              Pointed out by Mark Lam.
      
              * dfg/DFGByteCodeParser.cpp:
              (JSC::DFG::ByteCodeParser::ByteCodeParser):
              (ByteCodeParser):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147055 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5fa0d379
    • ggaren@apple.com's avatar
      2013-03-27 Geoffrey Garen <ggaren@apple.com> · ef82d832
      ggaren@apple.com authored
              Unreviewed build fix: Removed a dead field.
      
              * dfg/DFGByteCodeParser.cpp:
              (JSC::DFG::ByteCodeParser::ByteCodeParser):
              (ByteCodeParser):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147054 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ef82d832
    • ggaren@apple.com's avatar
      Removed some dead code in the DFG bytecode parser · 0f890fda
      ggaren@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=113472
      
      Reviewed by Sam Weinig.
      
      Now that Phi creation and liveness analysis are separate passes, we can
      remove the vestiges of code that used to do that in the bytecode
      parser.
      
      * dfg/DFGByteCodeParser.cpp:
      (ByteCodeParser):
      (JSC::DFG::ByteCodeParser::addToGraph):
      (JSC::DFG::ByteCodeParser::parse):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147053 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0f890fda
    • weinig@apple.com's avatar
      [WebKit2] Need SPI to determine whether a plug-in is blocked · 32fecf3d
      weinig@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=113463
      
      Reviewed by Anders Carlsson.
      
      Add new SPI, WKContextCopyPlugInInfoForBundleIdetifier, to get data about a plug-in,
      including whether it is blocked by x-protect.
      
      * UIProcess/WebLoaderClient.cpp:
      * UIProcess/API/C/WKAPICast.h:
      (WebKit::toWKPluginLoadPolicy):
      (WebKit::toPluginModuleLoadPolicy):
      Move to a shared location.
      
      * UIProcess/API/C/mac/WKContextPrivateMac.h:
      * UIProcess/API/C/mac/WKContextPrivateMac.mm:
      (WKContextIsPlugInUpdateAvailable):
      (WKPlugInInfoPathKey):
      (WKPlugInInfoBundleIdentifierKey):
      (WKPlugInInfoVersionKey):
      (WKPlugInInfoLoadPolicyKey):
      (WKPlugInInfoUpdatePastLastBlockedVersionIsKnownAvailableKey):
      (WKContextCopyPlugInInfoForBundleIdetifier):
      Add new SPI and dictionary keys.
      
      * UIProcess/Plugins/PluginInfoStore.cpp:
      (WebKit::PluginInfoStore::findPluginWithBundleIdentifer):
      * UIProcess/Plugins/PluginInfoStore.h:
      * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
      (WebKit::PluginInfoStore::findPluginWithBundleIdentifer):
      Add function to lookup plug-ins by bundle identifier.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147052 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      32fecf3d
    • rniwa@webkit.org's avatar
      Debug test fix after r147018. · 2a21f2d6
      rniwa@webkit.org authored
      toElement() asserts. What we want here is isElementNode().
      
      * html/parser/HTMLConstructionSite.cpp:
      (WebCore::HTMLConstructionSite::attachLater):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147050 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2a21f2d6
    • bdakin@apple.com's avatar
      WKBundlePagePrivateMac.h is not being exported · e1272105
      bdakin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=113470
      -and corresponding-
      <rdar://problem/13522909>
      
      Reviewed by Sam Weinig.
      
      Mark it as private instead of project.
      * WebKit2.xcodeproj/project.pbxproj:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147049 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e1272105
    • noel.gordon@gmail.com's avatar
      Add webp image color profile support · 0d0fdfbd
      noel.gordon@gmail.com authored
      https://bugs.webkit.org/show_bug.cgi?id=113184
      
      Reviewed by Eric Seidel.
      
      Source/WebCore:
      
      Requires libwebp version 0.3.0 (decoder ABI version 0x201). For images
      with an ICC color profile chunk, poll the incremental decoder for the
      current decoded height with the WebPIDecGetRGB() API and color correct
      any newly decoded rows in-situ in the frame buffer.
      
      Note: the ICC chunk appears before the encoded image frame in the webp
      encoding (RIFF container) format. When the incremental decoder outputs
      decoded pixels, enough encoded data has arrived to read the entire ICC
      color profile data chunk.
      
      Tests: fast/images/webp-color-profile-lossless.html
             fast/images/webp-color-profile-lossy-alpha.html
             fast/images/webp-color-profile-lossy.html
      
      * platform/image-decoders/webp/WEBPImageDecoder.cpp:
      (WebCore::WEBPImageDecoder::WEBPImageDecoder):
      (WebCore::WEBPImageDecoder::~WEBPImageDecoder): Call clear().
      (WebCore):
      (WebCore::WEBPImageDecoder::clear):
      Added. Helper to clean up the webp decoder and color transform members.
      (WebCore::WEBPImageDecoder::createColorTransform):
      Create m_transform using the supplied profile memory data. Note that
      the |deviceProfile| is not owned, but the |inputProfile| temporary is
      so release it here with qcms_release_profile().
      (WebCore::WEBPImageDecoder::readColorProfile):
      Called once only when the decoder begins to output decoded rows of an
      image containing an ICC chunk, to read the ICC color profile data from
      the encoded data stream, verify it, and use it to create m_transform.
      (WebCore::WEBPImageDecoder::applyColorProfile):
      Since there is no row callback in libwebp, poll for the decoded height
      of the image so far. If new rows are decoded, color correct the pixels
      of those new rows and re-write them back into the frame buffer using
      buffer.setRGBA() to 1) alpha pre-multiply the pixels if needed, and 2)
      shuffle the pixel bytes into the platform's RGBA pixel endian-ness.
      (WebCore::WEBPImageDecoder::decode):
      If the container format indicates the image has an ICC color profile,
      decode the image to RGBA format for subsequent input to the QCMS color
      correction library in applyColorProfile().
      * platform/image-decoders/webp/WEBPImageDecoder.h:
      (WEBPImageDecoder):
      (WebCore::WEBPImageDecoder::colorTransform): m_transform getter.
      
      LayoutTests:
      
      * fast/images/resources/webp-color-profile-lossless.webp: Added.
      * fast/images/resources/webp-color-profile-lossy-alpha.webp: Added.
      * fast/images/resources/webp-color-profile-lossy.webp: Added.
      * fast/images/webp-color-profile-lossless-expected.txt: Added.
      * fast/images/webp-color-profile-lossless.html: Added.
      * fast/images/webp-color-profile-lossy-alpha-expected.txt: Added.
      * fast/images/webp-color-profile-lossy-alpha.html: Added.
      * fast/images/webp-color-profile-lossy-expected.txt: Added.
      * fast/images/webp-color-profile-lossy.html: Added.
      * platform/chromium-mac/fast/images/webp-color-profile-lossless-expected.png: Added.
      * platform/chromium-mac/fast/images/webp-color-profile-lossy-alpha-expected.png: Added.
      * platform/chromium-mac/fast/images/webp-color-profile-lossy-expected.png: Added.
      * platform/chromium-win/fast/images/webp-color-profile-lossless-expected.png: Added.
      * platform/chromium-win/fast/images/webp-color-profile-lossy-alpha-expected.png: Added.
      * platform/chromium-win/fast/images/webp-color-profile-lossy-expected.png: Added.
      * platform/efl/TestExpectations:
      * platform/gtk/TestExpectations:
      * platform/mac/TestExpectations:
      * platform/qt/TestExpectations:
      * platform/win/TestExpectations:
      * platform/wincairo/TestExpectations:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147048 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0d0fdfbd
    • fpizlo@apple.com's avatar
      JIT and DFG should NaN-check loads from Float32 arrays · ec47ab66
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=113462
      <rdar://problem/13490804>
      
      Reviewed by Mark Hahnenberg.
      
      Source/JavaScriptCore: 
      
      * dfg/DFGSpeculativeJIT.cpp:
      (JSC::DFG::SpeculativeJIT::compileGetByValOnFloatTypedArray):
      * jit/JITPropertyAccess.cpp:
      (JSC::JIT::emitFloatTypedArrayGetByVal):
      
      LayoutTests: 
      
      * fast/js/dfg-float32-array-nan-expected.txt: Added.
      * fast/js/dfg-float32-array-nan.html: Added.
      * fast/js/jit-float32-array-nan-expected.txt: Added.
      * fast/js/jit-float32-array-nan.html: Added.
      * fast/js/jsc-test-list:
      * fast/js/script-tests/dfg-float32-array-nan.js: Added.
      (foo):
      * fast/js/script-tests/jit-float32-array-nan.js: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147047 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ec47ab66
    • mark.lam@apple.com's avatar
      Rolling out r147044. · 9ccd1fe3
      mark.lam@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=113352.
      
      Not Reviewed.
      
      Source/WebKit: 
      
      * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
      
      Source/WebKit/win: 
      
      * WebKit.vcproj/WebKitExports.def.in:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147046 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9ccd1fe3
    • keishi@webkit.org's avatar
      [Chromium] Enable touch events in PagePopup · fba08173
      keishi@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=113380
      
      We want to use touch events inside the calendar picker. This patch adds
      PagePopupChromeClient::needTouchEvents() and moved hasTouchEventHandlers()
      from WebViewClient to WebWidgetClient.
      
      Reviewed by Kent Tamura.
      
      * public/WebViewClient.h:
      * public/WebWidgetClient.h:
      (WebWidgetClient):
      (WebKit::WebWidgetClient::hasTouchEventHandlers): Moved from WebViewClient.
      * src/WebPagePopupImpl.cpp:
      (WebKit):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147045 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fba08173
    • mark.lam@apple.com's avatar
      Greening the Apple Win bot (debug build). · 908dc002
      mark.lam@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=113352.
      
      Not Reviewed.
      
      Source/WebKit: 
      
      * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
      
      Source/WebKit/win: 
      
      * WebKit.vcproj/WebKitExports.def.in:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147044 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      908dc002
    • mark.lam@apple.com's avatar
      Greening the Apple Win bot. · 87c58fd5
      mark.lam@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=113352.
      
      Not Reviewed.
      
      Source/WebKit: 
      
      * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
      
      Source/WebKit/win: 
      
      * WebKit.vcproj/WebKitExports.def.in:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147043 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      87c58fd5
    • commit-queue@webkit.org's avatar
      Refactor validation checks for texture uploads · a309c576
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=111012
      
      Patch by Jun Jiang <jun.a.jiang@intel.com> on 2013-03-27
      Reviewed by Kenneth Russell.
      
      Move the validation checks to the entry level of tex{Sub}Image2D, return early for invalid parameters and avoid duplicated checks.
      Moreover, turn all the validation checks at the bottom level - tex{Sub}Image2DBase into assertions.
      
      Already covered by current tests.
      
      * html/canvas/WebGLRenderingContext.cpp:
      (WebCore::WebGLRenderingContext::copyTexSubImage2D):
      (WebCore::WebGLRenderingContext::texImage2DBase):
      (WebCore::WebGLRenderingContext::texImage2DImpl):
      (WebCore::WebGLRenderingContext::validateTexFunc): A helper function for tex{Sub}Image2D to check input parameters.
      (WebCore::WebGLRenderingContext::texImage2D):
      (WebCore::WebGLRenderingContext::texSubImage2DBase):
      (WebCore::WebGLRenderingContext::texSubImage2DImpl):
      (WebCore::WebGLRenderingContext::texSubImage2D):
      (WebCore::WebGLRenderingContext::validateHTMLImageElement):
      (WebCore::WebGLRenderingContext::validateHTMLCanvasElement):
      (WebCore::WebGLRenderingContext::validateHTMLVideoElement):
      * html/canvas/WebGLRenderingContext.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147042 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a309c576
    • commit-queue@webkit.org's avatar
      remove parentsOnly variable in codeGenerator.pm · 078b8c80
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=113457
      
      Patch by Arnaud Renevier <a.renevier@sisa.samsung.com> on 2013-03-27
      Reviewed by Kentaro Hara.
      
      Remove unused variable parentsOnly.
      
      No new tests: no change in behaviour.
      
      * bindings/scripts/CodeGenerator.pm:
      (ForAllParents):
      (AddMethodsConstantsAndAttributesFromParentInterfaces):
      (ParseInterface):
      (InheritsInterface):
      (InheritsExtendedAttribute):
      * bindings/scripts/CodeGeneratorV8.pm:
      (BaseInterfaceName):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147041 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      078b8c80
    • paroga@webkit.org's avatar
      Set WTF_ARM_ARCH_VERSION to correct value when used with MSVC · 22bedfa6
      paroga@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=113436
      
      Reviewed by Benjamin Poulain.
      
      .:
      
      * Source/cmake/OptionsWinCE.cmake: CPU(ARM_TRADITIONAL) is now set correctly by Platform.h.
      
      Source/WTF:
      
      The Microsoft compiler defines _M_ARM with used ARM version.
      
      * wtf/Platform.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147040 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      22bedfa6
    • bdakin@apple.com's avatar
      Need WK2 API to give a WebView a header and footer · 9d3bf065
      bdakin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=113352
      -and corresponding-
      <rdar://problem/13383835>
      
      Reviewed by Simon Fraser.
      
      Source/WebCore: 
      
      This API will require RenderLayerCompositor to keep layers for the header and 
      footer when the exist. It also requires the scrolling machinery to know that the 
      size of the scrollable area will differ from the contentsSize when there is a 
      header or footer.
      
      setWantsLayerForHeader() and setWantsLayerForFooter() return GraphicsLayers to 
      WK2. setHeaderHeight() and setFooterHeight() set the header and footer heights
      respectively.
      * WebCore.exp.in:
      * page/FrameView.h:
      (FrameView):
      * page/FrameView.cpp:
      (WebCore::FrameView::FrameView):
      (WebCore::FrameView::setWantsLayerForHeader):
      (WebCore::FrameView::setWantsLayerForFooter):
      (WebCore::FrameView::setHeaderHeight):
      (WebCore::FrameView::setFooterHeight):
      
      Should use totalContentsSize() instead of contentsSize().
      (WebCore::FrameView::windowClipRect):
      (WebCore::FrameView::isScrollable):
      * page/SpatialNavigation.cpp:
      (WebCore::canScrollInDirection):
      
      This should also use totalContentsSize() instead of contentsSize(), and while 
      we're at it, re-name the variable and function names in the scrolling tree code 
      from contentsSize to totalContentsSize.
      * page/scrolling/ScrollingStateScrollingNode.cpp:
      (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
      (WebCore::ScrollingStateScrollingNode::setTotalContentsSize):
      (WebCore::ScrollingStateScrollingNode::dumpProperties):
      * page/scrolling/ScrollingStateScrollingNode.h:
      (WebCore::ScrollingStateScrollingNode::totalContentsSize):
      (ScrollingStateScrollingNode):
      * page/scrolling/ScrollingTreeScrollingNode.cpp:
      (WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
      * page/scrolling/ScrollingTreeScrollingNode.h:
      (WebCore::ScrollingTreeScrollingNode::totalContentsSize):
      (ScrollingTreeScrollingNode):
      * page/scrolling/mac/ScrollingCoordinatorMac.h:
      (ScrollParameters):
      * page/scrolling/mac/ScrollingCoordinatorMac.mm:
      (WebCore::ScrollingCoordinatorMac::frameViewLayoutUpdated):
      (WebCore::ScrollingCoordinatorMac::setScrollParametersForNode):
      * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
      (WebCore::ScrollingTreeScrollingNodeMac::updateAfterChildren):
      (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
      (WebCore::ScrollingTreeScrollingNodeMac::maximumScrollPosition):
      
      Use totalContentsSize() instead of contentsSize().
      * platform/ScrollView.cpp:
      (WebCore::ScrollView::maximumScrollPosition):
      (WebCore::ScrollView::setScrollOffset):
      (WebCore::ScrollView::overhangAmount):
      (WebCore::ScrollView::updateScrollbars):
      (WebCore::ScrollView::calculateOverhangAreasForPainting):
      
      scrollOffset() represents the offset within the totalContentsSize, but that is 
      not what we need here. So subtract out the headerHeight() for the appropriate 
      value.
      (WebCore::ScrollView::windowToContents):
      (WebCore::ScrollView::contentsToWindow):
      
      Use totalContentsSize() instead of contentsSize().
      * platform/ScrollableArea.cpp:
      (WebCore::ScrollableArea::maximumScrollPosition):
      (WebCore):
      (WebCore::ScrollableArea::totalContentsSize):
      * platform/ScrollableArea.h:
      (WebCore::ScrollableArea::headerHeight):
      (WebCore::ScrollableArea::footerHeight):
      (ScrollableArea):
      * platform/mac/ScrollAnimatorMac.mm:
      (WebCore::ScrollAnimatorMac::adjustScrollPositionIfNecessary):
      (WebCore::ScrollAnimatorMac::pinnedInDirection):
      * platform/mac/ThemeMac.mm:
      (WebCore::ThemeMac::ensuredView):
      
      The rootContentLayer needs to be offset by the headerHeight().
      * rendering/RenderLayerCompositor.cpp:
      (WebCore::RenderLayerCompositor::updateRootLayerPosition):
      
      New member variables m_layerForHeader and m_layerForFooter. This code properly 
      creates and manages them.
      (WebCore::RenderLayerCompositor::updateLayerForBottomOverhangArea):
      (WebCore::RenderLayerCompositor::updateLayerForHeader):
      (WebCore):
      (WebCore::RenderLayerCompositor::updateLayerForFooter):
      (WebCore::RenderLayerCompositor::computeFixedViewportConstraints):
      (WebCore::RenderLayerCompositor::reportMemoryUsage):
      * rendering/RenderLayerCompositor.h:
      (RenderLayerCompositor):
      
      Test infrastructure. 
      * testing/Internals.cpp:
      (WebCore::Internals::resetToConsistentState):
      (WebCore::Internals::setHeaderHeight):
      (WebCore):
      (WebCore::Internals::setFooterHeight):
      * testing/Internals.h:
      * testing/Internals.idl:
      
      Source/WebKit2: 
      
      New API allows setting and getting layers for a header and footer.
      
      * WebKit2.xcodeproj/project.pbxproj:
      * WebProcess/InjectedBundle/API/c/mac: Added.
      * WebProcess/InjectedBundle/API/c/mac/WKBundlePagePrivateMac.h: Added.
      * WebProcess/InjectedBundle/API/c/mac/WKBundlePagePrivateMac.mm: Added.
      (WKBundlePageGetHeaderLayer):
      (WKBundlePageSetHeaderLayer):
      (WKBundlePageGetFooterLayer):
      (WKBundlePageSetFooterLayer):
      * WebProcess/WebPage/WebPage.h:
      (WebPage):
      * WebProcess/WebPage/mac/WebPageMac.mm:
      (WebKit::WebPage::setTopOverhangImage):
      (WebKit::WebPage::setBottomOverhangImage):
      (WebKit):
      (WebKit::WebPage::getHeaderLayer):
      (WebKit::WebPage::setHeaderLayerWithHeight):
      (WebKit::WebPage::getFooterLayer):
      (WebKit::WebPage::setFooterLayerWithHeight):
      
      LayoutTests: 
      
      * platform/mac-wk2/tiled-drawing/header-and-footer-hit-testing-expected.txt: Added.
      * platform/mac-wk2/tiled-drawing/header-and-footer-hit-testing-with-page-scale-expected.txt: Added.
      * platform/mac-wk2/tiled-drawing/header-and-footer-hit-testing-with-page-scale.html: Added.
      * platform/mac-wk2/tiled-drawing/header-and-footer-hit-testing.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147039 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9d3bf065
    • commit-queue@webkit.org's avatar
      javascriptcore bindings do not check exception after calling valueToStringWithNullCheck · 7b53ab4c
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=113219
      
      Patch by Arnaud Renevier <a.renevier@sisa.samsung.com> on 2013-03-27
      Reviewed by Kentaro Hara.
      
      Source/WebCore:
      
      When converting JSValue to native value in attribute setter, store the
      native value in a temporary variable. After this variable assignment,
      always check if an exception has been raised.
      
      Update binding tests.
      
      Test: fast/dom/exception-in-binding.html
      
      * bindings/scripts/CodeGeneratorJS.pm:
      (GenerateImplementation):
      (GetNativeType):
      (JSValueToNative):
      * bindings/scripts/test/JS/JSTestInterface.cpp:
      (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
      (WebCore::setJSTestInterfaceSupplementalStr2):
      (WebCore::setJSTestInterfaceSupplementalNode):
      * bindings/scripts/test/JS/JSTestObj.cpp:
      (WebCore::setJSTestObjConstructorStaticStringAttr):
      (WebCore::setJSTestObjEnumAttr):
      (WebCore::setJSTestObjShortAttr):
      (WebCore::setJSTestObjUnsignedShortAttr):
      (WebCore::setJSTestObjLongAttr):
      (WebCore::setJSTestObjLongLongAttr):
      (WebCore::setJSTestObjUnsignedLongLongAttr):
      (WebCore::setJSTestObjStringAttr):
      (WebCore::setJSTestObjTestObjAttr):
      (WebCore::setJSTestObjXMLObjAttr):
      (WebCore::setJSTestObjCreate):
      (WebCore::setJSTestObjReflectedStringAttr):
      (WebCore::setJSTestObjReflectedIntegralAttr):
      (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
      (WebCore::setJSTestObjReflectedBooleanAttr):
      (WebCore::setJSTestObjReflectedURLAttr):
      (WebCore::setJSTestObjReflectedCustomIntegralAttr):
      (WebCore::setJSTestObjReflectedCustomBooleanAttr):
      (WebCore::setJSTestObjReflectedCustomURLAttr):
      (WebCore::setJSTestObjTypedArrayAttr):
      (WebCore::setJSTestObjAttrWithGetterException):
      (WebCore::setJSTestObjAttrWithSetterException):
      (WebCore::setJSTestObjStringAttrWithGetterException):
      (WebCore::setJSTestObjStringAttrWithSetterException):
      (WebCore::setJSTestObjWithScriptStateAttribute):
      (WebCore::setJSTestObjWithScriptExecutionContextAttribute):
      (WebCore::setJSTestObjWithScriptStateAttributeRaises):
      (WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
      (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
      (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
      (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
      (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
      (WebCore::setJSTestObjConditionalAttr1):
      (WebCore::setJSTestObjConditionalAttr2):
      (WebCore::setJSTestObjConditionalAttr3):
      (WebCore::setJSTestObjAnyAttribute):
      (WebCore::setJSTestObjMutablePoint):
      (WebCore::setJSTestObjImmutablePoint):
      (WebCore::setJSTestObjStrawberry):
      (WebCore::setJSTestObjStrictFloat):
      (WebCore::setJSTestObjId):
      (WebCore::setJSTestObjNullableLongSettableAttribute):
      (WebCore::setJSTestObjNullableStringValue):
      * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
      (WebCore::setJSTestSerializedScriptValueInterfaceValue):
      (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
      * bindings/scripts/test/JS/JSTestTypedefs.cpp:
      (WebCore::setJSTestTypedefsUnsignedLongLongAttr):
      (WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
      (WebCore::setJSTestTypedefsAttrWithGetterException):
      (WebCore::setJSTestTypedefsAttrWithSetterException):
      (WebCore::setJSTestTypedefsStringAttrWithGetterException):
      (WebCore::setJSTestTypedefsStringAttrWithSetterException):
      
      LayoutTests:
      
      * fast/dom/exception-in-binding-expected.txt: Added.
      * fast/dom/exception-in-binding.html: Added.
      * platform/chromium/TestExpectations: new test fails for now
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147038 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7b53ab4c
    • commit-queue@webkit.org's avatar
      cache parsed interfaces in CodeGenerator.pm · 05240e15
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=113446
      
      Patch by Arnaud Renevier <a.renevier@sisa.samsung.com> on 2013-03-27
      Reviewed by Kentaro Hara.
      
      When generating binding for an interface, informations about parent
      interfaces are sometimes needed several times. This patch caches
      those the parsed interface. When generating all WebCore bindings, this
      results in a speedup of about 40% for JavaScriptCore and about 80% for
      V8.
      
      No new tests: no change in behaviour.
      
      * bindings/scripts/CodeGenerator.pm:
      (ParseInterface):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147037 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      05240e15
    • commit-queue@webkit.org's avatar
      Add a settings to disallow initializing background-size if background shorthand doesn't include it. · 27d6ce71
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=113363
      
      Source/WebCore:
      
      Patch by KyungTae Kim <ktf.kim@samsung.com> and Yongjun Zhang <yongjun_zhang@apple.com> on 2013-03-27
      Reviewed by David Kilzer.
      
      This is based on KyungTae Kim's patch in https://bugs.webkit.org/show_bug.cgi?id=97761.  Many legacy sites set
      background-size first and then set background for setting background-image.  For backward-compatibility
      in some WebKit based clients, if 'background' shorthand have no 'background-size' attribute, we could add
      a settings to let the css parser not initialize 'background-size'.
      
      Test: fast/backgrounds/background-shorthand-after-set-backgroundSize.html
      
      * css/CSSParser.cpp:
      (WebCore::CSSParserContext::CSSParserContext): initialize useLegacyBackgroundSizeShorthandBehavior.
      (WebCore::operator==):
      (WebCore::CSSParser::useLegacyBackgroundSizeShorthandBehavior): add a method to return if we want background-size
          to be initialized by background shorthand.
      (WebCore):
      (WebCore::CSSParser::parseFillShorthand): don't initialize background-size in background shorthand if we have
          useLegacyBackgroundSizeShorthandBehavior set to true.
      * css/CSSParser.h:
      (CSSParser):
      * css/CSSParserMode.h: add member useLegacyBackgroundSizeShorthandBehavior to CSSParserContext.
      (CSSParserContext):
      * page/Settings.in: initialize useLegacyBackgroundSizeShorthandBehavior to false.
      * testing/InternalSettings.cpp:
      (WebCore::InternalSettings::Backup::Backup): add the new settings useLegacyBackgroundSizeShorthandBehavior to Backup.
      (WebCore::InternalSettings::Backup::restoreTo): restore useLegacyBackgroundSizeShorthandBehavior from Backup.
      (WebCore::InternalSettings::setUseLegacyBackgroundSizeShorthandBehavior):
      (WebCore):
      * testing/InternalSettings.h:
      (Backup):
      (InternalSettings):
      * testing/InternalSettings.idl: add a JS testing API setUseLegacyBackgroundSizeShorthandBehavior to turn on/off
          the new settings.
      
      LayoutTests:
      
      Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2013-03-27
      Reviewed by David Kilzer.
      
      Add test for the new settings useLegacyBackgroundSizeShorthandBehavior.
      
      * fast/backgrounds/background-shorthand-after-set-backgroundSize-expected.txt: Added.
      * fast/backgrounds/background-shorthand-after-set-backgroundSize.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147034 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      27d6ce71
    • fmalita@chromium.org's avatar
      Remove unused RenderLayer::renderBox{X,Y} methods · 09211e93
      fmalita@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=113408
      
      Reviewed by Simon Fraser.
      
      Minor cleanup - renderBoxX() and renderBox() are no longer used.
      
      No new tests: no functional changes.
      
      * rendering/RenderLayer.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147033 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      09211e93
    • commit-queue@webkit.org's avatar
      [BlackBerry] Show compositing on the Inspector timeline properly · 64c0435a
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=113416
      
      Patch by Eli Fidler <efidler@blackberry.com> on 2013-03-27
      Reviewed by Rob Buis.
      
      The call to willComposite was too early and encompased the paint calls
      as well.  Moving it lower will no longer encompass the paints.
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::commitRootLayerIfNeeded):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147032 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      64c0435a
    • commit-queue@webkit.org's avatar
      Web Inspector: Plumb and expose cookie clearing options throughout the... · 7dfe1335
      commit-queue@webkit.org authored
      Web Inspector: Plumb and expose cookie clearing options throughout the Resources Cookies tree and views
      https://bugs.webkit.org/show_bug.cgi?id=87140
      
      Patch by PhistucK <phistuck@chromium.org> on 2013-03-27
      Reviewed by Vsevolod Vlasov.
      
      Added cookie clearing buttons and context menu options
      throughout the tree and views.
      Drive by -
      - Made sure the delete button is only visible
      when a cookie is selected.
      - Fixed a wrong JSDoc comment.
      
      * inspector/front-end/CookieItemsView.js:
      (WebInspector.CookieItemsView):
      (WebInspector.CookieItemsView.prototype.statusBarItems):
      (WebInspector.CookieItemsView.prototype._updateWithCookies):
      (WebInspector.CookieItemsView.prototype.clear):
      Added. Clears the entire cookie view.
      (WebInspector.CookieItemsView.prototype._clearButtonClicked):
      Added. Ditto (when clicking on the button).
      (WebInspector.CookieItemsView.prototype._showDeleteButton):
      Added. Shows the delete button when selecting a cookie row.
      * inspector/CookiesTable.js:
      (WebInspector.CookiesTable):
      (WebInspector.CookiesTable.prototype._clearAndRefresh):
      Added. Clears the cookies of the current table and updates it.
      (WebInspector.CookiesTable.prototype._handleContextMenuEvent):
      Added. Manages the context menu within the table.
      (WebInspector.CookiesTable.prototype.clear):
      Added. Clears the cookies of the current table.
      (WebInspector.CookiesTable.prototype.setCookies):
       Fixed a wrong JSDoc comment structure.
      * inspector/front-end/ResourcesPanel.js:
      (WebInspector.ResourcesPanel.prototype.clearCookies):
      Added. Clears the cookies of the given domain view.
      (WebInspector.CookieTreeElement.prototype.onattach):
      Added. Adds a contextmenu handler.
      (WebInspector.CookieTreeElement.prototype._handleContextMenuEvent):
      Added. Manages the context menu within cookie tree.
      (WebInspector.CookieTreeElement.prototype._clearCookies):
      Added. Clears the cookies of the view of the tree item.
      * inspector/front-end/treeoutline.js:
      (TreeOutline): Fixed a wrong JSDoc comment.
      
      * English.lproj/localizedStrings.js:
      Added strings for the context menu options.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147031 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7dfe1335
    • commit-queue@webkit.org's avatar
      Web Inspector: [DTE] implement "tokenAtTextPosition" method · fa0f4dde
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=113390
      
      Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-03-27
      Reviewed by Pavel Feldman.
      
      Source/WebCore:
      
      Test: inspector/editor/text-editor-token-at-position.html
      
      - Add TextEditor.tokenAtTextPosition method
      - Implement tokenAtTextPosition method in DefaultTextEditor
      
      * inspector/front-end/DefaultTextEditor.js:
      (WebInspector.DefaultTextEditor.prototype.tokenAtTextPosition):
      (WebInspector.TextEditorMainPanel.prototype.compare):
      (WebInspector.TextEditorMainPanel.prototype.tokenAtTextPosition):
      (WebInspector.TextEditorMainPanel.prototype._tokenAtUnhighlightedLine):
      (WebInspector.TextEditorMainPanel.prototype.set mimeType):
      (WebInspector.TextEditorMainPanel.prototype.get mimeType):
      * inspector/front-end/TextEditor.js:
      (WebInspector.TextEditor.prototype.tokenAtTextPosition):
      * inspector/front-end/TextEditorHighlighter.js:
      (WebInspector.TextEditorHighlighter):
      (WebInspector.TextEditorHighlighter.prototype.get mimeType):
      (WebInspector.TextEditorHighlighter.prototype.set mimeType):
      
      LayoutTests:
      
      Add a test to verify TextEditor.tokenAtTextPosition method.
      
      * inspector/editor/text-editor-token-at-position-expected.txt: Added.
      * inspector/editor/text-editor-token-at-position.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147030 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fa0f4dde
    • charles.wei@torchmobile.com.cn's avatar
      Remove build warning for unused function parameters in indexeddb. · 7a8f3122
      charles.wei@torchmobile.com.cn authored
      https://bugs.webkit.org/show_bug.cgi?id=113043
      
      Reviewed by Tony Chang.
      
      No new tests, just remove build warning.
      
      * Modules/indexeddb/IDBCallbacks.h:
      (WebCore::IDBCallbacks::onBlocked):
      (WebCore::IDBCallbacks::onUpgradeNeeded):
      * Modules/indexeddb/IDBCursor.cpp:
      (WebCore::IDBCursor::stringToDirection):
      * Modules/indexeddb/IDBCursor.h:
      (IDBCursor):
      * Modules/indexeddb/IDBCursorBackendImpl.cpp:
      (WebCore::IDBCursorBackendImpl::prefetchReset):
      * Modules/indexeddb/IDBDatabase.cpp:
      (WebCore::IDBDatabase::transaction):
      * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
      (WebCore::IDBDatabaseBackendImpl::setIndexesReady):
      * Modules/indexeddb/IDBIndex.cpp:
      (WebCore::IDBIndex::openCursor):
      (WebCore::IDBIndex::openKeyCursor):
      * Modules/indexeddb/IDBLevelDBCoding.cpp:
      (IDBLevelDBCoding):
      * Modules/indexeddb/IDBObjectStore.cpp:
      (WebCore):
      (WebCore::IDBObjectStore::openCursor):
      * Modules/indexeddb/IDBTransaction.cpp:
      (WebCore::IDBTransaction::stringToMode):
      * Modules/indexeddb/IDBTransaction.h:
      (IDBTransaction):
      * inspector/InspectorIndexedDBAgent.cpp:
      (WebCore):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147029 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7a8f3122
    • commit-queue@webkit.org's avatar
      REGRESSION (r146588): Cannot correctly display Chinese SNS Renren · 77ca28ea
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=113142
      
      Patch by Sergey Ryazanov <serya@chromium.org> on 2013-03-27
      Reviewed by Pavel Feldman.
      
      Source/WebCore:
      
      Changed CSS grammar to be equivalent to pre-r146588.
      CSS error reporting disabled to prevent message overflow.
      
      * css/CSSGrammar.y.in:
      * css/CSSParser.cpp:
      (WebCore::CSSParser::isLoggingErrors):
      
      LayoutTests:
      
      * TestExpectations:
      * fast/css/parsing-error-recovery.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147028 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      77ca28ea
    • commit-queue@webkit.org's avatar
      Web Inspector: enhance Popover.js to rely on hover element coordinates · 0aa0c237
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=113340
      
      Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-03-27
      Reviewed by Pavel Feldman.
      
      No new tests: no change in behaviour.
      
      Introduce a coordinates-based method that checks if mouse is inside hover
      element and use it in PopoverHelper instead of DOM hierarchy.
      
      * inspector/front-end/Popover.js:
      (WebInspector.PopoverHelper.prototype._eventInHoverElement): Added.
      (WebInspector.PopoverHelper.prototype._mouseDown):
      (WebInspector.PopoverHelper.prototype._mouseMove):
      (WebInspector.PopoverHelper.prototype._mouseOut):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147027 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0aa0c237
    • commit-queue@webkit.org's avatar
      Web Inspector: [CodeMirror] fix webinspector-css theme for CodeMirror · 2d127e99
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=113399
      
      Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-03-27
      Reviewed by Alexander Pavlov.
      
      Add style rule to highlight css properties for CodeMirror
      webinspector-css theme.
      
      No new tests: no change in behaviour.
      
      * inspector/front-end/cm/cmdevtools.css:
      (.cm-s-web-inspector-css span.cm-property):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147026 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2d127e99
    • commit-queue@webkit.org's avatar
      Web Inspector: [DTE] paint overlay highlight for unhighlighted lines · 5b35d487
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=113344
      
      Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-03-27
      Reviewed by Pavel Feldman.
      
      No new tests.
      
      Remove fast-return condition from paintLine method that checked for
      highlight existence.
      
      * inspector/front-end/DefaultTextEditor.js:
      (WebInspector.TextEditorMainPanel.prototype._paintLine):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147025 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5b35d487
    • anilsson@rim.com's avatar
      [BlackBerry] Populate the mime type of the WebContext for images · e02af71e
      anilsson@rim.com authored
      https://bugs.webkit.org/show_bug.cgi?id=113272
      
      Reviewed by George Staikos.
      
      PR 278967
      
      Populate the mime type using the file extension reported by the image
      decoder. This way we benefit from file type sniffing, instead of
      relying on the mime type reported by the resource response.
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::webContext):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147024 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e02af71e
    • rniwa@webkit.org's avatar
      Shift clicking on an element with -webkit-user-select: all doesn't extend selection · 9e76e369
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=113270
      
      Reviewed by Enrica Casucci.
      
      Source/WebCore:
      
      The bug was caused by updateSelectionForMouseDownDispatchingSelectStart always replacing selection whenever
      the target node was inside an element with -webkit-suer-select even when we were attemping to extend selection
      in handleMousePressEventSingleClick.
      
      Fixed the bug by extracting this logic as a separate function (expandSelectionToRespectUserSelectAll) and deploying
      it in handleMousePressEventSingleClick to extend selection as needed.
      
      Test: editing/selection/user-select-all-with-shift.html
      
      * page/EventHandler.cpp:
      (WebCore::expandSelectionToRespectUserSelectAll): Extracted from updateSelectionForMouseDownDispatchingSelectStart.
      (WebCore::EventHandler::updateSelectionForMouseDownDispatchingSelectStart):
      (WebCore::EventHandler::selectClosestWordFromHitTestResult):
      (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
      (WebCore::EventHandler::handleMousePressEventTripleClick):
      (WebCore::EventHandler::handleMousePressEventSingleClick): Adjust "pos" as needed when extending selection.
      Also use shouldConsiderSelectionAsDirectional() instead of manually peeking editingBehaviorType while we're at it.
      
      LayoutTests:
      
      Added a regression test for shift clicking on an element with -webkit-user-select: all.
      Skip it on non-Mac platforms as -webkit-user-select: all hasn't been enabled on them.
      
      * editing/selection/user-select-all-with-shift-expected.txt: Added.
      * editing/selection/user-select-all-with-shift.html: Added.
      * platform/chromium/TestExpectations:
      * platform/efl/TestExpectations:
      * platform/gtk/TestExpectations:
      * platform/qt/TestExpectations:
      * platform/win/TestExpectations:
      * platform/wincairo/TestExpectations:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147022 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9e76e369
    • commit-queue@webkit.org's avatar
      REGRESSION(r143102): iframe with percentage height within table with anonymous cell fails. · 6ead1357
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=113077
      
      Source/WebCore:
      
      Patch by Zalan Bujtas <zalan@apple.com> on 2013-03-27
      Reviewed by Antti Koivisto.
      
      http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level
      "Anonymous block boxes are ignored when resolving percentage values that would refer to it:
      the closest non-anonymous ancestor box is used instead."
      When figuring out whether auto height needs to be applied on the current box, ignore anonymous
      ancestors until the first non-anonymous containing block is found. This matches both
      Firefox and Opera behaviour.
      
      Test: fast/replaced/iframe-with-percentage-height-within-table-with-anonymous-table-cell.html
      
      * rendering/RenderBoxModelObject.cpp:
      (WebCore::RenderBoxModelObject::hasAutoHeightOrContainingBlockWithAutoHeight): Switch from
      isAnonymousBlock() to isAnonymous() to make sure all anonymous boxes are ignored.
      Remove isTableCell() check which is a noop as table cell isn't an anonymous block.
      
      LayoutTests:
      
      Patch by Zalan Bujtas <zalan@apple.com> on 2013-03-27
      Reviewed by Antti Koivisto.
      
      * fast/replaced/iframe-with-percentage-height-within-table-with-anonymous-table-cell-expected.txt: Added.
      * fast/replaced/iframe-with-percentage-height-within-table-with-anonymous-table-cell.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147021 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6ead1357
    • pierre.rossi@gmail.com's avatar
      [Qt] Add WOFF support when using zlib · 796b9ac7
      pierre.rossi@gmail.com authored
      https://bugs.webkit.org/show_bug.cgi?id=112805
      
      Reviewed by Allan Sandfeld Jensen.
      
      Source/WebCore:
      
      Covered by existing test:
      fast/css/font-face-woff.html
      
      * Target.pri: Conditional inclusion of WOFFFileFormat
      * platform/graphics/qt/FontCustomPlatformDataQt.cpp:
      (WebCore::createFontCustomPlatformData): Try to unpack WOFF data, otherwise spit out a warning and bail.
      (WebCore::FontCustomPlatformData::supportsFormat): accept WOFF webfonts if USE(ZLIB).
      
      LayoutTests:
      
      * platform/qt-5.0-wk2/TestExpectations: keep skipped for WK2 due to a WTR bug.
      * platform/qt/TestExpectations: unskip font-face-woff.html
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147020 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      796b9ac7
    • robert@webkit.org's avatar
      Growing a position:absolute element in a position:relative one in a table does... · 4c91cc94
      robert@webkit.org authored
      Growing a position:absolute element in a position:relative one in a table does not update scrollHeight
      https://bugs.webkit.org/show_bug.cgi?id=111977
      
      Reviewed by David Hyatt.
      
      Source/WebCore:
      
      During simplified layout tables still need to know about overflow from positioned objects in any of
      their cells.
      
      Test: fast/table/cell-overflow-simplified-layout.html
      
      * rendering/RenderBlock.h:
      (RenderBlock):
      * rendering/RenderTable.cpp:
      (WebCore::RenderTable::simplifiedNormalFlowLayout):
      (WebCore):
      * rendering/RenderTable.h:
      * rendering/RenderTableSection.cpp:
      (WebCore::RenderTableSection::layoutRows):
      (WebCore):
      (WebCore::RenderTableSection::computeOverflowFromCells):
      * rendering/RenderTableSection.h:
      (RenderTableSection):
      
      LayoutTests:
      
      * fast/table/cell-overflow-simplified-layout-expected.html: Added.
      * fast/table/cell-overflow-simplified-layout.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147019 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4c91cc94
    • ggaren@apple.com's avatar
      Honor the setting for whether JavaScript markup is enabled · 20c53674
      ggaren@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=113122
      
      Reviewed by Ryosuke Niwa.
      
      Source/WebCore: 
      
      * dom/ScriptableDocumentParser.cpp:
      (WebCore::ScriptableDocumentParser::ScriptableDocumentParser): Applied the
      setting here, so all document parsing would be covered. This is similar
      to what we do for plug-in stripping.
      
      * html/parser/HTMLConstructionSite.cpp:
      (WebCore::HTMLConstructionSite::insertForeignElement): Fixed a bug where
      we would insert an SVG script element into the document even in script
      markup disabled mode.
      
      (This bug has existed for copy/paste for a long time, but other bugs and
      quirks in SVG copy/paste papered over it. It's a serious issue now
      that non-paste clients will rely on this mode.)
      
      * html/parser/HTMLTreeBuilder.cpp:
      (WebCore::HTMLTreeBuilder::processTokenInForeignContent): Fixed the same
      bug -- this time in the part of the parser that executes scripts as they
      parse.
      
      I adopted the toScriptElement() convention for testing for a script
      element to match the XML parser.
      
      LayoutTests: 
      
      * editing/unsupported-content/script-markup-enabled-setting-expected.txt: Added.
      * editing/unsupported-content/script-markup-enabled-setting.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147018 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      20c53674