Bug 83080 - Foreground of apple.com/iphone video page visible during full screen animation.
Summary: Foreground of apple.com/iphone video page visible during full screen animation.
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Jer Noble
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2012-04-03 15:22 PDT by Jer Noble
Modified: 2012-04-06 14:39 PDT (History)
7 users (show)

See Also:


Attachments
Patch (3.44 KB, patch)
2012-04-03 15:51 PDT, Jer Noble
no flags Details | Formatted Diff | Diff
Archive of layout-test-results from ec2-cr-linux-02 (6.31 MB, application/zip)
2012-04-03 16:32 PDT, WebKit Review Bot
no flags Details
Patch (18.50 KB, patch)
2012-04-03 16:53 PDT, Jer Noble
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 Jer Noble 2012-04-03 15:22:30 PDT
Foreground of apple.com/iphone video page visible during full screen animation.
Comment 1 Jer Noble 2012-04-03 15:51:29 PDT
Created attachment 135440 [details]
Patch
Comment 2 Jer Noble 2012-04-03 15:52:01 PDT
<rdar://problem/11178906>
Comment 3 WebKit Review Bot 2012-04-03 16:32:34 PDT
Comment on attachment 135440 [details]
Patch

Attachment 135440 [details] did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/12297088

New failing tests:
fullscreen/full-screen-stacking-context.html
Comment 4 WebKit Review Bot 2012-04-03 16:32:39 PDT
Created attachment 135452 [details]
Archive of layout-test-results from ec2-cr-linux-02

The attached test failures were seen while running run-webkit-tests on the chromium-ews.
Bot: ec2-cr-linux-02  Port: <class 'webkitpy.common.config.ports.ChromiumXVFBPort'>  Platform: Linux-2.6.35-28-virtual-x86_64-with-Ubuntu-10.10-maverick
Comment 5 Jer Noble 2012-04-03 16:53:15 PDT
Created attachment 135456 [details]
Patch

Returned the <div> to a <video>.  didn't realize other ports were relying on the presence of a controller in this test.  Rebaseline'd the mac/ port test results to include the controller.
Comment 6 Simon Fraser (smfr) 2012-04-04 13:21:20 PDT
Comment on attachment 135456 [details]
Patch

Here we go whack-a-moling. You should look at CSSStyleSelector::adjustRenderStyle() for the other ones you need, specifically:

    if (style->hasAutoZIndex() && ((e && e->document()->documentElement() == e) || style->opacity() < 1.0f
        || style->hasTransformRelatedProperty() || style->hasMask() || style->boxReflect() || style->hasFilter()

    bool hasTransformRelatedProperty() const { return hasTransform() || preserves3D() || hasPerspective(); }
Comment 7 Darin Adler 2012-04-04 14:55:25 PDT
Are we going to keep updating this .css file every time we implement a new CSS attribute?
Comment 8 Jer Noble 2012-04-04 15:07:30 PDT
(In reply to comment #7)
> Are we going to keep updating this .css file every time we implement a new CSS attribute?

No, the full screen and <dialog> spec will be updated so that fullscreen (and <dialog>) elements will exist in a separate stacking context, outside of CSS.  So this is just a solution until that spec is written and implemented.  At which point, no amount of stacking-context-creating CSS attributes can affect the full screen stacking context.
Comment 9 Jer Noble 2012-04-06 11:08:21 PDT
(In reply to comment #6)
> (From update of attachment 135456 [details])
> Here we go whack-a-moling. You should look at CSSStyleSelector::adjustRenderStyle() for the other ones you need, specifically:
> 
>     if (style->hasAutoZIndex() && ((e && e->document()->documentElement() == e) || style->opacity() < 1.0f
>         || style->hasTransformRelatedProperty() || style->hasMask() || style->boxReflect() || style->hasFilter()
> 
>     bool hasTransformRelatedProperty() const { return hasTransform() || preserves3D() || hasPerspective(); }

I'll add ones for box-reflect, preserves3d, and hasPerspective.  Thanks!
Comment 10 Jer Noble 2012-04-06 14:39:06 PDT
Committed r113498: <http://trac.webkit.org/changeset/113498>