Add a line grid pagination SPI to WebKit.
authorhyatt@apple.com <hyatt@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 2 Feb 2016 19:50:01 +0000 (19:50 +0000)
committerhyatt@apple.com <hyatt@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 2 Feb 2016 19:50:01 +0000 (19:50 +0000)
https://bugs.webkit.org/show_bug.cgi?id=153757
<rdar://problem/23041598>

Reviewed by Anders Carlsson.

Source/WebCore:

New tests in fast/multicol/pagination.

* page/Page.cpp:
(WebCore::Page::setPaginationLineGridEnabled):
* page/Page.h:
(WebCore::Page::paginationLineGridEnabled):
Add a boolean to the page to turn the line grid on and off.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::styleDidChange):
Propagate the body's font up to the paginated RenderView so that
it can be used to establish the line grid.

* style/StyleResolveForDocument.cpp:
(WebCore::Style::resolveForDocument):
Set up a line grid with containment snapping by default if the
line grid enabled flag is set.

* testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::setPagination):
(WebCore::Internals::setPaginationLineGridEnabled):
(WebCore::Internals::configurationForViewport):
* testing/Internals.h:
(WebCore::Internals::setPagination):
* testing/Internals.idl:
Add support for testing the grid being enabled.

Source/WebKit/mac:

* WebView/WebView.mm:
(-[WebView _setPaginationLineGridEnabled:]):
(-[WebView _paginationLineGridEnabled]):
* WebView/WebViewPrivate.h:

Source/WebKit2:

* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
* Shared/WebPageCreationParameters.h:
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPaginationLineGridEnabled):
(WKPageGetPaginationLineGridEnabled):
* UIProcess/API/C/WKPagePrivate.h:
* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(-[WKBrowsingContextController setPaginationLineGridEnabled:]):
(-[WKBrowsingContextController paginationLineGridEnabled]):
* UIProcess/API/Cocoa/WKBrowsingContextControllerPrivate.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _paginationLineGridEnabled]):
(-[WKWebView _setPaginationLineGridEnabled:]):
       * UIProcess/API/Cocoa/WKWebViewPrivate.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setPaginationLineGridEnabled):
(WebKit::WebPageProxy::creationParameters):
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::paginationLineGridEnabled):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setPaginationLineGridEnabled):
 WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

LayoutTests:

* platform/mac/fast/multicol/pagination/BottomToTop-bt-expected.png:
* platform/mac/fast/multicol/pagination/BottomToTop-lr-expected.png:
* platform/mac/fast/multicol/pagination/BottomToTop-rl-expected.png:
* platform/mac/fast/multicol/pagination/BottomToTop-tb-expected.png:
* platform/mac/fast/multicol/pagination/BottomToTopGrid-bt-expected.png: Added.
* platform/mac/fast/multicol/pagination/BottomToTopGrid-bt-expected.txt: Added.
* platform/mac/fast/multicol/pagination/BottomToTopGrid-lr-expected.png: Added.
* platform/mac/fast/multicol/pagination/BottomToTopGrid-lr-expected.txt: Added.
* platform/mac/fast/multicol/pagination/BottomToTopGrid-rl-expected.png: Added.
* platform/mac/fast/multicol/pagination/BottomToTopGrid-rl-expected.txt: Added.
* platform/mac/fast/multicol/pagination/BottomToTopGrid-tb-expected.png: Added.
* platform/mac/fast/multicol/pagination/BottomToTopGrid-tb-expected.txt: Added.
* platform/mac/fast/multicol/pagination/LeftToRight-bt-expected.png:
* platform/mac/fast/multicol/pagination/LeftToRight-lr-expected.png:
* platform/mac/fast/multicol/pagination/LeftToRight-rl-expected.png:
* platform/mac/fast/multicol/pagination/LeftToRight-tb-expected.png:
* platform/mac/fast/multicol/pagination/LeftToRightGrid-bt-expected.png: Added.
* platform/mac/fast/multicol/pagination/LeftToRightGrid-bt-expected.txt: Added.
* platform/mac/fast/multicol/pagination/LeftToRightGrid-lr-expected.png: Added.
* platform/mac/fast/multicol/pagination/LeftToRightGrid-lr-expected.txt: Added.
* platform/mac/fast/multicol/pagination/LeftToRightGrid-rl-expected.png: Added.
* platform/mac/fast/multicol/pagination/LeftToRightGrid-rl-expected.txt: Added.
* platform/mac/fast/multicol/pagination/LeftToRightGrid-tb-expected.png: Added.
* platform/mac/fast/multicol/pagination/LeftToRightGrid-tb-expected.txt: Added.
* platform/mac/fast/multicol/pagination/RightToLeft-bt-expected.png:
* platform/mac/fast/multicol/pagination/RightToLeft-lr-expected.png:
* platform/mac/fast/multicol/pagination/RightToLeft-max-width-expected.png:
* platform/mac/fast/multicol/pagination/RightToLeft-rl-dynamic-expected.png:
* platform/mac/fast/multicol/pagination/RightToLeft-rl-expected.png:
* platform/mac/fast/multicol/pagination/RightToLeft-tb-expected.png:
* platform/mac/fast/multicol/pagination/RightToLeftGrid-bt-expected.png: Added.
* platform/mac/fast/multicol/pagination/RightToLeftGrid-bt-expected.txt: Added.
* platform/mac/fast/multicol/pagination/RightToLeftGrid-lr-expected.png: Added.
* platform/mac/fast/multicol/pagination/RightToLeftGrid-lr-expected.txt: Added.
* platform/mac/fast/multicol/pagination/RightToLeftGrid-rl-expected.png: Added.
* platform/mac/fast/multicol/pagination/RightToLeftGrid-rl-expected.txt: Added.
* platform/mac/fast/multicol/pagination/RightToLeftGrid-tb-expected.png: Added.
* platform/mac/fast/multicol/pagination/RightToLeftGrid-tb-expected.txt: Added.
* platform/mac/fast/multicol/pagination/TopToBottom-bt-expected.png:
* platform/mac/fast/multicol/pagination/TopToBottom-lr-expected.png:
* platform/mac/fast/multicol/pagination/TopToBottom-rl-expected.png:
* platform/mac/fast/multicol/pagination/TopToBottom-tb-expected.png:
* platform/mac/fast/multicol/pagination/TopToBottomGrid-bt-expected.png: Added.
* platform/mac/fast/multicol/pagination/TopToBottomGrid-bt-expected.txt: Added.
* platform/mac/fast/multicol/pagination/TopToBottomGrid-lr-expected.png: Added.
* platform/mac/fast/multicol/pagination/TopToBottomGrid-lr-expected.txt: Added.
* platform/mac/fast/multicol/pagination/TopToBottomGrid-rl-expected.png: Added.
* platform/mac/fast/multicol/pagination/TopToBottomGrid-rl-expected.txt: Added.
* platform/mac/fast/multicol/pagination/TopToBottomGrid-tb-expected.png: Added.
* platform/mac/fast/multicol/pagination/TopToBottomGrid-tb-expected.txt: Added.
* platform/mac/fast/multicol/pagination/nested-transforms-expected.png:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@196024 268f45cc-cd09-0410-ab3c-d52691b4dbfc

77 files changed:
LayoutTests/ChangeLog
LayoutTests/platform/mac/fast/multicol/pagination/BottomToTop-bt-expected.png
LayoutTests/platform/mac/fast/multicol/pagination/BottomToTop-lr-expected.png
LayoutTests/platform/mac/fast/multicol/pagination/BottomToTop-rl-expected.png
LayoutTests/platform/mac/fast/multicol/pagination/BottomToTop-tb-expected.png
LayoutTests/platform/mac/fast/multicol/pagination/BottomToTopGrid-bt-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/multicol/pagination/BottomToTopGrid-bt-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/fast/multicol/pagination/BottomToTopGrid-lr-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/multicol/pagination/BottomToTopGrid-lr-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/fast/multicol/pagination/BottomToTopGrid-rl-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/multicol/pagination/BottomToTopGrid-rl-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/fast/multicol/pagination/BottomToTopGrid-tb-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/multicol/pagination/BottomToTopGrid-tb-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/fast/multicol/pagination/LeftToRight-bt-expected.png
LayoutTests/platform/mac/fast/multicol/pagination/LeftToRight-lr-expected.png
LayoutTests/platform/mac/fast/multicol/pagination/LeftToRight-rl-expected.png
LayoutTests/platform/mac/fast/multicol/pagination/LeftToRight-tb-expected.png
LayoutTests/platform/mac/fast/multicol/pagination/LeftToRightGrid-bt-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/multicol/pagination/LeftToRightGrid-bt-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/fast/multicol/pagination/LeftToRightGrid-lr-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/multicol/pagination/LeftToRightGrid-lr-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/fast/multicol/pagination/LeftToRightGrid-rl-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/multicol/pagination/LeftToRightGrid-rl-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/fast/multicol/pagination/LeftToRightGrid-tb-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/multicol/pagination/LeftToRightGrid-tb-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/fast/multicol/pagination/RightToLeft-bt-expected.png
LayoutTests/platform/mac/fast/multicol/pagination/RightToLeft-lr-expected.png
LayoutTests/platform/mac/fast/multicol/pagination/RightToLeft-max-width-expected.png
LayoutTests/platform/mac/fast/multicol/pagination/RightToLeft-rl-dynamic-expected.png
LayoutTests/platform/mac/fast/multicol/pagination/RightToLeft-rl-expected.png
LayoutTests/platform/mac/fast/multicol/pagination/RightToLeft-tb-expected.png
LayoutTests/platform/mac/fast/multicol/pagination/RightToLeftGrid-bt-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/multicol/pagination/RightToLeftGrid-bt-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/fast/multicol/pagination/RightToLeftGrid-lr-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/multicol/pagination/RightToLeftGrid-lr-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/fast/multicol/pagination/RightToLeftGrid-rl-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/multicol/pagination/RightToLeftGrid-rl-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/fast/multicol/pagination/RightToLeftGrid-tb-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/multicol/pagination/RightToLeftGrid-tb-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/fast/multicol/pagination/TopToBottom-bt-expected.png
LayoutTests/platform/mac/fast/multicol/pagination/TopToBottom-lr-expected.png
LayoutTests/platform/mac/fast/multicol/pagination/TopToBottom-rl-expected.png
LayoutTests/platform/mac/fast/multicol/pagination/TopToBottom-tb-expected.png
LayoutTests/platform/mac/fast/multicol/pagination/TopToBottomGrid-bt-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/multicol/pagination/TopToBottomGrid-bt-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/fast/multicol/pagination/TopToBottomGrid-lr-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/multicol/pagination/TopToBottomGrid-lr-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/fast/multicol/pagination/TopToBottomGrid-rl-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/multicol/pagination/TopToBottomGrid-rl-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/fast/multicol/pagination/TopToBottomGrid-tb-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/multicol/pagination/TopToBottomGrid-tb-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/fast/multicol/pagination/nested-transforms-expected.png
Source/WebCore/ChangeLog
Source/WebCore/page/Page.cpp
Source/WebCore/page/Page.h
Source/WebCore/rendering/RenderBox.cpp
Source/WebCore/style/StyleResolveForDocument.cpp
Source/WebCore/testing/Internals.cpp
Source/WebCore/testing/Internals.h
Source/WebCore/testing/Internals.idl
Source/WebKit/mac/ChangeLog
Source/WebKit/mac/WebView/WebView.mm
Source/WebKit/mac/WebView/WebViewPrivate.h
Source/WebKit2/ChangeLog
Source/WebKit2/Shared/WebPageCreationParameters.cpp
Source/WebKit2/Shared/WebPageCreationParameters.h
Source/WebKit2/UIProcess/API/C/WKPage.cpp
Source/WebKit2/UIProcess/API/C/WKPagePrivate.h
Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextController.mm
Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextControllerPrivate.h
Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm
Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h
Source/WebKit2/UIProcess/WebPageProxy.cpp
Source/WebKit2/UIProcess/WebPageProxy.h
Source/WebKit2/WebProcess/WebPage/WebPage.cpp
Source/WebKit2/WebProcess/WebPage/WebPage.h
Source/WebKit2/WebProcess/WebPage/WebPage.messages.in

index 01c2fef..e46b631 100644 (file)
@@ -1,3 +1,63 @@
+2016-02-01  Dave Hyatt  <hyatt@apple.com>
+
+        Add a line grid pagination SPI to WebKit.
+        https://bugs.webkit.org/show_bug.cgi?id=153757
+        <rdar://problem/23041598>
+
+        Reviewed by Anders Carlsson.
+
+        * platform/mac/fast/multicol/pagination/BottomToTop-bt-expected.png:
+        * platform/mac/fast/multicol/pagination/BottomToTop-lr-expected.png:
+        * platform/mac/fast/multicol/pagination/BottomToTop-rl-expected.png:
+        * platform/mac/fast/multicol/pagination/BottomToTop-tb-expected.png:
+        * platform/mac/fast/multicol/pagination/BottomToTopGrid-bt-expected.png: Added.
+        * platform/mac/fast/multicol/pagination/BottomToTopGrid-bt-expected.txt: Added.
+        * platform/mac/fast/multicol/pagination/BottomToTopGrid-lr-expected.png: Added.
+        * platform/mac/fast/multicol/pagination/BottomToTopGrid-lr-expected.txt: Added.
+        * platform/mac/fast/multicol/pagination/BottomToTopGrid-rl-expected.png: Added.
+        * platform/mac/fast/multicol/pagination/BottomToTopGrid-rl-expected.txt: Added.
+        * platform/mac/fast/multicol/pagination/BottomToTopGrid-tb-expected.png: Added.
+        * platform/mac/fast/multicol/pagination/BottomToTopGrid-tb-expected.txt: Added.
+        * platform/mac/fast/multicol/pagination/LeftToRight-bt-expected.png:
+        * platform/mac/fast/multicol/pagination/LeftToRight-lr-expected.png:
+        * platform/mac/fast/multicol/pagination/LeftToRight-rl-expected.png:
+        * platform/mac/fast/multicol/pagination/LeftToRight-tb-expected.png:
+        * platform/mac/fast/multicol/pagination/LeftToRightGrid-bt-expected.png: Added.
+        * platform/mac/fast/multicol/pagination/LeftToRightGrid-bt-expected.txt: Added.
+        * platform/mac/fast/multicol/pagination/LeftToRightGrid-lr-expected.png: Added.
+        * platform/mac/fast/multicol/pagination/LeftToRightGrid-lr-expected.txt: Added.
+        * platform/mac/fast/multicol/pagination/LeftToRightGrid-rl-expected.png: Added.
+        * platform/mac/fast/multicol/pagination/LeftToRightGrid-rl-expected.txt: Added.
+        * platform/mac/fast/multicol/pagination/LeftToRightGrid-tb-expected.png: Added.
+        * platform/mac/fast/multicol/pagination/LeftToRightGrid-tb-expected.txt: Added.
+        * platform/mac/fast/multicol/pagination/RightToLeft-bt-expected.png:
+        * platform/mac/fast/multicol/pagination/RightToLeft-lr-expected.png:
+        * platform/mac/fast/multicol/pagination/RightToLeft-max-width-expected.png:
+        * platform/mac/fast/multicol/pagination/RightToLeft-rl-dynamic-expected.png:
+        * platform/mac/fast/multicol/pagination/RightToLeft-rl-expected.png:
+        * platform/mac/fast/multicol/pagination/RightToLeft-tb-expected.png:
+        * platform/mac/fast/multicol/pagination/RightToLeftGrid-bt-expected.png: Added.
+        * platform/mac/fast/multicol/pagination/RightToLeftGrid-bt-expected.txt: Added.
+        * platform/mac/fast/multicol/pagination/RightToLeftGrid-lr-expected.png: Added.
+        * platform/mac/fast/multicol/pagination/RightToLeftGrid-lr-expected.txt: Added.
+        * platform/mac/fast/multicol/pagination/RightToLeftGrid-rl-expected.png: Added.
+        * platform/mac/fast/multicol/pagination/RightToLeftGrid-rl-expected.txt: Added.
+        * platform/mac/fast/multicol/pagination/RightToLeftGrid-tb-expected.png: Added.
+        * platform/mac/fast/multicol/pagination/RightToLeftGrid-tb-expected.txt: Added.
+        * platform/mac/fast/multicol/pagination/TopToBottom-bt-expected.png:
+        * platform/mac/fast/multicol/pagination/TopToBottom-lr-expected.png:
+        * platform/mac/fast/multicol/pagination/TopToBottom-rl-expected.png:
+        * platform/mac/fast/multicol/pagination/TopToBottom-tb-expected.png:
+        * platform/mac/fast/multicol/pagination/TopToBottomGrid-bt-expected.png: Added.
+        * platform/mac/fast/multicol/pagination/TopToBottomGrid-bt-expected.txt: Added.
+        * platform/mac/fast/multicol/pagination/TopToBottomGrid-lr-expected.png: Added.
+        * platform/mac/fast/multicol/pagination/TopToBottomGrid-lr-expected.txt: Added.
+        * platform/mac/fast/multicol/pagination/TopToBottomGrid-rl-expected.png: Added.
+        * platform/mac/fast/multicol/pagination/TopToBottomGrid-rl-expected.txt: Added.
+        * platform/mac/fast/multicol/pagination/TopToBottomGrid-tb-expected.png: Added.
+        * platform/mac/fast/multicol/pagination/TopToBottomGrid-tb-expected.txt: Added.
+        * platform/mac/fast/multicol/pagination/nested-transforms-expected.png:
+
 2016-02-02  Brady Eidson  <beidson@apple.com>
 
         Modern IDB: storage/indexeddb/dont-wedge.html sometimes ASSERTs.
