1. 23 Feb, 2012 40 commits
    • mhahnenberg@apple.com's avatar
      Zero out CopiedBlocks on initialization · 13bbb9d7
      mhahnenberg@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=79199
      
      Reviewed by Filip Pizlo.
      
      Made CopyBlocks zero their payloads during construction. This allows
      JSArray to avoid having to manually clear its backing store upon allocation
      and also alleviates any future pain with regard to the garbage collector trying
      to mark what it thinks are values in what is actually uninitialized memory.
      
      * heap/CopiedBlock.h:
      (JSC::CopiedBlock::CopiedBlock):
      * runtime/JSArray.cpp:
      (JSC::JSArray::finishCreation):
      (JSC::JSArray::tryFinishCreationUninitialized):
      (JSC::JSArray::increaseVectorLength):
      (JSC::JSArray::unshiftCountSlowCase):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108716 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      13bbb9d7
    • leo.yang@torchmobile.com.cn's avatar
      [BlackBerry] Upstream the BlackBerry change to platform/graphics/IntPoint.h · 5a67c05d
      leo.yang@torchmobile.com.cn authored
      https://bugs.webkit.org/show_bug.cgi?id=79094
      
      Reviewed by Antonio Gomes.
      
      Add conversion convenience between WebCore::IntPoint and BlackBerry::Platform::IntPoint.
      
      The porting can't be built yet, no new tests.
      
      * platform/graphics/IntPoint.h:
      (Platform):
      (IntPoint):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108715 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5a67c05d
    • commit-queue@webkit.org's avatar
      [Chromium] Add profiling trace for deferred canvas rendering · b911ca86
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=79376
      
      Patch by Justin Novosad <junov@chromium.org> on 2012-02-23
      Reviewed by Stephen White.
      
      No new tests.
      
      * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
      (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
      Profiling trace for the entire method, as well as for
      calls to canvas flush and context flush, both of which may
      cause deferred operation to be executed.
      * platform/graphics/skia/PlatformContextSkia.cpp:
      (WebCore::PlatformContextSkia::bitmap):
      Inserting a profiling trace in this method because it may cause
      deferred draw commands to be executed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108714 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b911ca86
    • shinyak@chromium.org's avatar
      ShadowRootList should have recalculation flag instead of ShadowRoot. · 4cd0f7f4
      shinyak@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=79071
      
      Reviewed by Hajime Morita.
      
      When light children or shadow children are changed, we currently re-construct a shadow subtree.
      However, when supporting multiple shadow subtrees, all shadow subtrees should be re-constructed.
      So ShadowRootList should have re-construction flag instead of ShadowRoot.
      
      Also, re-construction methods in ShadowRoot should be moved to ShadowRootList.
      
      No new tests, should be convered by existing tests.
      
      * dom/Element.cpp:
      (WebCore::Element::recalcStyle):
      (WebCore::Element::childrenChanged):
      * dom/NodeRenderingContext.cpp:
      (WebCore::NodeRenderingContext::hostChildrenChanged):
      * dom/ShadowRoot.cpp:
      (WebCore::ShadowRoot::ShadowRoot):
      (WebCore::ShadowRoot::list):
      * dom/ShadowRoot.h:
      (WebCore):
      (ShadowRoot):
      * dom/ShadowRootList.cpp:
      (WebCore::ShadowRootList::ShadowRootList):
      (WebCore::ShadowRootList::reattach):
      (WebCore):
      (WebCore::ShadowRootList::childNeedsStyleRecalc):
      (WebCore::ShadowRootList::needsStyleRecalc):
      (WebCore::ShadowRootList::recalcShadowTreeStyle):
      (WebCore::ShadowRootList::needsReattachHostChildrenAndShadow):
      (WebCore::ShadowRootList::hostChildrenChanged):
      (WebCore::ShadowRootList::setNeedsReattachHostChildrenAndShadow):
      (WebCore::ShadowRootList::reattachHostChildrenAndShadow):
      * dom/ShadowRootList.h:
      (WebCore):
      (ShadowRootList):
      (WebCore::ShadowRootList::clearNeedsReattachHostChildrenAndShadow):
      * html/shadow/HTMLContentElement.cpp:
      (WebCore::HTMLContentElement::attach):
      (WebCore::HTMLContentElement::detach):
      (WebCore::HTMLContentElement::parseAttribute):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108713 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4cd0f7f4
    • rolandsteiner@chromium.org's avatar
      Unreviewed: add clause in ASSERT missing from r108474. · 1e191888
      rolandsteiner@chromium.org authored
      No new tests. (fix)
      
      * html/HTMLStyleElement.cpp:
      (WebCore::HTMLStyleElement::willRemove):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108712 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1e191888
    • leo.yang@torchmobile.com.cn's avatar
      [BlackBerry] Upstream GLES2Context.{h, cpp} · d328c645
      leo.yang@torchmobile.com.cn authored
      https://bugs.webkit.org/show_bug.cgi?id=79196
      
      Reviewed by Rob Buis.
      
      Initial upstream, no new tests.
      
      * WebKitSupport/GLES2Context.cpp: Added.
      * WebKitSupport/GLES2Context.h: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108711 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d328c645
    • eric@webkit.org's avatar
      Split out HTML constructors into new DOMWindowHTML suplemental idl · 1fc56d81
      eric@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=79377
      
      Reviewed by Adam Barth.
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.list.am:
      * WebCore.gypi:
      * WebCore.xcodeproj/project.pbxproj:
      * html/DOMWindowHTML.idl: Added.
      * page/DOMWindow.idl:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108710 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1fc56d81
    • eric@webkit.org's avatar
      Move SVG element constructors out of DOMWindow.idl into a new DOMWindowSVG.idl suplemental · d0f94898
      eric@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=79379
      
      Reviewed by Adam Barth.
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.list.am:
      * WebCore.gypi:
      * WebCore.xcodeproj/project.pbxproj:
      * page/DOMWindow.idl:
      * svg/DOMWindowSVG.idl: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108709 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d0f94898
    • enne@google.com's avatar
      Unreviewed, add Stephen Chenney to committers.py as a contributor. · 42a97679
      enne@google.com authored
      * Scripts/webkitpy/common/config/committers.py:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108707 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      42a97679
    • jamesr@google.com's avatar
      [chromium] Clean up GraphicsContext3D initialization paths · 48dc8f87
      jamesr@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=79321
      
      Reviewed by Kenneth Russell.
      
      This simplifies the GraphicsContext3D initialization paths down to two simple codepaths, one for offscreen
      contexts initialized from WebCore and one for onscreen (compositor) contexts initialized by WebViewImpl or
      WebLayerTreeViewImpl.
      
      Offscreen initialization path:
      1) WebCore code calls WebCore::GraphicsContext3D::create(), implemented in GraphicsContext3DChromium.cpp
      2) GraphicsContext3D::create() instantiates a WebGraphicsContext3D via the static WebKitPlatformSupport interface
      3) GraphicsContext3DPrivate::createGraphicsContextFromWebContext() wraps the WebGraphicsContext3D in a
      GraphicsContext3D's m_private pointer.
      
      Onscreen initialization path:
      1) WebViewImpl or WebLayerTreeViewImpl request an onscreen WebGraphicsContext3D from either their WebViewClient
      or WebLayerTreeViewClient, respectively
      2) GraphicsContext3DPrivate::createGraphicsContextFromWebContext() wraps the WebGraphicsContext3D in a
      GraphicsContext3D's m_private pointer.
      
      There are no other initialization paths. Specifically, we do not support instantiating onscreen contexts from
      within WebCore.
      
      * src/GraphicsContext3DChromium.cpp:
      (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
      (WebCore::GraphicsContext3DPrivate::createGraphicsContextFromWebContext):
      (WebCore):
      (WebCore::GraphicsContext3DPrivate::platformTexture):
      (WebCore::GraphicsContext3D::create):
      * src/GraphicsContext3DPrivate.h:
      (GraphicsContext3DPrivate):
      * src/WebLayerTreeViewImpl.cpp:
      (WebKit::WebLayerTreeViewImpl::createLayerTreeHostContext3D):
      * src/WebViewImpl.cpp:
      (std::getCompositorContextAttributes):
      (WebKit::WebViewImpl::createCompositorGraphicsContext3D):
      (WebKit):
      (WebKit::WebViewImpl::createLayerTreeHostContext3D):
      (WebKit::WebViewImpl::graphicsContext3D):
      * src/WebViewImpl.h:
      (WebViewImpl):
      * tests/CCLayerTreeHostImplTest.cpp:
      (WebKit::CCLayerTreeHostImplTest::createContext):
      (CCLayerTreeHostImplTest):
      (WebKit::TEST_F):
      * tests/CCLayerTreeHostTest.cpp:
      (WTF::MockLayerTreeHostClient::createLayerTreeHostContext3D):
      * tests/Canvas2DLayerChromiumTest.cpp:
      (WebCore::Canvas2DLayerChromiumTest::fullLifecycleTest):
      * tests/CompositorFakeGraphicsContext3D.h:
      (WebCore::createCompositorMockGraphicsContext3D):
      * tests/FakeGraphicsContext3DTest.cpp:
      (TEST):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108706 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      48dc8f87
    • enne@google.com's avatar
      [chromium] Unreviewed gardening. Apply bug number to svg/carto.net failures. · 6ccd3f51
      enne@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=79423
      
      These two tests were in a set of tests that needed to be rebaselined
      after a jpeg decoder change. However, there was also a text change
      during this period that caused debug vs. release differences for text
      spans in the SVG output. Filing a real bug so this can get looked at.
      
      * platform/chromium/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108704 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6ccd3f51
    • commit-queue@webkit.org's avatar
      [chromium] Plumb video damage to the damage tracker. · aea8638e
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=79373
      
      Patch by Jonathan Backer <backer@chromium.org> on 2012-02-23
      Reviewed by James Robinson.
      
      Source/WebCore:
      
      * platform/graphics/chromium/VideoLayerChromium.cpp:
      (WebCore::VideoLayerChromium::contentChanged):
      (WebCore):
      * platform/graphics/chromium/VideoLayerChromium.h:
      (VideoLayerChromium):
      
      Source/WebKit/chromium:
      
      * src/WebMediaPlayerClientImpl.cpp:
      (WebKit::WebMediaPlayerClientImpl::repaint):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108703 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aea8638e
    • commit-queue@webkit.org's avatar
      [BlackBerry] InputHandler requires cleanup of Navigation Mode handling. · 9a8c17b2
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=79366
      
      Patch by Mike Fenton <mifenton@rim.com> on 2012-02-23
      Reviewed by Rob Buis.
      
      Cleanup InputHandler navigation based code.
      
      1) Remove the concept of NavigationMode and replace it
         with simple showKeyboard calls.
      
      2) Remove navigation move events and replace with standard
         key events.
      
      3) Standardize function/variable names and remove obsolete
         functions.
      
      * Api/WebPageClient.h:
      * WebKitSupport/InputHandler.cpp:
      (BlackBerry::WebKit::InputHandler::InputHandler):
      (BlackBerry::WebKit::InputHandler::nodeFocused):
      (BlackBerry::WebKit::InputHandler::setElementUnfocused):
      (BlackBerry::WebKit::InputHandler::setElementFocused):
      (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
      (BlackBerry::WebKit::InputHandler::setDelayKeyboardVisibilityChange):
      (BlackBerry::WebKit::InputHandler::processPendingKeyboardVisibilityChange):
      (BlackBerry::WebKit::InputHandler::notifyClientOfKeyboardVisibilityChange):
      * WebKitSupport/InputHandler.h:
      (InputHandler):
      * WebKitSupport/SelectionHandler.cpp:
      (BlackBerry::WebKit::SelectionHandler::setCaretPosition):
      (BlackBerry::WebKit::SelectionHandler::updateOrHandleInputSelection):
      * WebKitSupport/TouchEventHandler.cpp:
      (BlackBerry::WebKit::TouchEventHandler::touchEventCancel):
      (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108702 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9a8c17b2
    • abarth@webkit.org's avatar
      style-queue logs bogus messages to the QueueStatusServer · a5e4288f
      abarth@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=79424
      
      Reviewed by Eric Seidel.
      
      Copy/paste error.
      
      * Scripts/webkitpy/tool/bot/stylequeuetask.py:
      (StyleQueueTask._check_style):
      (StyleQueueTask._apply_watch_list):
      * Scripts/webkitpy/tool/commands/queues_unittest.py:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108701 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a5e4288f
    • morrita@google.com's avatar
      This test checks select attribute of content element is valid. · 0999ab5d
      morrita@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=65595
      
      Reviewed by Dimitri Glazkov.
      
      Source/WebCore:
      
      This change introduces FrameTree::scopedChild() and
      FrameTree::scopedChild(), which can be used for scope-aware
      frame lookup. Using these, the named accessor and the indexed
      acceccor on Document, and Window.length are now TreeScope
      aware. They don't count iframes in Shadow DOM.
      
      This change also removes FrameTree::m_childCount since
      Frame::childCount() is no longer in the hot
      path. m_scopedChildCount is added instead.
      
      Test: fast/dom/shadow/iframe-shadow.html
      
      * bindings/js/JSDOMWindowCustom.cpp:
      (WebCore::childFrameGetter):
      (WebCore::indexGetter):
      (WebCore::JSDOMWindow::getOwnPropertySlot):
      (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
      * bindings/v8/custom/V8DOMWindowCustom.cpp:
      (WebCore::V8DOMWindow::indexedPropertyGetter):
      (WebCore::V8DOMWindow::namedPropertyGetter):
      (WebCore::V8DOMWindow::namedSecurityCheck):
      (WebCore::V8DOMWindow::indexedSecurityCheck):
      * page/DOMWindow.cpp:
      (WebCore::DOMWindow::length):
      * page/Frame.cpp:
      (WebCore::Frame::inScope):
      (WebCore):
      * page/Frame.h:
      (WebCore):
      (Frame):
      * page/FrameTree.cpp:
      (WebCore::FrameTree::actuallyAppendChild):
      (WebCore::FrameTree::removeChild):
      (WebCore::FrameTree::scopedChild):
      (WebCore):
      (WebCore::FrameTree::scopedChildCount):
      (WebCore::FrameTree::childCount):
      * page/FrameTree.h:
      (WebCore):
      (FrameTree):
      (WebCore::FrameTree::FrameTree):
      
      LayoutTests:
      
      * fast/dom/shadow/iframe-shadow-expected.txt: Added.
      * fast/dom/shadow/iframe-shadow.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108700 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0999ab5d
    • commit-queue@webkit.org's avatar
      Recompute font metrics on scale changes · 0827c378
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=75091
      
      Patch by Philip Rogers <pdr@google.com> on 2012-02-23
      Reviewed by Nikolas Zimmermann.
      
      Source/WebCore:
      
      SVG text metrics depend on the transform from renderer to the svg root
      which requires that we propagate transform changes down to text.
      This change adds a boolean for tracking transform changes to
      SVGViewportContainers and SVGTransformableContainers, and updates
      RenderSVGText::layout() to recalculate text metrics if the transform
      of an ancestor has changed.
      
      Tests: platform/mac/svg/text/text-rescale.html
             platform/mac/svg/text/text-viewbox-rescale.html
             svg/text/text-rescale.html
             svg/text/text-viewbox-rescale.html
      
      * rendering/RenderObject.h:
      (WebCore::RenderObject::isSVGTransformableContainer):
      (WebCore::RenderObject::isSVGViewportContainer):
      * rendering/svg/RenderSVGContainer.h:
      (WebCore::RenderSVGContainer::didTransformToRootUpdate):
      * rendering/svg/RenderSVGInlineText.cpp:
      (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
      * rendering/svg/RenderSVGText.cpp:
      (WebCore::RenderSVGText::RenderSVGText):
      (WebCore::RenderSVGText::layout):
      * rendering/svg/RenderSVGText.h:
      (WebCore::RenderSVGText::setNeedsTextMetricsUpdate):
      (RenderSVGText):
      * rendering/svg/RenderSVGTransformableContainer.cpp:
      (WebCore::RenderSVGTransformableContainer::RenderSVGTransformableContainer):
      (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
      * rendering/svg/RenderSVGTransformableContainer.h:
      (WebCore::RenderSVGTransformableContainer::isSVGTransformableContainer):
      (WebCore::RenderSVGTransformableContainer::didTransformToRootUpdate):
      (RenderSVGTransformableContainer):
      * rendering/svg/RenderSVGViewportContainer.cpp:
      (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer):
      (WebCore::RenderSVGViewportContainer::calcViewport):
      * rendering/svg/RenderSVGViewportContainer.h:
      (WebCore::RenderSVGViewportContainer::didTransformToRootUpdate):
      (RenderSVGViewportContainer):
      * rendering/svg/SVGRenderSupport.cpp:
      (WebCore::SVGRenderSupport::transformToRootChanged):
      (WebCore):
      (WebCore::SVGRenderSupport::layoutChildren):
      * rendering/svg/SVGRenderSupport.h:
      (SVGRenderSupport):
      
      LayoutTests:
      
      * platform/chromium-linux/svg/text/text-rescale-expected.png: Added.
      * platform/chromium-linux/svg/text/text-rescale-expected.txt: Added.
      * platform/chromium-linux/svg/text/text-viewbox-rescale-expected.png: Added.
      * platform/chromium-linux/svg/text/text-viewbox-rescale-expected.txt: Added.
      * platform/chromium/test_expectations.txt:
      * platform/mac/svg/text/text-rescale-expected.png: Added.
      * platform/mac/svg/text/text-rescale-expected.txt: Added.
      * platform/mac/svg/text/text-rescale.html: Added.
      * platform/mac/svg/text/text-viewbox-rescale-expected.png: Added.
      * platform/mac/svg/text/text-viewbox-rescale-expected.txt: Added.
      * platform/mac/svg/text/text-viewbox-rescale.html: Added.
      * svg/text/text-rescale-expected.png: Added.
      * svg/text/text-rescale-expected.txt: Added.
      * svg/text/text-rescale.html: Added.
      * svg/text/text-viewbox-rescale-expected.png: Added.
      * svg/text/text-viewbox-rescale-expected.txt: Added.
      * svg/text/text-viewbox-rescale.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108699 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0827c378
    • jamesr@google.com's avatar
      [chromium] Notify compositor of wheel event registration via ScrollingCoordinator · ea4d1ff5
      jamesr@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=79133
      
      Reviewed by Dimitri Glazkov.
      
      Source/WebCore:
      
      This notifies the chromium compositor of changes to the number of wheel event handlers via ScrollingCoordinator
      instead of through ChromeClient/WebViewImpl. This is the path we'll use for other properties in the future and
      is more extensible for handling things other than the root layer.
      
      Property behavior is covered by new unit tests in LayerChromiumTests and CCLayerTreeHostImplTest.
      
      * page/scrolling/ScrollingCoordinator.cpp:
      * page/scrolling/ScrollingCoordinator.h:
      (WebCore):
      (ScrollingCoordinator):
          Add a ScrollingCoordinatorPrivate so implementations can tack on additional data without having to #ifdef up
          ScrollingCoordinator.h/cpp
      * page/scrolling/ScrollingCoordinatorNone.cpp:
      (WebCore):
      (WebCore::ScrollingCoordinator::~ScrollingCoordinator):
      * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
      (ScrollingCoordinatorPrivate):
          ScrollingCoordinatorPrivate in the chromium implementation keeps a reference to the scroll layer.
      (WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate):
      (WebCore::ScrollingCoordinatorPrivate::~ScrollingCoordinatorPrivate):
      (WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
      (WebCore::ScrollingCoordinatorPrivate::scrollLayer):
      (WebCore):
      (WebCore::ScrollingCoordinator::create):
      (WebCore::ScrollingCoordinator::~ScrollingCoordinator):
      (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
      (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
      (WebCore::ScrollingCoordinator::setScrollLayer):
      (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
      (WebCore::ScrollingCoordinator::setScrollParameters):
      (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
      (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
      * page/scrolling/mac/ScrollingCoordinatorMac.mm:
      (WebCore):
      (WebCore::ScrollingCoordinator::~ScrollingCoordinator):
      * platform/graphics/chromium/LayerChromium.cpp:
      (WebCore::LayerChromium::LayerChromium):
      (WebCore::LayerChromium::setHaveWheelEventHandlers):
      (WebCore):
      (WebCore::LayerChromium::pushPropertiesTo):
      * platform/graphics/chromium/LayerChromium.h:
      (LayerChromium):
      * platform/graphics/chromium/cc/CCInputHandler.h:
      * platform/graphics/chromium/cc/CCLayerImpl.cpp:
      (WebCore::CCLayerImpl::CCLayerImpl):
      * platform/graphics/chromium/cc/CCLayerImpl.h:
      (WebCore::CCLayerImpl::haveWheelEventHandlers):
      (WebCore::CCLayerImpl::setHaveWheelEventHandlers):
      (CCLayerImpl):
      * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
      (WebCore::CCLayerTreeHost::CCLayerTreeHost):
      (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
      * platform/graphics/chromium/cc/CCLayerTreeHost.h:
      (CCLayerTreeHost):
      * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
      (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
      (WebCore::CCLayerTreeHostImpl::scrollBegin):
      * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
      (CCLayerTreeHostImpl):
      
      Source/WebKit/chromium:
      
      Rips out old wheel event notification and adds unit tests for new LayerChromium property.
      
      * src/NonCompositedContentHost.cpp:
      (WebKit::NonCompositedContentHost::setViewport):
      * src/WebCompositorInputHandlerImpl.cpp:
      (WebKit::WebCompositorInputHandlerImpl::handleInputEvent):
      * src/WebViewImpl.cpp:
      (WebKit::WebViewImpl::numberOfWheelEventHandlersChanged):
      (WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
      * src/WebViewImpl.h:
      * tests/CCLayerTreeHostImplTest.cpp:
      (WebKit::TEST_F):
      (WebKit):
      * tests/LayerChromiumTest.cpp:
      * tests/WebCompositorInputHandlerImplTest.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108698 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ea4d1ff5
    • enne@google.com's avatar
      [chromium] Unreviewed gardening. Re-enable a handful of tests. · 9e25cec4
      enne@google.com authored
      These have no relation to each other, but all don't appear to be
      failing anymore, so removing expectations for them.
      
      * platform/chromium/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108697 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9e25cec4
    • noam.rosenthal@nokia.com's avatar
      [Qt][WK2] Clipping is broken · 9817ea25
      noam.rosenthal@nokia.com authored
      https://bugs.webkit.org/show_bug.cgi?id=78677
      
      Reviewed by Simon Hausmann.
      
      Rework the clipping stack in TextureMapperGL.
      Instead of saving a stack of IntRect scissor clips, we save every clipping change in the
      stack, and reapply it when we end the clip. Popping the stack is almost free, since we
      don't reapply the stencil but simply change the stencil test index.
      
      In addition, we don't use a special shader for clipping, and we don't apply clipping for
      masked children, since they're already clipped because they're rendered into an intermediate
      buffer.
      
      This fixes exiting tests in LayoutTests/compositing/overflow.
      It also fixes asserts in the leaves demo, as well as asserts in nytimes.com and other sites.
      
      * page/FrameView.cpp:
      (WebCore::FrameView::paintContents):
      * platform/graphics/texmap/TextureMapperGL.cpp:
      (ClipState):
      (WebCore::TextureMapperGLData::SharedGLData::ClipState::ClipState):
      (SharedGLData):
      (WebCore::TextureMapperGLData::SharedGLData::pushClipState):
      (WebCore::TextureMapperGLData::SharedGLData::popClipState):
      (WebCore::TextureMapperGLData::SharedGLData::scissorClip):
      (WebCore::TextureMapperGLData::SharedGLData::applyCurrentClip):
      (TextureMapperGLData):
      (BitmapTextureGL):
      (WebCore::TextureMapperGLData::initStencil):
      (WebCore):
      (WebCore::TextureMapperGL::beginPainting):
      (WebCore::TextureMapperGL::endPainting):
      (WebCore::TextureMapperGL::drawTexture):
      (WebCore::BitmapTextureGL::initStencil):
      (WebCore::BitmapTextureGL::bind):
      (WebCore::BitmapTextureGL::destroy):
      (WebCore::TextureMapperGL::bindSurface):
      (WebCore::TextureMapperGL::beginScissorClip):
      (WebCore::TextureMapperGL::beginClip):
      (WebCore::TextureMapperGL::endClip):
      * platform/graphics/texmap/TextureMapperLayer.cpp:
      (WebCore::TextureMapperLayer::paintSelfAndChildren):
      * platform/graphics/texmap/TextureMapperShaderManager.cpp:
      * platform/graphics/texmap/TextureMapperShaderManager.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108696 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9817ea25
    • commit-queue@webkit.org's avatar
      Add Chromium gpu_tests to the flakiness dashboard · 9628c069
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=79300
      
      Patch by Dave Tu <dtu@chromium.org> on 2012-02-23
      Reviewed by Ojan Vafai.
      
      * Tools/TestResultServer/static-dashboards/builders.js:
      * Tools/TestResultServer/static-dashboards/dashboard_base.js:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108695 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9628c069
    • commit-queue@webkit.org's avatar
      [GTK] Wrong signal name on emission in WebKitWindowProperties.cpp · d9ef3334
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=79352
      
      Patch by Mario Sanchez Prada <msanchez@igalia.com> on 2012-02-23
      Reviewed by Philippe Normand.
      
      Emit the signal 'resizable' instead of 'resizable-visible'.
      
      * UIProcess/API/gtk/WebKitWindowProperties.cpp:
      (webkitWindowPropertiesSetResizable): Use right signal name.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108694 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d9ef3334
    • eric@webkit.org's avatar
      Use self._filesystem in more places in the SCM classes · 8f382f0d
      eric@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=79415
      
      Reviewed by Adam Barth.
      
      * Scripts/webkitpy/common/checkout/scm/detection_unittest.py:
      (SCMDetectorTest.test_detect_scm_system):
      * Scripts/webkitpy/common/checkout/scm/git.py:
      (Git.find_checkout_root):
      (Git.to_object_name):
      * Scripts/webkitpy/common/checkout/scm/scm.py:
      (SCM.__init__):
      (SCM.in_working_directory):
      * Scripts/webkitpy/common/checkout/scm/svn.py:
      (SVN.find_uuid):
      (SVN.find_checkout_root):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108693 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8f382f0d
    • enne@google.com's avatar
      Unreviewed, rolling out r108685. · 5c7cd8f0
      enne@google.com authored
      http://trac.webkit.org/changeset/108685
      https://bugs.webkit.org/show_bug.cgi?id=79414
      
      Broke Chromium builds (Requested by enne on #webkit).
      
      Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-02-23
      
      Source/WebCore:
      
      * Target.pri:
      * WebCore.pri:
      * platform/MIMETypeRegistry.cpp:
      (WebCore::initializeSupportedImageMIMETypes):
      (WebCore::initializeSupportedImageMIMETypesForEncoding):
      * platform/image-decoders/ImageDecoder.h:
      (WebCore::ImageFrame::getAddr):
      (ImageFrame):
      * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
      * platform/image-decoders/png/PNGImageDecoder.cpp:
      (WebCore):
      * platform/image-decoders/qt/ImageFrameQt.cpp:
      
      Tools:
      
      * qmake/mkspecs/features/features.prf:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108692 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5c7cd8f0
    • abarth@webkit.org's avatar
      style-queue shouldn't spam bugs if it fails to update its working copy · 6ffd4b65
      abarth@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=79412
      
      Reviewed by Eric Seidel.
      
      This patch moves style-queue over to the new PatchAnalysisTask
      infrastructure, which is smarter about retrying patches when update
      fails.
      
      * Scripts/webkitpy/common/system/executive_mock.py:
      (MockExecutive.run_and_throw_if_fail):
      * Scripts/webkitpy/tool/bot/earlywarningsystemtask.py:
      * Scripts/webkitpy/tool/bot/patchanalysistask.py:
      (UnableToApplyPatch):
      (UnableToApplyPatch.__init__):
      (PatchAnalysisTask.__init__):
      * Scripts/webkitpy/tool/bot/stylequeuetask.py: Added.
      (StyleQueueTaskDelegate):
      (StyleQueueTaskDelegate.parent_command):
      (StyleQueueTask):
      (StyleQueueTask.validate):
      (StyleQueueTask._check_style):
      (StyleQueueTask._apply_watch_list):
      (StyleQueueTask.run):
      * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
      * Scripts/webkitpy/tool/commands/queues.py:
      (StyleQueue):
      (StyleQueue.should_proceed_with_work_item):
      (StyleQueue.review_patch):
      (StyleQueue.run_command):
      (StyleQueue.command_passed):
      (StyleQueue.command_failed):
      (StyleQueue.expected_failures):
      (StyleQueue.refetch_patch):
      * Scripts/webkitpy/tool/commands/queues_unittest.py:
      (StyleQueueTest.test_style_queue_with_style_exception):
      (test_style_queue_with_watch_list_exception):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108691 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6ffd4b65
    • commit-queue@webkit.org's avatar
      CSS2:text-decoration: <rt> element should not inherit text-decoration property · 0ab351be
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=71266
      
      Patch by Koji Ishii <kojiishi@gmail.com> on 2012-02-23
      Reviewed by Kentaro Hara.
      
      Source/WebCore:
      
      Tests: fast/ruby/text-decoration-in-descendants-ruby-expected.html
             fast/ruby/text-decoration-in-descendants-ruby.html
      
      The spec says "text decorations are not propagated to any out-of-flow descendants":
      http://www.w3.org/TR/2011/WD-css3-text-20110901/#decoration
      Floats etc. are fixed in bug 18611, but <rt> is not inline either and therefore
      it should be included; it was confirmed at a discussion at www-style.
      http://lists.w3.org/Archives/Public/www-style/2011Sep/0238.html
      
      * rendering/RenderObject.cpp:
      (WebCore::RenderObject::getTextDecorationColors):
      
      LayoutTests:
      
      The spec says "text decorations are not propagated to any out-of-flow descendants":
      http://www.w3.org/TR/2011/WD-css3-text-20110901/#decoration
      Floats etc. are fixed in bug 18611, but <rt> is not inline either and therefore
      it should be included; it was confirmed at a discussion at www-style.
      http://lists.w3.org/Archives/Public/www-style/2011Sep/0238.html
      
      * fast/ruby/text-decoration-in-descendants-ruby-expected.html: Added.
      * fast/ruby/text-decoration-in-descendants-ruby.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108690 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0ab351be
    • fpizlo@apple.com's avatar
      Make fast/js/script-tests/dfg-inline-function-dot-caller not timeout. · c9240880
      fpizlo@apple.com authored
      Rubber stamped by Oliver Hunt.
              
      Verified that the test still causes inlining to happen and still passes but
      otherwise reduced the loops to take an order of magnitude fewer iterations.
      
      * fast/js/script-tests/dfg-inline-function-dot-caller.js:
      (object.nonInlineable.nonInlineable.if):
      (object.nonInlineable):
      (makeInlinableCall):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108687 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c9240880
    • enne@google.com's avatar
      [chromium] Unreviewed gardening. Mark two fast/files/ tests as non-flaky. · d099e626
      enne@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=45667
      
      These two look like they're passing consistently, so remove
      expectations.
      
      * platform/chromium/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108686 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d099e626
    • zoltan@webkit.org's avatar
      [Qt] Allow to use WebCore imagedecoders · 3e7e2a34
      zoltan@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=32410
      
      Source/WebCore:
      
      Add ENABLE(QT_IMAGE_DECODER) guards around Qt imagedecoders and set it to default.
      By passing ENABLE_QT_IMAGE_DECODER=0 define to the build system WebKit will build
      with WebCore's imagedecoders.
      
      I added NO_RETURN attribute to 2 functions of PNG and JPEG decoders to avoid compiler warnings
      because in Qt-port we treat warning as errors (-Werror).
      
      I'm continuing the refactoring of this area and try to use Qt imagedecoders only in
      cases when WebCore doesn't support the image format.
      
      Reviewed by Simon Hausmann.
      
      No behavior change, no need new tests.
      
      * Target.pri:
      * WebCore.pri:
      * platform/MIMETypeRegistry.cpp:
      (WebCore::initializeSupportedImageMIMETypes):
      (WebCore::initializeSupportedImageMIMETypesForEncoding):
      * platform/image-decoders/ImageDecoder.h:
      (WebCore::ImageFrame::getAddr):
      (ImageFrame):
      * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
      NO_RETURN has been added to a function to avoid warning message.
      * platform/image-decoders/png/PNGImageDecoder.cpp:
      NO_RETURN has been added to a function to avoid warning message.
      (WebCore):
      * platform/image-decoders/qt/ImageFrameQt.cpp:
      (WebCore):
      (WebCore::ImageFrame::asNewNativeImage):
      
      Tools:
      
      Add ENABLE_QT_IMAGE_DECODER macro, it's enabled by default.
      
      Reviewed by Simon Hausmann.
      
      * qmake/mkspecs/features/features.prf:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108685 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3e7e2a34
    • eric@webkit.org's avatar
      Remove old broken find_checkout_root tests now that find_checkout_root is gone · 1e39bcfe
      eric@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=79405
      
      Reviewed by Adam Barth.
      
      * Scripts/webkitpy/common/checkout/scm/detection_unittest.py: Added.
      (SCMDetectorTest):
      (SCMDetectorTest.test_find_checkout_root):
      * Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
      (SVNTestRepository.tear_down):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108684 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1e39bcfe
    • enne@google.com's avatar
      [chromium] Unreviewed gardening. Mark a media-fragments test as slow. · 4fa3a2c6
      enne@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=77523
      
      This has been periodically timing out on Win, so give it more time.
      
      * platform/chromium/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108683 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4fa3a2c6
    • commit-queue@webkit.org's avatar
      [Qt][WK2] Implement proxy authentication dialog. · d4f332ff
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=79350
      
      Patch by Michael Brüning <michael.bruning@nokia.com> on 2012-02-23
      Reviewed by Simon Hausmann.
      
      * MiniBrowser/qt/MiniBrowser.qrc:
      * MiniBrowser/qt/qml/BrowserWindow.qml:
      * MiniBrowser/qt/qml/ProxyAuthenticationDialog.qml: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108682 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d4f332ff
    • oliver@apple.com's avatar
      Make Interpreter::getStackTrace be able to generate the line number for the... · 22e4a74f
      oliver@apple.com authored
      Make Interpreter::getStackTrace be able to generate the line number for the top callframe if none is provided
      https://bugs.webkit.org/show_bug.cgi?id=79407
      
      Reviewed by Gavin Barraclough.
      
      Outside of exception handling, we don't know what our source line number is.  This
      change allows us to pass -1 is as the initial line number, and get the correct line
      number in the resultant stack trace.  We can't completely elide the initial line
      number (yet) due to some idiosyncrasies of the exception handling machinery.
      
      * interpreter/Interpreter.cpp:
      (JSC::getLineNumberForCallFrame):
      (JSC):
      (JSC::Interpreter::getStackTrace):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108681 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      22e4a74f
    • senorblanco@chromium.org's avatar
      [chromium] New baselines for CSS3 filters drop-shadow() tests. · 870fa116
      senorblanco@chromium.org authored
      Unreviewed gardening.
      
      * platform/chromium-linux/css3/filters/effect-drop-shadow-hw-expected.png: Added.
      * platform/chromium-mac-snowleopard/css3/filters/effect-drop-shadow-hw-expected.png:
      * platform/chromium-win/css3/filters/effect-drop-shadow-hw-expected.png:
      * platform/chromium/test_expectations.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108680 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      870fa116
    • enne@google.com's avatar
      Unreviewed, rolling out r108666. · 38526c8c
      enne@google.com authored
      http://trac.webkit.org/changeset/108666
      https://bugs.webkit.org/show_bug.cgi?id=79321
      
      Breaks webplugin tests: http://goo.gl/CoHIi
      
      * src/GraphicsContext3DChromium.cpp:
      (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
      (WebCore):
      (WebCore::GraphicsContext3DPrivate::create):
      (WebCore::GraphicsContext3DPrivate::createGraphicsContextFromWebContext):
      (WebCore::GraphicsContext3DPrivate::createGraphicsContextForAnotherThread):
      (WebCore::GraphicsContext3DPrivate::platformTexture):
      (WebCore::GraphicsContext3D::create):
      * src/GraphicsContext3DPrivate.h:
      (WebKit):
      (GraphicsContext3DPrivate):
      * src/WebLayerTreeViewImpl.cpp:
      (WebKit::WebLayerTreeViewImpl::createLayerTreeHostContext3D):
      * src/WebViewImpl.cpp:
      (std::getCompositorContextAttributes):
      (WebKit::WebViewImpl::createLayerTreeHostContext3D):
      (WebKit::WebViewImpl::graphicsContext3D):
      * tests/CCLayerTreeHostImplTest.cpp:
      (CCLayerTreeHostImplTest):
      (WebKit::TEST_F):
      * tests/CCLayerTreeHostTest.cpp:
      (WTF::MockLayerTreeHostClient::createLayerTreeHostContext3D):
      * tests/Canvas2DLayerChromiumTest.cpp:
      (WebCore::Canvas2DLayerChromiumTest::fullLifecycleTest):
      * tests/CompositorFakeGraphicsContext3D.h:
      (WebCore::createCompositorMockGraphicsContext3D):
      * tests/FakeGraphicsContext3DTest.cpp:
      (TEST):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108679 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      38526c8c
    • commit-queue@webkit.org's avatar
      [chromium] Push CCLayerIteratorPosition struct into CCLayerIterator class. · d0be3b12
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=75864
      
      Patch by Dana Jansens <danakj@chromium.org> on 2012-02-23
      Reviewed by James Robinson.
      
      * platform/graphics/chromium/cc/CCLayerIterator.cpp:
      (WebCore::CCLayerIteratorActions::BackToFront::begin):
      (WebCore::CCLayerIteratorActions::BackToFront::end):
      (WebCore::CCLayerIteratorActions::BackToFront::next):
      (WebCore::CCLayerIteratorActions::FrontToBack::begin):
      (WebCore::CCLayerIteratorActions::FrontToBack::end):
      (WebCore::CCLayerIteratorActions::FrontToBack::next):
      (WebCore::CCLayerIteratorActions::FrontToBack::goToHighestInSubtree):
      * platform/graphics/chromium/cc/CCLayerIterator.h:
      (WebCore::CCLayerIterator::CCLayerIterator):
      (WebCore::CCLayerIterator::operator++):
      (WebCore::CCLayerIterator::operator==):
      (WebCore::CCLayerIterator::operator->):
      (WebCore::CCLayerIterator::operator*):
      (WebCore::CCLayerIterator::representsTargetRenderSurface):
      (WebCore::CCLayerIterator::representsContributingRenderSurface):
      (WebCore::CCLayerIterator::currentLayer):
      (WebCore::CCLayerIterator::currentLayerRepresentsContributingRenderSurface):
      (WebCore::CCLayerIterator::currentLayerRepresentsTargetRenderSurface):
      (WebCore::CCLayerIterator::targetRenderSurfaceLayer):
      (WebCore::CCLayerIterator::targetRenderSurface):
      (WebCore::CCLayerIterator::targetRenderSurfaceChildren):
      * platform/graphics/chromium/cc/CCLayerIteratorPosition.h: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108678 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d0be3b12
    • fpizlo@apple.com's avatar
      DFG OSR exit value profiling should have graceful handling of local variables and arguments · 31659dee
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=79310
      
      Reviewed by Gavin Barraclough.
              
      Previously, if we OSR exited because a prediction in a local was wrong, we'd
      only realize what the true type of the local was if the regular value profiling
      kicked in and told us. Unless the local was block-locally copy propagated, in
      which case we'd know from an OSR exit profile.
              
      This patch adds OSR exit profiling to all locals and arguments. Now, if we OSR
      exit because of a mispredicted local or argument type, we'll know what the type of
      the local or argument should be immediately upon exiting.
              
      The way that local variable OSR exit profiling works is that we now have a lazily
      added set of OSR-exit-only value profiles for exit sites that are BadType and that
      cited a GetLocal as their value source. The value profiles are only added if the
      OSR exit is taken, and are keyed by CodeBlock, bytecode index of the GetLocal, and
      operand. The look-up is performed by querying the
      CompressedLazyOperandValueProfileHolder in the CodeBlock, using a key that contains
      the bytecode index and the operand. Because the value profiles are added at random
      times, they are not sorted; instead they are just stored in an arbitrarily-ordered
      SegmentedVector. Look-ups are made fast by "decompressing": the DFG::ByteCodeParser
      creates a LazyOperandValueProfileParser, which turns the
      CompressedLazyOperandValueProfileHolder's contents into a HashMap for the duration
      of DFG parsing.
              
      Previously, OSR exits had a pointer to the ValueProfile that had the specFailBucket
      into which values observed during OSR exit would be placed. Now it uses a lazy
      thunk for a ValueProfile. I call this the MethodOfGettingAValueProfile. It may
      either contain a ValueProfile inside it (which works for previous uses of OSR exit
      profiling) or it may just have knowledge of how to go about creating the
      LazyOperandValueProfile in the case that the OSR exit is actually taken. This
      ensures that we never have to create NumOperands*NumBytecodeIndices*NumCodeBlocks
      value profiling buckets unless we actually did OSR exit on every single operand,
      in every single instruction, in each code block (that's probably unlikely).
              
      This appears to be neutral on the major benchmarks, but is a double-digit speed-up
      on code deliberately written to have data flow that spans basic blocks and where
      the code exhibits post-optimization polymorphism in a local variable.
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * Target.pri:
      * bytecode/CodeBlock.cpp:
      (JSC::CodeBlock::stronglyVisitStrongReferences):
      * bytecode/CodeBlock.h:
      (CodeBlock):
      (JSC::CodeBlock::lazyOperandValueProfiles):
      * bytecode/LazyOperandValueProfile.cpp: Added.
      (JSC):
      (JSC::CompressedLazyOperandValueProfileHolder::CompressedLazyOperandValueProfileHolder):
      (JSC::CompressedLazyOperandValueProfileHolder::~CompressedLazyOperandValueProfileHolder):
      (JSC::CompressedLazyOperandValueProfileHolder::computeUpdatedPredictions):
      (JSC::CompressedLazyOperandValueProfileHolder::add):
      (JSC::LazyOperandValueProfileParser::LazyOperandValueProfileParser):
      (JSC::LazyOperandValueProfileParser::~LazyOperandValueProfileParser):
      (JSC::LazyOperandValueProfileParser::getIfPresent):
      (JSC::LazyOperandValueProfileParser::prediction):
      * bytecode/LazyOperandValueProfile.h: Added.
      (JSC):
      (LazyOperandValueProfileKey):
      (JSC::LazyOperandValueProfileKey::LazyOperandValueProfileKey):
      (JSC::LazyOperandValueProfileKey::operator!):
      (JSC::LazyOperandValueProfileKey::operator==):
      (JSC::LazyOperandValueProfileKey::hash):
      (JSC::LazyOperandValueProfileKey::bytecodeOffset):
      (JSC::LazyOperandValueProfileKey::operand):
      (JSC::LazyOperandValueProfileKey::isHashTableDeletedValue):
      (JSC::LazyOperandValueProfileKeyHash::hash):
      (JSC::LazyOperandValueProfileKeyHash::equal):
      (LazyOperandValueProfileKeyHash):
      (WTF):
      (JSC::LazyOperandValueProfile::LazyOperandValueProfile):
      (LazyOperandValueProfile):
      (JSC::LazyOperandValueProfile::key):
      (CompressedLazyOperandValueProfileHolder):
      (LazyOperandValueProfileParser):
      * bytecode/MethodOfGettingAValueProfile.cpp: Added.
      (JSC):
      (JSC::MethodOfGettingAValueProfile::fromLazyOperand):
      (JSC::MethodOfGettingAValueProfile::getSpecFailBucket):
      * bytecode/MethodOfGettingAValueProfile.h: Added.
      (JSC):
      (MethodOfGettingAValueProfile):
      (JSC::MethodOfGettingAValueProfile::MethodOfGettingAValueProfile):
      (JSC::MethodOfGettingAValueProfile::operator!):
      * bytecode/ValueProfile.cpp: Removed.
      * bytecode/ValueProfile.h:
      (JSC):
      (ValueProfileBase):
      (JSC::ValueProfileBase::ValueProfileBase):
      (JSC::ValueProfileBase::dump):
      (JSC::ValueProfileBase::computeUpdatedPrediction):
      (JSC::MinimalValueProfile::MinimalValueProfile):
      (ValueProfileWithLogNumberOfBuckets):
      (JSC::ValueProfileWithLogNumberOfBuckets::ValueProfileWithLogNumberOfBuckets):
      (JSC::ValueProfile::ValueProfile):
      (JSC::getValueProfileBytecodeOffset):
      (JSC::getRareCaseProfileBytecodeOffset):
      * dfg/DFGByteCodeParser.cpp:
      (ByteCodeParser):
      (JSC::DFG::ByteCodeParser::injectLazyOperandPrediction):
      (JSC::DFG::ByteCodeParser::getLocal):
      (JSC::DFG::ByteCodeParser::getArgument):
      (InlineStackEntry):
      (JSC::DFG::ByteCodeParser::fixVariableAccessPredictions):
      (DFG):
      (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
      (JSC::DFG::ByteCodeParser::parse):
      * dfg/DFGDriver.cpp:
      (JSC::DFG::compile):
      * dfg/DFGGraph.h:
      (JSC::DFG::Graph::valueProfileFor):
      (JSC::DFG::Graph::methodOfGettingAValueProfileFor):
      (Graph):
      * dfg/DFGNode.h:
      (Node):
      * dfg/DFGOSRExit.cpp:
      (JSC::DFG::OSRExit::OSRExit):
      * dfg/DFGOSRExit.h:
      (OSRExit):
      * dfg/DFGOSRExitCompiler32_64.cpp:
      (JSC::DFG::OSRExitCompiler::compileExit):
      * dfg/DFGOSRExitCompiler64.cpp:
      (JSC::DFG::OSRExitCompiler::compileExit):
      * dfg/DFGPhase.cpp:
      (JSC::DFG::Phase::beginPhase):
      (JSC::DFG::Phase::endPhase):
      * dfg/DFGSpeculativeJIT.cpp:
      (JSC::DFG::SpeculativeJIT::checkArgumentTypes):
      * dfg/DFGSpeculativeJIT.h:
      (JSC::DFG::SpeculativeJIT::speculationCheck):
      * dfg/DFGVariableAccessData.h:
      (JSC::DFG::VariableAccessData::nonUnifiedPrediction):
      (VariableAccessData):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108677 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      31659dee
    • andersca@apple.com's avatar
      Flush layer changes after layout when resizing web page · 34f411ca
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=79399
      <rdar://problem/10920157>
      
      Reviewed by Andreas Kling.
      
      Flush layer changes after layout, otherwise the scrollbars won't be updated
      until sometime later which looks bad.
      
      * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
      (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108676 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      34f411ca
    • commit-queue@webkit.org's avatar
      [Chromium] Add video stream texture support · 11e3d07d
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=78398
      
      This upstreams the abstraction used on Android for
      hardware video decoding with the compositor.
      
      Most of the interfaces are kept generic and the core
      of this change is to allow texturing from an external
      texture while receiving notifications (on the compositor
      thread if we are running it) when there are new frames to
      be displayed.
      
      Patch by Daniel Sievers <sievers@chromium.org> on 2012-02-23
      Reviewed by James Robinson.
      
      Source/WebCore:
      
      * platform/graphics/chromium/Extensions3DChromium.h:
      * platform/graphics/chromium/LayerRendererChromium.cpp:
      (WebCore::LayerRendererChromium::drawSingleTextureVideoQuad):
      (WebCore::LayerRendererChromium::drawRGBA):
      (WebCore::LayerRendererChromium::drawNativeTexture):
      (WebCore):
      (WebCore::LayerRendererChromium::drawStreamTexture):
      (WebCore::LayerRendererChromium::drawVideoQuad):
      (WebCore::LayerRendererChromium::streamTextureLayerProgram):
      (WebCore::LayerRendererChromium::cleanupSharedObjects):
      * platform/graphics/chromium/LayerRendererChromium.h:
      (LayerRendererChromium):
      * platform/graphics/chromium/ShaderChromium.cpp:
      (WebCore::VertexShaderVideoTransform::VertexShaderVideoTransform):
      (WebCore):
      (WebCore::VertexShaderVideoTransform::init):
      (WebCore::VertexShaderVideoTransform::getShaderString):
      (WebCore::FragmentShaderOESImageExternal::init):
      (WebCore::FragmentShaderOESImageExternal::getShaderString):
      * platform/graphics/chromium/ShaderChromium.h:
      (VertexShaderVideoTransform):
      (WebCore::VertexShaderVideoTransform::matrixLocation):
      (WebCore::VertexShaderVideoTransform::texTransformLocation):
      (WebCore::VertexShaderVideoTransform::texMatrixLocation):
      (WebCore):
      (FragmentShaderOESImageExternal):
      * platform/graphics/chromium/VideoFrameChromium.h:
      * platform/graphics/chromium/VideoFrameProvider.h:
      (Client):
      (VideoFrameProvider):
      * platform/graphics/chromium/cc/CCVideoDrawQuad.cpp:
      (WebCore::CCVideoDrawQuad::CCVideoDrawQuad):
      * platform/graphics/chromium/cc/CCVideoDrawQuad.h:
      (WebCore::CCVideoDrawQuad::matrix):
      (CCVideoDrawQuad):
      (WebCore::CCVideoDrawQuad::setMatrix):
      * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
      (WebCore):
      (WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
      (WebCore::convertVFCFormatToGC3DFormat):
      (WebCore::CCVideoLayerImpl::appendQuads):
      (WebCore::CCVideoLayerImpl::didReceiveFrame):
      (WebCore::CCVideoLayerImpl::didUpdateMatrix):
      (WebCore::CCVideoLayerImpl::setNeedsRedraw):
      * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
      (WebCore):
      (CCVideoLayerImpl):
      
      Source/WebKit/chromium:
      
      * WebKit.gyp:
      * public/WebMediaPlayer.h:
      (WebKit):
      (WebKit::WebMediaPlayer::setStreamTextureClient):
      (WebMediaPlayer):
      * public/WebStreamTextureClient.h: Copied from Source/WebKit/chromium/public/WebVideoFrame.h.
      (WebKit):
      (WebStreamTextureClient):
      (WebKit::WebStreamTextureClient::~WebStreamTextureClient):
      * public/WebVideoFrame.h:
      * src/WebMediaPlayerClientImpl.cpp:
      (WebKit::WebMediaPlayerClientImpl::~WebMediaPlayerClientImpl):
      (WebKit::WebMediaPlayerClientImpl::setVideoFrameProviderClient):
      (WebKit::WebMediaPlayerClientImpl::didReceiveFrame):
      (WebKit):
      (WebKit::WebMediaPlayerClientImpl::didUpdateMatrix):
      * src/WebMediaPlayerClientImpl.h:
      (WebMediaPlayerClientImpl):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108675 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      11e3d07d
    • senorblanco@chromium.org's avatar
      Source/WebCore: [chromium] Implement drop-shadow() CSS filter on composited layers. · 4fcbbde6
      senorblanco@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=79386
      
      Reviewed by James Robinson.
      
      Covered by css3/filters/effect-drop-shadow-hw.html
      
      * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
      (WebCore::CCRenderSurfaceFilters::apply):
      * platform/graphics/filters/FilterOperation.h:
      (WebCore::DropShadowFilterOperation::movesPixels):
      
      LayoutTests: [chromium] Mark drop-shadow() tests as failing, pending a rebaseline.
      https://bugs.webkit.org/show_bug.cgi?id=79386
      
      Reviewed by James Robinson.
      
      * platform/chromium/test_expectations.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108674 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4fcbbde6
    • fpizlo@apple.com's avatar
      Build fix. · 5e95987d
      fpizlo@apple.com authored
      * llint/LLIntOffsetsExtractor.cpp:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108672 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5e95987d