- 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;
}