Changeset 141330 in webkit
- Timestamp:
- Jan 30, 2013, 3:22:25 PM (12 years ago)
- Location:
- trunk
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r141329 r141330 1 2013-01-30 Simon Fraser <simon.fraser@apple.com> 2 3 Elements that dynamically become fixed sometimes jump to the top left on scrolling 4 https://bugs.webkit.org/show_bug.cgi?id=108389 5 6 Reviewed by Beth Dakin. 7 8 Update test results; these results now correctly reflect the last layout 9 positions. 10 11 * platform/mac/tiled-drawing/fixed/absolute-inside-fixed-expected.txt: 12 * platform/mac/tiled-drawing/fixed/absolute-inside-out-of-view-fixed-expected.txt: 13 * platform/mac/tiled-drawing/fixed/fixed-in-overflow-expected.txt: 14 * platform/mac/tiled-drawing/fixed/four-bars-expected.txt: 15 * platform/mac/tiled-drawing/fixed/nested-fixed-expected.txt: 16 * platform/mac/tiled-drawing/fixed/percentage-inside-fixed-expected.txt: 17 * platform/mac/tiled-drawing/sticky/sticky-horizontal-expected.txt: 18 * platform/mac/tiled-drawing/sticky/sticky-vertical-expected.txt: 19 1 20 2013-01-30 Jessie Berlin <jberlin@apple.com> 2 21 -
trunk/LayoutTests/platform/mac/tiled-drawing/fixed/absolute-inside-fixed-expected.txt
r133536 r141330 7 7 (anchor edges: AnchorEdgeLeft AnchorEdgeTop) 8 8 (viewport rect at last layout: 0.00 200.00 785.00 600.00) 9 (layer position at last layout 8.00 8.00)9 (layer position at last layout 8.00 208.00) 10 10 ) 11 11 ) -
trunk/LayoutTests/platform/mac/tiled-drawing/fixed/absolute-inside-out-of-view-fixed-expected.txt
r133807 r141330 7 7 (anchor edges: AnchorEdgeLeft AnchorEdgeTop) 8 8 (viewport rect at last layout: 0.00 200.00 785.00 600.00) 9 (layer position at last layout 0.00 200.00) 9 10 ) 10 11 ) -
trunk/LayoutTests/platform/mac/tiled-drawing/fixed/fixed-in-overflow-expected.txt
r133536 r141330 7 7 (anchor edges: AnchorEdgeLeft AnchorEdgeTop) 8 8 (viewport rect at last layout: 0.00 200.00 785.00 600.00) 9 (layer position at last layout 2.00 15.00)9 (layer position at last layout 2.00 215.00) 10 10 ) 11 11 ) -
trunk/LayoutTests/platform/mac/tiled-drawing/fixed/four-bars-expected.txt
r133536 r141330 7 7 (anchor edges: AnchorEdgeLeft AnchorEdgeTop) 8 8 (viewport rect at last layout: 0.00 200.00 785.00 600.00) 9 (layer position at last layout 0.00 200.00) 9 10 ) 10 11 (Fixed node 11 12 (anchor edges: AnchorEdgeLeft AnchorEdgeTop) 12 13 (viewport rect at last layout: 0.00 200.00 785.00 600.00) 13 (layer position at last layout 10.00 200.00)14 (layer position at last layout 10.00 400.00) 14 15 ) 15 16 (Fixed node 16 17 (anchor edges: AnchorEdgeRight AnchorEdgeTop) 17 18 (viewport rect at last layout: 0.00 200.00 785.00 600.00) 18 (layer position at last layout 601.00 200.00)19 (layer position at last layout 601.00 400.00) 19 20 ) 20 21 (Fixed node 21 22 (anchor edges: AnchorEdgeLeft AnchorEdgeBottom) 22 23 (viewport rect at last layout: 0.00 200.00 785.00 600.00) 23 (layer position at last layout 0.00 516.00)24 (layer position at last layout 0.00 716.00) 24 25 ) 25 26 ) -
trunk/LayoutTests/platform/mac/tiled-drawing/fixed/nested-fixed-expected.txt
r138758 r141330 7 7 (anchor edges: AnchorEdgeLeft AnchorEdgeTop) 8 8 (viewport rect at last layout: 0.00 200.00 785.00 600.00) 9 (children 0 10 ) 9 (layer position at last layout 0.00 200.00) 11 10 ) 12 11 ) -
trunk/LayoutTests/platform/mac/tiled-drawing/fixed/percentage-inside-fixed-expected.txt
r133536 r141330 7 7 (anchor edges: AnchorEdgeLeft AnchorEdgeTop) 8 8 (viewport rect at last layout: 0.00 200.00 785.00 600.00) 9 (layer position at last layout 0.00 13.00)9 (layer position at last layout 0.00 213.00) 10 10 ) 11 11 ) -
trunk/LayoutTests/platform/mac/tiled-drawing/sticky/sticky-horizontal-expected.txt
r138076 r141330 12 12 (sticky box rect 812.00 25.00 300.00 60.00) 13 13 (sticky offset at last layout 8.00 0.00) 14 (layer position at last layout 8 12.00 25.00)14 (layer position at last layout 820.00 25.00) 15 15 ) 16 16 (Sticky node … … 21 21 (sticky box rect 812.00 93.00 300.00 60.00) 22 22 (sticky offset at last layout 0.00 0.00) 23 (layer position at last layout 612.00 93.00)23 (layer position at last layout 812.00 93.00) 24 24 ) 25 25 (Sticky node … … 30 30 (sticky box rect 812.00 161.00 300.00 60.00) 31 31 (sticky offset at last layout 148.00 0.00) 32 (layer position at last layout 812.00 161.00)32 (layer position at last layout 960.00 161.00) 33 33 ) 34 34 (Sticky node … … 39 39 (sticky box rect 812.00 229.00 300.00 60.00) 40 40 (sticky offset at last layout 0.00 0.00) 41 (layer position at last layout 612.00 229.00)41 (layer position at last layout 812.00 229.00) 42 42 ) 43 43 (Sticky node … … 49 49 (sticky box rect 812.00 297.00 300.00 60.00) 50 50 (sticky offset at last layout 8.00 0.00) 51 (layer position at last layout 612.00 297.00)51 (layer position at last layout 820.00 297.00) 52 52 ) 53 53 (Sticky node … … 59 59 (sticky box rect 812.00 365.00 300.00 60.00) 60 60 (sticky offset at last layout 148.00 0.00) 61 (layer position at last layout 612.00 365.00)61 (layer position at last layout 960.00 365.00) 62 62 ) 63 63 ) -
trunk/LayoutTests/platform/mac/tiled-drawing/sticky/sticky-vertical-expected.txt
r138076 r141330 16 16 (sticky box rect 73.00 558.00 80.00 300.00) 17 17 (sticky offset at last layout 0.00 42.00) 18 (layer position at last layout 73.00 558.00)18 (layer position at last layout 73.00 600.00) 19 19 ) 20 20 (Sticky node … … 25 25 (sticky box rect 163.00 558.00 80.00 300.00) 26 26 (sticky offset at last layout 0.00 0.00) 27 (layer position at last layout 163.00 406.00)27 (layer position at last layout 163.00 558.00) 28 28 ) 29 29 (Sticky node … … 34 34 (sticky box rect 253.00 558.00 80.00 300.00) 35 35 (sticky offset at last layout 0.00 142.00) 36 (layer position at last layout 253.00 558.00)36 (layer position at last layout 253.00 700.00) 37 37 ) 38 38 (Sticky node … … 43 43 (sticky box rect 343.00 558.00 80.00 300.00) 44 44 (sticky offset at last layout 0.00 0.00) 45 (layer position at last layout 343.00 406.00)45 (layer position at last layout 343.00 558.00) 46 46 ) 47 47 (Sticky node … … 53 53 (sticky box rect 433.00 558.00 80.00 300.00) 54 54 (sticky offset at last layout 0.00 42.00) 55 (layer position at last layout 433.00 406.00)55 (layer position at last layout 433.00 600.00) 56 56 ) 57 57 (Sticky node … … 63 63 (sticky box rect 523.00 558.00 80.00 300.00) 64 64 (sticky offset at last layout 0.00 142.00) 65 (layer position at last layout 523.00 406.00)65 (layer position at last layout 523.00 700.00) 66 66 ) 67 67 ) -
trunk/Source/WebCore/ChangeLog
r141328 r141330 1 2013-01-30 Simon Fraser <simon.fraser@apple.com> 2 3 Elements that dynamically become fixed sometimes jump to the top left on scrolling 4 https://bugs.webkit.org/show_bug.cgi?id=108389 5 6 Reviewed by Beth Dakin. 7 8 When an element became position:fixed and gained a compositing layer 9 as a result, we would compute its viewport constraints (including the 10 last GraphicsLayer position) before we had actually updated the GraphicsLayer 11 geometry for the first time. This would cause a jump to 0,0 on scrolling. 12 13 Fix by removing the call to updateViewportConstraintStatus() just after 14 creating the backing. Instead, hook in to registerScrollingLayers(), 15 which is called on every geometry update, to update the viewport 16 constraints for this layer. 17 18 Tested via existing tests, which now show correct positions at last 19 layout. 20 21 * rendering/RenderLayerBacking.cpp: 22 (WebCore::RenderLayerBacking::registerScrollingLayers): 23 * rendering/RenderLayerCompositor.cpp: 24 (WebCore::RenderLayerCompositor::updateBacking): 25 1 26 2013-01-30 Adam Barth <abarth@webkit.org> 2 27 -
trunk/Source/WebCore/rendering/RenderLayerBacking.cpp
r141039 r141330 824 824 return; 825 825 826 compositor()->updateViewportConstraintStatus(m_owningLayer); 827 826 828 // FIXME: it would be nice to avoid all this work if the platform doesn't implement setLayerIsFixedToContainerLayer(). 827 829 if (renderer()->style()->position() == FixedPosition || compositor()->fixedPositionedByAncestor(m_owningLayer)) -
trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp
r141221 r141330 592 592 layerChanged = true; 593 593 } 594 595 // Need to add for every compositing layer, because a composited layer may change from being non-fixed to fixed.596 updateViewportConstraintStatus(layer);597 594 } else { 598 595 if (layer->backing()) {
Note:
See TracChangeset
for help on using the changeset viewer.