Title: [125600] trunk
Revision
125600
Author
commit-qu...@webkit.org
Date
2012-08-14 13:53:09 -0700 (Tue, 14 Aug 2012)

Log Message

[CSSRegions]regionOverset is computed as "overset" even though the region is not the last in the chain
https://bugs.webkit.org/show_bug.cgi?id=93102

Patch by Andrei Onea <o...@adobe.com> on 2012-08-14
Reviewed by Eric Seidel.

Source/WebCore:

Making Element.webkitRegionOverset return "overset" only for the last region in a region chain,
if the content cannot fit inside it, to reflect current spec. http://www.w3.org/TR/css3-regions/#dom-region-regionoverset

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::computeOverflowStateForRegions):

LayoutTests:

Modified existing tests to reflect spec, where Element.webkitRegionOverset can be
"overset" only for the last region in a region chain, if the content cannot fit inside it.

* fast/regions/element-region-overset-state-expected.txt:
* fast/regions/element-region-overset-state-vertical-rl-expected.txt:
* fast/regions/element-region-overset-state-vertical-rl.html:
* fast/regions/element-region-overset-state.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (125599 => 125600)


--- trunk/LayoutTests/ChangeLog	2012-08-14 20:47:37 UTC (rev 125599)
+++ trunk/LayoutTests/ChangeLog	2012-08-14 20:53:09 UTC (rev 125600)
@@ -1,3 +1,18 @@
+2012-08-14  Andrei Onea  <o...@adobe.com>
+
+        [CSSRegions]regionOverset is computed as "overset" even though the region is not the last in the chain
+        https://bugs.webkit.org/show_bug.cgi?id=93102
+
+        Reviewed by Eric Seidel.
+
+        Modified existing tests to reflect spec, where Element.webkitRegionOverset can be
+        "overset" only for the last region in a region chain, if the content cannot fit inside it.
+
+        * fast/regions/element-region-overset-state-expected.txt:
+        * fast/regions/element-region-overset-state-vertical-rl-expected.txt:
+        * fast/regions/element-region-overset-state-vertical-rl.html:
+        * fast/regions/element-region-overset-state.html:
+
 2012-08-13  Adrienne Walker  <e...@google.com>
 
         REGRESSION (r109851): Video controls do not render

Modified: trunk/LayoutTests/fast/regions/element-region-overset-state-expected.txt (125599 => 125600)


--- trunk/LayoutTests/fast/regions/element-region-overset-state-expected.txt	2012-08-14 20:47:37 UTC (rev 125599)
+++ trunk/LayoutTests/fast/regions/element-region-overset-state-expected.txt	2012-08-14 20:53:09 UTC (rev 125600)
@@ -7,16 +7,16 @@
 PASS regionOverset('region_2') is "empty"
 PASS regionOverset('region_3') is "empty"
 Flow content
-PASS regionOverset('region_1') is "overset"
+PASS regionOverset('region_1') is "fit"
 PASS regionOverset('region_2') is "fit"
 PASS regionOverset('region_3') is "empty"
 Add more content
-PASS regionOverset('region_1') is "overset"
-PASS regionOverset('region_2') is "overset"
+PASS regionOverset('region_1') is "fit"
+PASS regionOverset('region_2') is "fit"
 PASS regionOverset('region_3') is "fit"
 Add visual overflow
-PASS regionOverset('region_1') is "overset"
-PASS regionOverset('region_2') is "overset"
+PASS regionOverset('region_1') is "fit"
+PASS regionOverset('region_2') is "fit"
 PASS regionOverset('region_3') is "overset"
 Empty content
 PASS regionOverset('region_1') is "empty"

Modified: trunk/LayoutTests/fast/regions/element-region-overset-state-vertical-rl-expected.txt (125599 => 125600)


--- trunk/LayoutTests/fast/regions/element-region-overset-state-vertical-rl-expected.txt	2012-08-14 20:47:37 UTC (rev 125599)
+++ trunk/LayoutTests/fast/regions/element-region-overset-state-vertical-rl-expected.txt	2012-08-14 20:53:09 UTC (rev 125600)
@@ -7,16 +7,16 @@
 PASS regionOverset('region_2') is "empty"
 PASS regionOverset('region_3') is "empty"
 Flow content
-PASS regionOverset('region_1') is "overset"
+PASS regionOverset('region_1') is "fit"
 PASS regionOverset('region_2') is "fit"
 PASS regionOverset('region_3') is "empty"
 Add more content
-PASS regionOverset('region_1') is "overset"
-PASS regionOverset('region_2') is "overset"
+PASS regionOverset('region_1') is "fit"
+PASS regionOverset('region_2') is "fit"
 PASS regionOverset('region_3') is "fit"
 Add visual overflow
-PASS regionOverset('region_1') is "overset"
-PASS regionOverset('region_2') is "overset"
+PASS regionOverset('region_1') is "fit"
+PASS regionOverset('region_2') is "fit"
 PASS regionOverset('region_3') is "overset"
 Empty content
 PASS regionOverset('region_1') is "empty"

Modified: trunk/LayoutTests/fast/regions/element-region-overset-state-vertical-rl.html (125599 => 125600)


--- trunk/LayoutTests/fast/regions/element-region-overset-state-vertical-rl.html	2012-08-14 20:47:37 UTC (rev 125599)
+++ trunk/LayoutTests/fast/regions/element-region-overset-state-vertical-rl.html	2012-08-14 20:53:09 UTC (rev 125600)
@@ -76,22 +76,22 @@
         debug("Flow content");
         flowContent("article");
 
