Bug 106125

Summary: Make seamless iframes paginate properly in printing, columns and regions
Product: WebKit Reporter: Dave Hyatt <hyatt>
Component: FramesAssignee: Dave Hyatt <hyatt>
Status: RESOLVED FIXED    
Severity: Normal CC: eric, mihnea, mkwst, ojan.autocc, WebkitBugTracker, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
simon.fraser: review+
Patch simon.fraser: review+, buildbot: commit-queue-

Dave Hyatt
Reported 2013-01-04 12:33:15 PST
Teach seamless iframes how to be paginated in their parent document.
Attachments
Patch (210.15 KB, patch)
2013-01-04 12:39 PST, Dave Hyatt
simon.fraser: review+
Patch (210.29 KB, patch)
2013-01-04 14:56 PST, Dave Hyatt
simon.fraser: review+
buildbot: commit-queue-
Dave Hyatt
Comment 1 2013-01-04 12:39:39 PST
Eric Seidel (no email)
Comment 2 2013-01-04 13:04:13 PST
Comment on attachment 181361 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=181361&action=review Thanks for the fix. > Source/WebCore/rendering/RenderView.cpp:160 > +static RenderBox* enclosingSeamlessRenderer(Element* ownerElement) I'm a little surprised you didn't use Document::seamlessParentIFrame() and just grab the renderer off of that? > Source/WebCore/rendering/RenderView.cpp:201 > + RenderBox* seamlessAncestor = enclosingSeamlessRenderer(document()->ownerElement()); > + LayoutState* seamlessLayoutState = seamlessAncestor ? seamlessAncestor->view()->layoutState() : 0; > + bool shouldInheritPagination = seamlessLayoutState && !m_pageLogicalHeight && seamlessAncestor->style()->writingMode() == style()->writingMode(); It's unclear what properties seamless iframes should inherit or not. You might want to take a peak at PassRefPtr<RenderStyle> StyleResolver::styleForDocument(Document* document, CSSFontSelector* fontSelector)'s handling of seamless if you haven't already.
WebKit Review Bot
Comment 3 2013-01-04 13:07:29 PST
Attachment 181361 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'LayoutTests/ChangeLog', u'LayoutTests/fast..." exit_code: 1 Source/WebCore/rendering/RenderObject.cpp:1301: Weird number of spaces at line-start. Are you using a 4-space indent? [whitespace/indent] [3] Source/WebCore/rendering/RenderView.h:240: The parameter name "state" adds no information, so it should be removed. [readability/parameter_name] [5] Total errors found: 2 in 12 files If any of these errors are false positives, please file a bug against check-webkit-style.
Dave Hyatt
Comment 4 2013-01-04 14:56:45 PST
Created attachment 181380 [details] Patch New patch to incorporate Eric's suggestions and fix style issues.
Build Bot
Comment 5 2013-01-04 19:20:03 PST
Comment on attachment 181380 [details] Patch Attachment 181380 [details] did not pass mac-ews (mac): Output: http://queues.webkit.org/results/15703502 New failing tests: fast/regions/seamless-iframe-flowed-into-regions.html fast/multicol/seamless-flowed-through-columns.html
Dave Hyatt
Comment 6 2013-02-18 13:22:13 PST
Landed in r143256.
Note You need to log in before you can comment on or make changes to this bug.