Bug 141569

Summary: [Mac, iOS] Adjust pagination behavior for Mail.app printing use
Product: WebKit Reporter: Brent Fulgham <bfulgham>
Component: Layout and RenderingAssignee: Brent Fulgham <bfulgham>
Status: RESOLVED FIXED    
Severity: Normal CC: andersca, bfulgham, commit-queue, esprehn+autocc, glenn, hyatt, kondapallykalyan, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Mac   
OS: All   
Bug Depends on:    
Bug Blocks: 144366    
Attachments:
Description Flags
Patch
none
Patch
none
Patch andersca: review+

Description Brent Fulgham 2015-02-13 11:23:36 PST
Certain uses of iframe elements in WebKit clients can cause undesirable printing behavior. WebKit attempts to keep all contents of an iframe together on the same page, but in some cases that does not produce good looking print output.

This bug provides a new setting that allows the default printing behavior to be overridden.
Comment 1 Brent Fulgham 2015-02-13 11:28:27 PST
<rdar://problem/14912763>
Comment 2 Brent Fulgham 2015-02-13 11:31:43 PST
Created attachment 246537 [details]
Patch
Comment 3 Brent Fulgham 2015-02-13 12:28:20 PST
Created attachment 246541 [details]
Patch
Comment 4 Anders Carlsson 2015-02-13 12:33:29 PST
Comment on attachment 246541 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=246541&action=review

> Source/WebCore/rendering/RenderBlockFlow.cpp:1617
> +static const AtomicString& messageContainerName()
> +{
> +    static NeverDestroyed<AtomicString> messageContainerNameString("messageContentContainer", AtomicString::ConstructFromLiteral);
> +    return messageContainerNameString;
> +}

It's bad to use AtomicString inside NeverDestroyed since they are different for different threads. I'd just use a literal in the function below instead.
Comment 5 Brent Fulgham 2015-02-13 13:26:15 PST
Created attachment 246545 [details]
Patch
Comment 6 Brent Fulgham 2015-02-13 13:34:43 PST
(In reply to comment #4)
> Comment on attachment 246541 [details]
> Patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=246541&action=review
> 
> > Source/WebCore/rendering/RenderBlockFlow.cpp:1617
> > +static const AtomicString& messageContainerName()
> > +{
> > +    static NeverDestroyed<AtomicString> messageContainerNameString("messageContentContainer", AtomicString::ConstructFromLiteral);
> > +    return messageContainerNameString;
> > +}
> 
> It's bad to use AtomicString inside NeverDestroyed since they are different
> for different threads. I'd just use a literal in the function below instead.

OK!
Comment 7 Brent Fulgham 2015-02-13 13:56:06 PST
Committed r180076: <http://trac.webkit.org/changeset/180076>