Bug 114113

Summary: [GTK][AC] Support masksToBounds for clutter AC backend.
Product: WebKit Reporter: ChangSeok Oh <kevin.cs.oh>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, gustavo, joone
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 113912    
Bug Blocks: 105699    
Attachments:
Description Flags
Patch
none
Patch
none
Patch
none
Patch
none
Patch none

Description ChangSeok Oh 2013-04-07 03:46:51 PDT
Masking layer doesn't work well.
A test case is here, "Slide in" in http://www.apple.com/html5/showcase/transitions/
Comment 1 ChangSeok Oh 2013-04-07 03:59:08 PDT
Created attachment 196776 [details]
Patch
Comment 2 ChangSeok Oh 2013-04-07 05:21:15 PDT
Created attachment 196782 [details]
Patch
Comment 3 ChangSeok Oh 2013-04-07 05:34:43 PDT
Created attachment 196783 [details]
Patch
Comment 5 ChangSeok Oh 2013-04-07 10:40:30 PDT
Created attachment 196795 [details]
Patch
Comment 6 Gustavo Noronha (kov) 2013-04-08 14:59:34 PDT
Comment on attachment 196795 [details]
Patch

In the current implementation we do clipping at paint time, apparently because we need to take the scroll offset into consideration for the clipping, does this change work when a layer has masksToBounds and is scrolled?
Comment 7 ChangSeok Oh 2013-04-09 00:20:16 PDT
(In reply to comment #6)
> (From update of attachment 196795 [details])
> In the current implementation we do clipping at paint time, apparently because we need to take the scroll offset into consideration for the clipping, does this change work when a layer has masksToBounds and is scrolled?

yes. it seems working without any artifacts as I know.
Would you let me know any sample for the case concerned? :)
Comment 8 ChangSeok Oh 2013-04-12 05:11:48 PDT
Created attachment 197747 [details]
Patch
Comment 9 ChangSeok Oh 2013-04-12 05:13:15 PDT
Comment on attachment 197747 [details]
Patch

Added graphicsLayerActorSetMasksToBounds in GraphicsLayerClutter::setupContentsLayer
Comment 10 Gustavo Noronha (kov) 2013-04-19 06:10:04 PDT
Comment on attachment 197747 [details]
Patch

None that I know, remember to merge this one on webkit-clutter too.
Comment 11 WebKit Commit Bot 2013-04-19 06:49:59 PDT
Comment on attachment 197747 [details]
Patch

Clearing flags on attachment: 197747

Committed r148742: <http://trac.webkit.org/changeset/148742>
Comment 12 WebKit Commit Bot 2013-04-19 06:50:01 PDT
All reviewed patches have been landed.  Closing bug.
Comment 13 ChangSeok Oh 2013-04-19 12:48:13 PDT
(In reply to comment #10)
> (From update of attachment 197747 [details])
> None that I know, remember to merge this one on webkit-clutter too.

Sure. I will~
Comment 14 Gustavo Noronha (kov) 2013-04-29 16:06:49 PDT
In webkit-clutter we do the clipping at paint time, I am not 100% on why, but I remember Joone explaining at some point. Merging this patch in webkit-clutter (which moved the clipping from paint time to setMasksToBounds time) broke the drawing of layers in pages such as this one: http://www.anthonycalzadilla.com/css3-ATAT/ I am still building webkit-gtk with clutter AC to test if that also happened in webkitgtk's case.
Comment 15 Gustavo Noronha (kov) 2013-04-29 16:14:07 PDT
Actually, this page is a better test, zooming and scrolling around should show the issue: https://developers.google.com/maps/documentation/javascript/examples/map-simple?hl=pt-br