Changeset 126343 in webkit
- Timestamp:
- Aug 22, 2012 1:20:14 PM (12 years ago)
- Location:
- trunk
- Files:
-
- 13 added
- 35 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ChangeLog
r126306 r126343 1 2012-08-22 Beth Dakin <bdakin@apple.com> 2 3 https://bugs.webkit.org/show_bug.cgi?id=94401 4 Add support for making a web site become paginated using overflow: 5 paged-x | paged-y 6 -and corresponding- 7 <rdar://problem/11831783> 8 9 Reviewed by Dave Hyatt. 10 11 * Source/autotools/symbols.filter: 12 1 13 2012-08-22 Gustavo Noronha Silva <gns@gnome.org> 2 14 -
trunk/LayoutTests/ChangeLog
r126337 r126343 1 2012-08-22 Beth Dakin <bdakin@apple.com> 2 3 https://bugs.webkit.org/show_bug.cgi?id=94401 4 Add support for making a web site become paginated using overflow: 5 paged-x | paged-y 6 -and corresponding- 7 <rdar://problem/11831783> 8 9 Reviewed by Dave Hyatt. 10 11 Test the parsing of the two new values. 12 * fast/css/overflow-property-expected.txt: 13 * fast/css/overflow-property.html: 14 15 New tests. 16 * fast/overflow/paged-x-div.html: Added. 17 * fast/overflow/paged-x-on-root.html: Added. 18 * fast/overflow/paged-y-div.html: Added. 19 * fast/overflow/paged-y-on-root.html: Added. 20 * platform/mac/fast/overflow/paged-x-div-expected.png: Added. 21 * platform/mac/fast/overflow/paged-x-div-expected.txt: Added. 22 * platform/mac/fast/overflow/paged-x-on-root-expected.png: Added. 23 * platform/mac/fast/overflow/paged-x-on-root-expected.txt: Added. 24 * platform/mac/fast/overflow/paged-y-div-expected.png: Added. 25 * platform/mac/fast/overflow/paged-y-div-expected.txt: Added. 26 * platform/mac/fast/overflow/paged-y-on-root-expected.png: Added. 27 * platform/mac/fast/overflow/paged-y-on-root-expected.txt: Added. 28 1 29 2012-08-22 Mark Lam <mark.lam@apple.com> 2 30 -
trunk/LayoutTests/fast/css/overflow-property-expected.txt
r35892 r126343 27 27 PASS test7.style.overflowX is "" 28 28 PASS test7.style.overflowY is "" 29 PASS test8.style.overflowX is "" 30 PASS test8.style.overflowY is "-webkit-paged-x" 31 PASS test9.style.overflowX is "auto" 32 PASS test9.style.overflowY is "-webkit-paged-y" 33 PASS test10.style.overflowX is "visible" 34 PASS test10.style.overflowY is "-webkit-paged-y" 29 35 PASS successfullyParsed is true 30 36 -
trunk/LayoutTests/fast/css/overflow-property.html
r98407 r126343 18 18 <div id="test6" style="overflow: invalid"></div> 19 19 <div id="test7"></div> 20 <div id="test8" style="overflow-y: -webkit-paged-x;"></div> 21 <div id="test9" style="overflow: -webkit-paged-y;"></div> 22 <div id="test10" style="overflow-x: visible; overflow-y: -webkit-paged-y;"></div> 20 23 21 24 </div> … … 30 33 var test6 = document.getElementById("test6"); 31 34 var test7 = document.getElementById("test6"); 35 var test8 = document.getElementById("test8"); 36 var test9 = document.getElementById("test9"); 37 var test10 = document.getElementById("test10"); 32 38 33 39 shouldBeEqualToString("test0.style.overflow", "auto"); … … 57 63 shouldBeEqualToString("test7.style.overflowX", ""); 58 64 shouldBeEqualToString("test7.style.overflowY", ""); 65 shouldBeEqualToString("test8.style.overflowX", ""); 66 shouldBeEqualToString("test8.style.overflowY", "-webkit-paged-x"); 67 shouldBeEqualToString("test9.style.overflowX", "auto"); 68 shouldBeEqualToString("test9.style.overflowY", "-webkit-paged-y"); 69 shouldBeEqualToString("test10.style.overflowX", "visible"); 70 shouldBeEqualToString("test10.style.overflowY", "-webkit-paged-y"); 59 71 60 72 // clean up after ourselves -
trunk/Source/WebCore/ChangeLog
r126342 r126343 1 2012-08-22 Beth Dakin <bdakin@apple.com> 2 3 https://bugs.webkit.org/show_bug.cgi?id=94401 4 Add support for making a web site become paginated using overflow: 5 paged-x | paged-y 6 -and corresponding- 7 <rdar://problem/11831783> 8 9 Reviewed by Dave Hyatt. 10 11 This patch adds two new possible values for overflow-y. They are - 12 webkit-paged-x and -webkit-paged-y. When you set these as overflow-y 13 values on the html or body element, they make the RenderView 14 paginated, much like the API on Page. 15 16 -webkit-paged-x and -webkit-paged-y are only valid values for 17 overflow-y, NOT overflow-x. overflow-x defaults to a value of auto 18 (for now) unless it has been set to something else. 19 * css/CSSParser.cpp: 20 (WebCore::isValidKeywordPropertyAndValue): 21 (WebCore::CSSParser::parseValue): 22 23 Two new CSS value keywords. 24 * css/CSSValueKeywords.in: 25 26 EOverflow has two new values for pagination. 27 * rendering/style/RenderStyleConstants.h: 28 * css/CSSPrimitiveValueMappings.h: 29 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 30 (WebCore::CSSPrimitiveValue::operator EOverflow): 31 32 A bunch of existing code from StyleResolver::styleForDocument() is 33 moved into a helper function so that it can be called from two 34 places. 35 * css/StyleResolver.cpp: 36 (WebCore::StyleResolver::collectMatchingRulesForList): 37 38 Even though this pagination is very similar to Page::pagination(), it 39 is different in one critical way. Page::pagination() will apply to 40 all FrameViews, even those in the page cache. For this reason, 41 FrameView needs to keep its own Pagination value that just applies to 42 this FrameView. 43 * page/FrameView.cpp: 44 * page/FrameView.h: 45 (WebCore): 46 (FrameView): 47 48 Map RenderStyle values to a Pagination::Mode. 49 (WebCore::paginationModeForRenderStyle): 50 (WebCore): 51 52 Account for paged-x and paged-y here. 53 (WebCore::FrameView::applyOverflowToViewport): 54 55 As is explained in the header, FrameView::pagination() will return 56 m_pagination if it has been set. Otherwise, it will return 57 Page::pagination() since currently there are no callers that need to 58 distinguish between the two. 59 (WebCore::FrameView::pagination): 60 (WebCore::FrameView::setPagination): 61 62 Generally this means that everywhere in WebCore should ask FrameView 63 for the pagination(), not Page. These call sites all look to 64 FrameView now. 65 (WebCore::FrameView::paintContents): 66 * rendering/RenderView.cpp: 67 (WebCore::RenderView::requiresColumns): 68 (WebCore::RenderView::calcColumnWidth): 69 (WebCore::RenderView::paginationUnit): 70 (WebCore::RenderView::viewLogicalHeight): 71 72 Since we need to define Pagination in Page.h AND FrameView.h, it is 73 now in its own header, Pagination.h. And therefore it is no longer 74 WebCore::Page::Pagination, but rather it is just WebCore::Pagination. 75 * page/Page.h: 76 (Page): 77 * rendering/Pagination.h: Added. 78 (WebCore): 79 (WebCore::Pagination::Pagination): 80 (Pagination): 81 (WebCore::Pagination::operator==): 82 (WebCore::Pagination::operator!=): 83 * WebCore.exp.in: 84 * WebCore.xcodeproj/project.pbxproj: 85 * GNUmakefile.list.am: 86 * Target.pri: 87 * WebCore.exp.in: 88 * WebCore.gypi: 89 90 Certain ColumnInfo values are set based on the RenderStyle. So if 91 those RenderStyle values change, the ColumnInfo needs to be updated. 92 * rendering/RenderBlock.cpp: 93 (WebCore::RenderBlock::updateColumnInfoFromStyle): 94 (WebCore): 95 * rendering/RenderBlock.h: 96 (RenderBlock): 97 98 Factor in paged-x and paged-y when determining if a RenderBlock 99 requires columns. 100 (WebCore::RenderBlock::requiresColumns): 101 102 RenderStyle::specifiesColumns() is an odd and probably broken 103 function. At the very least, it should be re-named, if not removed 104 entirely. It does not accurately assess if columns have been 105 specified. I had to add this code here because specifiesColumns() 106 returns false for paged-x and true for paged-y. We were hitting a 107 number of crashes with paged-y because of this, so I chose for the 108 time being to limit this check to non-root layers. 109 * rendering/RenderLayer.cpp: 110 (WebCore::RenderLayer::shouldBeNormalFlowOnly): 111 112 It's just Pagination now, not Page::Pagination. 113 * testing/InternalSettings.cpp: 114 (WebCore::InternalSettings::reset): 115 (WebCore::InternalSettings::setPagination): 116 1 117 2012-08-22 Dean Jackson <dino@apple.com> 2 118 -
trunk/Source/WebCore/GNUmakefile.list.am
r126333 r126343 4109 4109 Source/WebCore/rendering/LayoutRepainter.cpp \ 4110 4110 Source/WebCore/rendering/OverlapTestRequestClient.h \ 4111 Source/WebCore/rendering/Pagination.h \ 4111 4112 Source/WebCore/rendering/PaintInfo.h \ 4112 4113 Source/WebCore/rendering/PaintPhase.h \ -
trunk/Source/WebCore/Target.pri
r126304 r126343 2286 2286 rendering/mathml/RenderMathMLSubSup.h \ 2287 2287 rendering/mathml/RenderMathMLUnderOver.h \ 2288 rendering/Pagination.h \ 2288 2289 rendering/PaintInfo.h \ 2289 2290 rendering/PaintPhase.h \ -
trunk/Source/WebCore/WebCore.exp.in
r126017 r126343 663 663 __ZN7WebCore4Page12setGroupNameERKN3WTF6StringE 664 664 __ZN7WebCore4Page13rangeOfStringERKN3WTF6StringEPNS_5RangeEj 665 __ZN7WebCore4Page13setPaginationERKNS 0_10PaginationE665 __ZN7WebCore4Page13setPaginationERKNS_10PaginationE 666 666 __ZN7WebCore4Page14setMediaVolumeEf 667 667 __ZN7WebCore4Page15addSchedulePairEN3WTF10PassRefPtrINS_12SchedulePairEEE -
trunk/Source/WebCore/WebCore.gypi
r126333 r126343 553 553 'rendering/LayoutRepainter.h', 554 554 'rendering/OverlapTestRequestClient.h', 555 'rendering/Pagination.h', 555 556 'rendering/PaintInfo.h', 556 557 'rendering/PaintPhase.h', -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r126304 r126343 3246 3246 9363B62D0F8E8FE000803810 /* HistoryPropertyList.h in Headers */ = {isa = PBXBuildFile; fileRef = 9363B62B0F8E8FE000803810 /* HistoryPropertyList.h */; settings = {ATTRIBUTES = (Private, ); }; }; 3247 3247 9370918D1416D86B00477333 /* textAreaResizeCorner@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 9370918C1416D86B00477333 /* textAreaResizeCorner@2x.png */; }; 3248 9377ABA015DEFEEF0031FD04 /* Pagination.h in Headers */ = {isa = PBXBuildFile; fileRef = 9377AB9F15DEFEEF0031FD04 /* Pagination.h */; settings = {ATTRIBUTES = (Private, ); }; }; 3248 3249 93799EF80BF2743600D0F230 /* RenderWordBreak.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 93799EF60BF2743600D0F230 /* RenderWordBreak.cpp */; }; 3249 3250 93799EF90BF2743600D0F230 /* RenderWordBreak.h in Headers */ = {isa = PBXBuildFile; fileRef = 93799EF70BF2743600D0F230 /* RenderWordBreak.h */; }; … … 10395 10396 936DD03A09CEAC270056AE8C /* Range.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Range.idl; sourceTree = "<group>"; }; 10396 10397 9370918C1416D86B00477333 /* textAreaResizeCorner@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "textAreaResizeCorner@2x.png"; sourceTree = "<group>"; }; 10398 9377AB9F15DEFEEF0031FD04 /* Pagination.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Pagination.h; sourceTree = "<group>"; }; 10397 10399 93799EF60BF2743600D0F230 /* RenderWordBreak.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderWordBreak.cpp; sourceTree = "<group>"; }; 10398 10400 93799EF70BF2743600D0F230 /* RenderWordBreak.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderWordBreak.h; sourceTree = "<group>"; }; … … 21269 21271 BACF290013B2A0D500781F90 /* LayoutTypes.h */, 21270 21272 3774ABA30FA21EB400AD7DE9 /* OverlapTestRequestClient.h */, 21273 9377AB9F15DEFEEF0031FD04 /* Pagination.h */, 21271 21274 0885067D11DA045B00182B98 /* PaintInfo.h */, 21272 21275 0885067E11DA045B00182B98 /* PaintPhase.h */, … … 25435 25438 977E2E0F12F0FC9C00C13379 /* XSSAuditor.h in Headers */, 25436 25439 FD537353137B651800008DCE /* ZeroPole.h in Headers */, 25440 9377ABA015DEFEEF0031FD04 /* Pagination.h in Headers */, 25437 25441 ); 25438 25442 runOnlyForDeploymentPostprocessing = 0; -
trunk/Source/WebCore/css/CSSParser.cpp
r126201 r126343 597 597 return true; 598 598 break; 599 case CSSPropertyOverflowX: 600 case CSSPropertyOverflowY: // visible | hidden | scroll | auto | marquee | overlay | inherit 599 case CSSPropertyOverflowX: // visible | hidden | scroll | auto | marquee | overlay | inherit 601 600 if (valueID == CSSValueVisible || valueID == CSSValueHidden || valueID == CSSValueScroll || valueID == CSSValueAuto || valueID == CSSValueOverlay || valueID == CSSValueWebkitMarquee) 601 return true; 602 break; 603 case CSSPropertyOverflowY: // visible | hidden | scroll | auto | marquee | overlay | inherit | -webkit-paged-x | -webkit-paged-y 604 if (valueID == CSSValueVisible || valueID == CSSValueHidden || valueID == CSSValueScroll || valueID == CSSValueAuto || valueID == CSSValueOverlay || valueID == CSSValueWebkitMarquee || valueID == CSSValueWebkitPagedX || valueID == CSSValueWebkitPagedY) 602 605 return true; 603 606 break; … … 1759 1762 case CSSPropertyOverflow: { 1760 1763 ShorthandScope scope(this, propId); 1761 if (num != 1 || !parseValue(CSSPropertyOverflowX, important)) 1762 return false; 1763 CSSValue* value = m_parsedProperties->last().value(); 1764 addProperty(CSSPropertyOverflowY, value, important); 1764 if (num != 1 || !parseValue(CSSPropertyOverflowY, important)) 1765 return false; 1766 1767 RefPtr<CSSValue> overflowXValue; 1768 1769 // FIXME: -webkit-paged-x or -webkit-paged-y only apply to overflow-y. If this value has been 1770 // set using the shorthand, then for now overflow-x will default to auto, but once we implement 1771 // pagination controls, it should default to hidden. If the overflow-y value is anything but 1772 // paged-x or paged-y, then overflow-x and overflow-y should have the same value. 1773 if (id == CSSValueWebkitPagedX || id == CSSValueWebkitPagedY) 1774 overflowXValue = cssValuePool().createIdentifierValue(CSSValueAuto); 1775 else 1776 overflowXValue = m_parsedProperties->last().value(); 1777 addProperty(CSSPropertyOverflowX, overflowXValue.release(), important); 1765 1778 return true; 1766 1779 } -
trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h
r126072 r126343 1961 1961 m_value.ident = CSSValueOverlay; 1962 1962 break; 1963 case OPAGEDX: 1964 m_value.ident = CSSValueWebkitPagedX; 1965 break; 1966 case OPAGEDY: 1967 m_value.ident = CSSValueWebkitPagedY; 1968 break; 1963 1969 } 1964 1970 } … … 1979 1985 case CSSValueOverlay: 1980 1986 return OOVERLAY; 1987 case CSSValueWebkitPagedX: 1988 return OPAGEDX; 1989 case CSSValueWebkitPagedY: 1990 return OPAGEDY; 1981 1991 } 1982 1992 -
trunk/Source/WebCore/css/CSSValueKeywords.in
r126105 r126343 965 965 #endif 966 966 967 // overflow 968 -webkit-paged-x 969 -webkit-paged-y 970 -
trunk/Source/WebCore/css/StyleResolver.cpp
r126054 r126343 97 97 #include "RenderStyleConstants.h" 98 98 #include "RenderTheme.h" 99 #include "RenderView.h" 99 100 #include "RotateTransformOperation.h" 100 101 #include "SVGDocumentExtensions.h" … … 1601 1602 } 1602 1603 1604 static void setStylesForPaginationMode(Pagination::Mode paginationMode, RenderStyle* style) 1605 { 1606 if (paginationMode == Pagination::Unpaginated) 1607 return; 1608 1609 switch (paginationMode) { 1610 case Pagination::LeftToRightPaginated: 1611 style->setColumnAxis(HorizontalColumnAxis); 1612 if (style->isHorizontalWritingMode()) 1613 style->setColumnProgression(style->isLeftToRightDirection() ? NormalColumnProgression : ReverseColumnProgression); 1614 else 1615 style->setColumnProgression(style->isFlippedBlocksWritingMode() ? ReverseColumnProgression : NormalColumnProgression); 1616 break; 1617 case Pagination::RightToLeftPaginated: 1618 style->setColumnAxis(HorizontalColumnAxis); 1619 if (style->isHorizontalWritingMode()) 1620 style->setColumnProgression(style->isLeftToRightDirection() ? ReverseColumnProgression : NormalColumnProgression); 1621 else 1622 style->setColumnProgression(style->isFlippedBlocksWritingMode() ? NormalColumnProgression : ReverseColumnProgression); 1623 break; 1624 case Pagination::TopToBottomPaginated: 1625 style->setColumnAxis(VerticalColumnAxis); 1626 if (style->isHorizontalWritingMode()) 1627 style->setColumnProgression(style->isFlippedBlocksWritingMode() ? ReverseColumnProgression : NormalColumnProgression); 1628 else 1629 style->setColumnProgression(style->isLeftToRightDirection() ? NormalColumnProgression : ReverseColumnProgression); 1630 break; 1631 case Pagination::BottomToTopPaginated: 1632 style->setColumnAxis(VerticalColumnAxis); 1633 if (style->isHorizontalWritingMode()) 1634 style->setColumnProgression(style->isFlippedBlocksWritingMode() ? NormalColumnProgression : ReverseColumnProgression); 1635 else 1636 style->setColumnProgression(style->isLeftToRightDirection() ? ReverseColumnProgression : NormalColumnProgression); 1637 break; 1638 case Pagination::Unpaginated: 1639 ASSERT_NOT_REACHED(); 1640 break; 1641 } 1642 } 1643 1603 1644 PassRefPtr<RenderStyle> StyleResolver::styleForDocument(Document* document, CSSFontSelector* fontSelector) 1604 1645 { … … 1646 1687 1647 1688 if (frame) { 1648 if (Page* page = frame->page()) { 1649 const Page::Pagination& pagination = page->pagination(); 1650 if (pagination.mode != Page::Pagination::Unpaginated) { 1651 switch (pagination.mode) { 1652 case Page::Pagination::LeftToRightPaginated: 1653 documentStyle->setColumnAxis(HorizontalColumnAxis); 1654 if (documentStyle->isHorizontalWritingMode()) 1655 documentStyle->setColumnProgression(documentStyle->isLeftToRightDirection() ? NormalColumnProgression : ReverseColumnProgression); 1656 else 1657 documentStyle->setColumnProgression(documentStyle->isFlippedBlocksWritingMode() ? ReverseColumnProgression : NormalColumnProgression); 1658 break; 1659 case Page::Pagination::RightToLeftPaginated: 1660 documentStyle->setColumnAxis(HorizontalColumnAxis); 1661 if (documentStyle->isHorizontalWritingMode()) 1662 documentStyle->setColumnProgression(documentStyle->isLeftToRightDirection() ? ReverseColumnProgression : NormalColumnProgression); 1663 else 1664 documentStyle->setColumnProgression(documentStyle->isFlippedBlocksWritingMode() ? NormalColumnProgression : ReverseColumnProgression); 1665 break; 1666 case Page::Pagination::TopToBottomPaginated: 1667 documentStyle->setColumnAxis(VerticalColumnAxis); 1668 if (documentStyle->isHorizontalWritingMode()) 1669 documentStyle->setColumnProgression(documentStyle->isFlippedBlocksWritingMode() ? ReverseColumnProgression : NormalColumnProgression); 1670 else 1671 documentStyle->setColumnProgression(documentStyle->isLeftToRightDirection() ? NormalColumnProgression : ReverseColumnProgression); 1672 break; 1673 case Page::Pagination::BottomToTopPaginated: 1674 documentStyle->setColumnAxis(VerticalColumnAxis); 1675 if (documentStyle->isHorizontalWritingMode()) 1676 documentStyle->setColumnProgression(documentStyle->isFlippedBlocksWritingMode() ? NormalColumnProgression : ReverseColumnProgression); 1677 else 1678 documentStyle->setColumnProgression(documentStyle->isLeftToRightDirection() ? ReverseColumnProgression : NormalColumnProgression); 1679 break; 1680 case Page::Pagination::Unpaginated: 1681 ASSERT_NOT_REACHED(); 1682 break; 1689 if (FrameView* frameView = frame->view()) { 1690 const Pagination& pagination = frameView->pagination(); 1691 if (pagination.mode != Pagination::Unpaginated) { 1692 setStylesForPaginationMode(pagination.mode, documentStyle.get()); 1693 documentStyle->setColumnGap(pagination.gap); 1694 if (RenderView* view = document->renderView()) { 1695 if (view->hasColumns()) 1696 view->updateColumnInfoFromStyle(documentStyle.get()); 1683 1697 } 1684 1685 documentStyle->setColumnGap(pagination.gap);1686 1698 } 1687 1699 } … … 2207 2219 else if (style->overflowY() == OMARQUEE && style->overflowX() != OMARQUEE) 2208 2220 style->setOverflowX(OMARQUEE); 2209 else if (style->overflowX() == OVISIBLE && style->overflowY() != OVISIBLE) 2221 else if (style->overflowX() == OVISIBLE && style->overflowY() != OVISIBLE) { 2222 // FIXME: Once we implement pagination controls, overflow-x should default to hidden 2223 // if overflow-y is set to -webkit-paged-x or -webkit-page-y. For now, we'll let it 2224 // default to auto so we can at least scroll through the pages. 2210 2225 style->setOverflowX(OAUTO); 2211 else if (style->overflowY() == OVISIBLE && style->overflowX() != OVISIBLE)2226 } else if (style->overflowY() == OVISIBLE && style->overflowX() != OVISIBLE) 2212 2227 style->setOverflowY(OAUTO); 2228 2229 // Call setStylesForPaginationMode() if a pagination mode is set for any non-root elements. If these 2230 // styles are specified on a root element, then they will be incorporated in 2231 // StyleResolver::styleForDocument(). 2232 if ((style->overflowY() == OPAGEDX || style->overflowY() == OPAGEDY) && !(e->hasTagName(htmlTag) || e->hasTagName(bodyTag))) 2233 setStylesForPaginationMode(WebCore::paginationModeForRenderStyle(style), style); 2213 2234 2214 2235 // Table rows, sections and the table itself will support overflow:hidden and will ignore scroll/auto. -
trunk/Source/WebCore/page/FrameView.cpp
r126058 r126343 137 137 } 138 138 139 Pagination::Mode paginationModeForRenderStyle(RenderStyle* style) 140 { 141 EOverflow overflow = style->overflowY(); 142 if (overflow != OPAGEDX && overflow != OPAGEDY) 143 return Pagination::Unpaginated; 144 145 bool isHorizontalWritingMode = style->isHorizontalWritingMode(); 146 TextDirection textDirection = style->direction(); 147 WritingMode writingMode = style->writingMode(); 148 149 // paged-x always corresponds to LeftToRightPaginated or RightToLeftPaginated. If the WritingMode 150 // is horizontal, then we use TextDirection to choose between those options. If the WritingMode 151 // is vertical, then the direction of the verticality dictates the choice. 152 if (overflow == OPAGEDX) { 153 if ((isHorizontalWritingMode && textDirection == LTR) || writingMode == LeftToRightWritingMode) 154 return Pagination::LeftToRightPaginated; 155 return Pagination::RightToLeftPaginated; 156 } 157 158 // paged-y always corresponds to TopToBottomPaginated or BottomToTopPaginated. If the WritingMode 159 // is horizontal, then the direction of the horizontality dictates the choice. If the WritingMode 160 // is vertical, then we use TextDirection to choose between those options. 161 if (writingMode == TopToBottomWritingMode || (!isHorizontalWritingMode && textDirection == RTL)) 162 return Pagination::TopToBottomPaginated; 163 return Pagination::BottomToTopPaginated; 164 } 165 139 166 FrameView::FrameView(Frame* frame) 140 167 : m_frame(frame) … … 583 610 ; 584 611 } 612 613 Pagination pagination; 585 614 586 615 switch (overflowY) { … … 597 626 vMode = ScrollbarAuto; 598 627 break; 628 case OPAGEDX: 629 pagination.mode = WebCore::paginationModeForRenderStyle(o->style()); 630 break; 631 case OPAGEDY: 632 pagination.mode = WebCore::paginationModeForRenderStyle(o->style()); 633 break; 599 634 default: 600 635 // Don't set it at all. 601 636 ; 602 637 } 638 639 setPagination(pagination); 603 640 604 641 m_viewportRenderer = o; … … 2556 2593 } 2557 2594 2595 const Pagination& FrameView::pagination() const 2596 { 2597 if (m_pagination != Pagination()) 2598 return m_pagination; 2599 2600 if (Page* page = m_frame->page()) { 2601 if (page->mainFrame() == m_frame) 2602 return page->pagination(); 2603 } 2604 2605 return m_pagination; 2606 } 2607 2608 void FrameView::setPagination(const Pagination& pagination) 2609 { 2610 if (m_pagination == pagination) 2611 return; 2612 2613 m_pagination = pagination; 2614 2615 if (m_frame) 2616 m_frame->document()->styleResolverChanged(DeferRecalcStyle); 2617 } 2618 2558 2619 IntRect FrameView::windowClipRect(bool clipToContents) const 2559 2620 { … … 3052 3113 #endif 3053 3114 3054 Page* page = m_frame->page(); 3055 if (page->mainFrame() == m_frame && page->pagination().mode != Page::Pagination::Unpaginated) 3115 if (pagination().mode != Pagination::Unpaginated) 3056 3116 p->fillRect(rect, baseBackgroundColor(), ColorSpaceDeviceRGB); 3057 3117 -
trunk/Source/WebCore/page/FrameView.h
r126058 r126343 30 30 #include "Frame.h" 31 31 #include "LayoutTypes.h" 32 #include "Pagination.h" 32 33 #include "PaintPhase.h" 33 34 #include "ScrollView.h" … … 52 53 class RenderObject; 53 54 class RenderScrollbarPart; 55 56 Pagination::Mode paginationModeForRenderStyle(RenderStyle*); 54 57 55 58 typedef unsigned long long DOMTimeStamp; … … 348 351 void setScrollingPerformanceLoggingEnabled(bool); 349 352 353 // Page and FrameView both store a Pagination value. Page::pagination() is set only by API, 354 // and FrameView::pagination() is set only by CSS. Page::pagination() will affect all 355 // FrameViews in the page cache, but FrameView::pagination() only affects the current 356 // FrameView. FrameView::pagination() will return m_pagination if it has been set. Otherwise, 357 // it will return Page::pagination() since currently there are no callers that need to 358 // distinguish between the two. 359 const Pagination& pagination() const; 360 void setPagination(const Pagination&); 361 350 362 protected: 351 363 virtual bool scrollContentsFastPath(const IntSize& scrollDelta, const IntRect& rectToScroll, const IntRect& clipRect); … … 484 496 bool m_verticalOverflow; 485 497 RenderObject* m_viewportRenderer; 498 499 Pagination m_pagination; 486 500 487 501 bool m_wasScrolledByUser; -
trunk/Source/WebCore/page/Page.h
r123942 r126343 26 26 #include "LayoutTypes.h" 27 27 #include "PageVisibilityState.h" 28 #include "Pagination.h" 28 29 #include "PlatformScreen.h" 29 30 #include "PlatformString.h" … … 247 248 void setDeviceScaleFactor(float); 248 249 249 struct Pagination { 250 enum Mode { Unpaginated, LeftToRightPaginated, RightToLeftPaginated, TopToBottomPaginated, BottomToTopPaginated }; 251 252 Pagination() 253 : mode(Unpaginated) 254 , behavesLikeColumns(false) 255 , pageLength(0) 256 , gap(0) 257 { 258 }; 259 260 bool operator==(const Pagination& other) const 261 { 262 return mode == other.mode && behavesLikeColumns == other.behavesLikeColumns && pageLength == other.pageLength && gap == other.gap; 263 } 264 265 Mode mode; 266 bool behavesLikeColumns; 267 unsigned pageLength; 268 unsigned gap; 269 }; 270 250 // Page and FrameView both store a Pagination value. Page::pagination() is set only by API, 251 // and FrameView::pagination() is set only by CSS. Page::pagination() will affect all 252 // FrameViews in the page cache, but FrameView::pagination() only affects the current 253 // FrameView. 271 254 const Pagination& pagination() const { return m_pagination; } 272 255 void setPagination(const Pagination&); -
trunk/Source/WebCore/rendering/RenderBlock.cpp
r126335 r126343 5115 5115 bool RenderBlock::requiresColumns(int desiredColumnCount) const 5116 5116 { 5117 // If overflow-y is set to paged-x or paged-y on the body or html element, we'll handle the paginating 5118 // in the RenderView instead. 5119 bool isPaginated = (style()->overflowY() == OPAGEDX || style()->overflowY() == OPAGEDY) && !(isRoot() || isBody()); 5120 5117 5121 return firstChild() 5118 && (desiredColumnCount != 1 || !style()->hasAutoColumnWidth() || !style()->hasInlineColumnAxis() )5122 && (desiredColumnCount != 1 || !style()->hasAutoColumnWidth() || !style()->hasInlineColumnAxis() || isPaginated) 5119 5123 && !firstChild()->isAnonymousColumnsBlock() 5120 5124 && !firstChild()->isAnonymousColumnSpanBlock(); … … 5145 5149 info->setProgressionIsReversed(style()->columnProgression() == ReverseColumnProgression); 5146 5150 } 5151 } 5152 5153 void RenderBlock::updateColumnInfoFromStyle(RenderStyle* style) 5154 { 5155 if (!hasColumns()) 5156 return; 5157 5158 ColumnInfo* info = gColumnInfoMap->get(this); 5159 5160 bool needsLayout = false; 5161 ColumnInfo::Axis oldAxis = info->progressionAxis(); 5162 ColumnInfo::Axis newAxis = style->hasInlineColumnAxis() ? ColumnInfo::InlineAxis : ColumnInfo::BlockAxis; 5163 if (oldAxis != newAxis) { 5164 info->setProgressionAxis(newAxis); 5165 needsLayout = true; 5166 } 5167 5168 bool oldProgressionIsReversed = info->progressionIsReversed(); 5169 bool newProgressionIsReversed = style->columnProgression() == ReverseColumnProgression; 5170 if (oldProgressionIsReversed != newProgressionIsReversed) { 5171 info->setProgressionIsReversed(newProgressionIsReversed); 5172 needsLayout = true; 5173 } 5174 5175 if (needsLayout) 5176 setNeedsLayoutAndPrefWidthsRecalc(); 5147 5177 } 5148 5178 -
trunk/Source/WebCore/rendering/RenderBlock.h
r126335 r126343 267 267 ColumnInfo* columnInfo() const; 268 268 int columnGap() const; 269 270 void updateColumnInfoFromStyle(RenderStyle*); 269 271 270 272 // These two functions take the ColumnInfo* to avoid repeated lookups of the info in the global HashMap. -
trunk/Source/WebCore/rendering/RenderLayer.cpp
r126110 r126343 4778 4778 || renderer()->isEmbeddedObject() 4779 4779 || renderer()->isRenderIFrame() 4780 || renderer()->style()->specifiesColumns())4780 || (renderer()->style()->specifiesColumns() && !isRootLayer())) 4781 4781 && !renderer()->isOutOfFlowPositioned() 4782 4782 && !renderer()->isRelPositioned() -
trunk/Source/WebCore/rendering/RenderView.cpp
r126304 r126343 218 218 bool RenderView::requiresColumns(int desiredColumnCount) const 219 219 { 220 if (m_frameView) { 221 if (Frame* frame = m_frameView->frame()) { 222 if (Page* page = frame->page()) 223 return frame == page->mainFrame() && page->pagination().mode != Page::Pagination::Unpaginated; 224 } 225 } 220 if (m_frameView) 221 return m_frameView->pagination().mode != Pagination::Unpaginated; 222 226 223 return RenderBlock::requiresColumns(desiredColumnCount); 227 224 } … … 231 228 int columnWidth = contentLogicalWidth(); 232 229 if (m_frameView && style()->hasInlineColumnAxis()) { 233 if (Frame* frame = m_frameView->frame()) { 234 if (Page* page = frame->page()) { 235 if (int pageLength = page->pagination().pageLength) 236 columnWidth = pageLength; 237 } 238 } 230 if (int pageLength = m_frameView->pagination().pageLength) 231 columnWidth = pageLength; 239 232 } 240 233 setDesiredColumnCountAndWidth(1, columnWidth); … … 243 236 ColumnInfo::PaginationUnit RenderView::paginationUnit() const 244 237 { 245 if (m_frameView) { 246 if (Frame* frame = m_frameView->frame()) { 247 if (Page* page = frame->page()) 248 return (frame == page->mainFrame() && page->pagination().behavesLikeColumns) ? ColumnInfo::Column : ColumnInfo::Page; 249 } 250 } 238 if (m_frameView) 239 return m_frameView->pagination().behavesLikeColumns ? ColumnInfo::Column : ColumnInfo::Page; 240 251 241 return ColumnInfo::Page; 252 242 } … … 800 790 801 791 if (hasColumns() && !style()->hasInlineColumnAxis()) { 802 if (Frame* frame = m_frameView->frame()) { 803 if (Page* page = frame->page()) { 804 if (frame == page->mainFrame()) { 805 if (int pageLength = page->pagination().pageLength) 806 height = pageLength; 807 } 808 } 809 } 792 if (int pageLength = m_frameView->pagination().pageLength) 793 height = pageLength; 810 794 } 811 795 -
trunk/Source/WebCore/rendering/style/RenderStyleConstants.h
r126054 r126343 115 115 116 116 enum EOverflow { 117 OVISIBLE, OHIDDEN, OSCROLL, OAUTO, OOVERLAY, OMARQUEE 117 OVISIBLE, OHIDDEN, OSCROLL, OAUTO, OOVERLAY, OMARQUEE, OPAGEDX, OPAGEDY 118 118 }; 119 119 -
trunk/Source/WebCore/testing/InternalSettings.cpp
r125695 r126343 161 161 TextRun::setAllowsRoundingHacks(false); 162 162 setUserPreferredLanguages(Vector<String>()); 163 page()->setPagination(Pag e::Pagination());163 page()->setPagination(Pagination()); 164 164 page()->setPageScaleFactor(1, IntPoint(0, 0)); 165 165 #if ENABLE(PAGE_POPUP) … … 566 566 } 567 567 568 Pag e::Pagination pagination;568 Pagination pagination; 569 569 if (mode == "Unpaginated") 570 pagination.mode = Pag e::Pagination::Unpaginated;570 pagination.mode = Pagination::Unpaginated; 571 571 else if (mode == "LeftToRightPaginated") 572 pagination.mode = Pag e::Pagination::LeftToRightPaginated;572 pagination.mode = Pagination::LeftToRightPaginated; 573 573 else if (mode == "RightToLeftPaginated") 574 pagination.mode = Pag e::Pagination::RightToLeftPaginated;574 pagination.mode = Pagination::RightToLeftPaginated; 575 575 else if (mode == "TopToBottomPaginated") 576 pagination.mode = Pag e::Pagination::TopToBottomPaginated;576 pagination.mode = Pagination::TopToBottomPaginated; 577 577 else if (mode == "BottomToTopPaginated") 578 pagination.mode = Pag e::Pagination::BottomToTopPaginated;578 pagination.mode = Pagination::BottomToTopPaginated; 579 579 else { 580 580 ec = SYNTAX_ERR; -
trunk/Source/WebKit/mac/ChangeLog
r125716 r126343 1 2012-08-22 Beth Dakin <bdakin@apple.com> 2 3 https://bugs.webkit.org/show_bug.cgi?id=94401 4 Add support for making a web site become paginated using overflow: 5 paged-x | paged-y 6 -and corresponding- 7 <rdar://problem/11831783> 8 9 Reviewed by Dave Hyatt. 10 11 WebCore::Page::Pagination is now just WebCore::Pagination. 12 * WebView/WebView.mm: 13 (-[WebView _setPaginationMode:]): 14 (-[WebView _paginationMode]): 15 (-[WebView _setPaginationBehavesLikeColumns:]): 16 (-[WebView _setPageLength:]): 17 (-[WebView _setGapBetweenPages:]): 18 1 19 2012-08-15 Bruno de Oliveira Abinader <bruno.abinader@basyskom.com> 2 20 -
trunk/Source/WebKit/mac/WebView/WebView.mm
r125235 r126343 2807 2807 return; 2808 2808 2809 Pag e::Pagination pagination = page->pagination();2809 Pagination pagination = page->pagination(); 2810 2810 switch (paginationMode) { 2811 2811 case WebPaginationModeUnpaginated: 2812 pagination.mode = Pag e::Pagination::Unpaginated;2812 pagination.mode = Pagination::Unpaginated; 2813 2813 break; 2814 2814 case WebPaginationModeLeftToRight: 2815 pagination.mode = Pag e::Pagination::LeftToRightPaginated;2815 pagination.mode = Pagination::LeftToRightPaginated; 2816 2816 break; 2817 2817 case WebPaginationModeRightToLeft: 2818 pagination.mode = Pag e::Pagination::RightToLeftPaginated;2818 pagination.mode = Pagination::RightToLeftPaginated; 2819 2819 break; 2820 2820 case WebPaginationModeTopToBottom: 2821 pagination.mode = Pag e::Pagination::TopToBottomPaginated;2821 pagination.mode = Pagination::TopToBottomPaginated; 2822 2822 break; 2823 2823 case WebPaginationModeBottomToTop: 2824 pagination.mode = Pag e::Pagination::BottomToTopPaginated;2824 pagination.mode = Pagination::BottomToTopPaginated; 2825 2825 break; 2826 2826 default: … … 2838 2838 2839 2839 switch (page->pagination().mode) { 2840 case Pag e::Pagination::Unpaginated:2840 case Pagination::Unpaginated: 2841 2841 return WebPaginationModeUnpaginated; 2842 case Pag e::Pagination::LeftToRightPaginated:2842 case Pagination::LeftToRightPaginated: 2843 2843 return WebPaginationModeLeftToRight; 2844 case Pag e::Pagination::RightToLeftPaginated:2844 case Pagination::RightToLeftPaginated: 2845 2845 return WebPaginationModeRightToLeft; 2846 case Pag e::Pagination::TopToBottomPaginated:2846 case Pagination::TopToBottomPaginated: 2847 2847 return WebPaginationModeTopToBottom; 2848 case Pag e::Pagination::BottomToTopPaginated:2848 case Pagination::BottomToTopPaginated: 2849 2849 return WebPaginationModeBottomToTop; 2850 2850 } … … 2860 2860 return; 2861 2861 2862 Pag e::Pagination pagination = page->pagination();2862 Pagination pagination = page->pagination(); 2863 2863 pagination.behavesLikeColumns = behavesLikeColumns; 2864 2864 } … … 2879 2879 return; 2880 2880 2881 Pag e::Pagination pagination = page->pagination();2881 Pagination pagination = page->pagination(); 2882 2882 pagination.pageLength = pageLength; 2883 2883 … … 2900 2900 return; 2901 2901 2902 Pag e::Pagination pagination = page->pagination();2902 Pagination pagination = page->pagination(); 2903 2903 pagination.gap = pageGap; 2904 2904 page->setPagination(pagination); -
trunk/Source/WebKit2/ChangeLog
r126318 r126343 1 2012-08-22 Beth Dakin <bdakin@apple.com> 2 3 https://bugs.webkit.org/show_bug.cgi?id=94401 4 Add support for making a web site become paginated using overflow: 5 paged-x | paged-y 6 -and corresponding- 7 <rdar://problem/11831783> 8 9 Reviewed by Dave Hyatt. 10 11 WebCore::Page::Pagination is now just WebCore::Pagination. 12 * Shared/WebPageCreationParameters.h: 13 (WebPageCreationParameters): 14 * UIProcess/API/C/WKPage.cpp: 15 (WKPageSetPaginationMode): 16 (WKPageGetPaginationMode): 17 * UIProcess/WebPageProxy.cpp: 18 (WebKit::WebPageProxy::WebPageProxy): 19 (WebKit::WebPageProxy::setPaginationMode): 20 * UIProcess/WebPageProxy.h: 21 (WebPageProxy): 22 (WebKit::WebPageProxy::paginationMode): 23 * WebProcess/WebPage/WebPage.cpp: 24 (WebKit::WebPage::setPaginationMode): 25 (WebKit::WebPage::setPaginationBehavesLikeColumns): 26 (WebKit::WebPage::setPageLength): 27 (WebKit::WebPage::setGapBetweenPages): 28 * WebProcess/WebPage/WebPage.h: 29 (WebPage): 30 1 31 2012-08-22 Jer Noble <jer.noble@apple.com> 2 32 -
trunk/Source/WebKit2/Shared/WebPageCreationParameters.h
r120021 r126343 68 68 WebCore::IntSize fixedLayoutSize; 69 69 70 WebCore::Pag e::Pagination::Mode paginationMode;70 WebCore::Pagination::Mode paginationMode; 71 71 bool paginationBehavesLikeColumns; 72 72 double pageLength; -
trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp
r126311 r126343 353 353 void WKPageSetPaginationMode(WKPageRef pageRef, WKPaginationMode paginationMode) 354 354 { 355 Pag e::Pagination::Mode mode;355 Pagination::Mode mode; 356 356 switch (paginationMode) { 357 357 case kWKPaginationModeUnpaginated: 358 mode = Pag e::Pagination::Unpaginated;358 mode = Pagination::Unpaginated; 359 359 break; 360 360 case kWKPaginationModeLeftToRight: 361 mode = Pag e::Pagination::LeftToRightPaginated;361 mode = Pagination::LeftToRightPaginated; 362 362 break; 363 363 case kWKPaginationModeRightToLeft: 364 mode = Pag e::Pagination::RightToLeftPaginated;364 mode = Pagination::RightToLeftPaginated; 365 365 break; 366 366 case kWKPaginationModeTopToBottom: 367 mode = Pag e::Pagination::TopToBottomPaginated;367 mode = Pagination::TopToBottomPaginated; 368 368 break; 369 369 case kWKPaginationModeBottomToTop: 370 mode = Pag e::Pagination::BottomToTopPaginated;370 mode = Pagination::BottomToTopPaginated; 371 371 break; 372 372 default: … … 379 379 { 380 380 switch (toImpl(pageRef)->paginationMode()) { 381 case Pag e::Pagination::Unpaginated:381 case Pagination::Unpaginated: 382 382 return kWKPaginationModeUnpaginated; 383 case Pag e::Pagination::LeftToRightPaginated:383 case Pagination::LeftToRightPaginated: 384 384 return kWKPaginationModeLeftToRight; 385 case Pag e::Pagination::RightToLeftPaginated:385 case Pagination::RightToLeftPaginated: 386 386 return kWKPaginationModeRightToLeft; 387 case Pag e::Pagination::TopToBottomPaginated:387 case Pagination::TopToBottomPaginated: 388 388 return kWKPaginationModeTopToBottom; 389 case Pag e::Pagination::BottomToTopPaginated:389 case Pagination::BottomToTopPaginated: 390 390 return kWKPaginationModeBottomToTop; 391 391 } -
trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp
r126311 r126343 184 184 , m_areMemoryCacheClientCallsEnabled(true) 185 185 , m_useFixedLayout(false) 186 , m_paginationMode(Pag e::Pagination::Unpaginated)186 , m_paginationMode(Pagination::Unpaginated) 187 187 , m_paginationBehavesLikeColumns(false) 188 188 , m_pageLength(0) … … 1503 1503 } 1504 1504 1505 void WebPageProxy::setPaginationMode(WebCore::Pag e::Pagination::Mode mode)1505 void WebPageProxy::setPaginationMode(WebCore::Pagination::Mode mode) 1506 1506 { 1507 1507 if (mode == m_paginationMode) -
trunk/Source/WebKit2/UIProcess/WebPageProxy.h
r126311 r126343 489 489 bool isPinnedToRightSide() const { return m_mainFrameIsPinnedToRightSide; } 490 490 491 void setPaginationMode(WebCore::Pag e::Pagination::Mode);492 WebCore::Pag e::Pagination::Mode paginationMode() const { return m_paginationMode; }491 void setPaginationMode(WebCore::Pagination::Mode); 492 WebCore::Pagination::Mode paginationMode() const { return m_paginationMode; } 493 493 void setPaginationBehavesLikeColumns(bool); 494 494 bool paginationBehavesLikeColumns() const { return m_paginationBehavesLikeColumns; } … … 1096 1096 WebCore::IntSize m_fixedLayoutSize; 1097 1097 1098 WebCore::Pag e::Pagination::Mode m_paginationMode;1098 WebCore::Pagination::Mode m_paginationMode; 1099 1099 bool m_paginationBehavesLikeColumns; 1100 1100 double m_pageLength; -
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp
r126291 r126343 1127 1127 void WebPage::setPaginationMode(uint32_t mode) 1128 1128 { 1129 Pag e::Pagination pagination = m_page->pagination();1130 pagination.mode = static_cast<Pag e::Pagination::Mode>(mode);1129 Pagination pagination = m_page->pagination(); 1130 pagination.mode = static_cast<Pagination::Mode>(mode); 1131 1131 m_page->setPagination(pagination); 1132 1132 } … … 1134 1134 void WebPage::setPaginationBehavesLikeColumns(bool behavesLikeColumns) 1135 1135 { 1136 Pag e::Pagination pagination = m_page->pagination();1136 Pagination pagination = m_page->pagination(); 1137 1137 pagination.behavesLikeColumns = behavesLikeColumns; 1138 1138 m_page->setPagination(pagination); … … 1141 1141 void WebPage::setPageLength(double pageLength) 1142 1142 { 1143 Pag e::Pagination pagination = m_page->pagination();1143 Pagination pagination = m_page->pagination(); 1144 1144 pagination.pageLength = pageLength; 1145 1145 m_page->setPagination(pagination); … … 1148 1148 void WebPage::setGapBetweenPages(double gap) 1149 1149 { 1150 Pag e::Pagination pagination = m_page->pagination();1150 Pagination pagination = m_page->pagination(); 1151 1151 pagination.gap = gap; 1152 1152 m_page->setPagination(pagination); -
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h
r125670 r126343 310 310 void setFixedLayoutSize(const WebCore::IntSize&); 311 311 312 void setPaginationMode(uint32_t /* WebCore::Pag e::Pagination::Mode */);312 void setPaginationMode(uint32_t /* WebCore::Pagination::Mode */); 313 313 void setPaginationBehavesLikeColumns(bool); 314 314 void setPageLength(double); -
trunk/Source/WebKit2/win/WebKit2.def
r125759 r126343 222 222 ?setMockScrollbarsEnabled@Settings@WebCore@@SAX_N@Z 223 223 ?setPageScaleFactor@Page@WebCore@@QAEXMABVIntPoint@2@@Z 224 ?setPagination@Page@WebCore@@QAEXABUPagination@ 12@@Z224 ?setPagination@Page@WebCore@@QAEXABUPagination@2@@Z 225 225 ?setPictographFontFamily@Settings@WebCore@@QAEXABVAtomicString@WTF@@W4UScriptCode@@@Z 226 226 ?setResourcesDataSizeLimitsFromInternals@InspectorController@WebCore@@QAEXHH@Z -
trunk/Source/WebKit2/win/WebKit2CFLite.def
r124032 r126343 216 216 ?setMockScrollbarsEnabled@Settings@WebCore@@SAX_N@Z 217 217 ?setPageScaleFactor@Page@WebCore@@QAEXMABVIntPoint@2@@Z 218 ?setPagination@Page@WebCore@@QAEXABUPagination@ 12@@Z218 ?setPagination@Page@WebCore@@QAEXABUPagination@2@@Z 219 219 ?setPictographFontFamily@Settings@WebCore@@QAEXABVAtomicString@WTF@@W4UScriptCode@@@Z 220 220 ?setResourcesDataSizeLimitsFromInternals@InspectorController@WebCore@@QAEXHH@Z -
trunk/Source/autotools/symbols.filter
r125826 r126343 28 28 _ZN3WTF7CStringaSERKS0_; 29 29 _ZN24DumpRenderTreeSupportGtk*; 30 _ZN7WebCore4Page13setPaginationERKNS 0_10PaginationE;30 _ZN7WebCore4Page13setPaginationERKNS_10PaginationE; 31 31 _ZN7WebCore4Page18setPageScaleFactorEfRKNS_8IntPointE; 32 32 _ZN7WebCore4Page20setDeviceScaleFactorEf;
Note: See TracChangeset
for help on using the changeset viewer.