Changeset 168217 in webkit
- Timestamp:
- May 2, 2014 6:15:07 PM (10 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r168216 r168217 1 2014-05-02 Simon Fraser <simon.fraser@apple.com> 2 3 [iOS WK2] Tiled layer content missing on pages with animated tiled layers 4 https://bugs.webkit.org/show_bug.cgi?id=132507 5 <rdar://problem/16765740> 6 7 Reviewed by Tim Horton. 8 9 Updating the tiling area of content TileControllers while 10 CSS animations are running depends on GraphicsLayerUpdater 11 triggering repeated layer flushes. With UI-side compositing, those 12 flushes were happening, but nothing triggered RemoteLayerTreeDrawingArea 13 to flush changes to the UI process. 14 15 Fix by having RenderLayerCompositor schedule a flush, rather 16 than just doing a flush, in response to GraphicsLayerUpdater. 17 18 Also change the name of the GraphicsLayerUpdaterClient function 19 to indicate that it suggests that a flush is required soon, rather than 20 that the flushing has to be synchronous. 21 22 * platform/graphics/GraphicsLayerUpdater.cpp: 23 (WebCore::GraphicsLayerUpdater::displayRefreshFired): 24 * platform/graphics/GraphicsLayerUpdater.h: 25 * rendering/RenderLayerCompositor.cpp: 26 (WebCore::RenderLayerCompositor::flushLayersSoon): 27 (WebCore::RenderLayerCompositor::flushLayers): Deleted. 28 * rendering/RenderLayerCompositor.h: 29 1 30 2014-05-02 Jeremy Jones <jeremyj@apple.com> 2 31 -
trunk/Source/WebCore/platform/graphics/GraphicsLayerUpdater.cpp
r163079 r168217 76 76 77 77 if (m_client) 78 m_client->flushLayers (this);78 m_client->flushLayersSoon(this); 79 79 } 80 80 -
trunk/Source/WebCore/platform/graphics/GraphicsLayerUpdater.h
r163079 r168217 37 37 public: 38 38 virtual ~GraphicsLayerUpdaterClient() { } 39 virtual void flushLayers (GraphicsLayerUpdater*) = 0;39 virtual void flushLayersSoon(GraphicsLayerUpdater*) = 0; 40 40 }; 41 41 -
trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp
r168190 r168217 580 580 } 581 581 582 void RenderLayerCompositor::flushLayers (GraphicsLayerUpdater*)583 { 584 flushPendingLayerChanges(true); // FIXME: deal with iframes582 void RenderLayerCompositor::flushLayersSoon(GraphicsLayerUpdater*) 583 { 584 scheduleLayerFlush(true); 585 585 } 586 586 -
trunk/Source/WebCore/rendering/RenderLayerCompositor.h
r168119 r168217 312 312 virtual void notifyFlushRequired(const GraphicsLayer*) override; 313 313 virtual void paintContents(const GraphicsLayer*, GraphicsContext&, GraphicsLayerPaintingPhase, const FloatRect&) override; 314 314 virtual void customPositionForVisibleRectComputation(const GraphicsLayer*, FloatPoint&) const override; 315 315 virtual bool isTrackingRepaints() const override; 316 316 317 317 // GraphicsLayerUpdaterClient implementation 318 virtual void flushLayers(GraphicsLayerUpdater*) override; 319 virtual void customPositionForVisibleRectComputation(const GraphicsLayer*, FloatPoint&) const override; 320 318 virtual void flushLayersSoon(GraphicsLayerUpdater*) override; 319 321 320 // Whether the given RL needs a compositing layer. 322 321 bool needsToBeComposited(const RenderLayer&, RenderLayer::ViewportConstrainedNotCompositedReason* = 0) const;
Note: See TracChangeset
for help on using the changeset viewer.