Bug 55013 - [chromium] Move draw time properties out of *LayerChromium to CCLayerImpl
Summary: [chromium] Move draw time properties out of *LayerChromium to CCLayerImpl
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: Other OS X 10.5
: P2 Normal
Assignee: James Robinson
URL:
Keywords:
Depends on:
Blocks: 54047
  Show dependency treegraph
 
Reported: 2011-02-22 19:11 PST by James Robinson
Modified: 2011-02-24 21:57 PST (History)
7 users (show)

See Also:


Attachments
Patch (67.63 KB, patch)
2011-02-22 19:39 PST, James Robinson
kbr: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description James Robinson 2011-02-22 19:11:32 PST
[chromium] Move draw time properties out of *LayerChromium to CCLayerImpl
Comment 1 James Robinson 2011-02-22 19:39:46 PST
Created attachment 83431 [details]
Patch
Comment 2 James Robinson 2011-02-22 19:43:09 PST
This patch is (in essence) a strict subset of https://bugs.webkit.org/show_bug.cgi?id=54047.  IMO it's big enough and conflict-likely enough to land by itself, but small enough to be a low-risk landing so I'd like to get it in before there is too much more surgery on these files.  Most of the lines touched are changes that switch to use a getter/setter rather than setting member variables directly.

Conceptually this patch doesn't do much except prepare for splitting the draw responsibilities away from what currently exists as the LayerChromium tree.  The patch at https://bugs.webkit.org/show_bug.cgi?id=54047 shows what this looks like after the update and draw steps are divided more cleanly in LayerRendererChromium's internals.
Comment 3 Kenneth Russell 2011-02-23 17:52:39 PST
Vangelis, could you do the unofficial review of this patch?
Comment 4 Vangelis Kokkevis 2011-02-24 00:16:38 PST
Comment on attachment 83431 [details]
Patch

Is the plan to also rename RenderSurfaceChromium to something like ccRenderSurface and move it to the cc directory?  
Is there any reason you call the new class CCLayerImpl instead of plain CCLayer ? 

Like you mention in the description, there's still a bunch of code that will need to change to break the connections between CCLayers and LayerChromium's but I think this is a fine first step.
Comment 5 James Robinson 2011-02-24 11:50:23 PST
(In reply to comment #4)
> (From update of attachment 83431 [details])
> Is the plan to also rename RenderSurfaceChromium to something like ccRenderSurface and move it to the cc directory?

Yup, that will happen as well.  It seemed premature to do that yet as it adds more churn and RenderSurfaceChromium is still being used directly by some of the LayerChromium subclasses.

> Is there any reason you call the new class CCLayerImpl instead of plain CCLayer ? 
> 

Nat pointed out that it makes more sense to name the interface we exposed to the rest of WebKit CCLayer and have CCLayerImpl be the compositor's internal implementation.  IOW GraphicsLayerChromium will have a set of CCLayers and set properties on them, etc, and only the compositor internals will ever have knowledge of CCLayerImpl.

> Like you mention in the description, there's still a bunch of code that will need to change to break the connections between CCLayers and LayerChromium's but I think this is a fine first step.
Comment 6 Nat Duca 2011-02-24 12:37:11 PST
I could imagine doing a similar change to LayerRendrerChromium too, as a subsequent patch perhaps.
Comment 7 James Robinson 2011-02-24 17:48:43 PST
So everyone is OK with this?
Comment 8 Adrienne Walker 2011-02-24 17:59:41 PST
(In reply to comment #7)
> So everyone is OK with this?

No complaints here.  It makes a lot of sense to commit this large but low-risk change first.
Comment 9 Kenneth Russell 2011-02-24 18:17:28 PST
Comment on attachment 83431 [details]
Patch

Thumbs up in that case.
Comment 10 James Robinson 2011-02-24 19:20:30 PST
Committed r79659: <http://trac.webkit.org/changeset/79659>
Comment 11 WebKit Review Bot 2011-02-24 21:57:30 PST
http://trac.webkit.org/changeset/79659 might have broken Leopard Intel Debug (Build)