Bug 38183 - REGRESSION (r57919): Some pages opened in background tabs don't render the first time you activate their tab
Summary: REGRESSION (r57919): Some pages opened in background tabs don't render the fi...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: Other OS X 10.5
: P2 Normal
Assignee: Simon Fraser (smfr)
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2010-04-27 01:52 PDT by Maciej Stachowiak
Modified: 2010-04-27 12:27 PDT (History)
3 users (show)

See Also:


Attachments
Patch (3.58 KB, patch)
2010-04-27 01:54 PDT, Maciej Stachowiak
no flags Details | Formatted Diff | Diff
Patch (3.98 KB, patch)
2010-04-27 11:54 PDT, Simon Fraser (smfr)
darin: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Maciej Stachowiak 2010-04-27 01:52:31 PDT
REGRESSION (r57919): Some pages opened in background tabs don't render the first time you activate their tab
Comment 1 Maciej Stachowiak 2010-04-27 01:54:45 PDT
Created attachment 54399 [details]
Patch
Comment 2 Maciej Stachowiak 2010-04-27 02:12:51 PDT
        <rdar://problem/7900419>
Comment 3 Dave Hyatt 2010-04-27 02:35:28 PDT
Comment on attachment 54399 [details]
Patch

It's pretty sloppy to have a platform ifdef right in a rendering file, but if it's unavoidable...
Comment 4 Simon Fraser (smfr) 2010-04-27 09:49:51 PDT
Hmm, maybe we could hide the #ifdef inside a new method, RenderLayerCompositor::compositeAcrossIFrames() or something.
Comment 5 Simon Fraser (smfr) 2010-04-27 11:01:00 PDT
Comment on attachment 54399 [details]
Patch

I filed bug 38206 on the underlying issue here. I'll take this, and do a cleaner patch.
Comment 6 Simon Fraser (smfr) 2010-04-27 11:54:31 PDT
Created attachment 54437 [details]
Patch
Comment 7 Darin Adler 2010-04-27 12:06:11 PDT
Comment on attachment 54437 [details]
Patch

> +bool RenderLayerCompositor::shouldPropagateCompositingToParentDocument() const
> +{
> +#if !PLATFORM(MAC)
> +    return true;
> +#else
> +    return false;
> +#endif
> +}

I’d like to see a “why” comment in this function. This seems the perfect place to explain why Mac is different, if we know why.
Comment 8 Maciej Stachowiak 2010-04-27 12:08:04 PDT
Comment on attachment 54437 [details]
Patch

Comments from offline discussion:

1) shouldPropagateCompositingToParentDocument should be renamed to something like shouldPropagateCompositingToIFrameParent
2) shouldPropagateCompositingToIFrameParent should probably be a static method
3) The shouldPropagateCompositingToIFrameParent check should probably be in RenderLayerCompositor instead of in RenderView, because it's part of the decision about *when* to update the compositing state, rather than an implementation detail of *how* the RenderView does so.
4) Please add the manual-test from my patch.
Comment 9 Simon Fraser (smfr) 2010-04-27 12:27:19 PDT
http://trac.webkit.org/changeset/58320