summaryrefslogtreecommitdiffstats
path: root/cc/trees/proxy.h
diff options
context:
space:
mode:
authorenne <enne@chromium.org>2014-09-25 13:16:31 -0700
committerCommit bot <commit-bot@chromium.org>2014-09-25 20:16:48 +0000
commit2097cab4982cc0ad92b878ad88e39d724dd047f7 (patch)
tree05eaaf4a03c4c32ad0ab5f24b79958a043bd0b65 /cc/trees/proxy.h
parentdea7b93642a46bdaaecad4a438bba1bfc8cc8516 (diff)
downloadchromium_src-2097cab4982cc0ad92b878ad88e39d724dd047f7.zip
chromium_src-2097cab4982cc0ad92b878ad88e39d724dd047f7.tar.gz
chromium_src-2097cab4982cc0ad92b878ad88e39d724dd047f7.tar.bz2
Make cc output surface creation async
As a part of making Android CompositorImpl use cc's scheduler and not post its own composite calls manually, cc needs to be able to handle asynchronous output surface creation. This change modifies CreateOutputSurface to instead be RequestNewOutputSurface, which the LayerTreeHostClient must respond to and call SetOutputSurface on the host with the new output surface once it is ready. Because the LayerTreeHostClient must now talk to the host as a part of output surface creation, a bunch of unit test code needed to be refactored to handle this. BUG=none Review URL: https://codereview.chromium.org/348093004 Cr-Commit-Position: refs/heads/master@{#296780}
Diffstat (limited to 'cc/trees/proxy.h')
-rw-r--r--cc/trees/proxy.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/cc/trees/proxy.h b/cc/trees/proxy.h
index 8d72728..feeab43 100644
--- a/cc/trees/proxy.h
+++ b/cc/trees/proxy.h
@@ -57,6 +57,10 @@ class CC_EXPORT Proxy {
virtual bool IsStarted() const = 0;
+ // Will call LayerTreeHost::OnCreateAndInitializeOutputSurfaceAttempted
+ // with the result of this function.
+ virtual void SetOutputSurface(scoped_ptr<OutputSurface> output_surface) = 0;
+
// Indicates that the compositing surface associated with our context is
// ready to use.
virtual void SetLayerTreeHostClientReady() = 0;