diff options
author | enne <enne@chromium.org> | 2014-09-25 13:16:31 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-09-25 20:16:48 +0000 |
commit | 2097cab4982cc0ad92b878ad88e39d724dd047f7 (patch) | |
tree | 05eaaf4a03c4c32ad0ab5f24b79958a043bd0b65 /cc/trees/proxy.h | |
parent | dea7b93642a46bdaaecad4a438bba1bfc8cc8516 (diff) | |
download | chromium_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.h | 4 |
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; |