Bug 75116 - [chromium] Add support for layer tree debugging
Summary: [chromium] Add support for layer tree debugging
Status: RESOLVED WONTFIX
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: vollick
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-12-22 13:12 PST by vollick
Modified: 2013-04-12 07:39 PDT (History)
9 users (show)

See Also:


Attachments
Patch (26.69 KB, patch)
2011-12-22 13:19 PST, vollick
no flags Details | Formatted Diff | Diff
Patch (29.32 KB, patch)
2012-01-30 08:39 PST, vollick
no flags Details | Formatted Diff | Diff
Patch (18.34 KB, patch)
2012-03-06 18:31 PST, Peter Kotwicz
jamesr: review-
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description vollick 2011-12-22 13:12:41 PST
[chromium] Add support for creating dotty-friendly layer tree dumps
Comment 1 vollick 2011-12-22 13:19:22 PST
Created attachment 120371 [details]
Patch
Comment 2 WebKit Review Bot 2011-12-22 14:37:38 PST
Please wait for approval from fishd@chromium.org before submitting because this patch contains changes to the Chromium public API.
Comment 3 James Robinson 2011-12-22 18:37:40 PST
Comment on attachment 120371 [details]
Patch

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

What is dotty?

> Source/WebCore/ChangeLog:8
> +        No new tests. (OOPS!)

this won't blend
Comment 4 vollick 2012-01-04 05:25:30 PST
(In reply to comment #3)
> (From update of attachment 120371 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=120371&action=review
> 
> What is dotty?

It's a graph viz tool. The hope was that we could generate a graph of the webkit layers for debugging purposes. Also, I should have said 'in the dot language' rather than 'dotty-friendly' http://en.wikipedia.org/wiki/DOT_language

> 
> > Source/WebCore/ChangeLog:8
> > +        No new tests. (OOPS!)
> 
> this won't blend

Does this mean a test is required or that there were merge conflicts? I'm pretty sure you meant the former, but I thought I'd double-check, just in case.
Comment 5 Peter Kotwicz 2012-01-27 19:35:25 PST
Ping
Comment 6 James Robinson 2012-01-27 19:37:15 PST
I'm not sure this is really worth having, to be honest.
Comment 7 vollick 2012-01-30 08:39:07 PST
Created attachment 124559 [details]
Patch
Comment 8 Peter Kotwicz 2012-03-06 18:31:46 PST
Created attachment 130513 [details]
Patch
Comment 9 WebKit Review Bot 2012-03-06 18:35:28 PST
Please wait for approval from fishd@chromium.org, abarth@webkit.org or jamesr@chromium.org before submitting because this patch contains changes to the Chromium platform API.
Comment 10 James Robinson 2012-03-06 18:38:46 PST
Comment on attachment 130513 [details]
Patch

It seems like you attached this patch to the wrong bug, no?

I'm not at all excited about adding a synchronous cross-thread commit flow unless it's super super valuable.  There are lots of subtle threading/ordering bugs to flush out to make this work well.  What is this needed for?
Comment 11 Peter Kotwicz 2012-03-09 15:11:15 PST
Sorry for taking so long to reply.
I want to use this for displaying the impl layertree in WebUI. On the chromium side, I have created a WebUI page which will display the layer trees for both the browser and the webkit layertree.
This is similar to the flags --show-composited-layer-tree and --ui-show-layer-tree
The advantage of doing this in WebUI are:
1) The layertree is scrollable (the browser layer tree is large)
2) We can explore with interesting ways of showing the layertree data if useful

I believe that something like this could be useful for people starting out with WebKit.

I chose to display the impl layer tree because we were already generating the Webkit layer tree.
One option would be to generate the non impl layer tree in LayerChromium and use that. wjmaclean would this still be useful?
Comment 12 W. James MacLean 2012-03-13 11:25:33 PDT
(In reply to comment #11)
> Sorry for taking so long to reply.
> I want to use this for displaying the impl layertree in WebUI. On the chromium side, I have created a WebUI page which will display the layer trees for both the browser and the webkit layertree.
> This is similar to the flags --show-composited-layer-tree and --ui-show-layer-tree
> The advantage of doing this in WebUI are:
> 1) The layertree is scrollable (the browser layer tree is large)
> 2) We can explore with interesting ways of showing the layertree data if useful
> 
> I believe that something like this could be useful for people starting out with WebKit.
> 
> I chose to display the impl layer tree because we were already generating the Webkit layer tree.
> One option would be to generate the non impl layer tree in LayerChromium and use that. wjmaclean would this still be useful?

Having seen this in action, I think it will be useful for large layer trees, and esp. in Aura development it's nice being able to have the layer tree displayed in a separate window from the page being debugged. The benefit of being able to make display more informative by showing additional information seems pretty useful.

Ultimately it would be nice to see both main- and impl-thread trees (although these need not be in the same window). In the short term I'm not sure which tree is more important to display (or if there's even an answer to that question).