[chromium] A general mechanism for passing data into and out of appendQuads and quadCuller via CCAppendQuadsData
https://bugs.webkit.org/show_bug.cgi?id=95109

Reviewed by Adrienne Walker.

Source/WebCore:

The appendQuads() method has a number of out-parameters that are needed
by different steps in the append process:
- hadMissingTiles is needed by the layers to report checkerboards.
- hadOcclusionFromOutsideTargetSurface is needed by CCQuadCuller to
report occlusion.

Currently one is plumbed through function arguments, and one is
plumbed as a member variable on the CCQuadCuller instance.

We will also need an in-parameter for the DelegatedRendererLayer for
ubercomp. Instead of continuously adding more plumbing for these
parameters, we create a general machanism to get data to and from the
right places.

Covered by existing tests; no change in behaviour. Specifically,
CCLayerTreeHostImpl tests for missing/checkerboard tiles and
surface-external occlusion.

* platform/graphics/chromium/cc/CCAppendQuadsData.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCSolidColorLayerImpl.h.
(WebCore):
(WebCore::CCAppendQuadsData::CCAppendQuadsData):
(CCAppendQuadsData):
* platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp:
(WebCore::CCHeadsUpDisplayLayerImpl::appendQuads):
* platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.h:
(CCHeadsUpDisplayLayerImpl):
* platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp:
(WebCore::CCIOSurfaceLayerImpl::appendQuads):
* platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.h:
(CCIOSurfaceLayerImpl):
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::appendDebugBorderQuad):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(WebCore):
(WebCore::CCLayerImpl::appendQuads):
(CCLayerImpl):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
* platform/graphics/chromium/cc/CCQuadCuller.cpp:
(WebCore::CCQuadCuller::CCQuadCuller):
(WebCore::CCQuadCuller::append):
* platform/graphics/chromium/cc/CCQuadCuller.h:
(WebCore):
(CCQuadCuller):
* platform/graphics/chromium/cc/CCQuadSink.h:
(WebCore):
(CCQuadSink):
* platform/graphics/chromium/cc/CCRenderPass.cpp:
(WebCore::CCRenderPass::appendQuadsForLayer):
(WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):
* platform/graphics/chromium/cc/CCRenderPass.h:
(WebCore):
(CCRenderPass):
* platform/graphics/chromium/cc/CCRenderSurface.cpp:
(WebCore::CCRenderSurface::appendQuads):
* platform/graphics/chromium/cc/CCRenderSurface.h:
(WebCore):
(CCRenderSurface):
* platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
(WebCore::CCScrollbarLayerImpl::appendQuads):
* platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
(CCScrollbarLayerImpl):
* platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
(WebCore::CCSolidColorLayerImpl::appendQuads):
* platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
(CCSolidColorLayerImpl):
* platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
(WebCore::CCTextureLayerImpl::appendQuads):
* platform/graphics/chromium/cc/CCTextureLayerImpl.h:
(CCTextureLayerImpl):
* platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
(WebCore::CCTiledLayerImpl::appendQuads):
* platform/graphics/chromium/cc/CCTiledLayerImpl.h:
(CCTiledLayerImpl):
* platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
(WebCore::CCVideoLayerImpl::appendQuads):
* platform/graphics/chromium/cc/CCVideoLayerImpl.h:
(CCVideoLayerImpl):

Source/WebKit/chromium:

Update tests to use the new data structure.

* tests/CCLayerTreeHostImplTest.cpp:
* tests/CCLayerTreeHostTest.cpp:
* tests/CCQuadCullerTest.cpp:
* tests/CCRenderSurfaceTest.cpp:
* tests/CCSolidColorLayerImplTest.cpp:
(CCLayerTestCommon::TEST):
* tests/CCTiledLayerImplTest.cpp:
(CCLayerTestCommon::TEST):
(CCLayerTestCommon::getQuads):
* tests/MockCCQuadCuller.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126819 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] Inline V8DOMWindowShell::clearDocumentWrapper
https://bugs.webkit.org/show_bug.cgi?id=95133

Reviewed by Eric Seidel.

Now that we use ScopedPersistent for m_document, clearDocumentWrapper
is just one line. It's clearer to just inline it into its callers.

* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::clearForClose):
(WebCore::V8DOMWindowShell::clearForNavigation):
(WebCore::V8DOMWindowShell::updateDocumentWrapper):
    - Notice that ScopedPersistent::set already calls clear, so there's
      no reason to call clear redundantly.
* bindings/v8/V8DOMWindowShell.h:
(V8DOMWindowShell):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126820 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Gardening: skipping tests due to WebCore::JSEventListener::jsFunction(WebCore::ScriptExecutionContext*) crashes.
https://bugs.webkit.org/show_bug.cgi?id=95144.

Patch by Mark Lam <mark.lam@apple.com> on 2012-08-27
Reviewed by Stephanie Lewis.

fast/events/keyevent-iframe-removed-crash.html
fullscreen/full-screen-iframe-zIndex.html
fullscreen/full-screen-restrictions.html
http/tests/security/MessagePort/event-listener-context.html
platform/mac/accessibility/search-with-frames.html
svg/custom/use-instanceRoot-as-event-target.xhtml

* platform/mac/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126821 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rename ContentDistributor::distributeShadowChildrenTo to distributeNodeChildrenTo.
https://bugs.webkit.org/show_bug.cgi?id=95150

Reviewed by Hajime Morita.

Also, made the function take ContainerNode, which decouples it from the callsite's context.

No new tests, simple rename.

* html/shadow/ContentDistributor.cpp:
(WebCore::ContentDistributor::distribute): Changed the callsite.
(WebCore::ContentDistributor::distributeNodeChildrenTo): Renamed from distributeShadowChildrenTo.
* html/shadow/ContentDistributor.h:
(WebCore): Added forward decl for ContainerNode.
(ContentDistributor): Changed the decl name.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126824 268f45cc-cd09-0410-ab3c-d52691b4dbfc