Bug 39037 - iframe/compositing propagation should also work for <object> and framesets
Summary: iframe/compositing propagation should also work for <object> and framesets
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: All OS X 10.5
: P2 Normal
Assignee: Chris Marrin
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2010-05-12 18:18 PDT by Simon Fraser (smfr)
Modified: 2011-07-27 11:49 PDT (History)
3 users (show)

See Also:


Attachments
Patch (24.72 KB, patch)
2011-04-08 18:52 PDT, Chris Marrin
no flags Details | Formatted Diff | Diff
Patch (105.75 KB, patch)
2011-04-11 10:52 PDT, Chris Marrin
no flags Details | Formatted Diff | Diff
Patch (64.11 KB, patch)
2011-04-11 14:52 PDT, Chris Marrin
simon.fraser: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Fraser (smfr) 2010-05-12 18:18:38 PDT
Dave Hyatt says that the iframe-related compositing code should be generalized to include framesets and <object src="foo.html>. I agree with him!

Not fixing this may break compositing layer of sites using framesets inside an iframe, for example.
Comment 1 Simon Fraser (smfr) 2010-05-12 18:18:55 PDT
<rdar://problem/7977609> iframe/compositing propagation should also work for <object> and framesets (39037)
Comment 2 Chris Marrin 2011-04-08 18:52:41 PDT
Created attachment 88913 [details]
Patch
Comment 3 Simon Fraser (smfr) 2011-04-10 10:21:30 PDT
Comment on attachment 88913 [details]
Patch

Looks generally good, but I'll r- until we get some layout tests.
Comment 4 Chris Marrin 2011-04-11 10:52:41 PDT
Created attachment 89029 [details]
Patch
Comment 5 Simon Fraser (smfr) 2011-04-11 11:11:14 PDT
Comment on attachment 89029 [details]
Patch

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

The code changes look good, but the tests need improvement.

> Source/WebCore/ChangeLog:9
> +        iframe/compositing propagation should also work for <object> and framesets
> +        https://bugs.webkit.org/show_bug.cgi?id=39037
> +
> +        iframe/compositing propagation should also work for <object> and framesets
> +        https://bugs.webkit.org/show_bug.cgi?id=39037

Duplicated lines here.

> Source/WebCore/ChangeLog:11
> +        This adds logic to handle <frame> and <object> just like <iframe>. I moved

Logic for what?

> Source/WebCore/ChangeLog:18
> +        some of the accelerated compositing tests from RenderIFrame to RenderPart
> +        which is the highest base class common to RenderIFrame, RenderFrame and 
> +        RenderEmbeddedObject. I also renamed several ...IFrame... functions to
> +        ...Frame... and changed them so they work on a RenderPart for determining
> +        if the renderer is composited. One other detail is that <iframe> and 
> +        <object> never share style since they might be composited. I had to add
> +        <frame> to that list.

These details would be better listed under the methods affected in the list of changed files below.

> LayoutTests/compositing/framesets/composited-frame-alignment.html:1
> +<!DOCTYPE html>

I think these tests should dump the layer tree (in which case you'll have to either trick the tests to give the same output in WK1 and WK2, or provide separate results).

Also, instead of a textual description of what the result should look like, just use red/green boxes to indicate success.
Comment 6 Chris Marrin 2011-04-11 14:52:43 PDT
Created attachment 89096 [details]
Patch
Comment 7 Chris Marrin 2011-04-11 15:21:17 PDT
Committed r83518: <http://trac.webkit.org/changeset/83518>