Diff
Modified: trunk/LayoutTests/ChangeLog (120726 => 120727)
--- trunk/LayoutTests/ChangeLog 2012-06-19 17:09:32 UTC (rev 120726)
+++ trunk/LayoutTests/ChangeLog 2012-06-19 17:10:47 UTC (rev 120727)
@@ -1,3 +1,19 @@
+2012-06-19 Dan Bernstein <[email protected]>
+
+ Paginated display API doesn’t allow setting the page progression direction
+ https://bugs.webkit.org/show_bug.cgi?id=89394
+
+ Reviewed by Darin Adler.
+
+ * fast/multicol/pagination-h-horizontal-bt.html:
+ * fast/multicol/pagination-h-horizontal-tb.html:
+ * fast/multicol/pagination-h-vertical-lr.html:
+ * fast/multicol/pagination-h-vertical-rl.html:
+ * fast/multicol/pagination-v-horizontal-bt.html:
+ * fast/multicol/pagination-v-horizontal-tb.html:
+ * fast/multicol/pagination-v-vertical-lr.html:
+ * fast/multicol/pagination-v-vertical-rl.html:
+
2012-06-19 Csaba Osztrogonác <[email protected]>
[Qt][Mac] Skip new failing and crashing tests to try to paint the bot green.
Modified: trunk/LayoutTests/fast/multicol/pagination-h-horizontal-bt.html (120726 => 120727)
--- trunk/LayoutTests/fast/multicol/pagination-h-horizontal-bt.html 2012-06-19 17:09:32 UTC (rev 120726)
+++ trunk/LayoutTests/fast/multicol/pagination-h-horizontal-bt.html 2012-06-19 17:10:47 UTC (rev 120727)
@@ -2,7 +2,7 @@
<head>
<script>
if (window.internals)
- internals.setPagination(document, "HorizontallyPaginated", 0);
+ internals.setPagination(document, "LeftToRightPaginated", 0);
</script>
</head>
<body>
Modified: trunk/LayoutTests/fast/multicol/pagination-h-horizontal-tb.html (120726 => 120727)
--- trunk/LayoutTests/fast/multicol/pagination-h-horizontal-tb.html 2012-06-19 17:09:32 UTC (rev 120726)
+++ trunk/LayoutTests/fast/multicol/pagination-h-horizontal-tb.html 2012-06-19 17:10:47 UTC (rev 120727)
@@ -2,7 +2,7 @@
<head>
<script>
if (window.internals)
- internals.setPagination(document, "HorizontallyPaginated", 0);
+ internals.setPagination(document, "LeftToRightPaginated", 0);
</script>
</head>
<body>
Modified: trunk/LayoutTests/fast/multicol/pagination-h-vertical-lr.html (120726 => 120727)
--- trunk/LayoutTests/fast/multicol/pagination-h-vertical-lr.html 2012-06-19 17:09:32 UTC (rev 120726)
+++ trunk/LayoutTests/fast/multicol/pagination-h-vertical-lr.html 2012-06-19 17:10:47 UTC (rev 120727)
@@ -2,7 +2,7 @@
<head>
<script>
if (window.internals)
- internals.setPagination(document, "HorizontallyPaginated", 0);
+ internals.setPagination(document, "LeftToRightPaginated", 0);
</script>
</head>
<body>
Modified: trunk/LayoutTests/fast/multicol/pagination-h-vertical-rl.html (120726 => 120727)
--- trunk/LayoutTests/fast/multicol/pagination-h-vertical-rl.html 2012-06-19 17:09:32 UTC (rev 120726)
+++ trunk/LayoutTests/fast/multicol/pagination-h-vertical-rl.html 2012-06-19 17:10:47 UTC (rev 120727)
@@ -2,7 +2,7 @@
<head>
<script>
if (window.internals)
- internals.setPagination(document, "HorizontallyPaginated", 0);
+ internals.setPagination(document, "RightToLeftPaginated", 0);
</script>
</head>
<body>
Modified: trunk/LayoutTests/fast/multicol/pagination-v-horizontal-bt.html (120726 => 120727)
--- trunk/LayoutTests/fast/multicol/pagination-v-horizontal-bt.html 2012-06-19 17:09:32 UTC (rev 120726)
+++ trunk/LayoutTests/fast/multicol/pagination-v-horizontal-bt.html 2012-06-19 17:10:47 UTC (rev 120727)
@@ -2,7 +2,7 @@
<head>
<script>
if (window.internals)
- internals.setPagination(document, "VerticallyPaginated", 0);
+ internals.setPagination(document, "BottomToTopPaginated", 0);
</script>
</head>
<body>
Modified: trunk/LayoutTests/fast/multicol/pagination-v-horizontal-tb.html (120726 => 120727)
--- trunk/LayoutTests/fast/multicol/pagination-v-horizontal-tb.html 2012-06-19 17:09:32 UTC (rev 120726)
+++ trunk/LayoutTests/fast/multicol/pagination-v-horizontal-tb.html 2012-06-19 17:10:47 UTC (rev 120727)
@@ -2,7 +2,7 @@
<head>
<script>
if (window.internals)
- internals.setPagination(document, "VerticallyPaginated", 0);
+ internals.setPagination(document, "TopToBottomPaginated", 0);
</script>
</head>
<body>
Modified: trunk/LayoutTests/fast/multicol/pagination-v-vertical-lr.html (120726 => 120727)
--- trunk/LayoutTests/fast/multicol/pagination-v-vertical-lr.html 2012-06-19 17:09:32 UTC (rev 120726)
+++ trunk/LayoutTests/fast/multicol/pagination-v-vertical-lr.html 2012-06-19 17:10:47 UTC (rev 120727)
@@ -2,7 +2,7 @@
<head>
<script>
if (window.internals)
- internals.setPagination(document, "VerticallyPaginated", 0);
+ internals.setPagination(document, "TopToBottomPaginated", 0);
</script>
</head>
<body>
Modified: trunk/LayoutTests/fast/multicol/pagination-v-vertical-rl.html (120726 => 120727)
--- trunk/LayoutTests/fast/multicol/pagination-v-vertical-rl.html 2012-06-19 17:09:32 UTC (rev 120726)
+++ trunk/LayoutTests/fast/multicol/pagination-v-vertical-rl.html 2012-06-19 17:10:47 UTC (rev 120727)
@@ -2,7 +2,7 @@
<head>
<script>
if (window.internals)
- internals.setPagination(document, "VerticallyPaginated", 0);
+ internals.setPagination(document, "TopToBottomPaginated", 0);
</script>
</head>
<body>
Modified: trunk/Source/WebCore/ChangeLog (120726 => 120727)
--- trunk/Source/WebCore/ChangeLog 2012-06-19 17:09:32 UTC (rev 120726)
+++ trunk/Source/WebCore/ChangeLog 2012-06-19 17:10:47 UTC (rev 120727)
@@ -1,3 +1,20 @@
+2012-06-19 Dan Bernstein <[email protected]>
+
+ WebCore part of: Paginated display API doesn’t allow setting the page progression direction
+ https://bugs.webkit.org/show_bug.cgi?id=89394
+
+ Reviewed by Darin Adler.
+
+ Updated fast/multicol/pagination-*.html.
+
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::styleForDocument): Changed to handle the new Pagination::Mode enum
+ values and set the column progression in addition to the column axis.
+ * page/Page.h: Changed the Pagination::Mode enum values to ones that specify an axis and a
+ direction along that axis.
+ * testing/Internals.cpp:
+ (WebCore::Internals::setPagination): Changed to support the new Pagination::Mode enum values.
+
2012-06-19 Allan Sandfeld Jensen <[email protected]>
Make RenderTableSection - nodeAtPoint and paintObject reuse spanning logic.
Modified: trunk/Source/WebCore/css/StyleResolver.cpp (120726 => 120727)
--- trunk/Source/WebCore/css/StyleResolver.cpp 2012-06-19 17:09:32 UTC (rev 120726)
+++ trunk/Source/WebCore/css/StyleResolver.cpp 2012-06-19 17:10:47 UTC (rev 120727)
@@ -1589,7 +1589,40 @@
if (Page* page = frame->page()) {
const Page::Pagination& pagination = page->pagination();
if (pagination.mode != Page::Pagination::Unpaginated) {
- documentStyle->setColumnAxis(pagination.mode == Page::Pagination::HorizontallyPaginated ? HorizontalColumnAxis : VerticalColumnAxis);
+ switch (pagination.mode) {
+ case Page::Pagination::LeftToRightPaginated:
+ documentStyle->setColumnAxis(HorizontalColumnAxis);
+ if (documentStyle->isHorizontalWritingMode())
+ documentStyle->setColumnProgression(documentStyle->isLeftToRightDirection() ? NormalColumnProgression : ReverseColumnProgression);
+ else
+ documentStyle->setColumnProgression(documentStyle->isFlippedBlocksWritingMode() ? ReverseColumnProgression : NormalColumnProgression);
+ break;
+ case Page::Pagination::RightToLeftPaginated:
+ documentStyle->setColumnAxis(HorizontalColumnAxis);
+ if (documentStyle->isHorizontalWritingMode())
+ documentStyle->setColumnProgression(documentStyle->isLeftToRightDirection() ? ReverseColumnProgression : NormalColumnProgression);
+ else
+ documentStyle->setColumnProgression(documentStyle->isFlippedBlocksWritingMode() ? NormalColumnProgression : ReverseColumnProgression);
+ break;
+ case Page::Pagination::TopToBottomPaginated:
+ documentStyle->setColumnAxis(VerticalColumnAxis);
+ if (documentStyle->isHorizontalWritingMode())
+ documentStyle->setColumnProgression(documentStyle->isFlippedBlocksWritingMode() ? ReverseColumnProgression : NormalColumnProgression);
+ else
+ documentStyle->setColumnProgression(documentStyle->isLeftToRightDirection() ? NormalColumnProgression : ReverseColumnProgression);
+ break;
+ case Page::Pagination::BottomToTopPaginated:
+ documentStyle->setColumnAxis(VerticalColumnAxis);
+ if (documentStyle->isHorizontalWritingMode())
+ documentStyle->setColumnProgression(documentStyle->isFlippedBlocksWritingMode() ? NormalColumnProgression : ReverseColumnProgression);
+ else
+ documentStyle->setColumnProgression(documentStyle->isLeftToRightDirection() ? ReverseColumnProgression : NormalColumnProgression);
+ break;
+ case Page::Pagination::Unpaginated:
+ ASSERT_NOT_REACHED();
+ break;
+ }
+
documentStyle->setColumnGap(pagination.gap);
}
}
Modified: trunk/Source/WebCore/page/Page.h (120726 => 120727)
--- trunk/Source/WebCore/page/Page.h 2012-06-19 17:09:32 UTC (rev 120726)
+++ trunk/Source/WebCore/page/Page.h 2012-06-19 17:10:47 UTC (rev 120727)
@@ -250,7 +250,7 @@
void setDeviceScaleFactor(float);
struct Pagination {
- enum Mode { Unpaginated, HorizontallyPaginated, VerticallyPaginated };
+ enum Mode { Unpaginated, LeftToRightPaginated, RightToLeftPaginated, TopToBottomPaginated, BottomToTopPaginated };
Pagination()
: mode(Unpaginated)
Modified: trunk/Source/WebCore/testing/Internals.cpp (120726 => 120727)
--- trunk/Source/WebCore/testing/Internals.cpp 2012-06-19 17:09:32 UTC (rev 120726)
+++ trunk/Source/WebCore/testing/Internals.cpp 2012-06-19 17:10:47 UTC (rev 120727)
@@ -606,10 +606,14 @@
Page::Pagination pagination;
if (mode == "Unpaginated")
pagination.mode = Page::Pagination::Unpaginated;
- else if (mode == "HorizontallyPaginated")
- pagination.mode = Page::Pagination::HorizontallyPaginated;
- else if (mode == "VerticallyPaginated")
- pagination.mode = Page::Pagination::VerticallyPaginated;
+ else if (mode == "LeftToRightPaginated")
+ pagination.mode = Page::Pagination::LeftToRightPaginated;
+ else if (mode == "RightToLeftPaginated")
+ pagination.mode = Page::Pagination::RightToLeftPaginated;
+ else if (mode == "TopToBottomPaginated")
+ pagination.mode = Page::Pagination::TopToBottomPaginated;
+ else if (mode == "BottomToTopPaginated")
+ pagination.mode = Page::Pagination::BottomToTopPaginated;
else {
ec = SYNTAX_ERR;
return;
Modified: trunk/Source/WebKit/mac/ChangeLog (120726 => 120727)
--- trunk/Source/WebKit/mac/ChangeLog 2012-06-19 17:09:32 UTC (rev 120726)
+++ trunk/Source/WebKit/mac/ChangeLog 2012-06-19 17:10:47 UTC (rev 120727)
@@ -1,3 +1,17 @@
+2012-06-19 Dan Bernstein <[email protected]>
+
+ WebKit/mac part of: Paginated display API doesn’t allow setting the page progression direction
+ https://bugs.webkit.org/show_bug.cgi?id=89394
+
+ Reviewed by Darin Adler.
+
+ * WebView/WebView.mm:
+ (-[WebView _setPaginationMode:]): Changed to map new WebPaginationMode values to new
+ Pagination::Mode values.
+ (-[WebView _paginationMode]): Similarly, in the opposite direction.
+ * WebView/WebViewPrivate.h: Replaced WebPaginationMode values with ones that specify an
+ axis and a direction along that axis.
+
2012-06-18 Andy Estes <[email protected]>
[Mac] -[WebPDFView _menuItemsFromPDFKitForEvent:] leaks NSMenuItems
Modified: trunk/Source/WebKit/mac/WebView/WebView.mm (120726 => 120727)
--- trunk/Source/WebKit/mac/WebView/WebView.mm 2012-06-19 17:09:32 UTC (rev 120726)
+++ trunk/Source/WebKit/mac/WebView/WebView.mm 2012-06-19 17:10:47 UTC (rev 120727)
@@ -2815,12 +2815,18 @@
case WebPaginationModeUnpaginated:
pagination.mode = Page::Pagination::Unpaginated;
break;
- case WebPaginationModeHorizontal:
- pagination.mode = Page::Pagination::HorizontallyPaginated;
+ case WebPaginationModeLeftToRight:
+ pagination.mode = Page::Pagination::LeftToRightPaginated;
break;
- case WebPaginationModeVertical:
- pagination.mode = Page::Pagination::VerticallyPaginated;
+ case WebPaginationModeRightToLeft:
+ pagination.mode = Page::Pagination::RightToLeftPaginated;
break;
+ case WebPaginationModeTopToBottom:
+ pagination.mode = Page::Pagination::TopToBottomPaginated;
+ break;
+ case WebPaginationModeBottomToTop:
+ pagination.mode = Page::Pagination::BottomToTopPaginated;
+ break;
default:
return;
}
@@ -2837,10 +2843,14 @@
switch (page->pagination().mode) {
case Page::Pagination::Unpaginated:
return WebPaginationModeUnpaginated;
- case Page::Pagination::HorizontallyPaginated:
- return WebPaginationModeHorizontal;
- case Page::Pagination::VerticallyPaginated:
- return WebPaginationModeVertical;
+ case Page::Pagination::LeftToRightPaginated:
+ return WebPaginationModeLeftToRight;
+ case Page::Pagination::RightToLeftPaginated:
+ return WebPaginationModeRightToLeft;
+ case Page::Pagination::TopToBottomPaginated:
+ return WebPaginationModeTopToBottom;
+ case Page::Pagination::BottomToTopPaginated:
+ return WebPaginationModeBottomToTop;
}
ASSERT_NOT_REACHED();
Modified: trunk/Source/WebKit/mac/WebView/WebViewPrivate.h (120726 => 120727)
--- trunk/Source/WebKit/mac/WebView/WebViewPrivate.h 2012-06-19 17:09:32 UTC (rev 120726)
+++ trunk/Source/WebKit/mac/WebView/WebViewPrivate.h 2012-06-19 17:10:47 UTC (rev 120727)
@@ -102,8 +102,10 @@
typedef enum {
WebPaginationModeUnpaginated,
- WebPaginationModeHorizontal,
- WebPaginationModeVertical,
+ WebPaginationModeLeftToRight,
+ WebPaginationModeRightToLeft,
+ WebPaginationModeTopToBottom,
+ WebPaginationModeBottomToTop,
} WebPaginationMode;
// This needs to be in sync with WebCore::NotificationClient::Permission
Modified: trunk/Source/WebKit2/ChangeLog (120726 => 120727)
--- trunk/Source/WebKit2/ChangeLog 2012-06-19 17:09:32 UTC (rev 120726)
+++ trunk/Source/WebKit2/ChangeLog 2012-06-19 17:10:47 UTC (rev 120727)
@@ -1,3 +1,23 @@
+2012-06-19 Dan Bernstein <[email protected]>
+
+ WebKit2 part of: Paginated display API doesn’t allow setting the page progression direction
+ https://bugs.webkit.org/show_bug.cgi?id=89394
+
+ Reviewed by Darin Adler.
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageSetPaginationMode): Changed to map new WKPaginationMode values to new
+ Pagination::Mode values.
+ (WKPageGetPaginationMode): Similarly, in the opposite direction.
+ * UIProcess/API/C/WKPagePrivate.h: Replaced WKPaginationMode values with ones that specify
+ an axis and a direction along that axis.
+ * UIProcess/API/mac/WKBrowsingContextController.mm:
+ (-[WKBrowsingContextController setPaginationMode:]): Changed to handle new values.
+ (-[WKBrowsingContextController paginationMode]): Ditto.
+ * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: Replaced
+ WKBrowsingContextPaginationMode values with ones that specify an axis and a direction along
+ that axis.
+
2012-06-19 Alexis Menard <[email protected]>
[Qt] Create an extra atlas when there is no available buffer space.
Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp (120726 => 120727)
--- trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp 2012-06-19 17:09:32 UTC (rev 120726)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp 2012-06-19 17:10:47 UTC (rev 120727)
@@ -357,12 +357,18 @@
case kWKPaginationModeUnpaginated:
mode = Page::Pagination::Unpaginated;
break;
- case kWKPaginationModeHorizontal:
- mode = Page::Pagination::HorizontallyPaginated;
+ case kWKPaginationModeLeftToRight:
+ mode = Page::Pagination::LeftToRightPaginated;
break;
- case kWKPaginationModeVertical:
- mode = Page::Pagination::VerticallyPaginated;
+ case kWKPaginationModeRightToLeft:
+ mode = Page::Pagination::RightToLeftPaginated;
break;
+ case kWKPaginationModeTopToBottom:
+ mode = Page::Pagination::TopToBottomPaginated;
+ break;
+ case kWKPaginationModeBottomToTop:
+ mode = Page::Pagination::BottomToTopPaginated;
+ break;
default:
return;
}
@@ -374,10 +380,14 @@
switch (toImpl(pageRef)->paginationMode()) {
case Page::Pagination::Unpaginated:
return kWKPaginationModeUnpaginated;
- case Page::Pagination::HorizontallyPaginated:
- return kWKPaginationModeHorizontal;
- case Page::Pagination::VerticallyPaginated:
- return kWKPaginationModeVertical;
+ case Page::Pagination::LeftToRightPaginated:
+ return kWKPaginationModeLeftToRight;
+ case Page::Pagination::RightToLeftPaginated:
+ return kWKPaginationModeRightToLeft;
+ case Page::Pagination::TopToBottomPaginated:
+ return kWKPaginationModeTopToBottom;
+ case Page::Pagination::BottomToTopPaginated:
+ return kWKPaginationModeBottomToTop;
}
ASSERT_NOT_REACHED();
Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPagePrivate.h (120726 => 120727)
--- trunk/Source/WebKit2/UIProcess/API/C/WKPagePrivate.h 2012-06-19 17:09:32 UTC (rev 120726)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPagePrivate.h 2012-06-19 17:10:47 UTC (rev 120727)
@@ -54,8 +54,10 @@
enum {
kWKPaginationModeUnpaginated,
- kWKPaginationModeHorizontal,
- kWKPaginationModeVertical,
+ kWKPaginationModeLeftToRight,
+ kWKPaginationModeRightToLeft,
+ kWKPaginationModeTopToBottom,
+ kWKPaginationModeBottomToTop,
};
typedef uint32_t WKPaginationMode;
Modified: trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextController.mm (120726 => 120727)
--- trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextController.mm 2012-06-19 17:09:32 UTC (rev 120726)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextController.mm 2012-06-19 17:10:47 UTC (rev 120727)
@@ -215,12 +215,18 @@
case WKPaginationModeUnpaginated:
mode = kWKPaginationModeUnpaginated;
break;
- case WKPaginationModeHorizontal:
- mode = kWKPaginationModeHorizontal;
+ case WKPaginationModeLeftToRight:
+ mode = kWKPaginationModeLeftToRight;
break;
- case WKPaginationModeVertical:
- mode = kWKPaginationModeVertical;
+ case WKPaginationModeRightToLeft:
+ mode = kWKPaginationModeRightToLeft;
break;
+ case WKPaginationModeTopToBottom:
+ mode = kWKPaginationModeTopToBottom;
+ break;
+ case WKPaginationModeBottomToTop:
+ mode = kWKPaginationModeBottomToTop;
+ break;
default:
return;
}
@@ -233,10 +239,14 @@
switch (WKPageGetPaginationMode(self._pageRef)) {
case kWKPaginationModeUnpaginated:
return WKPaginationModeUnpaginated;
- case kWKPaginationModeHorizontal:
- return WKPaginationModeHorizontal;
- case kWKPaginationModeVertical:
- return WKPaginationModeVertical;
+ case kWKPaginationModeLeftToRight:
+ return WKPaginationModeLeftToRight;
+ case kWKPaginationModeRightToLeft:
+ return WKPaginationModeRightToLeft;
+ case kWKPaginationModeTopToBottom:
+ return WKPaginationModeTopToBottom;
+ case kWKPaginationModeBottomToTop:
+ return WKPaginationModeBottomToTop;
}
ASSERT_NOT_REACHED();
Modified: trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextControllerPrivate.h (120726 => 120727)
--- trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextControllerPrivate.h 2012-06-19 17:09:32 UTC (rev 120726)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextControllerPrivate.h 2012-06-19 17:10:47 UTC (rev 120727)
@@ -27,8 +27,10 @@
enum {
WKPaginationModeUnpaginated,
- WKPaginationModeHorizontal,
- WKPaginationModeVertical,
+ WKPaginationModeLeftToRight,
+ WKPaginationModeRightToLeft,
+ WKPaginationModeTopToBottom,
+ WKPaginationModeBottomToTop,
};
typedef NSUInteger WKBrowsingContextPaginationMode;