[chromium] add instrumentation for compositing
authorcaseq@chromium.org <caseq@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 25 May 2012 12:05:41 +0000 (12:05 +0000)
committercaseq@chromium.org <caseq@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 25 May 2012 12:05:41 +0000 (12:05 +0000)
commit03fea7577e2fccb1e97a6811829e6fcd7f0facdc
tree440c03e27c67b22a58d68948cbe4e93a6f939c37
parentf4c400525357652162c951e7be43fe60d2e1737d
[chromium] add instrumentation for compositing
https://bugs.webkit.org/show_bug.cgi?id=83928

Reviewed by James Robinson.

Source/Platform:

- added willCommit() and didBeginFrame() methods for instrumentation of compositing.

* chromium/public/WebLayerTreeViewClient.h:
(WebLayerTreeViewClient):

Source/WebCore:

- plumb willCommit() and didBeginFrame() from CCSingleThreadProxy and CCThreadProxy to inspector instrumentation;
- note for threaded case, didBeginFrame() is invoked upon unblocking of main thread;

* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(CCLayerTreeHostClient):
(WebCore::CCLayerTreeHost::didBeginFrame):
(WebCore::CCLayerTreeHost::willCommit):
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::commitAndComposite):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::beginFrame):

Source/WebKit/chromium:

- plumb willCommit() and didComposite() to inspector instrumentation via WebViewImpl.

* WebKit.gypi: Added WebLayerTreeViewTest
* src/WebLayerTreeViewImpl.cpp:
(WebKit::WebLayerTreeViewImpl::didBeginFrame):
(WebKit):
(WebKit::WebLayerTreeViewImpl::willCommit):
* src/WebLayerTreeViewImpl.h:
(WebLayerTreeViewImpl):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::didBeginFrame):
(WebKit):
(WebKit::WebViewImpl::willCommit):
* src/WebViewImpl.h:
(WebViewImpl):
* tests/CCLayerTreeHostTest.cpp:
* tests/FakeCCLayerTreeHostClient.h:
* tests/WebLayerTest.cpp:
* tests/WebLayerTreeViewTest.cpp: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@118513 268f45cc-cd09-0410-ab3c-d52691b4dbfc
16 files changed:
Source/Platform/ChangeLog
Source/Platform/chromium/public/WebLayerTreeViewClient.h
Source/WebCore/ChangeLog
Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.h
Source/WebCore/platform/graphics/chromium/cc/CCSingleThreadProxy.cpp
Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.cpp
Source/WebKit/chromium/ChangeLog
Source/WebKit/chromium/WebKit.gypi
Source/WebKit/chromium/src/WebLayerTreeViewImpl.cpp
Source/WebKit/chromium/src/WebLayerTreeViewImpl.h
Source/WebKit/chromium/src/WebViewImpl.cpp
Source/WebKit/chromium/src/WebViewImpl.h
Source/WebKit/chromium/tests/CCLayerTreeHostTest.cpp
Source/WebKit/chromium/tests/FakeCCLayerTreeHostClient.h
Source/WebKit/chromium/tests/WebLayerTest.cpp
Source/WebKit/chromium/tests/WebLayerTreeViewTest.cpp [new file with mode: 0644]