Changeset 142143 in webkit
- Timestamp:
- Feb 7, 2013 9:51:49 AM (11 years ago)
- Location:
- trunk
- Files:
-
- 3 added
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ChangeLog
r142141 r142143 1 2013-02-07 Gavin Peters <gavinp@chromium.org> 2 3 Unreviewed, rolling out r142141. 4 http://trac.webkit.org/changeset/142141 5 https://bugs.webkit.org/show_bug.cgi?id=108990 6 7 Reland r142112, will update Chromium expectations and create a 8 Chromium bug instead for the crash. 9 10 * ManualTests/remove-fixed-position-but-keep-compositing.html: Added. 11 1 12 2013-02-07 Gavin Peters <gavinp@chromium.org> 2 13 -
trunk/Source/WebCore/CMakeLists.txt
r142141 r142143 45 45 "${WEBCORE_DIR}/page/animation" 46 46 "${WEBCORE_DIR}/page/scrolling" 47 "${WEBCORE_DIR}/page/scrolling/coordinatedgraphics" 47 48 "${WEBCORE_DIR}/platform" 48 49 "${WEBCORE_DIR}/platform/animation" … … 1821 1822 page/scrolling/ScrollingConstraints.cpp 1822 1823 page/scrolling/ScrollingCoordinator.cpp 1824 page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp 1823 1825 1824 1826 platform/Arena.cpp -
trunk/Source/WebCore/ChangeLog
r142142 r142143 1 2013-02-07 Gavin Peters <gavinp@chromium.org> 2 3 Unreviewed, rolling out r142141. 4 http://trac.webkit.org/changeset/142141 5 https://bugs.webkit.org/show_bug.cgi?id=108990 6 7 Reland r142112, will update Chromium expectations and create a 8 Chromium bug instead for the crash. 9 10 * CMakeLists.txt: 11 * Target.pri: 12 * WebCore.pri: 13 * page/scrolling/ScrollingCoordinator.cpp: 14 (WebCore::ScrollingCoordinator::create): 15 * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp: Added. 16 (WebCore): 17 (WebCore::ScrollingCoordinatorCoordinatedGraphics::ScrollingCoordinatorCoordinatedGraphics): 18 (WebCore::ScrollingCoordinatorCoordinatedGraphics::setLayerIsFixedToContainerLayer): 19 * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h: Added. 20 (WebCore): 21 (ScrollingCoordinatorCoordinatedGraphics): 22 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp: 23 (WebCore::CoordinatedGraphicsLayer::setFixedToViewport): 24 (WebCore): 25 (WebCore::CoordinatedGraphicsLayer::flushCompositingState): 26 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h: 27 (CoordinatedGraphicsLayerClient): 28 (CoordinatedGraphicsLayer): 29 1 30 2013-02-07 Andrey Lushnikov <lushnikov@chromium.org> 2 31 -
trunk/Source/WebCore/Target.pri
r142141 r142143 4067 4067 use?(3D_GRAPHICS) { 4068 4068 HEADERS += \ 4069 page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h \ 4069 4070 platform/graphics/cpu/arm/GraphicsContext3DNEON.h \ 4070 4071 platform/graphics/ANGLEWebKitBridge.h \ … … 4091 4092 4092 4093 SOURCES += \ 4094 page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp \ 4093 4095 platform/graphics/ANGLEWebKitBridge.cpp \ 4094 4096 platform/graphics/GraphicsContext3D.cpp \ -
trunk/Source/WebCore/WebCore.pri
r142141 r142143 51 51 $$SOURCE_DIR/page/qt \ 52 52 $$SOURCE_DIR/page/scrolling \ 53 $$SOURCE_DIR/page/scrolling/coordinatedgraphics \ 53 54 $$SOURCE_DIR/platform \ 54 55 $$SOURCE_DIR/platform/animation \ … … 64 65 $$SOURCE_DIR/platform/graphics/surfaces \ 65 66 $$SOURCE_DIR/platform/graphics/texmap \ 67 $$SOURCE_DIR/platform/graphics/texmap/coordinated \ 66 68 $$SOURCE_DIR/platform/graphics/transforms \ 67 69 $$SOURCE_DIR/platform/image-decoders \ -
trunk/Source/WebCore/page/scrolling/ScrollingCoordinator.cpp
r142141 r142143 53 53 #endif 54 54 55 #if USE(COORDINATED_GRAPHICS) 56 #include "ScrollingCoordinatorCoordinatedGraphics.h" 57 #endif 58 55 59 namespace WebCore { 56 60 … … 63 67 #if PLATFORM(CHROMIUM) 64 68 return adoptRef(new ScrollingCoordinatorChromium(page)); 69 #endif 70 71 #if USE(COORDINATED_GRAPHICS) 72 return adoptRef(new ScrollingCoordinatorCoordinatedGraphics(page)); 65 73 #endif 66 74 -
trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp
r142141 r142143 465 465 } 466 466 467 void CoordinatedGraphicsLayer::setFixedToViewport(bool isFixed) 468 { 469 if (m_fixedToViewport == isFixed) 470 return; 471 472 m_fixedToViewport = isFixed; 473 didChangeLayerState(); 474 } 475 467 476 void CoordinatedGraphicsLayer::flushCompositingState(const FloatRect& rect) 468 477 { … … 478 487 if (CoordinatedGraphicsLayer* replica = toCoordinatedGraphicsLayer(replicaLayer())) 479 488 replica->flushCompositingStateForThisLayerOnly(); 480 481 m_coordinator->syncFixedLayers();482 489 483 490 flushCompositingStateForThisLayerOnly(); -
trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h
r142141 r142143 73 73 74 74 virtual void detachLayer(CoordinatedGraphicsLayer*) = 0; 75 virtual void syncFixedLayers() = 0;76 75 virtual PassOwnPtr<GraphicsContext> beginContentUpdate(const IntSize&, CoordinatedSurface::Flags, uint32_t& atlasID, IntPoint&) = 0; 77 76 }; … … 138 137 CoordinatedLayerID id() const; 139 138 140 void setFixedToViewport(bool isFixed) { m_fixedToViewport = isFixed; }139 void setFixedToViewport(bool isFixed); 141 140 142 141 IntRect coverRect() const { return m_mainBackingStore ? m_mainBackingStore->mapToContents(m_mainBackingStore->coverRect()) : IntRect(); } -
trunk/Source/WebKit2/ChangeLog
r142141 r142143 1 2013-02-07 Gavin Peters <gavinp@chromium.org> 2 3 Unreviewed, rolling out r142141. 4 http://trac.webkit.org/changeset/142141 5 https://bugs.webkit.org/show_bug.cgi?id=108990 6 7 Reland r142112, will update Chromium expectations and create a 8 Chromium bug instead for the crash. 9 10 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: 11 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: 12 * WebProcess/WebPage/DrawingAreaImpl.cpp: 13 (WebKit::DrawingAreaImpl::DrawingAreaImpl): 14 1 15 2013-02-07 Gavin Peters <gavinp@chromium.org> 2 16 -
trunk/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp
r142141 r142143 470 470 } 471 471 472 static void updateOffsetFromViewportForSelf(RenderLayer* renderLayer)473 {474 // These conditions must match the conditions in RenderLayerCompositor::requiresCompositingForPosition.475 RenderLayerBacking* backing = renderLayer->backing();476 if (!backing)477 return;478 479 RenderStyle* style = renderLayer->renderer()->style();480 if (!style)481 return;482 483 if (!renderLayer->renderer()->isOutOfFlowPositioned() || renderLayer->renderer()->style()->position() != FixedPosition)484 return;485 486 if (!renderLayer->renderer()->container()->isRenderView())487 return;488 489 if (!renderLayer->isStackingContainer())490 return;491 492 CoordinatedGraphicsLayer* graphicsLayer = toCoordinatedGraphicsLayer(backing->graphicsLayer());493 graphicsLayer->setFixedToViewport(true);494 }495 496 static void updateOffsetFromViewportForLayer(RenderLayer* renderLayer)497 {498 updateOffsetFromViewportForSelf(renderLayer);499 500 if (renderLayer->firstChild())501 updateOffsetFromViewportForLayer(renderLayer->firstChild());502 if (renderLayer->nextSibling())503 updateOffsetFromViewportForLayer(renderLayer->nextSibling());504 }505 506 void CoordinatedLayerTreeHost::syncFixedLayers()507 {508 if (!m_webPage->corePage()->settings() || !m_webPage->corePage()->settings()->acceleratedCompositingForFixedPositionEnabled())509 return;510 511 if (!m_webPage->mainFrame()->view()->hasViewportConstrainedObjects())512 return;513 514 RenderLayer* rootRenderLayer = m_webPage->mainFrame()->contentRenderer()->compositor()->rootRenderLayer();515 ASSERT(rootRenderLayer);516 if (rootRenderLayer->firstChild())517 updateOffsetFromViewportForLayer(rootRenderLayer->firstChild());518 }519 520 472 void CoordinatedLayerTreeHost::lockAnimations() 521 473 { -
trunk/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h
r142141 r142143 106 106 virtual void setLayerRepaintCount(WebCore::CoordinatedLayerID, int) OVERRIDE; 107 107 virtual void detachLayer(WebCore::CoordinatedGraphicsLayer*); 108 virtual void syncFixedLayers();109 108 110 109 virtual PassOwnPtr<WebCore::GraphicsContext> beginContentUpdate(const WebCore::IntSize&, WebCore::CoordinatedSurface::Flags, uint32_t& atlasID, WebCore::IntPoint&); -
trunk/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp
r142141 r142143 74 74 #if USE(COORDINATED_GRAPHICS) 75 75 m_alwaysUseCompositing = true; 76 webPage->corePage()->settings()->setScrollingCoordinatorEnabled(true); 76 77 #endif 77 78
Note: See TracChangeset
for help on using the changeset viewer.