-        shouldBeEqualToString("regionOverset('region_1')", "overset");
+        shouldBeEqualToString("regionOverset('region_1')", "fit");
         shouldBeEqualToString("regionOverset('region_2')", "fit");
         shouldBeEqualToString("regionOverset('region_3')", "empty");
 
         debug("Add more content");
         addMoreContent();
 
-        shouldBeEqualToString("regionOverset('region_1')", "overset");
-        shouldBeEqualToString("regionOverset('region_2')", "overset");
+        shouldBeEqualToString("regionOverset('region_1')", "fit");
+        shouldBeEqualToString("regionOverset('region_2')", "fit");
         shouldBeEqualToString("regionOverset('region_3')", "fit");
 
         debug("Add visual overflow");
         addVisualOverflow();
 
-        shouldBeEqualToString("regionOverset('region_1')", "overset");
-        shouldBeEqualToString("regionOverset('region_2')", "overset");
+        shouldBeEqualToString("regionOverset('region_1')", "fit");
+        shouldBeEqualToString("regionOverset('region_2')", "fit");
         shouldBeEqualToString("regionOverset('region_3')", "overset");
 
         debug("Empty content");

Modified: trunk/LayoutTests/fast/regions/element-region-overset-state.html (125599 => 125600)


--- trunk/LayoutTests/fast/regions/element-region-overset-state.html	2012-08-14 20:47:37 UTC (rev 125599)
+++ trunk/LayoutTests/fast/regions/element-region-overset-state.html	2012-08-14 20:53:09 UTC (rev 125600)
@@ -69,22 +69,22 @@
         debug("Flow content");
         flowContent("article");
 
-        shouldBeEqualToString("regionOverset('region_1')", "overset");
+        shouldBeEqualToString("regionOverset('region_1')", "fit");
         shouldBeEqualToString("regionOverset('region_2')", "fit");
         shouldBeEqualToString("regionOverset('region_3')", "empty");
 
         debug("Add more content");
         addMoreContent();
 
-        shouldBeEqualToString("regionOverset('region_1')", "overset");
-        shouldBeEqualToString("regionOverset('region_2')", "overset");
+        shouldBeEqualToString("regionOverset('region_1')", "fit");
+        shouldBeEqualToString("regionOverset('region_2')", "fit");
         shouldBeEqualToString("regionOverset('region_3')", "fit");
 
         debug("Add visual overflow");
         addVisualOverflow();
 
-        shouldBeEqualToString("regionOverset('region_1')", "overset");
-        shouldBeEqualToString("regionOverset('region_2')", "overset");
+        shouldBeEqualToString("regionOverset('region_1')", "fit");
+        shouldBeEqualToString("regionOverset('region_2')", "fit");
         shouldBeEqualToString("regionOverset('region_3')", "overset");
 
         debug("Empty content");

Modified: trunk/Source/WebCore/ChangeLog (125599 => 125600)


--- trunk/Source/WebCore/ChangeLog	2012-08-14 20:47:37 UTC (rev 125599)
+++ trunk/Source/WebCore/ChangeLog	2012-08-14 20:53:09 UTC (rev 125600)
@@ -1,3 +1,16 @@
+2012-08-14  Andrei Onea  <o...@adobe.com>
+
+        [CSSRegions]regionOverset is computed as "overset" even though the region is not the last in the chain
+        https://bugs.webkit.org/show_bug.cgi?id=93102
+
+        Reviewed by Eric Seidel.
+
+        Making Element.webkitRegionOverset return "overset" only for the last region in a region chain, 
+        if the content cannot fit inside it, to reflect current spec. http://www.w3.org/TR/css3-regions/#dom-region-regionoverset
+
+        * rendering/RenderFlowThread.cpp:
+        (WebCore::RenderFlowThread::computeOverflowStateForRegions):
+
 2012-08-14  Jan Keromnes  <j...@linux.com>
 
         Web Inspector: Render breakpoint gutter markers and execution line in CodeMirrorTextEditor

Modified: trunk/Source/WebCore/rendering/RenderFlowThread.cpp (125599 => 125600)


--- trunk/Source/WebCore/rendering/RenderFlowThread.cpp	2012-08-14 20:47:37 UTC (rev 125599)
+++ trunk/Source/WebCore/rendering/RenderFlowThread.cpp	2012-08-14 20:53:09 UTC (rev 125600)
@@ -681,6 +681,7 @@
     if (hasRenderOverflow())
         height = isHorizontalWritingMode() ? visualOverflowRect().maxY() : visualOverflowRect().maxX();
 
+    RenderRegion* lastReg = lastRegion();
     for (RenderRegionList::iterator iter = m_regionList.begin(); iter != m_regionList.end(); ++iter) {
         RenderRegion* region = *iter;
         if (!region->isValid()) {
@@ -693,7 +694,7 @@
         RenderRegion::RegionState state = RenderRegion::RegionFit;
         if (flowMin <= 0)
             state = RenderRegion::RegionEmpty;
-        if (flowMax > 0)
+        if (flowMax > 0 && region == lastReg)
             state = RenderRegion::RegionOverset;
         region->setRegionState(state);
         // determine whether the NamedFlow object should dispatch a regionLayoutUpdate event
@@ -707,7 +708,6 @@
 
     // With the regions overflow state computed we can also set the overset flag for the named flow.
     // If there are no valid regions in the chain, overset is true
-    RenderRegion* lastReg = lastRegion();
     m_overset = lastReg ? lastReg->regionState() == RenderRegion::RegionOverset : true;
 }
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to