WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
83504
[chromium] Replica layers are not drawn, so should not be painted
https://bugs.webkit.org/show_bug.cgi?id=83504
Summary
[chromium] Replica layers are not drawn, so should not be painted
Dana Jansens
Reported
2012-04-09 13:32:26 PDT
[chromium] Don't waste time trying to paint replica layers
Attachments
Patch
(3.46 KB, patch)
2012-04-09 13:42 PDT
,
Dana Jansens
no flags
Details
Formatted Diff
Diff
Patch
(5.28 KB, patch)
2012-04-09 13:50 PDT
,
Dana Jansens
no flags
Details
Formatted Diff
Diff
Patch for landing
(5.36 KB, patch)
2012-04-09 15:10 PDT
,
Dana Jansens
no flags
Details
Formatted Diff
Diff
Show Obsolete
(2)
View All
Add attachment
proposed patch, testcase, etc.
Dana Jansens
Comment 1
2012-04-09 13:36:20 PDT
We attempt to paint replica layers when we are painting the mask layers in CCLayerTreeHost.cpp. This is useless code, replica layers have drawsContent() == false, and have an empty visibleLayerRect, so the paint functions end up early-outting. But it is a waste of time to try, and confusing to have this attempted in the code at all, since the replica layers are never drawn. They exist only for their transforms. Also the dimensions used for the mask are different from the surface mask, which is confusing and unnecessary as well. The mask is applied to the same surface contents as the surface mask would be, so only the surface's contentBounds need to be painted in the replica mask.
Dana Jansens
Comment 2
2012-04-09 13:42:03 PDT
Created
attachment 136297
[details]
Patch
James Robinson
Comment 3
2012-04-09 13:47:02 PDT
Comment on
attachment 136297
[details]
Patch Seems like paintMaskAndReplicaForRenderSurface() needs a rename, no?
Dana Jansens
Comment 4
2012-04-09 13:50:45 PDT
Created
attachment 136300
[details]
Patch yes!
James Robinson
Comment 5
2012-04-09 14:23:21 PDT
Comment on
attachment 136300
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=136300&action=review
> Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.cpp:531 > + LayerChromium* maskLayer = replicaLayer->maskLayer();
this shadows the earlier local which is a bit weird (and I wouldn't be surprised if triggered a warning on some pedantic compiler somewhere). Can you: *) reuse the local *) pick another name *) refactor shared code into a helper so we don't have to duplicate this block?
Dana Jansens
Comment 6
2012-04-09 15:10:44 PDT
done, renamed to replicaMaskLayer.
Dana Jansens
Comment 7
2012-04-09 15:10:56 PDT
Created
attachment 136313
[details]
Patch for landing
WebKit Review Bot
Comment 8
2012-04-09 20:11:54 PDT
Comment on
attachment 136313
[details]
Patch for landing Clearing flags on attachment: 136313 Committed
r113668
: <
http://trac.webkit.org/changeset/113668
>
WebKit Review Bot
Comment 9
2012-04-09 20:11:59 PDT
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug