Changeset 151202 in webkit
- Timestamp:
- Jun 5, 2013 1:19:46 AM (11 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 15 deleted
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r151200 r151202 1 2013-06-05 Mihnea Ovidenie <mihnea@adobe.com> 2 3 [CSS Regions] REGRESSION Incorrect layer clipping inside flow thread 4 https://bugs.webkit.org/show_bug.cgi?id=117074 5 6 Reviewed by David Hyatt. 7 8 Convert overflow-size-change-with-stacking-context and overflow-size-change-with-stacking-context-rtl 9 to ref tests. 10 11 * fast/regions/overflow-size-change-with-stacking-context-expected.html: Added. 12 * fast/regions/overflow-size-change-with-stacking-context-rtl-expected.html: Added. 13 * fast/regions/overflow-size-change-with-stacking-context-rtl.html: 14 * fast/regions/overflow-size-change-with-stacking-context.html: 15 * platform/efl/fast/regions/overflow-size-change-with-stacking-context-expected.png: Removed. 16 * platform/efl/fast/regions/overflow-size-change-with-stacking-context-expected.txt: Removed. 17 * platform/efl/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.png: Removed. 18 * platform/efl/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.txt: Removed. 19 * platform/gtk/fast/regions/overflow-size-change-with-stacking-context-expected.png: Removed. 20 * platform/gtk/fast/regions/overflow-size-change-with-stacking-context-expected.txt: Removed. 21 * platform/gtk/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.png: Removed. 22 * platform/gtk/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.txt: Removed. 23 * platform/mac/fast/regions/overflow-size-change-with-stacking-context-expected.png: Removed. 24 * platform/mac/fast/regions/overflow-size-change-with-stacking-context-expected.txt: Removed. 25 * platform/mac/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.png: Removed. 26 * platform/mac/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.txt: Removed. 27 * platform/qt/fast/regions/overflow-size-change-with-stacking-context-expected.txt: Removed. 28 * platform/qt/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.png: Removed. 29 * platform/qt/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.txt: Removed. 30 1 31 2013-06-05 Christophe Dumez <ch.dumez@sisa.samsung.com> 2 32 -
trunk/LayoutTests/fast/regions/overflow-size-change-with-stacking-context-rtl.html
r97701 r151202 1 <! doctypehtml>1 <!DOCTYPE html> 2 2 <html style="direction:rtl"> 3 <head> 4 <style> 5 #content { 6 -webkit-flow-into: flow1; 7 text-align: justify; 8 padding: 5px; 9 } 10 11 #first-box { 12 border: 1px solid blue; 13 } 14 15 #second-box { 16 margin: auto; 17 border: 1px solid green; 18 overflow:hidden; 19 width:75%; 20 position:relative; 21 z-index:0; 22 padding-bottom:20px; 23 } 24 25 #region1, #region2, #region3 { 26 border: 1px solid black; 27 -webkit-flow-from: flow1; 28 } 3 <head> 4 <style> 5 body { 6 font: 16px/1.25 monospace; 7 } 29 8 30 #region1 { 31 width: 200px; 32 height: 100px; 33 } 34 35 #region2 { 36 width: 300px; 37 height: 180px; 38 } 39 40 #region3 { 41 width: 120px; 42 height: 120px; 43 } 44 </style> 45 </head> 46 <body> 47 <p style="direction:ltr">The first and last lines of text in the regions below should be clipped to the green box. The overflow 48 section sizes itself and clips differently in each region.</p> 9 #content { 10 -webkit-flow-into: flow1; 11 padding: 5px; 12 } 49 13 50 <div id="content"> 51 <div id="first-box"> 52 <div id="second-box"> 53 <div style="width:500px; opacity:0.8">Clipped line of text that should not be visible.</div> 54 <p>These lines will not spill out of the regions. These lines will not spill out of the regions. 55 These lines will not spill out of the regions. These lines will not spill out of the regions. </p> 56 <p>These lines will not spill out of the regions. These lines will not spill out of the regions. 57 These lines will not spill out of the regions. These lines will not spill out of the regions. </p> 58 <div style="width:500px; position:absolute;bottom:0">Clipped line of text that should not be visible.</div> 14 .first-box { 15 border: 1px solid blue; 16 } 17 18 .second-box { 19 margin: auto; 20 border: 1px solid green; 21 overflow:hidden; 22 width:75%; 23 position:relative; 24 z-index:0; 25 padding-bottom:20px; 26 } 27 28 #region1, #region2, #region3 { 29 border: 1px solid black; 30 -webkit-flow-from: flow1; 31 } 32 33 #region1 { 34 width: 200px; 35 height: 100px; 36 } 37 38 #region2 { 39 width: 300px; 40 height: 180px; 41 } 42 43 #region3 { 44 width: 120px; 45 height: 120px; 46 } 47 </style> 48 </head> 49 <body> 50 <p style="direction:ltr">The first and last lines of text in the regions below should be clipped to the green box. The overflow section sizes itself and clips differently in each region.</p> 51 52 <div id="content"> 53 <div class="first-box"> 54 <div class="second-box"> 55 <div style="width:500px; opacity:0.8">Clipped line of text that should not be visible.</div> 56 <p>These lines will not spill out of the regions. These lines will not spill out of the regions. 57 These lines will not spill out of the regions. These lines will not spill out of the regions. 58 These lines will not spill out of the regions.</p> 59 <div style="width:500px; position:absolute;bottom:0">Clipped line of text that should not be visible.</div> 60 </div> 61 </div> 59 62 </div> 60 </div>61 </div>62 63 63 <div id="container"> 64 <div id="region1"></div> 65 <div id="region2"></div> 66 <div id="region3"></div> 67 </div> 64 <div id="container"> 65 <div id="region1"></div> 66 <div id="region2"></div> 67 <div id="region3"></div> 68 </div> 69 </body> 70 </html> -
trunk/LayoutTests/fast/regions/overflow-size-change-with-stacking-context.html
r97701 r151202 1 <!doctype html> 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <style> 5 body { 6 font: 16px/1.25 monospace; 7 } 2 8 3 <style> 4 #content { 5 -webkit-flow-into: flow1; 6 text-align: justify; 7 padding: 5px; 8 } 9 10 #first-box { 11 border: 1px solid blue; 12 } 13 14 #second-box { 15 margin: auto; 16 border: 1px solid green; 17 overflow:hidden; 18 width:75%; 19 position:relative; 20 z-index:0; 21 padding-bottom:20px; 22 } 23 24 #region1, #region2, #region3 { 25 border: 1px solid black; 26 -webkit-flow-from: flow1; 27 } 9 #content { 10 -webkit-flow-into: flow1; 11 padding: 5px; 12 } 28 13 29 #region1 { 30 width: 200px; 31 height: 100px; 32 } 33 34 #region2 { 35 width: 300px; 36 height: 180px; 37 } 38 39 #region3 { 40 width: 120px; 41 height: 120px; 42 } 43 </style> 14 .first-box { 15 border: 1px solid blue; 16 } 44 17 45 <body> 46 <p>The first and last lines of text in the regions below should be clipped to the green box. The overflow 47 section sizes itself and clips differently in each region.</p> 18 .second-box { 19 margin: auto; 20 border: 1px solid green; 21 overflow:hidden; 22 width:75%; 23 position:relative; 24 z-index:0; 25 padding-bottom:20px; 26 } 48 27 49 <div id="content"> 50 <div id="first-box"> 51 <div id="second-box"> 52 <div style="width:500px; opacity:0.8">Clipped line of text that should not be visible.</div> 53 <p>These lines will not spill out of the regions. These lines will not spill out of the regions. 54 These lines will not spill out of the regions. These lines will not spill out of the regions. </p> 55 <p>These lines will not spill out of the regions. These lines will not spill out of the regions. 56 These lines will not spill out of the regions. These lines will not spill out of the regions. </p> 57 <div style="width:500px; position:absolute;bottom:0">Clipped line of text that should not be visible.</div> 28 #region1, #region2, #region3 { 29 border: 1px solid black; 30 -webkit-flow-from: flow1; 31 } 32 33 #region1 { 34 width: 200px; 35 height: 100px; 36 } 37 38 #region2 { 39 width: 300px; 40 height: 180px; 41 } 42 43 #region3 { 44 width: 120px; 45 height: 120px; 46 } 47 </style> 48 </head> 49 <body> 50 <p>The first and last lines of text in the regions below should be clipped to the green box. The overflow 51 section sizes itself and clips differently in each region.</p> 52 53 <div id="content"> 54 <div class="first-box"> 55 <div class="second-box"> 56 <div style="width:500px; opacity:0.8">Clipped line of text that should not be visible.</div> 57 <p>These lines will not spill out of the regions. These lines will not spill out of the regions. 58 These lines will not spill out of the regions. These lines will not spill out of the regions. 59 These lines will not spill out of the regions.</p> 60 <div style="width:500px; position:absolute;bottom:0">Clipped line of text that should not be visible.</div> 61 </div> 62 </div> 58 63 </div> 59 </div>60 </div>61 64 62 <div id="container"> 63 <div id="region1"></div> 64 <div id="region2"></div> 65 <div id="region3"></div> 66 </div> 65 <div id="container"> 66 <div id="region1"></div> 67 <div id="region2"></div> 68 <div id="region3"></div> 69 </div> 70 </body> 71 </html> -
trunk/Source/WebCore/ChangeLog
r151200 r151202 1 2013-06-05 Mihnea Ovidenie <mihnea@adobe.com> 2 3 [CSS Regions] REGRESSION Incorrect layer clipping inside flow thread 4 https://bugs.webkit.org/show_bug.cgi?id=117074 5 6 Reviewed by David Hyatt. 7 8 Function RenderBox::mapLocalToContainer was adapted for elements inside flow threads to convert 9 elements coordinates to RenderView coordinates, passing through the region in which the elements 10 were flowed (https://bugs.webkit.org/show_bug.cgi?id=66641). 11 12 The fix for https://bugs.webkit.org/show_bug.cgi?id=76486 modified RenderLayer::calculateClipRects and replaced 13 convertToLayerCoords with localToContainerPoint, which further calls mapLocalToContainer. 14 15 However, for elements inside the flow thread, which acts as a root layer for its collected children, we do not want 16 to get the offset in RenderView coordinates but rather in flow thread coordinates (and still take transforms into 17 account). This patch modifies RenderBox::mapLocalToContainer so that it stops at flow thread boundary when the passed 18 repaintContainer is the flow thread. The flow thread is the container for repaint for elements inside it, as seen from 19 RenderObject::containerForRepaint. 20 21 No new tests, converted overflow-size-change-with-stacking-context and overflow-size-change-with-stacking-context-rtl 22 into ref tests so that the we do not rely on pixel tests in the future. 23 24 * rendering/RenderBox.cpp: 25 (WebCore::RenderBox::mapLocalToContainer): 26 1 27 2013-06-05 Christophe Dumez <ch.dumez@sisa.samsung.com> 2 28 -
trunk/Source/WebCore/rendering/RenderBox.cpp
r151178 r151202 1760 1760 1761 1761 mode &= ~ApplyContainerFlip; 1762 if (o->isRenderFlowThread()) { 1762 1763 if (o->isRenderFlowThread() && (o != repaintContainer)) { 1763 1764 // Transform from render flow coordinates into region coordinates. 1764 1765 RenderRegion* region = toRenderFlowThread(o)->mapFromFlowToRegion(transformState);
Note: See TracChangeset
for help on using the changeset viewer.