-
simon.fraser@apple.com authored
Reviewed by Sam Weinig. GraphicsLayers in subframes can get sync'd multiple times https://bugs.webkit.org/show_bug.cgi?id=52489 Some cleanup that will work towards fixing this bug. Tested by existing iframe compositing tests. * WebCore.exp.in: syncCompositingStateRecursive() was renamed to syncCompositingStateIncludingSubframes(). * page/FrameView.h: * page/FrameView.cpp: (WebCore::FrameView::syncCompositingStateForThisFrame): Some code cleanup: do all the word we need to do for this frame, including the needsLayout() check. (WebCore::FrameView::syncCompositingStateIncludingSubframes): This is no longer recursive; instead, it iterates over descendant frames via the frame tree, calling syncCompositingStateForThisFrame() on each Frame's view. * rendering/RenderLayerCompositor.h: (WebCore::RenderLayerCompositor::isFlushingLayers): Getter for the flag. * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::RenderLayerCompositor): (WebCore::RenderLayerCompositor::flushPendingLayerChanges): Maintain a flag to say if we're flushing, which allows us to assert on re-entrant flushes. (WebCore::RenderLayerCompositor::enclosingCompositorFlushingLayers): Add the ability to get the rootmost compositor that is in the middle of a flush. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76196 268f45cc-cd09-0410-ab3c-d52691b4dbfc
c961f41a