Title: [123835] trunk
- Revision
- 123835
- Author
- [email protected]
- Date
- 2012-07-26 20:48:18 -0700 (Thu, 26 Jul 2012)
Log Message
Blocks with reverse column progression don’t have layout overflow for overflowing columns
https://bugs.webkit.org/show_bug.cgi?id=92440
Reviewed by Sam Weinig.
Source/WebCore:
Test: fast/multicol/progression-reverse-overflow.html
* rendering/RenderBox.cpp:
(WebCore::RenderBox::addLayoutOverflow): If column progression is reversed, then allow
layout overflow to go in the opposite direction than it would normally be allowed to go.
For example, in a block with writing-mode: horizontal-tb, direction: ltr and
column-progression: reverse, columns overflow to the left, so layout overflow would go on
the left.
LayoutTests:
* fast/multicol/progression-reverse-overflow-expected.html: Added.
* fast/multicol/progression-reverse-overflow.html: Added.
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (123834 => 123835)
--- trunk/LayoutTests/ChangeLog 2012-07-27 03:24:09 UTC (rev 123834)
+++ trunk/LayoutTests/ChangeLog 2012-07-27 03:48:18 UTC (rev 123835)
@@ -1,3 +1,13 @@
+2012-07-26 Dan Bernstein <[email protected]>
+
+ Blocks with reverse column progression don’t have layout overflow for overflowing columns
+ https://bugs.webkit.org/show_bug.cgi?id=92440
+
+ Reviewed by Sam Weinig.
+
+ * fast/multicol/progression-reverse-overflow-expected.html: Added.
+ * fast/multicol/progression-reverse-overflow.html: Added.
+
2012-07-26 Sukolsak Sakshuwong <[email protected]>
Implement undoscope attribute.
Added: trunk/LayoutTests/fast/multicol/progression-reverse-overflow-expected.html (0 => 123835)
--- trunk/LayoutTests/fast/multicol/progression-reverse-overflow-expected.html (rev 0)
+++ trunk/LayoutTests/fast/multicol/progression-reverse-overflow-expected.html 2012-07-27 03:48:18 UTC (rev 123835)
@@ -0,0 +1,53 @@
+<style>
+ div.test {
+ width: 100px;
+ height: 100px;
+ -webkit-column-width: 100px;
+ -webkit-column-gap: 0;
+ overflow: hidden;
+ }
+
+ div.test > div {
+ -webkit-logical-height: 100%;
+ }
+
+ div.test > div:first-child {
+ background-color: red;
+ }
+
+ div.test > div:last-child {
+ background-color: green;
+ }
+</style>
+<div class="test" style="direction: rtl;">
+ <div></div><div></div>
+</div>
+<div class="test">
+ <div></div><div></div>
+</div>
+<div class="test" style="direction: rtl;">
+ <div></div><div></div>
+</div>
+<div class="test" style="-webkit-writing-mode: vertical-lr; direction: rtl;">
+ <div></div><div></div>
+</div>
+<div class="test" style="-webkit-writing-mode: vertical-lr; direction: rtl;">
+ <div></div><div></div>
+</div>
+<div class="test" style="direction: rtl;">
+ <div></div><div></div>
+</div>
+<script>
+ var tests = document.querySelectorAll("div.test");
+ for (var i = 0; i < tests.length; ++i) {
+ var test = tests[i];
+ if (test.scrollLeft)
+ test.scrollLeft = 0;
+ else
+ test.scrollLeft = test.scrollWidth;
+ if (test.scrollTop)
+ test.scrollTop = 0;
+ else
+ test.scrollTop = test.scrollHeight;
+ }
+</script>
Added: trunk/LayoutTests/fast/multicol/progression-reverse-overflow.html (0 => 123835)
--- trunk/LayoutTests/fast/multicol/progression-reverse-overflow.html (rev 0)
+++ trunk/LayoutTests/fast/multicol/progression-reverse-overflow.html 2012-07-27 03:48:18 UTC (rev 123835)
@@ -0,0 +1,52 @@
+<style>
+ div.test {
+ width: 100px;
+ height: 100px;
+ -webkit-column-width: 100px;
+ -webkit-column-gap: 0;
+ -webkit-column-progression: reverse;
+ overflow: hidden;
+ }
+
+ div.test > div {
+ -webkit-logical-height: 100%;
+ }
+
+ div.test > div:first-child {
+ background-color: red;
+ }
+
+ div.test > div:last-child {
+ background-color: green;
+ }
+</style>
+<div class="test">
+ <div></div><div></div>
+</div>
+<div class="test" style="direction: rtl;">
+ <div></div><div></div>
+</div>
+<div class="test" style="-webkit-writing-mode: horizontal-bt;">
+ <div></div><div></div>
+</div>
+<div class="test" style="-webkit-writing-mode: vertical-lr;">
+ <div></div><div></div>
+</div>
+<div class="test" style="-webkit-column-axis: vertical;">
+ <div></div><div></div>
+</div>
+<div class="test" style="-webkit-writing-mode: vertical-lr; -webkit-column-axis: horizontal;">
+ <div></div><div></div>
+</div>
+<script>
+ var tests = document.querySelectorAll("div.test");
+ for (var i = 0; i < tests.length; ++i) {
+ var test = tests[i];
+ if (test.scrollLeft)
+ test.scrollLeft = 0;
+ else
+ test.scrollLeft = test.scrollWidth;
+ if (test.scrollTop)
+ test.scrollTop = 0;
+ }
+</script>
Modified: trunk/Source/WebCore/ChangeLog (123834 => 123835)
--- trunk/Source/WebCore/ChangeLog 2012-07-27 03:24:09 UTC (rev 123834)
+++ trunk/Source/WebCore/ChangeLog 2012-07-27 03:48:18 UTC (rev 123835)
@@ -1,3 +1,19 @@
+2012-07-26 Dan Bernstein <[email protected]>
+
+ Blocks with reverse column progression don’t have layout overflow for overflowing columns
+ https://bugs.webkit.org/show_bug.cgi?id=92440
+
+ Reviewed by Sam Weinig.
+
+ Test: fast/multicol/progression-reverse-overflow.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::addLayoutOverflow): If column progression is reversed, then allow
+ layout overflow to go in the opposite direction than it would normally be allowed to go.
+ For example, in a block with writing-mode: horizontal-tb, direction: ltr and
+ column-progression: reverse, columns overflow to the left, so layout overflow would go on
+ the left.
+
2012-07-26 Keishi Hattori <[email protected]>
Implement ColorSuggestionPicker page popup
Modified: trunk/Source/WebCore/rendering/RenderBox.cpp (123834 => 123835)
--- trunk/Source/WebCore/rendering/RenderBox.cpp 2012-07-27 03:24:09 UTC (rev 123834)
+++ trunk/Source/WebCore/rendering/RenderBox.cpp 2012-07-27 03:48:18 UTC (rev 123835)
@@ -3634,7 +3634,14 @@
else
hasTopOverflow = true;
}
-
+
+ if (hasColumns() && style()->columnProgression() == ReverseColumnProgression) {
+ if (isHorizontalWritingMode() ^ !style()->hasInlineColumnAxis())
+ hasLeftOverflow = !hasLeftOverflow;
+ else
+ hasTopOverflow = !hasTopOverflow;
+ }
+
if (!hasTopOverflow)
overflowRect.shiftYEdgeTo(max(overflowRect.y(), clientBox.y()));
else
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes