Title: [211564] trunk
- Revision
- 211564
- Author
- an...@apple.com
- Date
- 2017-02-02 09:06:25 -0800 (Thu, 02 Feb 2017)
Log Message
Column progression wrong after enabling pagination on RTL document
https://bugs.webkit.org/show_bug.cgi?id=167733
<rdar://problem/29012252>
Reviewed by Zalan Bujtas.
Source/WebCore:
Column progression depends on document direction but was not updated when direction changed.
Test: fast/multicol/pagination/pagination-dynamic-rtl.html
* rendering/RenderBox.cpp:
(WebCore::RenderBox::styleDidChange):
Update column styles if document direction changes.
LayoutTests:
* fast/multicol/pagination/pagination-dynamic-rtl-expected.html: Added.
* fast/multicol/pagination/pagination-dynamic-rtl.html: Added.
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (211563 => 211564)
--- trunk/LayoutTests/ChangeLog 2017-02-02 17:04:42 UTC (rev 211563)
+++ trunk/LayoutTests/ChangeLog 2017-02-02 17:06:25 UTC (rev 211564)
@@ -1,3 +1,14 @@
+2017-02-02 Antti Koivisto <an...@apple.com>
+
+ Column progression wrong after enabling pagination on RTL document
+ https://bugs.webkit.org/show_bug.cgi?id=167733
+ <rdar://problem/29012252>
+
+ Reviewed by Zalan Bujtas.
+
+ * fast/multicol/pagination/pagination-dynamic-rtl-expected.html: Added.
+ * fast/multicol/pagination/pagination-dynamic-rtl.html: Added.
+
2017-02-02 Ryan Haddad <ryanhad...@apple.com>
Marking http/tests/contentextensions/block-everything-unless-domain.html as flaky on macOS.
Added: trunk/LayoutTests/fast/multicol/pagination/pagination-dynamic-rtl-expected.html (0 => 211564)
--- trunk/LayoutTests/fast/multicol/pagination/pagination-dynamic-rtl-expected.html (rev 0)
+++ trunk/LayoutTests/fast/multicol/pagination/pagination-dynamic-rtl-expected.html 2017-02-02 17:06:25 UTC (rev 211564)
@@ -0,0 +1,15 @@
+<html>
+<head>
+<script>
+if (window.internals)
+ internals.setPagination("RightToLeftPaginated", 0);
+</script>
+</head>
+<body style="direction:rtl">
+<div style="border: solid; height: 900px; font: 50px ahem; -webkit-font-smoothing: none;">
+<br><br><br><br><br><br><br><br><br><br>
+Lorem<br>
+<span style="color: red;">ipsum</br>
+</div>
+</body>
+</html>
Added: trunk/LayoutTests/fast/multicol/pagination/pagination-dynamic-rtl.html (0 => 211564)
--- trunk/LayoutTests/fast/multicol/pagination/pagination-dynamic-rtl.html (rev 0)
+++ trunk/LayoutTests/fast/multicol/pagination/pagination-dynamic-rtl.html 2017-02-02 17:06:25 UTC (rev 211564)
@@ -0,0 +1,17 @@
+<html>
+<head>
+<script>
+function test() {
+if (window.internals)
+ internals.setPagination("RightToLeftPaginated", 0);
+}
+</script>
+</head>
+<body style="direction:rtl" _onload_="test()">
+<div style="border: solid; height: 900px; font: 50px ahem; -webkit-font-smoothing: none;">
+<br><br><br><br><br><br><br><br><br><br>
+Lorem<br>
+<span style="color: red;">ipsum</br>
+</div>
+</body>
+</html>
Modified: trunk/Source/WebCore/ChangeLog (211563 => 211564)
--- trunk/Source/WebCore/ChangeLog 2017-02-02 17:04:42 UTC (rev 211563)
+++ trunk/Source/WebCore/ChangeLog 2017-02-02 17:06:25 UTC (rev 211564)
@@ -1,3 +1,20 @@
+2017-02-02 Antti Koivisto <an...@apple.com>
+
+ Column progression wrong after enabling pagination on RTL document
+ https://bugs.webkit.org/show_bug.cgi?id=167733
+ <rdar://problem/29012252>
+
+ Reviewed by Zalan Bujtas.
+
+ Column progression depends on document direction but was not updated when direction changed.
+
+ Test: fast/multicol/pagination/pagination-dynamic-rtl.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::styleDidChange):
+
+ Update column styles if document direction changes.
+
2017-02-02 Xabier Rodriguez Calvar <calva...@igalia.com>
[EME][GStreamer] Fixed decryptor selection
Modified: trunk/Source/WebCore/rendering/RenderBox.cpp (211563 => 211564)
--- trunk/Source/WebCore/rendering/RenderBox.cpp 2017-02-02 17:04:42 UTC (rev 211563)
+++ trunk/Source/WebCore/rendering/RenderBox.cpp 2017-02-02 17:06:25 UTC (rev 211564)
@@ -392,13 +392,12 @@
// Propagate the new writing mode and direction up to the RenderView.
auto* documentElementRenderer = document().documentElement()->renderer();
auto& viewStyle = view().mutableStyle();
- bool viewChangedWritingMode = false;
bool rootStyleChanged = false;
- bool viewStyleChanged = false;
+ bool viewDirectionOrWritingModeChanged = false;
auto* rootRenderer = isBodyRenderer ? documentElementRenderer : nullptr;
if (viewStyle.direction() != newStyle.direction() && (isDocElementRenderer || !documentElementRenderer->style().hasExplicitlySetDirection())) {
viewStyle.setDirection(newStyle.direction());
- viewStyleChanged = true;
+ viewDirectionOrWritingModeChanged = true;
if (isBodyRenderer) {
rootRenderer->mutableStyle().setDirection(newStyle.direction());
rootStyleChanged = true;
@@ -410,8 +409,7 @@
if (viewStyle.writingMode() != newStyle.writingMode() && (isDocElementRenderer || !documentElementRenderer->style().hasExplicitlySetWritingMode())) {
viewStyle.setWritingMode(newStyle.writingMode());
- viewChangedWritingMode = true;
- viewStyleChanged = true;
+ viewDirectionOrWritingModeChanged = true;
view().setHorizontalWritingMode(newStyle.isHorizontalWritingMode());
view().markAllDescendantsWithFloatsForLayout();
if (isBodyRenderer) {
@@ -425,13 +423,13 @@
view().frameView().recalculateScrollbarOverlayStyle();
const Pagination& pagination = view().frameView().pagination();
- if (viewChangedWritingMode && pagination.mode != Pagination::Unpaginated) {
+ if (viewDirectionOrWritingModeChanged && pagination.mode != Pagination::Unpaginated) {
viewStyle.setColumnStylesFromPaginationMode(pagination.mode);
if (view().multiColumnFlowThread())
view().updateColumnProgressionFromStyle(viewStyle);
}
- if (viewStyleChanged && view().multiColumnFlowThread())
+ if (viewDirectionOrWritingModeChanged && view().multiColumnFlowThread())
view().updateStylesForColumnChildren();
if (rootStyleChanged && is<RenderBlockFlow>(rootRenderer) && downcast<RenderBlockFlow>(*rootRenderer).multiColumnFlowThread())
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes