Bug 49746

Summary: compositing/masks/simple-composited-mask.html failure
Product: WebKit Reporter: Vangelis Kokkevis <vangelis>
Component: Layout and RenderingAssignee: Simon Fraser (smfr) <simon.fraser>
Status: RESOLVED FIXED    
Severity: Normal CC: abarth, dglazkov, eric, simon.fraser, webkit.review.bot
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Macintosh   
OS: OS X 10.6   
Attachments:
Description Flags
Patch mitz: review+, eric: commit-queue-

Description Vangelis Kokkevis 2010-11-18 10:37:22 PST
When loading:

compositing/masks/simple-composited-mask.html

the top image in the composited column is blank.

This is with a recent nightly build: Version 5.0 (6533.16, r72146)

It also occasionally happens for the masked-ancestor test, after successive reloads.  

I did spend a little bit of time trying to debug this and it appears that the mask layer's bounds are zero when that happens.
Comment 1 Simon Fraser (smfr) 2010-11-18 10:42:40 PST
I can reproduce. I think this must have regressed at some point.
Comment 2 Simon Fraser (smfr) 2010-11-18 10:43:02 PST
<rdar://problem/8683794>
Comment 3 Simon Fraser (smfr) 2010-12-13 21:12:56 PST
The mask isn't getting painted for some reason.
Comment 4 Simon Fraser (smfr) 2010-12-13 21:39:15 PST
The masked compositing layer is 0x0; it gets its size via box->maskClipRect() but that returns 0x0 before the image has loaded. So when the mask image loads, we need to rejigger some composting geometry.
Comment 5 Simon Fraser (smfr) 2010-12-13 22:50:37 PST
Created attachment 76503 [details]
Patch
Comment 6 mitz 2010-12-13 22:54:20 PST
Comment on attachment 76503 [details]
Patch

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

> WebCore/rendering/RenderLayerBacking.cpp:801
> -    if (isDirectlyCompositedImage()) {
> +    if ((changeType == RenderLayer::ImageChanged) && isDirectlyCompositedImage()) {

This method’s body can now be a switch statement.
Comment 7 WebKit Review Bot 2010-12-13 22:57:39 PST
Attachment 76503 [details] did not build on chromium:
Build output: http://queues.webkit.org/results/6977103
Comment 8 Eric Seidel (no email) 2010-12-13 23:58:45 PST
Attachment 76503 [details] did not build on chromium:
Build output: http://queues.webkit.org/results/6889119
Comment 9 Eric Seidel (no email) 2010-12-14 01:17:39 PST
Comment on attachment 76503 [details]
Patch

Seems this patch will need an update to avoid breaking Chromium.
Comment 10 Vangelis Kokkevis 2010-12-14 10:03:47 PST
(In reply to comment #9)
> (From update of attachment 76503 [details])
> Seems this patch will need an update to avoid breaking Chromium.

Definitely.  I'll update and resubmit!  Thanks.
Comment 11 Simon Fraser (smfr) 2010-12-14 11:18:57 PST
I can take care of it.
Comment 12 Simon Fraser (smfr) 2010-12-14 16:10:33 PST
http://trac.webkit.org/changeset/74066
Comment 13 WebKit Review Bot 2010-12-14 17:18:29 PST
http://trac.webkit.org/changeset/74066 might have broken SnowLeopard Intel Release (Tests)
The following tests are not passing:
fast/css/focus-ring-detached.html
fast/css/focus-ring-multiline.html