index 55d7a9e..bb0c8c8 100644 (file)
Binary files a/LayoutTests/platform/mac/fast/multicol/pagination/BottomToTop-bt-expected.png and b/LayoutTests/platform/mac/fast/multicol/pagination/BottomToTop-bt-expected.png differ
index c3aa026..7b06af1 100644 (file)
Binary files a/LayoutTests/platform/mac/fast/multicol/pagination/BottomToTop-lr-expected.png and b/LayoutTests/platform/mac/fast/multicol/pagination/BottomToTop-lr-expected.png differ
index 5f151cc..6b72b37 100644 (file)
Binary files a/LayoutTests/platform/mac/fast/multicol/pagination/BottomToTop-rl-expected.png and b/LayoutTests/platform/mac/fast/multicol/pagination/BottomToTop-rl-expected.png differ
index bbf4792..eef9612 100644 (file)
Binary files a/LayoutTests/platform/mac/fast/multicol/pagination/BottomToTop-tb-expected.png and b/LayoutTests/platform/mac/fast/multicol/pagination/BottomToTop-tb-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/multicol/pagination/BottomToTopGrid-bt-expected.png b/LayoutTests/platform/mac/fast/multicol/pagination/BottomToTopGrid-bt-expected.png
new file mode 100644 (file)
index 0000000..d9bb88d
Binary files /dev/null and b/LayoutTests/platform/mac/fast/multicol/pagination/BottomToTopGrid-bt-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/multicol/pagination/BottomToTopGrid-bt-expected.txt b/LayoutTests/platform/mac/fast/multicol/pagination/BottomToTopGrid-bt-expected.txt
new file mode 100644 (file)
index 0000000..dd2ac57
--- /dev/null
@@ -0,0 +1,62 @@
+layer at (0,0) size 785x1380
+  RenderView at (0,0) size 785x600
+    RenderMultiColumnSet at (0,0) size 785x600
+layer at (0,-601) size 785x1201 backgroundClip at (0,0) size 785x1380 clip at (0,0) size 785x1380 outlineClip at (0,0) size 785x1380
+  RenderMultiColumnFlowThread at (0,0) size 785x1201
+layer at (0,-601) size 785x1201 backgroundClip at (0,0) size 785x1380 clip at (0,0) size 785x1380 outlineClip at (0,0) size 785x1380
+  RenderBlock {HTML} at (0,0) size 785x1201
+    RenderBody {BODY} at (8,8) size 769x1179
+      RenderBlock {DIV} at (0,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,61) size 769x54
+        RenderText {#text} at (0,5) size 741x49
+          text run at (0,5) width 735: "1 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud"
+          text run at (0,23) width 741: "exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."
+          text run at (0,41) width 478: "Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (0,126) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,188) size 769x54
+        RenderText {#text} at (0,4) size 763x50
+          text run at (0,4) width 763: "2 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis"
+          text run at (0,22) width 746: "nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu"
+          text run at (0,40) width 622: "fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (0,254) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,317) size 769x69
+        RenderText {#text} at (0,0) size 765x69
+          text run at (0,0) width 756: "3 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim"
+          text run at (0,18) width 765: "veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit"
+          text run at (0,36) width 737: "esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est"
+          text run at (0,54) width 47: "laborum."
+      RenderBlock {DIV} at (0,398) size 50x51 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,462) size 769x88
+        RenderText {#text} at (0,16) size 758x71
+          text run at (0,16) width 758: "4 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim"
+          text run at (0,34) width 704: "ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in"
+          text run at (0,52) width 757: "reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa"
+          text run at (0,70) width 264: "qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (0,563) size 50x51 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,628) size 769x84
+        RenderText {#text} at (0,12) size 759x71
+          text run at (0,12) width 759: "5 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
+          text run at (0,30) width 756: "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure"
+          text run at (0,48) width 724: "dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non"
+          text run at (0,66) width 421: "proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (0,712) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,778) size 769x78
+        RenderText {#text} at (0,6) size 763x72
+          text run at (0,6) width 763: "6 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna"
+          text run at (0,24) width 754: "aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat."
+          text run at (0,42) width 721: "Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint"
+          text run at (0,60) width 599: "occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (0,872) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,937) size 769x80
+        RenderText {#text} at (0,9) size 759x71
+          text run at (0,9) width 759: "7 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
+          text run at (0,27) width 756: "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure"
+          text run at (0,45) width 724: "dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non"
+          text run at (0,63) width 421: "proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (0,1032) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,1096) size 769x83
+        RenderText {#text} at (0,12) size 758x71
+          text run at (0,12) width 758: "8 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim"
+          text run at (0,30) width 704: "ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in"
+          text run at (0,48) width 757: "reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa"
+          text run at (0,66) width 264: "qui officia deserunt mollit anim id est laborum."
diff --git a/LayoutTests/platform/mac/fast/multicol/pagination/BottomToTopGrid-lr-expected.png b/LayoutTests/platform/mac/fast/multicol/pagination/BottomToTopGrid-lr-expected.png
new file mode 100644 (file)
index 0000000..81f363f
Binary files /dev/null and b/LayoutTests/platform/mac/fast/multicol/pagination/BottomToTopGrid-lr-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/multicol/pagination/BottomToTopGrid-lr-expected.txt b/LayoutTests/platform/mac/fast/multicol/pagination/BottomToTopGrid-lr-expected.txt
new file mode 100644 (file)
index 0000000..4d10efb
--- /dev/null
@@ -0,0 +1,170 @@
+layer at (0,0) size 785x600
+  RenderView at (0,0) size 785x600
+    RenderMultiColumnSet at (0,0) size 785x600
+layer at (0,0) size 3190x180 backgroundClip at (0,0) size 785x600 clip at (0,0) size 785x600 outlineClip at (0,0) size 785x600
+  RenderMultiColumnFlowThread at (0,0) size 3190x180
+layer at (0,0) size 3190x180 backgroundClip at (0,0) size 785x600 clip at (0,0) size 785x600 outlineClip at (0,0) size 785x600
+  RenderBlock {HTML} at (0,0) size 3190x180
+    RenderBody {BODY} at (8,8) size 3168x164
+      RenderBlock {DIV} at (0,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (61,0) size 252x164
+        RenderText {#text} at (5,0) size 247x161
+          text run at (5,0) width 134: "1 Lorem ipsum dolor sit amet,"
+          text run at (23,0) width 152: "consectetur adipisicing elit, sed do"
+          text run at (41,0) width 161: "eiusmod tempor incididunt ut labore"
+          text run at (59,0) width 155: "et dolore magna aliqua. Ut enim ad"
+          text run at (77,0) width 124: "minim veniam, quis nostrud"
+          text run at (95,0) width 153: "exercitation ullamco laboris nisi ut"
+          text run at (113,0) width 153: "aliquip ex ea commodo consequat."
+          text run at (131,0) width 103: "Duis aute irure dolor in"
+          text run at (149,0) width 157: "reprehenderit in voluptate velit esse"
+          text run at (167,0) width 126: "cillum dolore eu fugiat nulla"
+          text run at (185,0) width 143: "pariatur. Excepteur sint occaecat"
+          text run at (203,0) width 161: "cupidatat non proident, sunt in culpa"
+          text run at (221,0) width 151: "qui officia deserunt mollit anim id"
+          text run at (239,0) width 55: "est laborum."
+      RenderBlock {DIV} at (324,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (386,0) size 270x164
+        RenderText {#text} at (4,0) size 266x164
+          text run at (4,0) width 146: "2 Lorem ipsum dolor sit amet,"
+          text run at (22,0) width 151: "consectetur adipisicing elit, sed"
+          text run at (40,0) width 157: "do eiusmod tempor incididunt ut"
+          text run at (58,0) width 161: "labore et dolore magna aliqua. Ut"
+          text run at (76,0) width 137: "enim ad minim veniam, quis"
+          text run at (94,0) width 138: "nostrud exercitation ullamco"
+          text run at (112,0) width 130: "laboris nisi ut aliquip ex ea"
+          text run at (130,0) width 151: "commodo consequat. Duis aute"
+          text run at (148,0) width 143: "irure dolor in reprehenderit in"
+          text run at (166,0) width 160: "voluptate velit esse cillum dolore"
+          text run at (184,0) width 164: "eu fugiat nulla pariatur. Excepteur"
+          text run at (202,0) width 130: "sint occaecat cupidatat non"
+          text run at (220,0) width 160: "proident, sunt in culpa qui officia"
+          text run at (238,0) width 128: "deserunt mollit anim id est"
+          text run at (256,0) width 43: "laborum."
+      RenderBlock {DIV} at (668,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (731,0) size 297x164
+        RenderText {#text} at (0,0) size 297x164
+          text run at (0,0) width 158: "3 Lorem ipsum dolor sit amet,"
+          text run at (18,0) width 164: "consectetur adipisicing elit, sed"
+          text run at (47,0) width 157: "do eiusmod tempor incididunt"
+          text run at (66,0) width 133: "ut labore et dolore magna"
+          text run at (84,0) width 134: "aliqua. Ut enim ad minim"
+          text run at (102,0) width 109: "veniam, quis nostrud"
+          text run at (120,0) width 146: "exercitation ullamco laboris"
+          text run at (138,0) width 158: "nisi ut aliquip ex ea commodo"
+          text run at (156,0) width 136: "consequat. Duis aute irure"
+          text run at (174,0) width 127: "dolor in reprehenderit in"
+          text run at (192,0) width 137: "voluptate velit esse cillum"
+          text run at (210,0) width 158: "dolore eu fugiat nulla pariatur."
+          text run at (228,0) width 123: "Excepteur sint occaecat"
+          text run at (246,0) width 159: "cupidatat non proident, sunt in"
+          text run at (264,0) width 132: "culpa qui officia deserunt"
+          text run at (282,0) width 142: "mollit anim id est laborum."
+      RenderBlock {DIV} at (1040,0) size 51x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (1104,0) size 321x164
+        RenderText {#text} at (15,0) size 305x163
+          text run at (15,0) width 136: "4 Lorem ipsum dolor sit"
+          text run at (33,0) width 163: "amet, consectetur adipisicing"
+          text run at (51,0) width 156: "elit, sed do eiusmod tempor"
+          text run at (69,0) width 163: "incididunt ut labore et dolore"
+          text run at (87,0) width 145: "magna aliqua. Ut enim ad"
+          text run at (105,0) width 158: "minim veniam, quis nostrud"
+          text run at (123,0) width 157: "exercitation ullamco laboris"
+          text run at (141,0) width 110: "nisi ut aliquip ex ea"
+          text run at (159,0) width 149: "commodo consequat. Duis"
+          text run at (177,0) width 101: "aute irure dolor in"
+          text run at (195,0) width 145: "reprehenderit in voluptate"
+          text run at (213,0) width 147: "velit esse cillum dolore eu"
+          text run at (231,0) width 114: "fugiat nulla pariatur."
+          text run at (249,0) width 133: "Excepteur sint occaecat"
+          text run at (267,0) width 157: "cupidatat non proident, sunt"
+          text run at (285,0) width 157: "in culpa qui officia deserunt"
+          text run at (303,0) width 153: "mollit anim id est laborum."
+      RenderBlock {DIV} at (1438,0) size 51x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (1503,0) size 365x164
+        RenderText {#text} at (12,0) size 352x163
+          text run at (12,0) width 145: "5 Lorem ipsum dolor sit"
+          text run at (30,0) width 105: "amet, consectetur"
+          text run at (59,0) width 135: "adipisicing elit, sed do"
+          text run at (77,0) width 162: "eiusmod tempor incididunt"
+          text run at (95,0) width 154: "ut labore et dolore magna"
+          text run at (113,0) width 154: "aliqua. Ut enim ad minim"
+          text run at (131,0) width 126: "veniam, quis nostrud"
+          text run at (149,0) width 123: "exercitation ullamco"
+          text run at (167,0) width 163: "laboris nisi ut aliquip ex ea"
+          text run at (185,0) width 160: "commodo consequat. Duis"
+          text run at (203,0) width 108: "aute irure dolor in"
+          text run at (221,0) width 155: "reprehenderit in voluptate"
+          text run at (239,0) width 158: "velit esse cillum dolore eu"
+          text run at (257,0) width 123: "fugiat nulla pariatur."
+          text run at (275,0) width 142: "Excepteur sint occaecat"
+          text run at (293,0) width 139: "cupidatat non proident,"
+          text run at (311,0) width 142: "sunt in culpa qui officia"
+          text run at (329,0) width 160: "deserunt mollit anim id est"
+          text run at (347,0) width 54: "laborum."
+      RenderBlock {DIV} at (1882,0) size 51x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (1948,0) size 388x164
+        RenderText {#text} at (9,0) size 378x163
+          text run at (9,0) width 155: "6 Lorem ipsum dolor sit"
+          text run at (27,0) width 112: "amet, consectetur"
+          text run at (45,0) width 144: "adipisicing elit, sed do"
+          text run at (63,0) width 104: "eiusmod tempor"
+          text run at (81,0) width 141: "incididunt ut labore et"
+          text run at (99,0) width 155: "dolore magna aliqua. Ut"
+          text run at (117,0) width 152: "enim ad minim veniam,"
+          text run at (135,0) width 159: "quis nostrud exercitation"
+          text run at (153,0) width 143: "ullamco laboris nisi ut"
+          text run at (171,0) width 150: "aliquip ex ea commodo"
+          text run at (189,0) width 133: "consequat. Duis aute"
+          text run at (207,0) width 85: "irure dolor in"
+          text run at (225,0) width 102: "reprehenderit in"
+          text run at (243,0) width 123: "voluptate velit esse"
+          text run at (261,0) width 147: "cillum dolore eu fugiat"
+          text run at (279,0) width 158: "nulla pariatur. Excepteur"
+          text run at (297,0) width 145: "sint occaecat cupidatat"
+          text run at (315,0) width 133: "non proident, sunt in"
+          text run at (333,0) width 163: "culpa qui officia deserunt"
+          text run at (351,0) width 113: "mollit anim id est"
+          text run at (369,0) width 58: "laborum."
+      RenderBlock {DIV} at (2347,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (2412,0) size 348x164
+        RenderText {#text} at (7,0) size 341x163
+          text run at (7,0) width 145: "7 Lorem ipsum dolor sit"
+          text run at (25,0) width 105: "amet, consectetur"
+          text run at (43,0) width 135: "adipisicing elit, sed do"
+          text run at (61,0) width 162: "eiusmod tempor incididunt"
+          text run at (79,0) width 154: "ut labore et dolore magna"
+          text run at (97,0) width 154: "aliqua. Ut enim ad minim"
+          text run at (115,0) width 126: "veniam, quis nostrud"
+          text run at (133,0) width 123: "exercitation ullamco"
+          text run at (151,0) width 163: "laboris nisi ut aliquip ex ea"
+          text run at (169,0) width 160: "commodo consequat. Duis"
+          text run at (187,0) width 108: "aute irure dolor in"
+          text run at (205,0) width 155: "reprehenderit in voluptate"
+          text run at (223,0) width 158: "velit esse cillum dolore eu"
+          text run at (241,0) width 123: "fugiat nulla pariatur."
+          text run at (259,0) width 142: "Excepteur sint occaecat"
+          text run at (277,0) width 139: "cupidatat non proident,"
+          text run at (295,0) width 142: "sunt in culpa qui officia"
+          text run at (313,0) width 160: "deserunt mollit anim id est"
+          text run at (331,0) width 54: "laborum."
+      RenderBlock {DIV} at (2775,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (2839,0) size 329x164
+        RenderText {#text} at (12,0) size 317x163
+          text run at (12,0) width 136: "8 Lorem ipsum dolor sit"
+          text run at (30,0) width 163: "amet, consectetur adipisicing"
+          text run at (48,0) width 156: "elit, sed do eiusmod tempor"
+          text run at (66,0) width 163: "incididunt ut labore et dolore"
+          text run at (84,0) width 145: "magna aliqua. Ut enim ad"
+          text run at (102,0) width 158: "minim veniam, quis nostrud"
+          text run at (120,0) width 157: "exercitation ullamco laboris"
+          text run at (138,0) width 110: "nisi ut aliquip ex ea"
+          text run at (156,0) width 149: "commodo consequat. Duis"
+          text run at (174,0) width 101: "aute irure dolor in"
+          text run at (192,0) width 145: "reprehenderit in voluptate"
+          text run at (210,0) width 147: "velit esse cillum dolore eu"
+          text run at (228,0) width 114: "fugiat nulla pariatur."
+          text run at (246,0) width 133: "Excepteur sint occaecat"
+          text run at (264,0) width 157: "cupidatat non proident, sunt"
+          text run at (293,0) width 157: "in culpa qui officia deserunt"
+          text run at (312,0) width 153: "mollit anim id est laborum."
diff --git a/LayoutTests/platform/mac/fast/multicol/pagination/BottomToTopGrid-rl-expected.png b/LayoutTests/platform/mac/fast/multicol/pagination/BottomToTopGrid-rl-expected.png
new file mode 100644 (file)
index 0000000..b64803f
Binary files /dev/null and b/LayoutTests/platform/mac/fast/multicol/pagination/BottomToTopGrid-rl-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/multicol/pagination/BottomToTopGrid-rl-expected.txt b/LayoutTests/platform/mac/fast/multicol/pagination/BottomToTopGrid-rl-expected.txt
new file mode 100644 (file)
index 0000000..8a2e5ce
--- /dev/null
@@ -0,0 +1,170 @@
+layer at (0,0) size 785x600
+  RenderView at (0,0) size 785x600
+    RenderMultiColumnSet at (0,0) size 785x600
+layer at (-2403,0) size 3189x180 backgroundClip at (0,0) size 785x600 clip at (0,0) size 785x600 outlineClip at (0,0) size 785x600
+  RenderMultiColumnFlowThread at (0,0) size 3189x180
+layer at (-2403,0) size 3189x180 backgroundClip at (0,0) size 785x600 clip at (0,0) size 785x600 outlineClip at (0,0) size 785x600
+  RenderBlock {HTML} at (0,0) size 3189x180
+    RenderBody {BODY} at (8,8) size 3167x164
+      RenderBlock {DIV} at (0,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (61,0) size 252x164
+        RenderText {#text} at (5,0) size 247x161
+          text run at (5,0) width 134: "1 Lorem ipsum dolor sit amet,"
+          text run at (23,0) width 152: "consectetur adipisicing elit, sed do"
+          text run at (41,0) width 161: "eiusmod tempor incididunt ut labore"
+          text run at (59,0) width 155: "et dolore magna aliqua. Ut enim ad"
+          text run at (77,0) width 124: "minim veniam, quis nostrud"
+          text run at (95,0) width 153: "exercitation ullamco laboris nisi ut"
+          text run at (113,0) width 153: "aliquip ex ea commodo consequat."
+          text run at (131,0) width 103: "Duis aute irure dolor in"
+          text run at (149,0) width 157: "reprehenderit in voluptate velit esse"
+          text run at (167,0) width 126: "cillum dolore eu fugiat nulla"
+          text run at (185,0) width 143: "pariatur. Excepteur sint occaecat"
+          text run at (203,0) width 161: "cupidatat non proident, sunt in culpa"
+          text run at (221,0) width 151: "qui officia deserunt mollit anim id"
+          text run at (239,0) width 55: "est laborum."
+      RenderBlock {DIV} at (324,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (386,0) size 270x164
+        RenderText {#text} at (4,0) size 266x164
+          text run at (4,0) width 146: "2 Lorem ipsum dolor sit amet,"
+          text run at (22,0) width 151: "consectetur adipisicing elit, sed"
+          text run at (40,0) width 157: "do eiusmod tempor incididunt ut"
+          text run at (58,0) width 161: "labore et dolore magna aliqua. Ut"
+          text run at (76,0) width 137: "enim ad minim veniam, quis"
+          text run at (94,0) width 138: "nostrud exercitation ullamco"
+          text run at (112,0) width 130: "laboris nisi ut aliquip ex ea"
+          text run at (130,0) width 151: "commodo consequat. Duis aute"
+          text run at (148,0) width 143: "irure dolor in reprehenderit in"
+          text run at (166,0) width 160: "voluptate velit esse cillum dolore"
+          text run at (184,0) width 164: "eu fugiat nulla pariatur. Excepteur"
+          text run at (202,0) width 130: "sint occaecat cupidatat non"
+          text run at (220,0) width 160: "proident, sunt in culpa qui officia"
+          text run at (238,0) width 128: "deserunt mollit anim id est"
+          text run at (256,0) width 43: "laborum."
+      RenderBlock {DIV} at (668,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (731,0) size 296x164
+        RenderText {#text} at (0,0) size 296x164
+          text run at (0,0) width 158: "3 Lorem ipsum dolor sit amet,"
+          text run at (18,0) width 164: "consectetur adipisicing elit, sed"
+          text run at (47,0) width 157: "do eiusmod tempor incididunt"
+          text run at (64,0) width 134: "ut labore et dolore magna"
+          text run at (82,0) width 134: "aliqua. Ut enim ad minim"
+          text run at (100,0) width 110: "veniam, quis nostrud"
+          text run at (118,0) width 146: "exercitation ullamco laboris"
+          text run at (136,0) width 158: "nisi ut aliquip ex ea commodo"
+          text run at (154,0) width 137: "consequat. Duis aute irure"
+          text run at (172,0) width 128: "dolor in reprehenderit in"
+          text run at (190,0) width 137: "voluptate velit esse cillum"
+          text run at (208,0) width 159: "dolore eu fugiat nulla pariatur."
+          text run at (226,0) width 124: "Excepteur sint occaecat"
+          text run at (244,0) width 160: "cupidatat non proident, sunt in"
+          text run at (262,0) width 133: "culpa qui officia deserunt"
+          text run at (280,0) width 142: "mollit anim id est laborum."
+      RenderBlock {DIV} at (1039,0) size 51x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (1103,0) size 322x164
+        RenderText {#text} at (16,0) size 305x163
+          text run at (16,0) width 136: "4 Lorem ipsum dolor sit"
+          text run at (34,0) width 163: "amet, consectetur adipisicing"
+          text run at (52,0) width 156: "elit, sed do eiusmod tempor"
+          text run at (70,0) width 163: "incididunt ut labore et dolore"
+          text run at (88,0) width 145: "magna aliqua. Ut enim ad"
+          text run at (106,0) width 158: "minim veniam, quis nostrud"
+          text run at (124,0) width 157: "exercitation ullamco laboris"
+          text run at (142,0) width 110: "nisi ut aliquip ex ea"
+          text run at (160,0) width 149: "commodo consequat. Duis"
+          text run at (178,0) width 101: "aute irure dolor in"
+          text run at (196,0) width 145: "reprehenderit in voluptate"
+          text run at (214,0) width 147: "velit esse cillum dolore eu"
+          text run at (232,0) width 114: "fugiat nulla pariatur."
+          text run at (250,0) width 133: "Excepteur sint occaecat"
+          text run at (268,0) width 157: "cupidatat non proident, sunt"
+          text run at (286,0) width 157: "in culpa qui officia deserunt"
+          text run at (304,0) width 153: "mollit anim id est laborum."
+      RenderBlock {DIV} at (1438,0) size 51x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (1503,0) size 365x164
+        RenderText {#text} at (12,0) size 352x163
+          text run at (12,0) width 145: "5 Lorem ipsum dolor sit"
+          text run at (30,0) width 105: "amet, consectetur"
+          text run at (59,0) width 135: "adipisicing elit, sed do"
+          text run at (77,0) width 162: "eiusmod tempor incididunt"
+          text run at (95,0) width 154: "ut labore et dolore magna"
+          text run at (113,0) width 154: "aliqua. Ut enim ad minim"
+          text run at (131,0) width 126: "veniam, quis nostrud"
+          text run at (149,0) width 123: "exercitation ullamco"
+          text run at (167,0) width 163: "laboris nisi ut aliquip ex ea"
+          text run at (185,0) width 160: "commodo consequat. Duis"
+          text run at (203,0) width 108: "aute irure dolor in"
+          text run at (221,0) width 155: "reprehenderit in voluptate"
+          text run at (239,0) width 158: "velit esse cillum dolore eu"
+          text run at (257,0) width 123: "fugiat nulla pariatur."
+          text run at (275,0) width 142: "Excepteur sint occaecat"
+          text run at (293,0) width 139: "cupidatat non proident,"
+          text run at (311,0) width 142: "sunt in culpa qui officia"
+          text run at (329,0) width 160: "deserunt mollit anim id est"
+          text run at (347,0) width 54: "laborum."
+      RenderBlock {DIV} at (1882,0) size 51x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (1948,0) size 388x164
+        RenderText {#text} at (9,0) size 378x163
+          text run at (9,0) width 155: "6 Lorem ipsum dolor sit"
+          text run at (27,0) width 112: "amet, consectetur"
+          text run at (45,0) width 144: "adipisicing elit, sed do"
+          text run at (63,0) width 104: "eiusmod tempor"
+          text run at (81,0) width 141: "incididunt ut labore et"
+          text run at (99,0) width 155: "dolore magna aliqua. Ut"
+          text run at (117,0) width 152: "enim ad minim veniam,"
+          text run at (135,0) width 159: "quis nostrud exercitation"
+          text run at (153,0) width 143: "ullamco laboris nisi ut"
+          text run at (171,0) width 150: "aliquip ex ea commodo"
+          text run at (189,0) width 133: "consequat. Duis aute"
+          text run at (207,0) width 85: "irure dolor in"
+          text run at (225,0) width 102: "reprehenderit in"
+          text run at (243,0) width 123: "voluptate velit esse"
+          text run at (261,0) width 147: "cillum dolore eu fugiat"
+          text run at (279,0) width 158: "nulla pariatur. Excepteur"
+          text run at (297,0) width 145: "sint occaecat cupidatat"
+          text run at (315,0) width 133: "non proident, sunt in"
+          text run at (333,0) width 163: "culpa qui officia deserunt"
+          text run at (351,0) width 113: "mollit anim id est"
+          text run at (369,0) width 58: "laborum."
+      RenderBlock {DIV} at (2347,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (2412,0) size 348x164
+        RenderText {#text} at (7,0) size 341x163
+          text run at (7,0) width 145: "7 Lorem ipsum dolor sit"
+          text run at (25,0) width 105: "amet, consectetur"
+          text run at (43,0) width 135: "adipisicing elit, sed do"
+          text run at (61,0) width 162: "eiusmod tempor incididunt"
+          text run at (79,0) width 154: "ut labore et dolore magna"
+          text run at (97,0) width 154: "aliqua. Ut enim ad minim"
+          text run at (115,0) width 126: "veniam, quis nostrud"
+          text run at (133,0) width 123: "exercitation ullamco"
+          text run at (151,0) width 163: "laboris nisi ut aliquip ex ea"
+          text run at (169,0) width 160: "commodo consequat. Duis"
+          text run at (187,0) width 108: "aute irure dolor in"
+          text run at (205,0) width 155: "reprehenderit in voluptate"
+          text run at (223,0) width 158: "velit esse cillum dolore eu"
+          text run at (241,0) width 123: "fugiat nulla pariatur."
+          text run at (259,0) width 142: "Excepteur sint occaecat"
+          text run at (277,0) width 139: "cupidatat non proident,"
+          text run at (295,0) width 142: "sunt in culpa qui officia"
+          text run at (313,0) width 160: "deserunt mollit anim id est"
+          text run at (331,0) width 54: "laborum."
+      RenderBlock {DIV} at (2775,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (2839,0) size 328x164
+        RenderText {#text} at (12,0) size 316x163
+          text run at (12,0) width 136: "8 Lorem ipsum dolor sit"
+          text run at (30,0) width 163: "amet, consectetur adipisicing"
+          text run at (48,0) width 156: "elit, sed do eiusmod tempor"
+          text run at (66,0) width 163: "incididunt ut labore et dolore"
+          text run at (84,0) width 145: "magna aliqua. Ut enim ad"
+          text run at (102,0) width 158: "minim veniam, quis nostrud"
+          text run at (120,0) width 157: "exercitation ullamco laboris"
+          text run at (138,0) width 110: "nisi ut aliquip ex ea"
+          text run at (156,0) width 149: "commodo consequat. Duis"
+          text run at (174,0) width 101: "aute irure dolor in"
+          text run at (192,0) width 145: "reprehenderit in voluptate"
+          text run at (210,0) width 147: "velit esse cillum dolore eu"
+          text run at (228,0) width 114: "fugiat nulla pariatur."
+          text run at (246,0) width 133: "Excepteur sint occaecat"
+          text run at (264,0) width 157: "cupidatat non proident, sunt"
+          text run at (293,0) width 157: "in culpa qui officia deserunt"
+          text run at (310,0) width 153: "mollit anim id est laborum."
diff --git a/LayoutTests/platform/mac/fast/multicol/pagination/BottomToTopGrid-tb-expected.png b/LayoutTests/platform/mac/fast/multicol/pagination/BottomToTopGrid-tb-expected.png
new file mode 100644 (file)
index 0000000..adbc09b
Binary files /dev/null and b/LayoutTests/platform/mac/fast/multicol/pagination/BottomToTopGrid-tb-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/multicol/pagination/BottomToTopGrid-tb-expected.txt b/LayoutTests/platform/mac/fast/multicol/pagination/BottomToTopGrid-tb-expected.txt
new file mode 100644 (file)
index 0000000..db81828
--- /dev/null
@@ -0,0 +1,62 @@
+layer at (0,0) size 785x600
+  RenderView at (0,0) size 785x600
+    RenderMultiColumnSet at (0,0) size 785x600
+layer at (0,0) size 785x1201 backgroundClip at (0,0) size 785x600 clip at (0,0) size 785x600 outlineClip at (0,0) size 785x600
+  RenderMultiColumnFlowThread at (0,0) size 785x1201
+layer at (0,0) size 785x1201 backgroundClip at (0,0) size 785x600 clip at (0,0) size 785x600 outlineClip at (0,0) size 785x600
+  RenderBlock {HTML} at (0,0) size 785x1201
+    RenderBody {BODY} at (8,8) size 769x1179
+      RenderBlock {DIV} at (0,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,61) size 769x54
+        RenderText {#text} at (0,5) size 741x49
+          text run at (0,5) width 735: "1 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud"
+          text run at (0,23) width 741: "exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."
+          text run at (0,41) width 478: "Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (0,126) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,188) size 769x54
+        RenderText {#text} at (0,4) size 763x50
+          text run at (0,4) width 763: "2 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis"
+          text run at (0,22) width 746: "nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu"
+          text run at (0,40) width 622: "fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (0,254) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,317) size 769x69
+        RenderText {#text} at (0,0) size 765x69
+          text run at (0,0) width 756: "3 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim"
+          text run at (0,18) width 765: "veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit"
+          text run at (0,36) width 737: "esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est"
+          text run at (0,54) width 47: "laborum."
+      RenderBlock {DIV} at (0,398) size 50x51 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,462) size 769x88
+        RenderText {#text} at (0,16) size 758x71
+          text run at (0,16) width 758: "4 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim"
+          text run at (0,34) width 704: "ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in"
+          text run at (0,52) width 757: "reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa"
+          text run at (0,70) width 264: "qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (0,563) size 50x51 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,628) size 769x84
+        RenderText {#text} at (0,12) size 759x71
+          text run at (0,12) width 759: "5 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
+          text run at (0,30) width 756: "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure"
+          text run at (0,48) width 724: "dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non"
+          text run at (0,66) width 421: "proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (0,712) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,778) size 769x78
+        RenderText {#text} at (0,6) size 763x72
+          text run at (0,6) width 763: "6 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna"
+          text run at (0,24) width 754: "aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat."
+          text run at (0,42) width 721: "Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint"
+          text run at (0,60) width 599: "occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (0,872) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,937) size 769x80
+        RenderText {#text} at (0,9) size 759x71
+          text run at (0,9) width 759: "7 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
+          text run at (0,27) width 756: "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure"
+          text run at (0,45) width 724: "dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non"
+          text run at (0,63) width 421: "proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (0,1032) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,1096) size 769x83
+        RenderText {#text} at (0,12) size 758x71
+          text run at (0,12) width 758: "8 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim"
+          text run at (0,30) width 704: "ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in"
+          text run at (0,48) width 757: "reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa"
+          text run at (0,66) width 264: "qui officia deserunt mollit anim id est laborum."
index c3fa3ba..50d34b3 100644 (file)
Binary files a/LayoutTests/platform/mac/fast/multicol/pagination/LeftToRight-bt-expected.png and b/LayoutTests/platform/mac/fast/multicol/pagination/LeftToRight-bt-expected.png differ
index 5c6e0e7..e063d0b 100644 (file)
Binary files a/LayoutTests/platform/mac/fast/multicol/pagination/LeftToRight-lr-expected.png and b/LayoutTests/platform/mac/fast/multicol/pagination/LeftToRight-lr-expected.png differ
index b1c5a62..216c2a5 100644 (file)
Binary files a/LayoutTests/platform/mac/fast/multicol/pagination/LeftToRight-rl-expected.png and b/LayoutTests/platform/mac/fast/multicol/pagination/LeftToRight-rl-expected.png differ
index 688dda8..a4d254b 100644 (file)
Binary files a/LayoutTests/platform/mac/fast/multicol/pagination/LeftToRight-tb-expected.png and b/LayoutTests/platform/mac/fast/multicol/pagination/LeftToRight-tb-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/multicol/pagination/LeftToRightGrid-bt-expected.png b/LayoutTests/platform/mac/fast/multicol/pagination/LeftToRightGrid-bt-expected.png
new file mode 100644 (file)
index 0000000..0990d37
Binary files /dev/null and b/LayoutTests/platform/mac/fast/multicol/pagination/LeftToRightGrid-bt-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/multicol/pagination/LeftToRightGrid-bt-expected.txt b/LayoutTests/platform/mac/fast/multicol/pagination/LeftToRightGrid-bt-expected.txt
new file mode 100644 (file)
index 0000000..c38efdc
--- /dev/null
@@ -0,0 +1,170 @@
+layer at (0,0) size 1180x585
+  RenderView at (0,0) size 800x585
+    RenderMultiColumnSet at (0,0) size 800x585
+layer at (0,-2622) size 180x3208 backgroundClip at (0,0) size 1180x585 clip at (0,0) size 1180x585 outlineClip at (0,0) size 1180x585
+  RenderMultiColumnFlowThread at (0,0) size 180x3208
+layer at (0,-2622) size 180x3208 backgroundClip at (0,0) size 1180x585 clip at (0,0) size 1180x585 outlineClip at (0,0) size 1180x585
+  RenderBlock {HTML} at (0,0) size 180x3208
+    RenderBody {BODY} at (8,8) size 164x3186
+      RenderBlock {DIV} at (0,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,61) size 164x252
+        RenderText {#text} at (0,5) size 161x247
+          text run at (0,5) width 134: "1 Lorem ipsum dolor sit amet,"
+          text run at (0,23) width 152: "consectetur adipisicing elit, sed do"
+          text run at (0,41) width 161: "eiusmod tempor incididunt ut labore"
+          text run at (0,59) width 155: "et dolore magna aliqua. Ut enim ad"
+          text run at (0,77) width 124: "minim veniam, quis nostrud"
+          text run at (0,95) width 153: "exercitation ullamco laboris nisi ut"
+          text run at (0,113) width 153: "aliquip ex ea commodo consequat."
+          text run at (0,131) width 103: "Duis aute irure dolor in"
+          text run at (0,149) width 157: "reprehenderit in voluptate velit esse"
+          text run at (0,167) width 126: "cillum dolore eu fugiat nulla"
+          text run at (0,185) width 143: "pariatur. Excepteur sint occaecat"
+          text run at (0,203) width 161: "cupidatat non proident, sunt in culpa"
+          text run at (0,221) width 151: "qui officia deserunt mollit anim id"
+          text run at (0,239) width 55: "est laborum."
+      RenderBlock {DIV} at (0,324) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,386) size 164x279
+        RenderText {#text} at (0,4) size 164x275
+          text run at (0,4) width 146: "2 Lorem ipsum dolor sit amet,"
+          text run at (0,22) width 151: "consectetur adipisicing elit, sed"
+          text run at (0,40) width 157: "do eiusmod tempor incididunt ut"
+          text run at (0,58) width 161: "labore et dolore magna aliqua. Ut"
+          text run at (0,76) width 137: "enim ad minim veniam, quis"
+          text run at (0,94) width 138: "nostrud exercitation ullamco"
+          text run at (0,112) width 130: "laboris nisi ut aliquip ex ea"
+          text run at (0,130) width 151: "commodo consequat. Duis aute"
+          text run at (0,148) width 143: "irure dolor in reprehenderit in"
+          text run at (0,166) width 160: "voluptate velit esse cillum dolore"
+          text run at (0,193) width 164: "eu fugiat nulla pariatur. Excepteur"
+          text run at (0,211) width 130: "sint occaecat cupidatat non"
+          text run at (0,229) width 160: "proident, sunt in culpa qui officia"
+          text run at (0,247) width 128: "deserunt mollit anim id est"
+          text run at (0,265) width 43: "laborum."
+      RenderBlock {DIV} at (0,677) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,740) size 164x285
+        RenderText {#text} at (0,0) size 164x285
+          text run at (0,0) width 158: "3 Lorem ipsum dolor sit amet,"
+          text run at (0,18) width 164: "consectetur adipisicing elit, sed"
+          text run at (0,36) width 157: "do eiusmod tempor incididunt"
+          text run at (0,54) width 133: "ut labore et dolore magna"
+          text run at (0,72) width 134: "aliqua. Ut enim ad minim"
+          text run at (0,90) width 109: "veniam, quis nostrud"
+          text run at (0,108) width 146: "exercitation ullamco laboris"
+          text run at (0,126) width 158: "nisi ut aliquip ex ea commodo"
+          text run at (0,144) width 136: "consequat. Duis aute irure"
+          text run at (0,162) width 127: "dolor in reprehenderit in"
+          text run at (0,180) width 137: "voluptate velit esse cillum"
+          text run at (0,198) width 158: "dolore eu fugiat nulla pariatur."
+          text run at (0,216) width 123: "Excepteur sint occaecat"
+          text run at (0,234) width 159: "cupidatat non proident, sunt in"
+          text run at (0,252) width 132: "culpa qui officia deserunt"
+          text run at (0,270) width 142: "mollit anim id est laborum."
+      RenderBlock {DIV} at (0,1038) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,1102) size 164x329
+        RenderText {#text} at (0,15) size 163x314
+          text run at (0,15) width 136: "4 Lorem ipsum dolor sit"
+          text run at (0,33) width 163: "amet, consectetur adipisicing"
+          text run at (0,60) width 156: "elit, sed do eiusmod tempor"
+          text run at (0,78) width 163: "incididunt ut labore et dolore"
+          text run at (0,96) width 145: "magna aliqua. Ut enim ad"
+          text run at (0,114) width 158: "minim veniam, quis nostrud"
+          text run at (0,132) width 157: "exercitation ullamco laboris"
+          text run at (0,150) width 110: "nisi ut aliquip ex ea"
+          text run at (0,168) width 149: "commodo consequat. Duis"
+          text run at (0,186) width 101: "aute irure dolor in"
+          text run at (0,204) width 145: "reprehenderit in voluptate"
+          text run at (0,222) width 147: "velit esse cillum dolore eu"
+          text run at (0,240) width 114: "fugiat nulla pariatur."
+          text run at (0,258) width 133: "Excepteur sint occaecat"
+          text run at (0,276) width 157: "cupidatat non proident, sunt"
+          text run at (0,294) width 157: "in culpa qui officia deserunt"
+          text run at (0,312) width 153: "mollit anim id est laborum."
+      RenderBlock {DIV} at (0,1444) size 50x51 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,1509) size 164x364
+        RenderText {#text} at (0,13) size 163x350
+          text run at (0,13) width 145: "5 Lorem ipsum dolor sit"
+          text run at (0,31) width 105: "amet, consectetur"
+          text run at (0,49) width 135: "adipisicing elit, sed do"
+          text run at (0,67) width 162: "eiusmod tempor incididunt"
+          text run at (0,85) width 154: "ut labore et dolore magna"
+          text run at (0,103) width 154: "aliqua. Ut enim ad minim"
+          text run at (0,121) width 126: "veniam, quis nostrud"
+          text run at (0,139) width 123: "exercitation ullamco"
+          text run at (0,157) width 163: "laboris nisi ut aliquip ex ea"
+          text run at (0,175) width 160: "commodo consequat. Duis"
+          text run at (0,193) width 108: "aute irure dolor in"
+          text run at (0,211) width 155: "reprehenderit in voluptate"
+          text run at (0,238) width 158: "velit esse cillum dolore eu"
+          text run at (0,256) width 123: "fugiat nulla pariatur."
+          text run at (0,274) width 142: "Excepteur sint occaecat"
+          text run at (0,292) width 139: "cupidatat non proident,"
+          text run at (0,310) width 142: "sunt in culpa qui officia"
+          text run at (0,328) width 160: "deserunt mollit anim id est"
+          text run at (0,346) width 54: "laborum."
+      RenderBlock {DIV} at (0,1887) size 50x51 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,1953) size 164x397
+        RenderText {#text} at (0,9) size 163x388
+          text run at (0,9) width 155: "6 Lorem ipsum dolor sit"
+          text run at (0,27) width 112: "amet, consectetur"
+          text run at (0,45) width 144: "adipisicing elit, sed do"
+          text run at (0,63) width 104: "eiusmod tempor"
+          text run at (0,81) width 141: "incididunt ut labore et"
+          text run at (0,99) width 155: "dolore magna aliqua. Ut"
+          text run at (0,117) width 152: "enim ad minim veniam,"
+          text run at (0,135) width 159: "quis nostrud exercitation"
+          text run at (0,153) width 143: "ullamco laboris nisi ut"
+          text run at (0,171) width 150: "aliquip ex ea commodo"
+          text run at (0,189) width 133: "consequat. Duis aute"
+          text run at (0,207) width 85: "irure dolor in"
+          text run at (0,225) width 102: "reprehenderit in"
+          text run at (0,243) width 123: "voluptate velit esse"
+          text run at (0,261) width 147: "cillum dolore eu fugiat"
+          text run at (0,279) width 158: "nulla pariatur. Excepteur"
+          text run at (0,297) width 145: "sint occaecat cupidatat"
+          text run at (0,315) width 133: "non proident, sunt in"
+          text run at (0,333) width 163: "culpa qui officia deserunt"
+          text run at (0,351) width 113: "mollit anim id est"
+          text run at (0,378) width 58: "laborum."
+      RenderBlock {DIV} at (0,2366) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,2431) size 164x350
+        RenderText {#text} at (0,9) size 163x341
+          text run at (0,9) width 145: "7 Lorem ipsum dolor sit"
+          text run at (0,27) width 105: "amet, consectetur"
+          text run at (0,45) width 135: "adipisicing elit, sed do"
+          text run at (0,63) width 162: "eiusmod tempor incididunt"
+          text run at (0,81) width 154: "ut labore et dolore magna"
+          text run at (0,99) width 154: "aliqua. Ut enim ad minim"
+          text run at (0,117) width 126: "veniam, quis nostrud"
+          text run at (0,135) width 123: "exercitation ullamco"
+          text run at (0,153) width 163: "laboris nisi ut aliquip ex ea"
+          text run at (0,171) width 160: "commodo consequat. Duis"
+          text run at (0,189) width 108: "aute irure dolor in"
+          text run at (0,207) width 155: "reprehenderit in voluptate"
+          text run at (0,225) width 158: "velit esse cillum dolore eu"
+          text run at (0,243) width 123: "fugiat nulla pariatur."
+          text run at (0,261) width 142: "Excepteur sint occaecat"
+          text run at (0,279) width 139: "cupidatat non proident,"
+          text run at (0,297) width 142: "sunt in culpa qui officia"
+          text run at (0,315) width 160: "deserunt mollit anim id est"
+          text run at (0,333) width 54: "laborum."
+      RenderBlock {DIV} at (0,2796) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,2860) size 164x326
+        RenderText {#text} at (0,12) size 163x314
+          text run at (0,12) width 136: "8 Lorem ipsum dolor sit"
+          text run at (0,30) width 163: "amet, consectetur adipisicing"
+          text run at (0,57) width 156: "elit, sed do eiusmod tempor"
+          text run at (0,75) width 163: "incididunt ut labore et dolore"
+          text run at (0,93) width 145: "magna aliqua. Ut enim ad"
+          text run at (0,111) width 158: "minim veniam, quis nostrud"
+          text run at (0,129) width 157: "exercitation ullamco laboris"
+          text run at (0,147) width 110: "nisi ut aliquip ex ea"
+          text run at (0,165) width 149: "commodo consequat. Duis"
+          text run at (0,183) width 101: "aute irure dolor in"
+          text run at (0,201) width 145: "reprehenderit in voluptate"
+          text run at (0,219) width 147: "velit esse cillum dolore eu"
+          text run at (0,237) width 114: "fugiat nulla pariatur."
+          text run at (0,255) width 133: "Excepteur sint occaecat"
+          text run at (0,273) width 157: "cupidatat non proident, sunt"
+          text run at (0,291) width 157: "in culpa qui officia deserunt"
+          text run at (0,309) width 153: "mollit anim id est laborum."
diff --git a/LayoutTests/platform/mac/fast/multicol/pagination/LeftToRightGrid-lr-expected.png b/LayoutTests/platform/mac/fast/multicol/pagination/LeftToRightGrid-lr-expected.png
new file mode 100644 (file)
index 0000000..828ec58
Binary files /dev/null and b/LayoutTests/platform/mac/fast/multicol/pagination/LeftToRightGrid-lr-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/multicol/pagination/LeftToRightGrid-lr-expected.txt b/LayoutTests/platform/mac/fast/multicol/pagination/LeftToRightGrid-lr-expected.txt
new file mode 100644 (file)
index 0000000..70e0b6c
--- /dev/null
@@ -0,0 +1,71 @@
+layer at (0,0) size 1580x585
+  RenderView at (0,0) size 800x585
+    RenderMultiColumnSet at (0,0) size 800x585
+layer at (0,0) size 1364x585
+  RenderMultiColumnFlowThread at (0,0) size 1364x585
+layer at (0,0) size 1364x585
+  RenderBlock {HTML} at (0,0) size 1364x585
+    RenderBody {BODY} at (8,8) size 1342x569
+      RenderBlock {DIV} at (0,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (61,0) size 72x569
+        RenderText {#text} at (5,0) size 67x557
+          text run at (5,0) width 557: "1 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
+          text run at (23,0) width 554: "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure"
+          text run at (41,0) width 531: "dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non"
+          text run at (59,0) width 309: "proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (144,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (206,0) size 72x569
+        RenderText {#text} at (4,0) size 68x547
+          text run at (4,0) width 537: "2 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore"
+          text run at (22,0) width 547: "magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo"
+          text run at (40,0) width 523: "consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."
+          text run at (58,0) width 521: "Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (290,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (352,0) size 89x569
+        RenderText {#text} at (1,0) size 88x561
+          text run at (1,0) width 546: "3 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et"
+          text run at (20,0) width 559: "dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex"
+          text run at (38,0) width 561: "ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat"
+          text run at (56,0) width 559: "nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim"
+          text run at (74,0) width 78: "id est laborum."
+      RenderBlock {DIV} at (453,0) size 51x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (517,0) size 105x569
+        RenderText {#text} at (15,0) size 89x556
+          text run at (15,0) width 536: "4 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut"
+          text run at (33,0) width 556: "labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris"
+          text run at (51,0) width 543: "nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit"
+          text run at (69,0) width 546: "esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in"
+          text run at (87,0) width 298: "culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (635,0) size 51x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (700,0) size 102x569
+        RenderText {#text} at (12,0) size 89x567
+          text run at (12,0) width 558: "5 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt"
+          text run at (30,0) width 567: "ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco"
+          text run at (48,0) width 537: "laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in"
+          text run at (66,0) width 547: "voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat"
+          text run at (84,0) width 447: "non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (816,0) size 51x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (882,0) size 118x569
+        RenderText {#text} at (9,0) size 109x559
+          text run at (9,0) width 527: "6 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor"
+          text run at (28,0) width 539: "incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud"
+          text run at (46,0) width 547: "exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure"
+          text run at (64,0) width 526: "dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."
+          text run at (82,0) width 559: "Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit"
+          text run at (100,0) width 132: "anim id est laborum."
+      RenderBlock {DIV} at (1016,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (1072,0) size 90x569
+        RenderText {#text} at (0,0) size 90x567
+          text run at (0,0) width 559: "7 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt"
+          text run at (19,0) width 567: "ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco"
+          text run at (37,0) width 537: "laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in"
+          text run at (55,0) width 547: "voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat"
+          text run at (73,0) width 447: "non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (1176,0) size 51x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (1240,0) size 102x569
+        RenderText {#text} at (12,0) size 89x556
+          text run at (12,0) width 536: "8 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut"
+          text run at (30,0) width 556: "labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris"
+          text run at (48,0) width 543: "nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit"
+          text run at (66,0) width 546: "esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in"
+          text run at (84,0) width 298: "culpa qui officia deserunt mollit anim id est laborum."
diff --git a/LayoutTests/platform/mac/fast/multicol/pagination/LeftToRightGrid-rl-expected.png b/LayoutTests/platform/mac/fast/multicol/pagination/LeftToRightGrid-rl-expected.png
new file mode 100644 (file)
index 0000000..d001692
Binary files /dev/null and b/LayoutTests/platform/mac/fast/multicol/pagination/LeftToRightGrid-rl-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/multicol/pagination/LeftToRightGrid-rl-expected.txt b/LayoutTests/platform/mac/fast/multicol/pagination/LeftToRightGrid-rl-expected.txt
new file mode 100644 (file)
index 0000000..2a6c88b
--- /dev/null
@@ -0,0 +1,71 @@
+layer at (0,0) size 800x585
+  RenderView at (0,0) size 800x585
+    RenderMultiColumnSet at (0,0) size 800x585
+layer at (-599,0) size 1399x585 backgroundClip at (0,0) size 800x585 clip at (0,0) size 800x585 outlineClip at (0,0) size 800x585
+  RenderMultiColumnFlowThread at (0,0) size 1399x585
+layer at (-599,0) size 1399x585 backgroundClip at (0,0) size 800x585 clip at (0,0) size 800x585 outlineClip at (0,0) size 800x585
+  RenderBlock {HTML} at (0,0) size 1399x585
+    RenderBody {BODY} at (8,8) size 1377x569
+      RenderBlock {DIV} at (0,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (61,0) size 72x569
+        RenderText {#text} at (5,0) size 67x557
+          text run at (5,0) width 557: "1 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
+          text run at (23,0) width 554: "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure"
+          text run at (41,0) width 531: "dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non"
+          text run at (59,0) width 309: "proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (144,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (206,0) size 72x569
+        RenderText {#text} at (4,0) size 68x547
+          text run at (4,0) width 537: "2 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore"
+          text run at (22,0) width 547: "magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo"
+          text run at (40,0) width 523: "consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."
+          text run at (58,0) width 521: "Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (290,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (352,0) size 88x569
+        RenderText {#text} at (1,0) size 87x561
+          text run at (1,0) width 546: "3 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et"
+          text run at (18,0) width 559: "dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex"
+          text run at (36,0) width 562: "ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat"
+          text run at (54,0) width 559: "nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim"
+          text run at (72,0) width 79: "id est laborum."
+      RenderBlock {DIV} at (452,0) size 51x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (516,0) size 106x569
+        RenderText {#text} at (16,0) size 89x556
+          text run at (16,0) width 536: "4 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut"
+          text run at (34,0) width 556: "labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris"
+          text run at (52,0) width 543: "nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit"
+          text run at (70,0) width 546: "esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in"
+          text run at (88,0) width 298: "culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (635,0) size 51x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (700,0) size 102x569
+        RenderText {#text} at (12,0) size 89x567
+          text run at (12,0) width 558: "5 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt"
+          text run at (30,0) width 567: "ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco"
+          text run at (48,0) width 537: "laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in"
+          text run at (66,0) width 547: "voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat"
+          text run at (84,0) width 447: "non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (816,0) size 51x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (882,0) size 135x569
+        RenderText {#text} at (9,0) size 126x559
+          text run at (9,0) width 527: "6 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor"
+          text run at (44,0) width 539: "incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud"
+          text run at (62,0) width 548: "exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure"
+          text run at (80,0) width 527: "dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."
+          text run at (98,0) width 559: "Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit"
+          text run at (116,0) width 133: "anim id est laborum."
+      RenderBlock {DIV} at (1033,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (1098,0) size 99x569
+        RenderText {#text} at (10,0) size 89x567
+          text run at (10,0) width 558: "7 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt"
+          text run at (28,0) width 567: "ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco"
+          text run at (46,0) width 537: "laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in"
+          text run at (64,0) width 547: "voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat"
+          text run at (82,0) width 447: "non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (1212,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (1276,0) size 101x569
+        RenderText {#text} at (12,0) size 89x556
+          text run at (12,0) width 536: "8 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut"
+          text run at (30,0) width 556: "labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris"
+          text run at (48,0) width 543: "nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit"
+          text run at (66,0) width 546: "esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in"
+          text run at (84,0) width 298: "culpa qui officia deserunt mollit anim id est laborum."
diff --git a/LayoutTests/platform/mac/fast/multicol/pagination/LeftToRightGrid-tb-expected.png b/LayoutTests/platform/mac/fast/multicol/pagination/LeftToRightGrid-tb-expected.png
new file mode 100644 (file)
index 0000000..993ce4b
Binary files /dev/null and b/LayoutTests/platform/mac/fast/multicol/pagination/LeftToRightGrid-tb-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/multicol/pagination/LeftToRightGrid-tb-expected.txt b/LayoutTests/platform/mac/fast/multicol/pagination/LeftToRightGrid-tb-expected.txt
new file mode 100644 (file)
index 0000000..79ccbeb
--- /dev/null
@@ -0,0 +1,170 @@
+layer at (0,0) size 1180x585
+  RenderView at (0,0) size 800x585
+    RenderMultiColumnSet at (0,0) size 800x585
+layer at (0,0) size 180x3208 backgroundClip at (0,0) size 1180x585 clip at (0,0) size 1180x585 outlineClip at (0,0) size 1180x585
+  RenderMultiColumnFlowThread at (0,0) size 180x3208
+layer at (0,0) size 180x3208 backgroundClip at (0,0) size 1180x585 clip at (0,0) size 1180x585 outlineClip at (0,0) size 1180x585
+  RenderBlock {HTML} at (0,0) size 180x3208
+    RenderBody {BODY} at (8,8) size 164x3186
+      RenderBlock {DIV} at (0,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,61) size 164x252
+        RenderText {#text} at (0,5) size 161x247
+          text run at (0,5) width 134: "1 Lorem ipsum dolor sit amet,"
+          text run at (0,23) width 152: "consectetur adipisicing elit, sed do"
+          text run at (0,41) width 161: "eiusmod tempor incididunt ut labore"
+          text run at (0,59) width 155: "et dolore magna aliqua. Ut enim ad"
+          text run at (0,77) width 124: "minim veniam, quis nostrud"
+          text run at (0,95) width 153: "exercitation ullamco laboris nisi ut"
+          text run at (0,113) width 153: "aliquip ex ea commodo consequat."
+          text run at (0,131) width 103: "Duis aute irure dolor in"
+          text run at (0,149) width 157: "reprehenderit in voluptate velit esse"
+          text run at (0,167) width 126: "cillum dolore eu fugiat nulla"
+          text run at (0,185) width 143: "pariatur. Excepteur sint occaecat"
+          text run at (0,203) width 161: "cupidatat non proident, sunt in culpa"
+          text run at (0,221) width 151: "qui officia deserunt mollit anim id"
+          text run at (0,239) width 55: "est laborum."
+      RenderBlock {DIV} at (0,324) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,386) size 164x279
+        RenderText {#text} at (0,4) size 164x275
+          text run at (0,4) width 146: "2 Lorem ipsum dolor sit amet,"
+          text run at (0,22) width 151: "consectetur adipisicing elit, sed"
+          text run at (0,40) width 157: "do eiusmod tempor incididunt ut"
+          text run at (0,58) width 161: "labore et dolore magna aliqua. Ut"
+          text run at (0,76) width 137: "enim ad minim veniam, quis"
+          text run at (0,94) width 138: "nostrud exercitation ullamco"
+          text run at (0,112) width 130: "laboris nisi ut aliquip ex ea"
+          text run at (0,130) width 151: "commodo consequat. Duis aute"
+          text run at (0,148) width 143: "irure dolor in reprehenderit in"
+          text run at (0,166) width 160: "voluptate velit esse cillum dolore"
+          text run at (0,193) width 164: "eu fugiat nulla pariatur. Excepteur"
+          text run at (0,211) width 130: "sint occaecat cupidatat non"
+          text run at (0,229) width 160: "proident, sunt in culpa qui officia"
+          text run at (0,247) width 128: "deserunt mollit anim id est"
+          text run at (0,265) width 43: "laborum."
+      RenderBlock {DIV} at (0,677) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,740) size 164x285
+        RenderText {#text} at (0,0) size 164x285
+          text run at (0,0) width 158: "3 Lorem ipsum dolor sit amet,"
+          text run at (0,18) width 164: "consectetur adipisicing elit, sed"
+          text run at (0,36) width 157: "do eiusmod tempor incididunt"
+          text run at (0,54) width 133: "ut labore et dolore magna"
+          text run at (0,72) width 134: "aliqua. Ut enim ad minim"
+          text run at (0,90) width 109: "veniam, quis nostrud"
+          text run at (0,108) width 146: "exercitation ullamco laboris"
+          text run at (0,126) width 158: "nisi ut aliquip ex ea commodo"
+          text run at (0,144) width 136: "consequat. Duis aute irure"
+          text run at (0,162) width 127: "dolor in reprehenderit in"
+          text run at (0,180) width 137: "voluptate velit esse cillum"
+          text run at (0,198) width 158: "dolore eu fugiat nulla pariatur."
+          text run at (0,216) width 123: "Excepteur sint occaecat"
+          text run at (0,234) width 159: "cupidatat non proident, sunt in"
+          text run at (0,252) width 132: "culpa qui officia deserunt"
+          text run at (0,270) width 142: "mollit anim id est laborum."
+      RenderBlock {DIV} at (0,1038) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,1102) size 164x329
+        RenderText {#text} at (0,15) size 163x314
+          text run at (0,15) width 136: "4 Lorem ipsum dolor sit"
+          text run at (0,33) width 163: "amet, consectetur adipisicing"
+          text run at (0,60) width 156: "elit, sed do eiusmod tempor"
+          text run at (0,78) width 163: "incididunt ut labore et dolore"
+          text run at (0,96) width 145: "magna aliqua. Ut enim ad"
+          text run at (0,114) width 158: "minim veniam, quis nostrud"
+          text run at (0,132) width 157: "exercitation ullamco laboris"
+          text run at (0,150) width 110: "nisi ut aliquip ex ea"
+          text run at (0,168) width 149: "commodo consequat. Duis"
+          text run at (0,186) width 101: "aute irure dolor in"
+          text run at (0,204) width 145: "reprehenderit in voluptate"
+          text run at (0,222) width 147: "velit esse cillum dolore eu"
+          text run at (0,240) width 114: "fugiat nulla pariatur."
+          text run at (0,258) width 133: "Excepteur sint occaecat"
+          text run at (0,276) width 157: "cupidatat non proident, sunt"
+          text run at (0,294) width 157: "in culpa qui officia deserunt"
+          text run at (0,312) width 153: "mollit anim id est laborum."
+      RenderBlock {DIV} at (0,1444) size 50x51 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,1509) size 164x364
+        RenderText {#text} at (0,13) size 163x350
+          text run at (0,13) width 145: "5 Lorem ipsum dolor sit"
+          text run at (0,31) width 105: "amet, consectetur"
+          text run at (0,49) width 135: "adipisicing elit, sed do"
+          text run at (0,67) width 162: "eiusmod tempor incididunt"
+          text run at (0,85) width 154: "ut labore et dolore magna"
+          text run at (0,103) width 154: "aliqua. Ut enim ad minim"
+          text run at (0,121) width 126: "veniam, quis nostrud"
+          text run at (0,139) width 123: "exercitation ullamco"
+          text run at (0,157) width 163: "laboris nisi ut aliquip ex ea"
+          text run at (0,175) width 160: "commodo consequat. Duis"
+          text run at (0,193) width 108: "aute irure dolor in"
+          text run at (0,211) width 155: "reprehenderit in voluptate"
+          text run at (0,238) width 158: "velit esse cillum dolore eu"
+          text run at (0,256) width 123: "fugiat nulla pariatur."
+          text run at (0,274) width 142: "Excepteur sint occaecat"
+          text run at (0,292) width 139: "cupidatat non proident,"
+          text run at (0,310) width 142: "sunt in culpa qui officia"
+          text run at (0,328) width 160: "deserunt mollit anim id est"
+          text run at (0,346) width 54: "laborum."
+      RenderBlock {DIV} at (0,1887) size 50x51 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,1953) size 164x397
+        RenderText {#text} at (0,9) size 163x388
+          text run at (0,9) width 155: "6 Lorem ipsum dolor sit"
+          text run at (0,27) width 112: "amet, consectetur"
+          text run at (0,45) width 144: "adipisicing elit, sed do"
+          text run at (0,63) width 104: "eiusmod tempor"
+          text run at (0,81) width 141: "incididunt ut labore et"
+          text run at (0,99) width 155: "dolore magna aliqua. Ut"
+          text run at (0,117) width 152: "enim ad minim veniam,"
+          text run at (0,135) width 159: "quis nostrud exercitation"
+          text run at (0,153) width 143: "ullamco laboris nisi ut"
+          text run at (0,171) width 150: "aliquip ex ea commodo"
+          text run at (0,189) width 133: "consequat. Duis aute"
+          text run at (0,207) width 85: "irure dolor in"
+          text run at (0,225) width 102: "reprehenderit in"
+          text run at (0,243) width 123: "voluptate velit esse"
+          text run at (0,261) width 147: "cillum dolore eu fugiat"
+          text run at (0,279) width 158: "nulla pariatur. Excepteur"
+          text run at (0,297) width 145: "sint occaecat cupidatat"
+          text run at (0,315) width 133: "non proident, sunt in"
+          text run at (0,333) width 163: "culpa qui officia deserunt"
+          text run at (0,351) width 113: "mollit anim id est"
+          text run at (0,378) width 58: "laborum."
+      RenderBlock {DIV} at (0,2366) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,2431) size 164x350
+        RenderText {#text} at (0,9) size 163x341
+          text run at (0,9) width 145: "7 Lorem ipsum dolor sit"
+          text run at (0,27) width 105: "amet, consectetur"
+          text run at (0,45) width 135: "adipisicing elit, sed do"
+          text run at (0,63) width 162: "eiusmod tempor incididunt"
+          text run at (0,81) width 154: "ut labore et dolore magna"
+          text run at (0,99) width 154: "aliqua. Ut enim ad minim"
+          text run at (0,117) width 126: "veniam, quis nostrud"
+          text run at (0,135) width 123: "exercitation ullamco"
+          text run at (0,153) width 163: "laboris nisi ut aliquip ex ea"
+          text run at (0,171) width 160: "commodo consequat. Duis"
+          text run at (0,189) width 108: "aute irure dolor in"
+          text run at (0,207) width 155: "reprehenderit in voluptate"
+          text run at (0,225) width 158: "velit esse cillum dolore eu"
+          text run at (0,243) width 123: "fugiat nulla pariatur."
+          text run at (0,261) width 142: "Excepteur sint occaecat"
+          text run at (0,279) width 139: "cupidatat non proident,"
+          text run at (0,297) width 142: "sunt in culpa qui officia"
+          text run at (0,315) width 160: "deserunt mollit anim id est"
+          text run at (0,333) width 54: "laborum."
+      RenderBlock {DIV} at (0,2796) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,2860) size 164x326
+        RenderText {#text} at (0,12) size 163x314
+          text run at (0,12) width 136: "8 Lorem ipsum dolor sit"
+          text run at (0,30) width 163: "amet, consectetur adipisicing"
+          text run at (0,57) width 156: "elit, sed do eiusmod tempor"
+          text run at (0,75) width 163: "incididunt ut labore et dolore"
+          text run at (0,93) width 145: "magna aliqua. Ut enim ad"
+          text run at (0,111) width 158: "minim veniam, quis nostrud"
+          text run at (0,129) width 157: "exercitation ullamco laboris"
+          text run at (0,147) width 110: "nisi ut aliquip ex ea"
+          text run at (0,165) width 149: "commodo consequat. Duis"
+          text run at (0,183) width 101: "aute irure dolor in"
+          text run at (0,201) width 145: "reprehenderit in voluptate"
+          text run at (0,219) width 147: "velit esse cillum dolore eu"
+          text run at (0,237) width 114: "fugiat nulla pariatur."
+          text run at (0,255) width 133: "Excepteur sint occaecat"
+          text run at (0,273) width 157: "cupidatat non proident, sunt"
+          text run at (0,291) width 157: "in culpa qui officia deserunt"
+          text run at (0,309) width 153: "mollit anim id est laborum."
index ed2f5ee..f292132 100644 (file)
Binary files a/LayoutTests/platform/mac/fast/multicol/pagination/RightToLeft-bt-expected.png and b/LayoutTests/platform/mac/fast/multicol/pagination/RightToLeft-bt-expected.png differ
index 2798ee5..8a75b6d 100644 (file)
Binary files a/LayoutTests/platform/mac/fast/multicol/pagination/RightToLeft-lr-expected.png and b/LayoutTests/platform/mac/fast/multicol/pagination/RightToLeft-lr-expected.png differ
index 3a79617..e3bc059 100644 (file)
Binary files a/LayoutTests/platform/mac/fast/multicol/pagination/RightToLeft-max-width-expected.png and b/LayoutTests/platform/mac/fast/multicol/pagination/RightToLeft-max-width-expected.png differ
index e9ebf66..62eee0a 100644 (file)
Binary files a/LayoutTests/platform/mac/fast/multicol/pagination/RightToLeft-rl-dynamic-expected.png and b/LayoutTests/platform/mac/fast/multicol/pagination/RightToLeft-rl-dynamic-expected.png differ
index e9ebf66..62eee0a 100644 (file)
Binary files a/LayoutTests/platform/mac/fast/multicol/pagination/RightToLeft-rl-expected.png and b/LayoutTests/platform/mac/fast/multicol/pagination/RightToLeft-rl-expected.png differ
index a088f10..61e73c1 100644 (file)
Binary files a/LayoutTests/platform/mac/fast/multicol/pagination/RightToLeft-tb-expected.png and b/LayoutTests/platform/mac/fast/multicol/pagination/RightToLeft-tb-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/multicol/pagination/RightToLeftGrid-bt-expected.png b/LayoutTests/platform/mac/fast/multicol/pagination/RightToLeftGrid-bt-expected.png
new file mode 100644 (file)
index 0000000..cdc8bd7
Binary files /dev/null and b/LayoutTests/platform/mac/fast/multicol/pagination/RightToLeftGrid-bt-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/multicol/pagination/RightToLeftGrid-bt-expected.txt b/LayoutTests/platform/mac/fast/multicol/pagination/RightToLeftGrid-bt-expected.txt
new file mode 100644 (file)
index 0000000..fa28494
--- /dev/null
@@ -0,0 +1,170 @@
+layer at (0,0) size 800x585
+  RenderView at (0,0) size 800x585
+    RenderMultiColumnSet at (0,0) size 800x585
+layer at (0,-2622) size 180x3208 backgroundClip at (0,0) size 800x585 clip at (0,0) size 800x585 outlineClip at (0,0) size 800x585
+  RenderMultiColumnFlowThread at (0,0) size 180x3208
+layer at (0,-2622) size 180x3208 backgroundClip at (0,0) size 800x585 clip at (0,0) size 800x585 outlineClip at (0,0) size 800x585
+  RenderBlock {HTML} at (0,0) size 180x3208
+    RenderBody {BODY} at (8,8) size 164x3186
+      RenderBlock {DIV} at (0,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,61) size 164x252
+        RenderText {#text} at (0,5) size 161x247
+          text run at (0,5) width 134: "1 Lorem ipsum dolor sit amet,"
+          text run at (0,23) width 152: "consectetur adipisicing elit, sed do"
+          text run at (0,41) width 161: "eiusmod tempor incididunt ut labore"
+          text run at (0,59) width 155: "et dolore magna aliqua. Ut enim ad"
+          text run at (0,77) width 124: "minim veniam, quis nostrud"
+          text run at (0,95) width 153: "exercitation ullamco laboris nisi ut"
+          text run at (0,113) width 153: "aliquip ex ea commodo consequat."
+          text run at (0,131) width 103: "Duis aute irure dolor in"
+          text run at (0,149) width 157: "reprehenderit in voluptate velit esse"
+          text run at (0,167) width 126: "cillum dolore eu fugiat nulla"
+          text run at (0,185) width 143: "pariatur. Excepteur sint occaecat"
+          text run at (0,203) width 161: "cupidatat non proident, sunt in culpa"
+          text run at (0,221) width 151: "qui officia deserunt mollit anim id"
+          text run at (0,239) width 55: "est laborum."
+      RenderBlock {DIV} at (0,324) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,386) size 164x279
+        RenderText {#text} at (0,4) size 164x275
+          text run at (0,4) width 146: "2 Lorem ipsum dolor sit amet,"
+          text run at (0,22) width 151: "consectetur adipisicing elit, sed"
+          text run at (0,40) width 157: "do eiusmod tempor incididunt ut"
+          text run at (0,58) width 161: "labore et dolore magna aliqua. Ut"
+          text run at (0,76) width 137: "enim ad minim veniam, quis"
+          text run at (0,94) width 138: "nostrud exercitation ullamco"
+          text run at (0,112) width 130: "laboris nisi ut aliquip ex ea"
+          text run at (0,130) width 151: "commodo consequat. Duis aute"
+          text run at (0,148) width 143: "irure dolor in reprehenderit in"
+          text run at (0,166) width 160: "voluptate velit esse cillum dolore"
+          text run at (0,193) width 164: "eu fugiat nulla pariatur. Excepteur"
+          text run at (0,211) width 130: "sint occaecat cupidatat non"
+          text run at (0,229) width 160: "proident, sunt in culpa qui officia"
+          text run at (0,247) width 128: "deserunt mollit anim id est"
+          text run at (0,265) width 43: "laborum."
+      RenderBlock {DIV} at (0,677) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,740) size 164x285
+        RenderText {#text} at (0,0) size 164x285
+          text run at (0,0) width 158: "3 Lorem ipsum dolor sit amet,"
+          text run at (0,18) width 164: "consectetur adipisicing elit, sed"
+          text run at (0,36) width 157: "do eiusmod tempor incididunt"
+          text run at (0,54) width 133: "ut labore et dolore magna"
+          text run at (0,72) width 134: "aliqua. Ut enim ad minim"
+          text run at (0,90) width 109: "veniam, quis nostrud"
+          text run at (0,108) width 146: "exercitation ullamco laboris"
+          text run at (0,126) width 158: "nisi ut aliquip ex ea commodo"
+          text run at (0,144) width 136: "consequat. Duis aute irure"
+          text run at (0,162) width 127: "dolor in reprehenderit in"
+          text run at (0,180) width 137: "voluptate velit esse cillum"
+          text run at (0,198) width 158: "dolore eu fugiat nulla pariatur."
+          text run at (0,216) width 123: "Excepteur sint occaecat"
+          text run at (0,234) width 159: "cupidatat non proident, sunt in"
+          text run at (0,252) width 132: "culpa qui officia deserunt"
+          text run at (0,270) width 142: "mollit anim id est laborum."
+      RenderBlock {DIV} at (0,1038) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,1102) size 164x329
+        RenderText {#text} at (0,15) size 163x314
+          text run at (0,15) width 136: "4 Lorem ipsum dolor sit"
+          text run at (0,33) width 163: "amet, consectetur adipisicing"
+          text run at (0,60) width 156: "elit, sed do eiusmod tempor"
+          text run at (0,78) width 163: "incididunt ut labore et dolore"
+          text run at (0,96) width 145: "magna aliqua. Ut enim ad"
+          text run at (0,114) width 158: "minim veniam, quis nostrud"
+          text run at (0,132) width 157: "exercitation ullamco laboris"
+          text run at (0,150) width 110: "nisi ut aliquip ex ea"
+          text run at (0,168) width 149: "commodo consequat. Duis"
+          text run at (0,186) width 101: "aute irure dolor in"
+          text run at (0,204) width 145: "reprehenderit in voluptate"
+          text run at (0,222) width 147: "velit esse cillum dolore eu"
+          text run at (0,240) width 114: "fugiat nulla pariatur."
+          text run at (0,258) width 133: "Excepteur sint occaecat"
+          text run at (0,276) width 157: "cupidatat non proident, sunt"
+          text run at (0,294) width 157: "in culpa qui officia deserunt"
+          text run at (0,312) width 153: "mollit anim id est laborum."
+      RenderBlock {DIV} at (0,1444) size 50x51 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,1509) size 164x364
+        RenderText {#text} at (0,13) size 163x350
+          text run at (0,13) width 145: "5 Lorem ipsum dolor sit"
+          text run at (0,31) width 105: "amet, consectetur"
+          text run at (0,49) width 135: "adipisicing elit, sed do"
+          text run at (0,67) width 162: "eiusmod tempor incididunt"
+          text run at (0,85) width 154: "ut labore et dolore magna"
+          text run at (0,103) width 154: "aliqua. Ut enim ad minim"
+          text run at (0,121) width 126: "veniam, quis nostrud"
+          text run at (0,139) width 123: "exercitation ullamco"
+          text run at (0,157) width 163: "laboris nisi ut aliquip ex ea"
+          text run at (0,175) width 160: "commodo consequat. Duis"
+          text run at (0,193) width 108: "aute irure dolor in"
+          text run at (0,211) width 155: "reprehenderit in voluptate"
+          text run at (0,238) width 158: "velit esse cillum dolore eu"
+          text run at (0,256) width 123: "fugiat nulla pariatur."
+          text run at (0,274) width 142: "Excepteur sint occaecat"
+          text run at (0,292) width 139: "cupidatat non proident,"
+          text run at (0,310) width 142: "sunt in culpa qui officia"
+          text run at (0,328) width 160: "deserunt mollit anim id est"
+          text run at (0,346) width 54: "laborum."
+      RenderBlock {DIV} at (0,1887) size 50x51 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,1953) size 164x397
+        RenderText {#text} at (0,9) size 163x388
+          text run at (0,9) width 155: "6 Lorem ipsum dolor sit"
+          text run at (0,27) width 112: "amet, consectetur"
+          text run at (0,45) width 144: "adipisicing elit, sed do"
+          text run at (0,63) width 104: "eiusmod tempor"
+          text run at (0,81) width 141: "incididunt ut labore et"
+          text run at (0,99) width 155: "dolore magna aliqua. Ut"
+          text run at (0,117) width 152: "enim ad minim veniam,"
+          text run at (0,135) width 159: "quis nostrud exercitation"
+          text run at (0,153) width 143: "ullamco laboris nisi ut"
+          text run at (0,171) width 150: "aliquip ex ea commodo"
+          text run at (0,189) width 133: "consequat. Duis aute"
+          text run at (0,207) width 85: "irure dolor in"
+          text run at (0,225) width 102: "reprehenderit in"
+          text run at (0,243) width 123: "voluptate velit esse"
+          text run at (0,261) width 147: "cillum dolore eu fugiat"
+          text run at (0,279) width 158: "nulla pariatur. Excepteur"
+          text run at (0,297) width 145: "sint occaecat cupidatat"
+          text run at (0,315) width 133: "non proident, sunt in"
+          text run at (0,333) width 163: "culpa qui officia deserunt"
+          text run at (0,351) width 113: "mollit anim id est"
+          text run at (0,378) width 58: "laborum."
+      RenderBlock {DIV} at (0,2366) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,2431) size 164x350
+        RenderText {#text} at (0,9) size 163x341
+          text run at (0,9) width 145: "7 Lorem ipsum dolor sit"
+          text run at (0,27) width 105: "amet, consectetur"
+          text run at (0,45) width 135: "adipisicing elit, sed do"
+          text run at (0,63) width 162: "eiusmod tempor incididunt"
+          text run at (0,81) width 154: "ut labore et dolore magna"
+          text run at (0,99) width 154: "aliqua. Ut enim ad minim"
+          text run at (0,117) width 126: "veniam, quis nostrud"
+          text run at (0,135) width 123: "exercitation ullamco"
+          text run at (0,153) width 163: "laboris nisi ut aliquip ex ea"
+          text run at (0,171) width 160: "commodo consequat. Duis"
+          text run at (0,189) width 108: "aute irure dolor in"
+          text run at (0,207) width 155: "reprehenderit in voluptate"
+          text run at (0,225) width 158: "velit esse cillum dolore eu"
+          text run at (0,243) width 123: "fugiat nulla pariatur."
+          text run at (0,261) width 142: "Excepteur sint occaecat"
+          text run at (0,279) width 139: "cupidatat non proident,"
+          text run at (0,297) width 142: "sunt in culpa qui officia"
+          text run at (0,315) width 160: "deserunt mollit anim id est"
+          text run at (0,333) width 54: "laborum."
+      RenderBlock {DIV} at (0,2796) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,2860) size 164x326
+        RenderText {#text} at (0,12) size 163x314
+          text run at (0,12) width 136: "8 Lorem ipsum dolor sit"
+          text run at (0,30) width 163: "amet, consectetur adipisicing"
+          text run at (0,57) width 156: "elit, sed do eiusmod tempor"
+          text run at (0,75) width 163: "incididunt ut labore et dolore"
+          text run at (0,93) width 145: "magna aliqua. Ut enim ad"
+          text run at (0,111) width 158: "minim veniam, quis nostrud"
+          text run at (0,129) width 157: "exercitation ullamco laboris"
+          text run at (0,147) width 110: "nisi ut aliquip ex ea"
+          text run at (0,165) width 149: "commodo consequat. Duis"
+          text run at (0,183) width 101: "aute irure dolor in"
+          text run at (0,201) width 145: "reprehenderit in voluptate"
+          text run at (0,219) width 147: "velit esse cillum dolore eu"
+          text run at (0,237) width 114: "fugiat nulla pariatur."
+          text run at (0,255) width 133: "Excepteur sint occaecat"
+          text run at (0,273) width 157: "cupidatat non proident, sunt"
+          text run at (0,291) width 157: "in culpa qui officia deserunt"
+          text run at (0,309) width 153: "mollit anim id est laborum."
diff --git a/LayoutTests/platform/mac/fast/multicol/pagination/RightToLeftGrid-lr-expected.png b/LayoutTests/platform/mac/fast/multicol/pagination/RightToLeftGrid-lr-expected.png
new file mode 100644 (file)
index 0000000..0eff435
Binary files /dev/null and b/LayoutTests/platform/mac/fast/multicol/pagination/RightToLeftGrid-lr-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/multicol/pagination/RightToLeftGrid-lr-expected.txt b/LayoutTests/platform/mac/fast/multicol/pagination/RightToLeftGrid-lr-expected.txt
new file mode 100644 (file)
index 0000000..ca17a42
--- /dev/null
@@ -0,0 +1,71 @@
+layer at (0,0) size 800x585
+  RenderView at (0,0) size 800x585
+    RenderMultiColumnSet at (0,0) size 800x585
+layer at (0,0) size 1364x585 backgroundClip at (0,0) size 800x585 clip at (0,0) size 800x585 outlineClip at (0,0) size 800x585
+  RenderMultiColumnFlowThread at (0,0) size 1364x585
+layer at (0,0) size 1364x585 backgroundClip at (0,0) size 800x585 clip at (0,0) size 800x585 outlineClip at (0,0) size 800x585
+  RenderBlock {HTML} at (0,0) size 1364x585
+    RenderBody {BODY} at (8,8) size 1342x569
+      RenderBlock {DIV} at (0,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (61,0) size 72x569
+        RenderText {#text} at (5,0) size 67x557
+          text run at (5,0) width 557: "1 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
+          text run at (23,0) width 554: "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure"
+          text run at (41,0) width 531: "dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non"
+          text run at (59,0) width 309: "proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (144,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (206,0) size 72x569
+        RenderText {#text} at (4,0) size 68x547
+          text run at (4,0) width 537: "2 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore"
+          text run at (22,0) width 547: "magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo"
+          text run at (40,0) width 523: "consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."
+          text run at (58,0) width 521: "Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (290,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (352,0) size 89x569
+        RenderText {#text} at (1,0) size 88x561
+          text run at (1,0) width 546: "3 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et"
+          text run at (20,0) width 559: "dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex"
+          text run at (38,0) width 561: "ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat"
+          text run at (56,0) width 559: "nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim"
+          text run at (74,0) width 78: "id est laborum."
+      RenderBlock {DIV} at (453,0) size 51x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (517,0) size 105x569
+        RenderText {#text} at (15,0) size 89x556
+          text run at (15,0) width 536: "4 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut"
+          text run at (33,0) width 556: "labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris"
+          text run at (51,0) width 543: "nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit"
+          text run at (69,0) width 546: "esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in"
+          text run at (87,0) width 298: "culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (635,0) size 51x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (700,0) size 102x569
+        RenderText {#text} at (12,0) size 89x567
+          text run at (12,0) width 558: "5 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt"
+          text run at (30,0) width 567: "ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco"
+          text run at (48,0) width 537: "laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in"
+          text run at (66,0) width 547: "voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat"
+          text run at (84,0) width 447: "non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (816,0) size 51x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (882,0) size 118x569
+        RenderText {#text} at (9,0) size 109x559
+          text run at (9,0) width 527: "6 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor"
+          text run at (28,0) width 539: "incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud"
+          text run at (46,0) width 547: "exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure"
+          text run at (64,0) width 526: "dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."
+          text run at (82,0) width 559: "Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit"
+          text run at (100,0) width 132: "anim id est laborum."
+      RenderBlock {DIV} at (1016,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (1072,0) size 90x569
+        RenderText {#text} at (0,0) size 90x567
+          text run at (0,0) width 559: "7 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt"
+          text run at (19,0) width 567: "ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco"
+          text run at (37,0) width 537: "laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in"
+          text run at (55,0) width 547: "voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat"
+          text run at (73,0) width 447: "non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (1176,0) size 51x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (1240,0) size 102x569
+        RenderText {#text} at (12,0) size 89x556
+          text run at (12,0) width 536: "8 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut"
+          text run at (30,0) width 556: "labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris"
+          text run at (48,0) width 543: "nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit"
+          text run at (66,0) width 546: "esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in"
+          text run at (84,0) width 298: "culpa qui officia deserunt mollit anim id est laborum."
diff --git a/LayoutTests/platform/mac/fast/multicol/pagination/RightToLeftGrid-rl-expected.png b/LayoutTests/platform/mac/fast/multicol/pagination/RightToLeftGrid-rl-expected.png
new file mode 100644 (file)
index 0000000..bd4d44f
Binary files /dev/null and b/LayoutTests/platform/mac/fast/multicol/pagination/RightToLeftGrid-rl-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/multicol/pagination/RightToLeftGrid-rl-expected.txt b/LayoutTests/platform/mac/fast/multicol/pagination/RightToLeftGrid-rl-expected.txt
new file mode 100644 (file)
index 0000000..e45cf3d
--- /dev/null
@@ -0,0 +1,71 @@
+layer at (0,0) size 1580x585
+  RenderView at (0,0) size 800x585
+    RenderMultiColumnSet at (0,0) size 800x585
+layer at (-599,0) size 1399x585 backgroundClip at (0,0) size 1580x585 clip at (0,0) size 1580x585 outlineClip at (0,0) size 1580x585
+  RenderMultiColumnFlowThread at (0,0) size 1399x585
+layer at (-599,0) size 1399x585 backgroundClip at (0,0) size 1580x585 clip at (0,0) size 1580x585 outlineClip at (0,0) size 1580x585
+  RenderBlock {HTML} at (0,0) size 1399x585
+    RenderBody {BODY} at (8,8) size 1377x569
+      RenderBlock {DIV} at (0,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (61,0) size 72x569
+        RenderText {#text} at (5,0) size 67x557
+          text run at (5,0) width 557: "1 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
+          text run at (23,0) width 554: "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure"
+          text run at (41,0) width 531: "dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non"
+          text run at (59,0) width 309: "proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (144,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (206,0) size 72x569
+        RenderText {#text} at (4,0) size 68x547
+          text run at (4,0) width 537: "2 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore"
+          text run at (22,0) width 547: "magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo"
+          text run at (40,0) width 523: "consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."
+          text run at (58,0) width 521: "Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (290,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (352,0) size 88x569
+        RenderText {#text} at (1,0) size 87x561
+          text run at (1,0) width 546: "3 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et"
+          text run at (18,0) width 559: "dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex"
+          text run at (36,0) width 562: "ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat"
+          text run at (54,0) width 559: "nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim"
+          text run at (72,0) width 79: "id est laborum."
+      RenderBlock {DIV} at (452,0) size 51x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (516,0) size 106x569
+        RenderText {#text} at (16,0) size 89x556
+          text run at (16,0) width 536: "4 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut"
+          text run at (34,0) width 556: "labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris"
+          text run at (52,0) width 543: "nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit"
+          text run at (70,0) width 546: "esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in"
+          text run at (88,0) width 298: "culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (635,0) size 51x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (700,0) size 102x569
+        RenderText {#text} at (12,0) size 89x567
+          text run at (12,0) width 558: "5 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt"
+          text run at (30,0) width 567: "ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco"
+          text run at (48,0) width 537: "laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in"
+          text run at (66,0) width 547: "voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat"
+          text run at (84,0) width 447: "non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (816,0) size 51x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (882,0) size 135x569
+        RenderText {#text} at (9,0) size 126x559
+          text run at (9,0) width 527: "6 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor"
+          text run at (44,0) width 539: "incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud"
+          text run at (62,0) width 548: "exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure"
+          text run at (80,0) width 527: "dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."
+          text run at (98,0) width 559: "Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit"
+          text run at (116,0) width 133: "anim id est laborum."
+      RenderBlock {DIV} at (1033,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (1098,0) size 99x569
+        RenderText {#text} at (10,0) size 89x567
+          text run at (10,0) width 558: "7 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt"
+          text run at (28,0) width 567: "ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco"
+          text run at (46,0) width 537: "laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in"
+          text run at (64,0) width 547: "voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat"
+          text run at (82,0) width 447: "non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (1212,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (1276,0) size 101x569
+        RenderText {#text} at (12,0) size 89x556
+          text run at (12,0) width 536: "8 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut"
+          text run at (30,0) width 556: "labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris"
+          text run at (48,0) width 543: "nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit"
+          text run at (66,0) width 546: "esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in"
+          text run at (84,0) width 298: "culpa qui officia deserunt mollit anim id est laborum."
diff --git a/LayoutTests/platform/mac/fast/multicol/pagination/RightToLeftGrid-tb-expected.png b/LayoutTests/platform/mac/fast/multicol/pagination/RightToLeftGrid-tb-expected.png
new file mode 100644 (file)
index 0000000..d5b7341
Binary files /dev/null and b/LayoutTests/platform/mac/fast/multicol/pagination/RightToLeftGrid-tb-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/multicol/pagination/RightToLeftGrid-tb-expected.txt b/LayoutTests/platform/mac/fast/multicol/pagination/RightToLeftGrid-tb-expected.txt
new file mode 100644 (file)
index 0000000..89105b4
--- /dev/null
@@ -0,0 +1,170 @@
+layer at (0,0) size 800x585
+  RenderView at (0,0) size 800x585
+    RenderMultiColumnSet at (0,0) size 800x585
+layer at (0,0) size 180x3208 backgroundClip at (0,0) size 800x585 clip at (0,0) size 800x585 outlineClip at (0,0) size 800x585
+  RenderMultiColumnFlowThread at (0,0) size 180x3208
+layer at (0,0) size 180x3208 backgroundClip at (0,0) size 800x585 clip at (0,0) size 800x585 outlineClip at (0,0) size 800x585
+  RenderBlock {HTML} at (0,0) size 180x3208
+    RenderBody {BODY} at (8,8) size 164x3186
+      RenderBlock {DIV} at (0,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,61) size 164x252
+        RenderText {#text} at (0,5) size 161x247
+          text run at (0,5) width 134: "1 Lorem ipsum dolor sit amet,"
+          text run at (0,23) width 152: "consectetur adipisicing elit, sed do"
+          text run at (0,41) width 161: "eiusmod tempor incididunt ut labore"
+          text run at (0,59) width 155: "et dolore magna aliqua. Ut enim ad"
+          text run at (0,77) width 124: "minim veniam, quis nostrud"
+          text run at (0,95) width 153: "exercitation ullamco laboris nisi ut"
+          text run at (0,113) width 153: "aliquip ex ea commodo consequat."
+          text run at (0,131) width 103: "Duis aute irure dolor in"
+          text run at (0,149) width 157: "reprehenderit in voluptate velit esse"
+          text run at (0,167) width 126: "cillum dolore eu fugiat nulla"
+          text run at (0,185) width 143: "pariatur. Excepteur sint occaecat"
+          text run at (0,203) width 161: "cupidatat non proident, sunt in culpa"
+          text run at (0,221) width 151: "qui officia deserunt mollit anim id"
+          text run at (0,239) width 55: "est laborum."
+      RenderBlock {DIV} at (0,324) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,386) size 164x279
+        RenderText {#text} at (0,4) size 164x275
+          text run at (0,4) width 146: "2 Lorem ipsum dolor sit amet,"
+          text run at (0,22) width 151: "consectetur adipisicing elit, sed"
+          text run at (0,40) width 157: "do eiusmod tempor incididunt ut"
+          text run at (0,58) width 161: "labore et dolore magna aliqua. Ut"
+          text run at (0,76) width 137: "enim ad minim veniam, quis"
+          text run at (0,94) width 138: "nostrud exercitation ullamco"
+          text run at (0,112) width 130: "laboris nisi ut aliquip ex ea"
+          text run at (0,130) width 151: "commodo consequat. Duis aute"
+          text run at (0,148) width 143: "irure dolor in reprehenderit in"
+          text run at (0,166) width 160: "voluptate velit esse cillum dolore"
+          text run at (0,193) width 164: "eu fugiat nulla pariatur. Excepteur"
+          text run at (0,211) width 130: "sint occaecat cupidatat non"
+          text run at (0,229) width 160: "proident, sunt in culpa qui officia"
+          text run at (0,247) width 128: "deserunt mollit anim id est"
+          text run at (0,265) width 43: "laborum."
+      RenderBlock {DIV} at (0,677) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,740) size 164x285
+        RenderText {#text} at (0,0) size 164x285
+          text run at (0,0) width 158: "3 Lorem ipsum dolor sit amet,"
+          text run at (0,18) width 164: "consectetur adipisicing elit, sed"
+          text run at (0,36) width 157: "do eiusmod tempor incididunt"
+          text run at (0,54) width 133: "ut labore et dolore magna"
+          text run at (0,72) width 134: "aliqua. Ut enim ad minim"
+          text run at (0,90) width 109: "veniam, quis nostrud"
+          text run at (0,108) width 146: "exercitation ullamco laboris"
+          text run at (0,126) width 158: "nisi ut aliquip ex ea commodo"
+          text run at (0,144) width 136: "consequat. Duis aute irure"
+          text run at (0,162) width 127: "dolor in reprehenderit in"
+          text run at (0,180) width 137: "voluptate velit esse cillum"
+          text run at (0,198) width 158: "dolore eu fugiat nulla pariatur."
+          text run at (0,216) width 123: "Excepteur sint occaecat"
+          text run at (0,234) width 159: "cupidatat non proident, sunt in"
+          text run at (0,252) width 132: "culpa qui officia deserunt"
+          text run at (0,270) width 142: "mollit anim id est laborum."
+      RenderBlock {DIV} at (0,1038) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,1102) size 164x329
+        RenderText {#text} at (0,15) size 163x314
+          text run at (0,15) width 136: "4 Lorem ipsum dolor sit"
+          text run at (0,33) width 163: "amet, consectetur adipisicing"
+          text run at (0,60) width 156: "elit, sed do eiusmod tempor"
+          text run at (0,78) width 163: "incididunt ut labore et dolore"
+          text run at (0,96) width 145: "magna aliqua. Ut enim ad"
+          text run at (0,114) width 158: "minim veniam, quis nostrud"
+          text run at (0,132) width 157: "exercitation ullamco laboris"
+          text run at (0,150) width 110: "nisi ut aliquip ex ea"
+          text run at (0,168) width 149: "commodo consequat. Duis"
+          text run at (0,186) width 101: "aute irure dolor in"
+          text run at (0,204) width 145: "reprehenderit in voluptate"
+          text run at (0,222) width 147: "velit esse cillum dolore eu"
+          text run at (0,240) width 114: "fugiat nulla pariatur."
+          text run at (0,258) width 133: "Excepteur sint occaecat"
+          text run at (0,276) width 157: "cupidatat non proident, sunt"
+          text run at (0,294) width 157: "in culpa qui officia deserunt"
+          text run at (0,312) width 153: "mollit anim id est laborum."
+      RenderBlock {DIV} at (0,1444) size 50x51 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,1509) size 164x364
+        RenderText {#text} at (0,13) size 163x350
+          text run at (0,13) width 145: "5 Lorem ipsum dolor sit"
+          text run at (0,31) width 105: "amet, consectetur"
+          text run at (0,49) width 135: "adipisicing elit, sed do"
+          text run at (0,67) width 162: "eiusmod tempor incididunt"
+          text run at (0,85) width 154: "ut labore et dolore magna"
+          text run at (0,103) width 154: "aliqua. Ut enim ad minim"
+          text run at (0,121) width 126: "veniam, quis nostrud"
+          text run at (0,139) width 123: "exercitation ullamco"
+          text run at (0,157) width 163: "laboris nisi ut aliquip ex ea"
+          text run at (0,175) width 160: "commodo consequat. Duis"
+          text run at (0,193) width 108: "aute irure dolor in"
+          text run at (0,211) width 155: "reprehenderit in voluptate"
+          text run at (0,238) width 158: "velit esse cillum dolore eu"
+          text run at (0,256) width 123: "fugiat nulla pariatur."
+          text run at (0,274) width 142: "Excepteur sint occaecat"
+          text run at (0,292) width 139: "cupidatat non proident,"
+          text run at (0,310) width 142: "sunt in culpa qui officia"
+          text run at (0,328) width 160: "deserunt mollit anim id est"
+          text run at (0,346) width 54: "laborum."
+      RenderBlock {DIV} at (0,1887) size 50x51 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,1953) size 164x397
+        RenderText {#text} at (0,9) size 163x388
+          text run at (0,9) width 155: "6 Lorem ipsum dolor sit"
+          text run at (0,27) width 112: "amet, consectetur"
+          text run at (0,45) width 144: "adipisicing elit, sed do"
+          text run at (0,63) width 104: "eiusmod tempor"
+          text run at (0,81) width 141: "incididunt ut labore et"
+          text run at (0,99) width 155: "dolore magna aliqua. Ut"
+          text run at (0,117) width 152: "enim ad minim veniam,"
+          text run at (0,135) width 159: "quis nostrud exercitation"
+          text run at (0,153) width 143: "ullamco laboris nisi ut"
+          text run at (0,171) width 150: "aliquip ex ea commodo"
+          text run at (0,189) width 133: "consequat. Duis aute"
+          text run at (0,207) width 85: "irure dolor in"
+          text run at (0,225) width 102: "reprehenderit in"
+          text run at (0,243) width 123: "voluptate velit esse"
+          text run at (0,261) width 147: "cillum dolore eu fugiat"
+          text run at (0,279) width 158: "nulla pariatur. Excepteur"
+          text run at (0,297) width 145: "sint occaecat cupidatat"
+          text run at (0,315) width 133: "non proident, sunt in"
+          text run at (0,333) width 163: "culpa qui officia deserunt"
+          text run at (0,351) width 113: "mollit anim id est"
+          text run at (0,378) width 58: "laborum."
+      RenderBlock {DIV} at (0,2366) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,2431) size 164x350
+        RenderText {#text} at (0,9) size 163x341
+          text run at (0,9) width 145: "7 Lorem ipsum dolor sit"
+          text run at (0,27) width 105: "amet, consectetur"
+          text run at (0,45) width 135: "adipisicing elit, sed do"
+          text run at (0,63) width 162: "eiusmod tempor incididunt"
+          text run at (0,81) width 154: "ut labore et dolore magna"
+          text run at (0,99) width 154: "aliqua. Ut enim ad minim"
+          text run at (0,117) width 126: "veniam, quis nostrud"
+          text run at (0,135) width 123: "exercitation ullamco"
+          text run at (0,153) width 163: "laboris nisi ut aliquip ex ea"
+          text run at (0,171) width 160: "commodo consequat. Duis"
+          text run at (0,189) width 108: "aute irure dolor in"
+          text run at (0,207) width 155: "reprehenderit in voluptate"
+          text run at (0,225) width 158: "velit esse cillum dolore eu"
+          text run at (0,243) width 123: "fugiat nulla pariatur."
+          text run at (0,261) width 142: "Excepteur sint occaecat"
+          text run at (0,279) width 139: "cupidatat non proident,"
+          text run at (0,297) width 142: "sunt in culpa qui officia"
+          text run at (0,315) width 160: "deserunt mollit anim id est"
+          text run at (0,333) width 54: "laborum."
+      RenderBlock {DIV} at (0,2796) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,2860) size 164x326
+        RenderText {#text} at (0,12) size 163x314
+          text run at (0,12) width 136: "8 Lorem ipsum dolor sit"
+          text run at (0,30) width 163: "amet, consectetur adipisicing"
+          text run at (0,57) width 156: "elit, sed do eiusmod tempor"
+          text run at (0,75) width 163: "incididunt ut labore et dolore"
+          text run at (0,93) width 145: "magna aliqua. Ut enim ad"
+          text run at (0,111) width 158: "minim veniam, quis nostrud"
+          text run at (0,129) width 157: "exercitation ullamco laboris"
+          text run at (0,147) width 110: "nisi ut aliquip ex ea"
+          text run at (0,165) width 149: "commodo consequat. Duis"
+          text run at (0,183) width 101: "aute irure dolor in"
+          text run at (0,201) width 145: "reprehenderit in voluptate"
+          text run at (0,219) width 147: "velit esse cillum dolore eu"
+          text run at (0,237) width 114: "fugiat nulla pariatur."
+          text run at (0,255) width 133: "Excepteur sint occaecat"
+          text run at (0,273) width 157: "cupidatat non proident, sunt"
+          text run at (0,291) width 157: "in culpa qui officia deserunt"
+          text run at (0,309) width 153: "mollit anim id est laborum."
index 9629d97..a5dae84 100644 (file)
Binary files a/LayoutTests/platform/mac/fast/multicol/pagination/TopToBottom-bt-expected.png and b/LayoutTests/platform/mac/fast/multicol/pagination/TopToBottom-bt-expected.png differ
index ab59deb..e082f59 100644 (file)
Binary files a/LayoutTests/platform/mac/fast/multicol/pagination/TopToBottom-lr-expected.png and b/LayoutTests/platform/mac/fast/multicol/pagination/TopToBottom-lr-expected.png differ
index 493649d..b2afa4f 100644 (file)
Binary files a/LayoutTests/platform/mac/fast/multicol/pagination/TopToBottom-rl-expected.png and b/LayoutTests/platform/mac/fast/multicol/pagination/TopToBottom-rl-expected.png differ
index 31baea3..e33067a 100644 (file)
Binary files a/LayoutTests/platform/mac/fast/multicol/pagination/TopToBottom-tb-expected.png and b/LayoutTests/platform/mac/fast/multicol/pagination/TopToBottom-tb-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/multicol/pagination/TopToBottomGrid-bt-expected.png b/LayoutTests/platform/mac/fast/multicol/pagination/TopToBottomGrid-bt-expected.png
new file mode 100644 (file)
index 0000000..f782184
Binary files /dev/null and b/LayoutTests/platform/mac/fast/multicol/pagination/TopToBottomGrid-bt-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/multicol/pagination/TopToBottomGrid-bt-expected.txt b/LayoutTests/platform/mac/fast/multicol/pagination/TopToBottomGrid-bt-expected.txt
new file mode 100644 (file)
index 0000000..7c6feaf
--- /dev/null
@@ -0,0 +1,62 @@
+layer at (0,0) size 785x600
+  RenderView at (0,0) size 785x600
+    RenderMultiColumnSet at (0,0) size 785x600
+layer at (0,-601) size 785x1201 backgroundClip at (0,0) size 785x600 clip at (0,0) size 785x600 outlineClip at (0,0) size 785x600
+  RenderMultiColumnFlowThread at (0,0) size 785x1201
+layer at (0,-601) size 785x1201 backgroundClip at (0,0) size 785x600 clip at (0,0) size 785x600 outlineClip at (0,0) size 785x600
+  RenderBlock {HTML} at (0,0) size 785x1201
+    RenderBody {BODY} at (8,8) size 769x1179
+      RenderBlock {DIV} at (0,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,61) size 769x54
+        RenderText {#text} at (0,5) size 741x49
+          text run at (0,5) width 735: "1 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud"
+          text run at (0,23) width 741: "exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."
+          text run at (0,41) width 478: "Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (0,126) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,188) size 769x54
+        RenderText {#text} at (0,4) size 763x50
+          text run at (0,4) width 763: "2 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis"
+          text run at (0,22) width 746: "nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu"
+          text run at (0,40) width 622: "fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (0,254) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,317) size 769x69
+        RenderText {#text} at (0,0) size 765x69
+          text run at (0,0) width 756: "3 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim"
+          text run at (0,18) width 765: "veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit"
+          text run at (0,36) width 737: "esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est"
+          text run at (0,54) width 47: "laborum."
+      RenderBlock {DIV} at (0,398) size 50x51 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,462) size 769x88
+        RenderText {#text} at (0,16) size 758x71
+          text run at (0,16) width 758: "4 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim"
+          text run at (0,34) width 704: "ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in"
+          text run at (0,52) width 757: "reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa"
+          text run at (0,70) width 264: "qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (0,563) size 50x51 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,628) size 769x84
+        RenderText {#text} at (0,12) size 759x71
+          text run at (0,12) width 759: "5 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
+          text run at (0,30) width 756: "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure"
+          text run at (0,48) width 724: "dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non"
+          text run at (0,66) width 421: "proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (0,712) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,778) size 769x78
+        RenderText {#text} at (0,6) size 763x72
+          text run at (0,6) width 763: "6 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna"
+          text run at (0,24) width 754: "aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat."
+          text run at (0,42) width 721: "Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint"
+          text run at (0,60) width 599: "occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (0,872) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,937) size 769x80
+        RenderText {#text} at (0,9) size 759x71
+          text run at (0,9) width 759: "7 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
+          text run at (0,27) width 756: "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure"
+          text run at (0,45) width 724: "dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non"
+          text run at (0,63) width 421: "proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (0,1032) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,1096) size 769x83
+        RenderText {#text} at (0,12) size 758x71
+          text run at (0,12) width 758: "8 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim"
+          text run at (0,30) width 704: "ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in"
+          text run at (0,48) width 757: "reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa"
+          text run at (0,66) width 264: "qui officia deserunt mollit anim id est laborum."
diff --git a/LayoutTests/platform/mac/fast/multicol/pagination/TopToBottomGrid-lr-expected.png b/LayoutTests/platform/mac/fast/multicol/pagination/TopToBottomGrid-lr-expected.png
new file mode 100644 (file)
index 0000000..825e9ab
Binary files /dev/null and b/LayoutTests/platform/mac/fast/multicol/pagination/TopToBottomGrid-lr-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/multicol/pagination/TopToBottomGrid-lr-expected.txt b/LayoutTests/platform/mac/fast/multicol/pagination/TopToBottomGrid-lr-expected.txt
new file mode 100644 (file)
index 0000000..f0342c4
--- /dev/null
@@ -0,0 +1,170 @@
+layer at (0,0) size 785x980
+  RenderView at (0,0) size 785x600
+    RenderMultiColumnSet at (0,0) size 785x600
+layer at (0,0) size 3190x180 backgroundClip at (0,0) size 785x980 clip at (0,0) size 785x980 outlineClip at (0,0) size 785x980
+  RenderMultiColumnFlowThread at (0,0) size 3190x180
+layer at (0,0) size 3190x180 backgroundClip at (0,0) size 785x980 clip at (0,0) size 785x980 outlineClip at (0,0) size 785x980
+  RenderBlock {HTML} at (0,0) size 3190x180
+    RenderBody {BODY} at (8,8) size 3168x164
+      RenderBlock {DIV} at (0,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (61,0) size 252x164
+        RenderText {#text} at (5,0) size 247x161
+          text run at (5,0) width 134: "1 Lorem ipsum dolor sit amet,"
+          text run at (23,0) width 152: "consectetur adipisicing elit, sed do"
+          text run at (41,0) width 161: "eiusmod tempor incididunt ut labore"
+          text run at (59,0) width 155: "et dolore magna aliqua. Ut enim ad"
+          text run at (77,0) width 124: "minim veniam, quis nostrud"
+          text run at (95,0) width 153: "exercitation ullamco laboris nisi ut"
+          text run at (113,0) width 153: "aliquip ex ea commodo consequat."
+          text run at (131,0) width 103: "Duis aute irure dolor in"
+          text run at (149,0) width 157: "reprehenderit in voluptate velit esse"
+          text run at (167,0) width 126: "cillum dolore eu fugiat nulla"
+          text run at (185,0) width 143: "pariatur. Excepteur sint occaecat"
+          text run at (203,0) width 161: "cupidatat non proident, sunt in culpa"
+          text run at (221,0) width 151: "qui officia deserunt mollit anim id"
+          text run at (239,0) width 55: "est laborum."
+      RenderBlock {DIV} at (324,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (386,0) size 270x164
+        RenderText {#text} at (4,0) size 266x164
+          text run at (4,0) width 146: "2 Lorem ipsum dolor sit amet,"
+          text run at (22,0) width 151: "consectetur adipisicing elit, sed"
+          text run at (40,0) width 157: "do eiusmod tempor incididunt ut"
+          text run at (58,0) width 161: "labore et dolore magna aliqua. Ut"
+          text run at (76,0) width 137: "enim ad minim veniam, quis"
+          text run at (94,0) width 138: "nostrud exercitation ullamco"
+          text run at (112,0) width 130: "laboris nisi ut aliquip ex ea"
+          text run at (130,0) width 151: "commodo consequat. Duis aute"
+          text run at (148,0) width 143: "irure dolor in reprehenderit in"
+          text run at (166,0) width 160: "voluptate velit esse cillum dolore"
+          text run at (184,0) width 164: "eu fugiat nulla pariatur. Excepteur"
+          text run at (202,0) width 130: "sint occaecat cupidatat non"
+          text run at (220,0) width 160: "proident, sunt in culpa qui officia"
+          text run at (238,0) width 128: "deserunt mollit anim id est"
+          text run at (256,0) width 43: "laborum."
+      RenderBlock {DIV} at (668,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (731,0) size 297x164
+        RenderText {#text} at (0,0) size 297x164
+          text run at (0,0) width 158: "3 Lorem ipsum dolor sit amet,"
+          text run at (18,0) width 164: "consectetur adipisicing elit, sed"
+          text run at (47,0) width 157: "do eiusmod tempor incididunt"
+          text run at (66,0) width 133: "ut labore et dolore magna"
+          text run at (84,0) width 134: "aliqua. Ut enim ad minim"
+          text run at (102,0) width 109: "veniam, quis nostrud"
+          text run at (120,0) width 146: "exercitation ullamco laboris"
+          text run at (138,0) width 158: "nisi ut aliquip ex ea commodo"
+          text run at (156,0) width 136: "consequat. Duis aute irure"
+          text run at (174,0) width 127: "dolor in reprehenderit in"
+          text run at (192,0) width 137: "voluptate velit esse cillum"
+          text run at (210,0) width 158: "dolore eu fugiat nulla pariatur."
+          text run at (228,0) width 123: "Excepteur sint occaecat"
+          text run at (246,0) width 159: "cupidatat non proident, sunt in"
+          text run at (264,0) width 132: "culpa qui officia deserunt"
+          text run at (282,0) width 142: "mollit anim id est laborum."
+      RenderBlock {DIV} at (1040,0) size 51x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (1104,0) size 321x164
+        RenderText {#text} at (15,0) size 305x163
+          text run at (15,0) width 136: "4 Lorem ipsum dolor sit"
+          text run at (33,0) width 163: "amet, consectetur adipisicing"
+          text run at (51,0) width 156: "elit, sed do eiusmod tempor"
+          text run at (69,0) width 163: "incididunt ut labore et dolore"
+          text run at (87,0) width 145: "magna aliqua. Ut enim ad"
+          text run at (105,0) width 158: "minim veniam, quis nostrud"
+          text run at (123,0) width 157: "exercitation ullamco laboris"
+          text run at (141,0) width 110: "nisi ut aliquip ex ea"
+          text run at (159,0) width 149: "commodo consequat. Duis"
+          text run at (177,0) width 101: "aute irure dolor in"
+          text run at (195,0) width 145: "reprehenderit in voluptate"
+          text run at (213,0) width 147: "velit esse cillum dolore eu"
+          text run at (231,0) width 114: "fugiat nulla pariatur."
+          text run at (249,0) width 133: "Excepteur sint occaecat"
+          text run at (267,0) width 157: "cupidatat non proident, sunt"
+          text run at (285,0) width 157: "in culpa qui officia deserunt"
+          text run at (303,0) width 153: "mollit anim id est laborum."
+      RenderBlock {DIV} at (1438,0) size 51x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (1503,0) size 365x164
+        RenderText {#text} at (12,0) size 352x163
+          text run at (12,0) width 145: "5 Lorem ipsum dolor sit"
+          text run at (30,0) width 105: "amet, consectetur"
+          text run at (59,0) width 135: "adipisicing elit, sed do"
+          text run at (77,0) width 162: "eiusmod tempor incididunt"
+          text run at (95,0) width 154: "ut labore et dolore magna"
+          text run at (113,0) width 154: "aliqua. Ut enim ad minim"
+          text run at (131,0) width 126: "veniam, quis nostrud"
+          text run at (149,0) width 123: "exercitation ullamco"
+          text run at (167,0) width 163: "laboris nisi ut aliquip ex ea"
+          text run at (185,0) width 160: "commodo consequat. Duis"
+          text run at (203,0) width 108: "aute irure dolor in"
+          text run at (221,0) width 155: "reprehenderit in voluptate"
+          text run at (239,0) width 158: "velit esse cillum dolore eu"
+          text run at (257,0) width 123: "fugiat nulla pariatur."
+          text run at (275,0) width 142: "Excepteur sint occaecat"
+          text run at (293,0) width 139: "cupidatat non proident,"
+          text run at (311,0) width 142: "sunt in culpa qui officia"
+          text run at (329,0) width 160: "deserunt mollit anim id est"
+          text run at (347,0) width 54: "laborum."
+      RenderBlock {DIV} at (1882,0) size 51x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (1948,0) size 388x164
+        RenderText {#text} at (9,0) size 378x163
+          text run at (9,0) width 155: "6 Lorem ipsum dolor sit"
+          text run at (27,0) width 112: "amet, consectetur"
+          text run at (45,0) width 144: "adipisicing elit, sed do"
+          text run at (63,0) width 104: "eiusmod tempor"
+          text run at (81,0) width 141: "incididunt ut labore et"
+          text run at (99,0) width 155: "dolore magna aliqua. Ut"
+          text run at (117,0) width 152: "enim ad minim veniam,"
+          text run at (135,0) width 159: "quis nostrud exercitation"
+          text run at (153,0) width 143: "ullamco laboris nisi ut"
+          text run at (171,0) width 150: "aliquip ex ea commodo"
+          text run at (189,0) width 133: "consequat. Duis aute"
+          text run at (207,0) width 85: "irure dolor in"
+          text run at (225,0) width 102: "reprehenderit in"
+          text run at (243,0) width 123: "voluptate velit esse"
+          text run at (261,0) width 147: "cillum dolore eu fugiat"
+          text run at (279,0) width 158: "nulla pariatur. Excepteur"
+          text run at (297,0) width 145: "sint occaecat cupidatat"
+          text run at (315,0) width 133: "non proident, sunt in"
+          text run at (333,0) width 163: "culpa qui officia deserunt"
+          text run at (351,0) width 113: "mollit anim id est"
+          text run at (369,0) width 58: "laborum."
+      RenderBlock {DIV} at (2347,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (2412,0) size 348x164
+        RenderText {#text} at (7,0) size 341x163
+          text run at (7,0) width 145: "7 Lorem ipsum dolor sit"
+          text run at (25,0) width 105: "amet, consectetur"
+          text run at (43,0) width 135: "adipisicing elit, sed do"
+          text run at (61,0) width 162: "eiusmod tempor incididunt"
+          text run at (79,0) width 154: "ut labore et dolore magna"
+          text run at (97,0) width 154: "aliqua. Ut enim ad minim"
+          text run at (115,0) width 126: "veniam, quis nostrud"
+          text run at (133,0) width 123: "exercitation ullamco"
+          text run at (151,0) width 163: "laboris nisi ut aliquip ex ea"
+          text run at (169,0) width 160: "commodo consequat. Duis"
+          text run at (187,0) width 108: "aute irure dolor in"
+          text run at (205,0) width 155: "reprehenderit in voluptate"
+          text run at (223,0) width 158: "velit esse cillum dolore eu"
+          text run at (241,0) width 123: "fugiat nulla pariatur."
+          text run at (259,0) width 142: "Excepteur sint occaecat"
+          text run at (277,0) width 139: "cupidatat non proident,"
+          text run at (295,0) width 142: "sunt in culpa qui officia"
+          text run at (313,0) width 160: "deserunt mollit anim id est"
+          text run at (331,0) width 54: "laborum."
+      RenderBlock {DIV} at (2775,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (2839,0) size 329x164
+        RenderText {#text} at (12,0) size 317x163
+          text run at (12,0) width 136: "8 Lorem ipsum dolor sit"
+          text run at (30,0) width 163: "amet, consectetur adipisicing"
+          text run at (48,0) width 156: "elit, sed do eiusmod tempor"
+          text run at (66,0) width 163: "incididunt ut labore et dolore"
+          text run at (84,0) width 145: "magna aliqua. Ut enim ad"
+          text run at (102,0) width 158: "minim veniam, quis nostrud"
+          text run at (120,0) width 157: "exercitation ullamco laboris"
+          text run at (138,0) width 110: "nisi ut aliquip ex ea"
+          text run at (156,0) width 149: "commodo consequat. Duis"
+          text run at (174,0) width 101: "aute irure dolor in"
+          text run at (192,0) width 145: "reprehenderit in voluptate"
+          text run at (210,0) width 147: "velit esse cillum dolore eu"
+          text run at (228,0) width 114: "fugiat nulla pariatur."
+          text run at (246,0) width 133: "Excepteur sint occaecat"
+          text run at (264,0) width 157: "cupidatat non proident, sunt"
+          text run at (293,0) width 157: "in culpa qui officia deserunt"
+          text run at (312,0) width 153: "mollit anim id est laborum."
diff --git a/LayoutTests/platform/mac/fast/multicol/pagination/TopToBottomGrid-rl-expected.png b/LayoutTests/platform/mac/fast/multicol/pagination/TopToBottomGrid-rl-expected.png
new file mode 100644 (file)
index 0000000..a711a00
Binary files /dev/null and b/LayoutTests/platform/mac/fast/multicol/pagination/TopToBottomGrid-rl-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/multicol/pagination/TopToBottomGrid-rl-expected.txt b/LayoutTests/platform/mac/fast/multicol/pagination/TopToBottomGrid-rl-expected.txt
new file mode 100644 (file)
index 0000000..503bca5
--- /dev/null
@@ -0,0 +1,170 @@
+layer at (0,0) size 785x980
+  RenderView at (0,0) size 785x600
+    RenderMultiColumnSet at (0,0) size 785x600
+layer at (-2403,0) size 3189x180 backgroundClip at (0,0) size 785x980 clip at (0,0) size 785x980 outlineClip at (0,0) size 785x980
+  RenderMultiColumnFlowThread at (0,0) size 3189x180
+layer at (-2403,0) size 3189x180 backgroundClip at (0,0) size 785x980 clip at (0,0) size 785x980 outlineClip at (0,0) size 785x980
+  RenderBlock {HTML} at (0,0) size 3189x180
+    RenderBody {BODY} at (8,8) size 3167x164
+      RenderBlock {DIV} at (0,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (61,0) size 252x164
+        RenderText {#text} at (5,0) size 247x161
+          text run at (5,0) width 134: "1 Lorem ipsum dolor sit amet,"
+          text run at (23,0) width 152: "consectetur adipisicing elit, sed do"
+          text run at (41,0) width 161: "eiusmod tempor incididunt ut labore"
+          text run at (59,0) width 155: "et dolore magna aliqua. Ut enim ad"
+          text run at (77,0) width 124: "minim veniam, quis nostrud"
+          text run at (95,0) width 153: "exercitation ullamco laboris nisi ut"
+          text run at (113,0) width 153: "aliquip ex ea commodo consequat."
+          text run at (131,0) width 103: "Duis aute irure dolor in"
+          text run at (149,0) width 157: "reprehenderit in voluptate velit esse"
+          text run at (167,0) width 126: "cillum dolore eu fugiat nulla"
+          text run at (185,0) width 143: "pariatur. Excepteur sint occaecat"
+          text run at (203,0) width 161: "cupidatat non proident, sunt in culpa"
+          text run at (221,0) width 151: "qui officia deserunt mollit anim id"
+          text run at (239,0) width 55: "est laborum."
+      RenderBlock {DIV} at (324,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (386,0) size 270x164
+        RenderText {#text} at (4,0) size 266x164
+          text run at (4,0) width 146: "2 Lorem ipsum dolor sit amet,"
+          text run at (22,0) width 151: "consectetur adipisicing elit, sed"
+          text run at (40,0) width 157: "do eiusmod tempor incididunt ut"
+          text run at (58,0) width 161: "labore et dolore magna aliqua. Ut"
+          text run at (76,0) width 137: "enim ad minim veniam, quis"
+          text run at (94,0) width 138: "nostrud exercitation ullamco"
+          text run at (112,0) width 130: "laboris nisi ut aliquip ex ea"
+          text run at (130,0) width 151: "commodo consequat. Duis aute"
+          text run at (148,0) width 143: "irure dolor in reprehenderit in"
+          text run at (166,0) width 160: "voluptate velit esse cillum dolore"
+          text run at (184,0) width 164: "eu fugiat nulla pariatur. Excepteur"
+          text run at (202,0) width 130: "sint occaecat cupidatat non"
+          text run at (220,0) width 160: "proident, sunt in culpa qui officia"
+          text run at (238,0) width 128: "deserunt mollit anim id est"
+          text run at (256,0) width 43: "laborum."
+      RenderBlock {DIV} at (668,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (731,0) size 296x164
+        RenderText {#text} at (0,0) size 296x164
+          text run at (0,0) width 158: "3 Lorem ipsum dolor sit amet,"
+          text run at (18,0) width 164: "consectetur adipisicing elit, sed"
+          text run at (47,0) width 157: "do eiusmod tempor incididunt"
+          text run at (64,0) width 134: "ut labore et dolore magna"
+          text run at (82,0) width 134: "aliqua. Ut enim ad minim"
+          text run at (100,0) width 110: "veniam, quis nostrud"
+          text run at (118,0) width 146: "exercitation ullamco laboris"
+          text run at (136,0) width 158: "nisi ut aliquip ex ea commodo"
+          text run at (154,0) width 137: "consequat. Duis aute irure"
+          text run at (172,0) width 128: "dolor in reprehenderit in"
+          text run at (190,0) width 137: "voluptate velit esse cillum"
+          text run at (208,0) width 159: "dolore eu fugiat nulla pariatur."
+          text run at (226,0) width 124: "Excepteur sint occaecat"
+          text run at (244,0) width 160: "cupidatat non proident, sunt in"
+          text run at (262,0) width 133: "culpa qui officia deserunt"
+          text run at (280,0) width 142: "mollit anim id est laborum."
+      RenderBlock {DIV} at (1039,0) size 51x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (1103,0) size 322x164
+        RenderText {#text} at (16,0) size 305x163
+          text run at (16,0) width 136: "4 Lorem ipsum dolor sit"
+          text run at (34,0) width 163: "amet, consectetur adipisicing"
+          text run at (52,0) width 156: "elit, sed do eiusmod tempor"
+          text run at (70,0) width 163: "incididunt ut labore et dolore"
+          text run at (88,0) width 145: "magna aliqua. Ut enim ad"
+          text run at (106,0) width 158: "minim veniam, quis nostrud"
+          text run at (124,0) width 157: "exercitation ullamco laboris"
+          text run at (142,0) width 110: "nisi ut aliquip ex ea"
+          text run at (160,0) width 149: "commodo consequat. Duis"
+          text run at (178,0) width 101: "aute irure dolor in"
+          text run at (196,0) width 145: "reprehenderit in voluptate"
+          text run at (214,0) width 147: "velit esse cillum dolore eu"
+          text run at (232,0) width 114: "fugiat nulla pariatur."
+          text run at (250,0) width 133: "Excepteur sint occaecat"
+          text run at (268,0) width 157: "cupidatat non proident, sunt"
+          text run at (286,0) width 157: "in culpa qui officia deserunt"
+          text run at (304,0) width 153: "mollit anim id est laborum."
+      RenderBlock {DIV} at (1438,0) size 51x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (1503,0) size 365x164
+        RenderText {#text} at (12,0) size 352x163
+          text run at (12,0) width 145: "5 Lorem ipsum dolor sit"
+          text run at (30,0) width 105: "amet, consectetur"
+          text run at (59,0) width 135: "adipisicing elit, sed do"
+          text run at (77,0) width 162: "eiusmod tempor incididunt"
+          text run at (95,0) width 154: "ut labore et dolore magna"
+          text run at (113,0) width 154: "aliqua. Ut enim ad minim"
+          text run at (131,0) width 126: "veniam, quis nostrud"
+          text run at (149,0) width 123: "exercitation ullamco"
+          text run at (167,0) width 163: "laboris nisi ut aliquip ex ea"
+          text run at (185,0) width 160: "commodo consequat. Duis"
+          text run at (203,0) width 108: "aute irure dolor in"
+          text run at (221,0) width 155: "reprehenderit in voluptate"
+          text run at (239,0) width 158: "velit esse cillum dolore eu"
+          text run at (257,0) width 123: "fugiat nulla pariatur."
+          text run at (275,0) width 142: "Excepteur sint occaecat"
+          text run at (293,0) width 139: "cupidatat non proident,"
+          text run at (311,0) width 142: "sunt in culpa qui officia"
+          text run at (329,0) width 160: "deserunt mollit anim id est"
+          text run at (347,0) width 54: "laborum."
+      RenderBlock {DIV} at (1882,0) size 51x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (1948,0) size 388x164
+        RenderText {#text} at (9,0) size 378x163
+          text run at (9,0) width 155: "6 Lorem ipsum dolor sit"
+          text run at (27,0) width 112: "amet, consectetur"
+          text run at (45,0) width 144: "adipisicing elit, sed do"
+          text run at (63,0) width 104: "eiusmod tempor"
+          text run at (81,0) width 141: "incididunt ut labore et"
+          text run at (99,0) width 155: "dolore magna aliqua. Ut"
+          text run at (117,0) width 152: "enim ad minim veniam,"
+          text run at (135,0) width 159: "quis nostrud exercitation"
+          text run at (153,0) width 143: "ullamco laboris nisi ut"
+          text run at (171,0) width 150: "aliquip ex ea commodo"
+          text run at (189,0) width 133: "consequat. Duis aute"
+          text run at (207,0) width 85: "irure dolor in"
+          text run at (225,0) width 102: "reprehenderit in"
+          text run at (243,0) width 123: "voluptate velit esse"
+          text run at (261,0) width 147: "cillum dolore eu fugiat"
+          text run at (279,0) width 158: "nulla pariatur. Excepteur"
+          text run at (297,0) width 145: "sint occaecat cupidatat"
+          text run at (315,0) width 133: "non proident, sunt in"
+          text run at (333,0) width 163: "culpa qui officia deserunt"
+          text run at (351,0) width 113: "mollit anim id est"
+          text run at (369,0) width 58: "laborum."
+      RenderBlock {DIV} at (2347,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (2412,0) size 348x164
+        RenderText {#text} at (7,0) size 341x163
+          text run at (7,0) width 145: "7 Lorem ipsum dolor sit"
+          text run at (25,0) width 105: "amet, consectetur"
+          text run at (43,0) width 135: "adipisicing elit, sed do"
+          text run at (61,0) width 162: "eiusmod tempor incididunt"
+          text run at (79,0) width 154: "ut labore et dolore magna"
+          text run at (97,0) width 154: "aliqua. Ut enim ad minim"
+          text run at (115,0) width 126: "veniam, quis nostrud"
+          text run at (133,0) width 123: "exercitation ullamco"
+          text run at (151,0) width 163: "laboris nisi ut aliquip ex ea"
+          text run at (169,0) width 160: "commodo consequat. Duis"
+          text run at (187,0) width 108: "aute irure dolor in"
+          text run at (205,0) width 155: "reprehenderit in voluptate"
+          text run at (223,0) width 158: "velit esse cillum dolore eu"
+          text run at (241,0) width 123: "fugiat nulla pariatur."
+          text run at (259,0) width 142: "Excepteur sint occaecat"
+          text run at (277,0) width 139: "cupidatat non proident,"
+          text run at (295,0) width 142: "sunt in culpa qui officia"
+          text run at (313,0) width 160: "deserunt mollit anim id est"
+          text run at (331,0) width 54: "laborum."
+      RenderBlock {DIV} at (2775,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (2839,0) size 328x164
+        RenderText {#text} at (12,0) size 316x163
+          text run at (12,0) width 136: "8 Lorem ipsum dolor sit"
+          text run at (30,0) width 163: "amet, consectetur adipisicing"
+          text run at (48,0) width 156: "elit, sed do eiusmod tempor"
+          text run at (66,0) width 163: "incididunt ut labore et dolore"
+          text run at (84,0) width 145: "magna aliqua. Ut enim ad"
+          text run at (102,0) width 158: "minim veniam, quis nostrud"
+          text run at (120,0) width 157: "exercitation ullamco laboris"
+          text run at (138,0) width 110: "nisi ut aliquip ex ea"
+          text run at (156,0) width 149: "commodo consequat. Duis"
+          text run at (174,0) width 101: "aute irure dolor in"
+          text run at (192,0) width 145: "reprehenderit in voluptate"
+          text run at (210,0) width 147: "velit esse cillum dolore eu"
+          text run at (228,0) width 114: "fugiat nulla pariatur."
+          text run at (246,0) width 133: "Excepteur sint occaecat"
+          text run at (264,0) width 157: "cupidatat non proident, sunt"
+          text run at (293,0) width 157: "in culpa qui officia deserunt"
+          text run at (310,0) width 153: "mollit anim id est laborum."
diff --git a/LayoutTests/platform/mac/fast/multicol/pagination/TopToBottomGrid-tb-expected.png b/LayoutTests/platform/mac/fast/multicol/pagination/TopToBottomGrid-tb-expected.png
new file mode 100644 (file)
index 0000000..7018e2d
Binary files /dev/null and b/LayoutTests/platform/mac/fast/multicol/pagination/TopToBottomGrid-tb-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/multicol/pagination/TopToBottomGrid-tb-expected.txt b/LayoutTests/platform/mac/fast/multicol/pagination/TopToBottomGrid-tb-expected.txt
new file mode 100644 (file)
index 0000000..b4184a7
--- /dev/null
@@ -0,0 +1,62 @@
+layer at (0,0) size 785x1380
+  RenderView at (0,0) size 785x600
+    RenderMultiColumnSet at (0,0) size 785x600
+layer at (0,0) size 785x1201
+  RenderMultiColumnFlowThread at (0,0) size 785x1201
+layer at (0,0) size 785x1201
+  RenderBlock {HTML} at (0,0) size 785x1201
+    RenderBody {BODY} at (8,8) size 769x1179
+      RenderBlock {DIV} at (0,0) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,61) size 769x54
+        RenderText {#text} at (0,5) size 741x49
+          text run at (0,5) width 735: "1 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud"
+          text run at (0,23) width 741: "exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."
+          text run at (0,41) width 478: "Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (0,126) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,188) size 769x54
+        RenderText {#text} at (0,4) size 763x50
+          text run at (0,4) width 763: "2 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis"
+          text run at (0,22) width 746: "nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu"
+          text run at (0,40) width 622: "fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (0,254) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,317) size 769x69
+        RenderText {#text} at (0,0) size 765x69
+          text run at (0,0) width 756: "3 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim"
+          text run at (0,18) width 765: "veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit"
+          text run at (0,36) width 737: "esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est"
+          text run at (0,54) width 47: "laborum."
+      RenderBlock {DIV} at (0,398) size 50x51 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,462) size 769x88
+        RenderText {#text} at (0,16) size 758x71
+          text run at (0,16) width 758: "4 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim"
+          text run at (0,34) width 704: "ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in"
+          text run at (0,52) width 757: "reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa"
+          text run at (0,70) width 264: "qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (0,563) size 50x51 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,628) size 769x84
+        RenderText {#text} at (0,12) size 759x71
+          text run at (0,12) width 759: "5 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
+          text run at (0,30) width 756: "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure"
+          text run at (0,48) width 724: "dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non"
+          text run at (0,66) width 421: "proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (0,712) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,778) size 769x78
+        RenderText {#text} at (0,6) size 763x72
+          text run at (0,6) width 763: "6 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna"
+          text run at (0,24) width 754: "aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat."
+          text run at (0,42) width 721: "Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint"
+          text run at (0,60) width 599: "occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (0,872) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,937) size 769x80
+        RenderText {#text} at (0,9) size 759x71
+          text run at (0,9) width 759: "7 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
+          text run at (0,27) width 756: "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure"
+          text run at (0,45) width 724: "dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non"
+          text run at (0,63) width 421: "proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+      RenderBlock {DIV} at (0,1032) size 50x50 [bgcolor=#0000FF]
+      RenderBlock {P} at (0,1096) size 769x83
+        RenderText {#text} at (0,12) size 758x71
+          text run at (0,12) width 758: "8 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim"
+          text run at (0,30) width 704: "ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in"
+          text run at (0,48) width 757: "reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa"
+          text run at (0,66) width 264: "qui officia deserunt mollit anim id est laborum."
index 689283f..1fe6ca0 100644 (file)
Binary files a/LayoutTests/platform/mac/fast/multicol/pagination/nested-transforms-expected.png and b/LayoutTests/platform/mac/fast/multicol/pagination/nested-transforms-expected.png differ
index ab59b1b..3fb3b96 100644 (file)
@@ -1,3 +1,39 @@
+2016-02-01  Dave Hyatt  <hyatt@apple.com>
+
+        Add a line grid pagination SPI to WebKit.
+        https://bugs.webkit.org/show_bug.cgi?id=153757
+        <rdar://problem/23041598>
+
+        Reviewed by Anders Carlsson.
+
+        New tests in fast/multicol/pagination.
+
+        * page/Page.cpp:
+        (WebCore::Page::setPaginationLineGridEnabled):
+        * page/Page.h:
+        (WebCore::Page::paginationLineGridEnabled):
+        Add a boolean to the page to turn the line grid on and off.
+
+        * rendering/RenderBox.cpp:
+        (WebCore::RenderBox::styleDidChange):
+        Propagate the body's font up to the paginated RenderView so that
+        it can be used to establish the line grid.
+
+        * style/StyleResolveForDocument.cpp:
+        (WebCore::Style::resolveForDocument):
+        Set up a line grid with containment snapping by default if the
+        line grid enabled flag is set.
+
+        * testing/Internals.cpp:
+        (WebCore::Internals::resetToConsistentState):
+        (WebCore::Internals::setPagination):
+        (WebCore::Internals::setPaginationLineGridEnabled):
+        (WebCore::Internals::configurationForViewport):
+        * testing/Internals.h:
+        (WebCore::Internals::setPagination):
+        * testing/Internals.idl:
+        Add support for testing the grid being enabled.
+
 2016-02-01  Antti Koivisto  <antti@apple.com>
 
         Tab suspension code shouldn't use page cache cacheability logic
index 8f0c8ae..fd554ad 100644 (file)
@@ -944,6 +944,17 @@ void Page::setPagination(const Pagination& pagination)
     PageCache::singleton().markPagesForFullStyleRecalc(*this);
 }
 
+void Page::setPaginationLineGridEnabled(bool enabled)
+{
+    if (m_paginationLineGridEnabled == enabled)
+        return;
+    
+    m_paginationLineGridEnabled = enabled;
+    
+    setNeedsRecalcStyleInAllFrames();
+    PageCache::singleton().markPagesForFullStyleRecalc(*this);
+}
+
 unsigned Page::pageCount() const
 {
     if (m_pagination.mode == Pagination::Unpaginated)
index 5f6ef08..03a0216 100644 (file)
@@ -311,6 +311,8 @@ public:
     // FrameView.
     const Pagination& pagination() const { return m_pagination; }
     WEBCORE_EXPORT void setPagination(const Pagination&);
+    bool paginationLineGridEnabled() const { return m_paginationLineGridEnabled; }
+    WEBCORE_EXPORT void setPaginationLineGridEnabled(bool flag);
 
     WEBCORE_EXPORT unsigned pageCount() const;
 
@@ -588,6 +590,7 @@ private:
     unsigned m_horizontalScrollElasticity : 2; // ScrollElasticity    
 
     Pagination m_pagination;
+    bool m_paginationLineGridEnabled { false };
 
     String m_userStyleSheetPath;
     mutable String m_userStyleSheet;
index 030cb78..f15d40b 100644 (file)
@@ -25,6 +25,7 @@
 #include "config.h"
 #include "RenderBox.h"
 
+#include "CSSFontSelector.h"
 #include "Chrome.h"
 #include "ChromeClient.h"
 #include "Document.h"
@@ -428,6 +429,15 @@ void RenderBox::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle
         
         if (rootStyleChanged && is<RenderBlockFlow>(rootRenderer) && downcast<RenderBlockFlow>(*rootRenderer).multiColumnFlowThread())
             downcast<RenderBlockFlow>(*rootRenderer).updateStylesForColumnChildren();
+        
+        if (isBodyRenderer && pagination.mode != Pagination::Unpaginated && frame().page()->paginationLineGridEnabled()) {
+            // Propagate the body font back up to the RenderView and use it as
+            // the basis of the grid.
+            if (newStyle.fontDescription() != view().style().fontDescription()) {
+                view().style().setFontDescription(newStyle.fontDescription());
+                view().style().fontCascade().update(&document().fontSelector());
+            }
+        }
 
         if (diff != StyleDifferenceEqual)
             view().compositor().rootOrBodyStyleChanged(*this, oldStyle);
index d215a07..8320c5e 100644 (file)
@@ -94,6 +94,10 @@ Ref<RenderStyle> resolveForDocument(const Document& document)
         documentStyle.get().setColumnGap(pagination.gap);
         if (renderView.multiColumnFlowThread())
             renderView.updateColumnProgressionFromStyle(documentStyle.get());
+        if (renderView.frame().page()->paginationLineGridEnabled()) {
+            documentStyle.get().setLineGrid("-webkit-default-pagination-grid");
+            documentStyle.get().setLineSnap(LineSnapContain);
+        }
     }
 
     const Settings& settings = renderView.frame().settings();
index dd0f965..f6a91d2 100644 (file)
@@ -356,6 +356,7 @@ void Internals::resetToConsistentState(Page* page)
 
     page->setPageScaleFactor(1, IntPoint(0, 0));
     page->setPagination(Pagination());
+    page->setPaginationLineGridEnabled(false);
 
     page->setDefersLoading(false);
     
@@ -1197,6 +1198,17 @@ void Internals::setPagination(const String& mode, int gap, int pageLength, Excep
     page->setPagination(pagination);
 }
 
+void Internals::setPaginationLineGridEnabled(bool enabled, ExceptionCode& ec)
+{
+    Document* document = contextDocument();
+    if (!document || !document->page()) {
+        ec = INVALID_ACCESS_ERR;
+        return;
+    }
+    Page* page = document->page();
+    page->setPaginationLineGridEnabled(enabled);
+}
+
 String Internals::configurationForViewport(float devicePixelRatio, int deviceWidth, int deviceHeight, int availableWidth, int availableHeight, ExceptionCode& ec)
 {
     Document* document = contextDocument();
index ee6f98e..fa4ca3a 100644 (file)
@@ -171,6 +171,7 @@ public:
 
     void setPagination(const String& mode, int gap, ExceptionCode& ec) { setPagination(mode, gap, 0, ec); }
     void setPagination(const String& mode, int gap, int pageLength, ExceptionCode&);
+    void setPaginationLineGridEnabled(bool, ExceptionCode&);
     String configurationForViewport(float devicePixelRatio, int deviceWidth, int deviceHeight, int availableWidth, int availableHeight, ExceptionCode&);
 
     bool wasLastChangeUserEdit(Element* textField, ExceptionCode&);
index 2fdd38f..6aa5155 100644 (file)
@@ -146,6 +146,7 @@ enum AutoFillButtonType {
     [RaisesException] void setViewBaseBackgroundColor(DOMString colorValue);
 
     [RaisesException] void setPagination(DOMString mode, long gap, optional long pageLength);
+    [RaisesException] void setPaginationLineGridEnabled(boolean enabled);
 
     [RaisesException] DOMString configurationForViewport(unrestricted float devicePixelRatio,
                                        long deviceWidth,
index 50d6a9d..fd71fe9 100644 (file)
@@ -1,3 +1,16 @@
+2016-02-01  Dave Hyatt  <hyatt@apple.com>
+
+        Add a line grid pagination SPI to WebKit.
+        https://bugs.webkit.org/show_bug.cgi?id=153757
+        <rdar://problem/23041598>
+
+        Reviewed by Anders Carlsson.
+
+        * WebView/WebView.mm:
+        (-[WebView _setPaginationLineGridEnabled:]):
+        (-[WebView _paginationLineGridEnabled]):
+        * WebView/WebViewPrivate.h:
+
 2016-02-01  Joseph Pecoraro  <pecoraro@apple.com>
 
         Web Inspector: High Level Memory Overview Instrument
index 96ef909..0de38b7 100644 (file)
@@ -4452,6 +4452,24 @@ static Vector<String> toStringVector(NSArray* patterns)
     return page->pagination().gap;
 }
 
+- (void)_setPaginationLineGridEnabled:(BOOL)lineGridEnabled
+{
+    Page* page = core(self);
+    if (!page)
+        return;
+    
+    page->setPaginationLineGridEnabled(lineGridEnabled);
+}
+
+- (BOOL)_paginationLineGridEnabled
+{
+    Page* page = core(self);
+    if (!page)
+        return NO;
+    
+    return page->paginationLineGridEnabled();
+}
+
 - (NSUInteger)_pageCount
 {
     Page* page = core(self);
index 5cee7ee..4f1a58c 100644 (file)
@@ -848,6 +848,10 @@ Could be worth adding to the API.
 - (CGFloat)_gapBetweenPages;
 - (NSUInteger)_pageCount;
 
+// Whether or not a line grid is enabled by default when paginated via the pagination API.
+- (void)_setPaginationLineGridEnabled:(BOOL)lineGridEnabled;
+- (BOOL)_paginationLineGridEnabled;
+
 #if !TARGET_OS_IPHONE
 - (void)_setCustomBackingScaleFactor:(CGFloat)overrideScaleFactor;
 - (CGFloat)_backingScaleFactor;
index 31fb5fb..30eafd2 100644 (file)
@@ -1,3 +1,38 @@
+2016-02-01  Dave Hyatt  <hyatt@apple.com>
+
+        Add a line grid pagination SPI to WebKit.
+        https://bugs.webkit.org/show_bug.cgi?id=153757
+        <rdar://problem/23041598>
+
+        Reviewed by Anders Carlsson.
+
+        * Shared/WebPageCreationParameters.cpp:
+        (WebKit::WebPageCreationParameters::encode):
+        (WebKit::WebPageCreationParameters::decode):
+        * Shared/WebPageCreationParameters.h:
+        * UIProcess/API/C/WKPage.cpp:
+        (WKPageSetPaginationLineGridEnabled):
+        (WKPageGetPaginationLineGridEnabled):
+        * UIProcess/API/C/WKPagePrivate.h:
+        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
+        (-[WKBrowsingContextController setPaginationLineGridEnabled:]):
+        (-[WKBrowsingContextController paginationLineGridEnabled]):
+        * UIProcess/API/Cocoa/WKBrowsingContextControllerPrivate.h:
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView _paginationLineGridEnabled]):
+        (-[WKWebView _setPaginationLineGridEnabled:]):
+       * UIProcess/API/Cocoa/WKWebViewPrivate.h:
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::WebPageProxy):
+        (WebKit::WebPageProxy::setPaginationLineGridEnabled):
+        (WebKit::WebPageProxy::creationParameters):
+        * UIProcess/WebPageProxy.h:
+        (WebKit::WebPageProxy::paginationLineGridEnabled):
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::setPaginationLineGridEnabled):
+         WebProcess/WebPage/WebPage.h:
+        * WebProcess/WebPage/WebPage.messages.in:
+
 2016-02-02  Adrien Plazas  <aplazas@igalia.com>
 
         [GTK] Several tests fail due to assert not reached in DrawingArea::dispatchAfterEnsuringDrawing()
index b2e56d9..7ec6be4 100644 (file)
@@ -47,6 +47,7 @@ void WebPageCreationParameters::encode(IPC::ArgumentEncoder& encoder) const
     encoder << paginationBehavesLikeColumns;
     encoder << pageLength;
     encoder << gapBetweenPages;
+    encoder << paginationLineGridEnabled;
     encoder << userAgent;
     encoder << itemStates;
     encoder << sessionID;
@@ -116,6 +117,8 @@ bool WebPageCreationParameters::decode(IPC::ArgumentDecoder& decoder, WebPageCre
         return false;
     if (!decoder.decode(parameters.gapBetweenPages))
         return false;
+    if (!decoder.decode(parameters.paginationLineGridEnabled))
+        return false;
     if (!decoder.decode(parameters.userAgent))
         return false;
     if (!decoder.decode(parameters.itemStates))
index 6059d71..69ce920 100644 (file)
@@ -78,7 +78,8 @@ struct WebPageCreationParameters {
     bool paginationBehavesLikeColumns;
     double pageLength;
     double gapBetweenPages;
-
+    bool paginationLineGridEnabled;
+    
     String userAgent;
 
     Vector<BackForwardListItemState> itemStates;
index 87a49b9..5e9c2f8 100644 (file)
@@ -720,6 +720,16 @@ double WKPageGetGapBetweenPages(WKPageRef pageRef)
     return toImpl(pageRef)->gapBetweenPages();
 }
 
+void WKPageSetPaginationLineGridEnabled(WKPageRef pageRef, bool lineGridEnabled)
+{
+    toImpl(pageRef)->setPaginationLineGridEnabled(lineGridEnabled);
+}
+
+bool WKPageGetPaginationLineGridEnabled(WKPageRef pageRef)
+{
+    return toImpl(pageRef)->paginationLineGridEnabled();
+}
+
 unsigned WKPageGetPageCount(WKPageRef pageRef)
 {
     return toImpl(pageRef)->pageCount();
index 8038731..3c36118 100644 (file)
@@ -64,6 +64,8 @@ WK_EXPORT void WKPageSetPageLength(WKPageRef page, double pageLength);
 WK_EXPORT double WKPageGetPageLength(WKPageRef page);
 WK_EXPORT void WKPageSetGapBetweenPages(WKPageRef page, double gap);
 WK_EXPORT double WKPageGetGapBetweenPages(WKPageRef page);
+WK_EXPORT void WKPageSetPaginationLineGridEnabled(WKPageRef page, bool lineGridEnabled);
+WK_EXPORT bool WKPageGetPaginationLineGridEnabled(WKPageRef page);
 
 WK_EXPORT unsigned WKPageGetPageCount(WKPageRef page);
 
index de2f3aa..05d27c4 100644 (file)
@@ -743,6 +743,16 @@ static void setUpPagePolicyClient(WKBrowsingContextController *browsingContext,
     return _page->gapBetweenPages();
 }
 
+- (void)setPaginationLineGridEnabled:(BOOL)lineGridEnabled
+{
+    _page->setPaginationLineGridEnabled(lineGridEnabled);
+}
+
+- (BOOL)paginationLineGridEnabled
+{
+    return _page->paginationLineGridEnabled();
+}
+
 - (NSUInteger)pageCount
 {
     return _page->pageCount();
index 254eb61..c502fb4 100644 (file)
@@ -56,6 +56,9 @@ typedef NS_ENUM(NSUInteger, WKBrowsingContextPaginationMode) {
 @property CGFloat pageLength;
 @property CGFloat gapBetweenPages;
 
+// Whether or not to enable a line grid by default on the paginated content.
+@property BOOL paginationLineGridEnabled;
+
 @property (readonly) NSUInteger pageCount;
 
 @property (nonatomic, readonly) WKBrowsingContextHandle *handle;
index 3224afb..a1d56a8 100644 (file)
@@ -3358,6 +3358,16 @@ static inline WebCore::LayoutMilestones layoutMilestones(_WKRenderingProgressEve
     _page->setGapBetweenPages(gapBetweenPages);
 }
 
+- (BOOL)_paginationLineGridEnabled
+{
+    return _page->paginationLineGridEnabled();
+}
+
+- (void)_setPaginationLineGridEnabled:(BOOL)lineGridEnabled
+{
+    _page->setPaginationLineGridEnabled(lineGridEnabled);
+}
+
 - (NSUInteger)_pageCount
 {
     return _page->pageCount();
index ce2c45f..de0c8f4 100644 (file)
@@ -209,6 +209,7 @@ typedef NS_ENUM(NSInteger, _WKImmediateActionType) {
 // Set to 0 to have the page length equal the view length.
 @property (nonatomic, setter=_setPageLength:) CGFloat _pageLength;
 @property (nonatomic, setter=_setGapBetweenPages:) CGFloat _gapBetweenPages;
+@property (nonatomic, setter=_setPaginationLineGridEnabled:) BOOL _paginationLineGridEnabled;
 @property (readonly) NSUInteger _pageCount;
 
 @property (nonatomic, readonly) BOOL _supportsTextZoom;
index 3b5a2b0..7314a38 100644 (file)
@@ -362,6 +362,7 @@ WebPageProxy::WebPageProxy(PageClient& pageClient, WebProcessProxy& process, uin
     , m_paginationBehavesLikeColumns(false)
     , m_pageLength(0)
     , m_gapBetweenPages(0)
+    , m_paginationLineGridEnabled(false)
     , m_isValid(true)
     , m_isClosed(false)
     , m_canRunModal(false)
@@ -2552,6 +2553,18 @@ void WebPageProxy::setGapBetweenPages(double gap)
     m_process->send(Messages::WebPage::SetGapBetweenPages(gap), m_pageID);
 }
 
+void WebPageProxy::setPaginationLineGridEnabled(bool lineGridEnabled)
+{
+    if (lineGridEnabled == m_paginationLineGridEnabled)
+        return;
+    
+    m_paginationLineGridEnabled = lineGridEnabled;
+    
+    if (!isValid())
+        return;
+    m_process->send(Messages::WebPage::SetPaginationLineGridEnabled(lineGridEnabled), m_pageID);
+}
+
 void WebPageProxy::pageScaleFactorDidChange(double scaleFactor)
 {
     m_pageScaleFactor = scaleFactor;
@@ -5143,6 +5156,7 @@ WebPageCreationParameters WebPageProxy::creationParameters()
     parameters.paginationBehavesLikeColumns = m_paginationBehavesLikeColumns;
     parameters.pageLength = m_pageLength;
     parameters.gapBetweenPages = m_gapBetweenPages;
+    parameters.paginationLineGridEnabled = m_paginationLineGridEnabled;
     parameters.userAgent = userAgent();
     parameters.itemStates = m_backForwardList->itemStates();
     parameters.sessionID = m_sessionID;
index f7c6f1e..f842358 100644 (file)
@@ -713,6 +713,8 @@ public:
     double pageLength() const { return m_pageLength; }
     void setGapBetweenPages(double);
     double gapBetweenPages() const { return m_gapBetweenPages; }
+    void setPaginationLineGridEnabled(bool);
+    bool paginationLineGridEnabled() const { return m_paginationLineGridEnabled; }
     unsigned pageCount() const { return m_pageCount; }
 
 #if PLATFORM(COCOA)
@@ -1626,7 +1628,8 @@ private:
     bool m_paginationBehavesLikeColumns;
     double m_pageLength;
     double m_gapBetweenPages;
-
+    bool m_paginationLineGridEnabled;
+        
     // If the process backing the web page is alive and kicking.
     bool m_isValid;
 
index d9248e1..61b9034 100644 (file)
@@ -463,7 +463,8 @@ WebPage::WebPage(uint64_t pageID, const WebPageCreationParameters& parameters)
     setPaginationBehavesLikeColumns(parameters.paginationBehavesLikeColumns);
     setPageLength(parameters.pageLength);
     setGapBetweenPages(parameters.gapBetweenPages);
-
+    setPaginationLineGridEnabled(parameters.paginationLineGridEnabled);
+    
     // If the page is created off-screen, its visibilityState should be prerender.
     m_page->setViewState(m_viewState);
     if (!isVisible())
@@ -1681,6 +1682,11 @@ void WebPage::setGapBetweenPages(double gap)
     m_page->setPagination(pagination);
 }
 
+void WebPage::setPaginationLineGridEnabled(bool lineGridEnabled)
+{
+    m_page->setPaginationLineGridEnabled(lineGridEnabled);
+}
+
 void WebPage::postInjectedBundleMessage(const String& messageName, const UserData& userData)
 {
     auto& webProcess = WebProcess::singleton();
index 10ffa5e..7eb3542 100644 (file)
@@ -400,7 +400,8 @@ public:
     void setPaginationBehavesLikeColumns(bool);
     void setPageLength(double);
     void setGapBetweenPages(double);
-
+    void setPaginationLineGridEnabled(bool);
+    
     void postInjectedBundleMessage(const String& messageName, const UserData&);
 
     bool drawsBackground() const { return m_drawsBackground; }
index a29ca79..bb82e8e 100644 (file)
@@ -213,6 +213,7 @@ messages -> WebPage LegacyReceiver {
     SetPaginationBehavesLikeColumns(bool behavesLikeColumns)
     SetPageLength(double pageLength)
     SetGapBetweenPages(double gap)
+    SetPaginationLineGridEnabled(bool lineGridEnabled)
 
     PostInjectedBundleMessage(String messageName, WebKit::UserData messageBody)