Bug 83127

Summary: [BlackBerry] Disable paintingGoesToWindow() for the root layer when force compositing mode is active
Product: WebKit Reporter: Arvid Nilsson <anilsson>
Component: Layout and RenderingAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: anilsson, fspacek, jamesr, jkjiang, jpetsovits, rwlbuis, sievers, staikos, tonikitoo, vangelis, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch none

Description Arvid Nilsson 2012-04-04 01:55:53 PDT
The BlackBerry port will use accelerated compositing code path to render the root layer in some situation.

The plan is to do this by activating the forceCompositingMode() setting, but that in itself doesn't accomplish anything, since painting will still go to window for the root layer.

Thus a special clause in RenderLayerBacking::paintingGoesToWindow() will be added for PLATFORM(BLACKBERRY).
Comment 1 Arvid Nilsson 2012-04-04 01:58:56 PDT
The force compositing setting was introduced in bug #56156
Comment 2 Arvid Nilsson 2012-04-04 02:19:08 PDT
Created attachment 135533 [details]
Patch
Comment 3 Arvid Nilsson 2012-04-04 02:24:11 PDT
Perhaps this is something the Chromium team is interested in, I'm not sure why they originally added the "force compositing" setting. Perhaps in the future, this can be a cross-platform mechanism rather than a PLATFORM(BLACKBERRY) ifdef?
Comment 4 Arvid Nilsson 2012-04-04 03:00:36 PDT
Created attachment 135541 [details]
Patch
Comment 5 Arvid Nilsson 2012-04-04 03:01:25 PDT
(In reply to comment #4)
> Created an attachment (id=135541) [details]
> Patch

Renamed the new method to "inForcedCompositingMode()" to match the existing "inCompositingMode()" method.
Comment 6 James Robinson 2012-04-04 13:31:43 PDT
In Chromium we paint root contents to the "window" and handle that externally to WebCore.
Comment 7 George Staikos 2012-04-05 05:42:06 PDT
(In reply to comment #6)
> In Chromium we paint root contents to the "window" and handle that externally to WebCore.

Are you saying you have concerns with the approach in this patch?
Comment 8 Arvid Nilsson 2012-04-05 07:04:35 PDT
(In reply to comment #7)
> (In reply to comment #6)
> > In Chromium we paint root contents to the "window" and handle that externally to WebCore.
> 
> Are you saying you have concerns with the approach in this patch?

I don't think so - I added them to the bug's CC list since I was curious about what Chromium uses the "force compositing" setting for when it doesn't really do anything out of the box (since painting still goes to the window according to James' comment above.)

If they are interested in this here feature (forcing root layer painting to go to layer instead of window) perhaps we can break it out into a separate setting in the future.
Comment 9 Rob Buis 2012-04-05 09:01:11 PDT
Comment on attachment 135541 [details]
Patch

LGTM.
Comment 10 WebKit Review Bot 2012-04-05 09:10:54 PDT
Comment on attachment 135541 [details]
Patch

Clearing flags on attachment: 135541

Committed r113326: <http://trac.webkit.org/changeset/113326>
Comment 11 WebKit Review Bot 2012-04-05 09:10:59 PDT
All reviewed patches have been landed.  Closing bug.