diff options
author | joth@chromium.org <joth@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-01 18:18:21 +0000 |
---|---|---|
committer | joth@chromium.org <joth@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-01 18:18:21 +0000 |
commit | 86f557dfc7f23c5044cdf9dca214836562be8a27 (patch) | |
tree | 1f889037b2133857d2dd60275f60c000a3678ea4 /content/public/renderer/android/synchronous_compositor.h | |
parent | 3184f90bff4653bfb7a90ec4a1398559c4668247 (diff) | |
download | chromium_src-86f557dfc7f23c5044cdf9dca214836562be8a27.zip chromium_src-86f557dfc7f23c5044cdf9dca214836562be8a27.tar.gz chromium_src-86f557dfc7f23c5044cdf9dca214836562be8a27.tar.bz2 |
Introduce SynchronousCompositor + Client
Makes a direct API from aw/browser into the content/renderer
compositor (for use in single process only).
Plumb through the webview SW draw path as first step to removing
the synchronous IPC path.
BUG=230226
NOTRY=true
Review URL: https://chromiumcodereview.appspot.com/14445008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@197660 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/public/renderer/android/synchronous_compositor.h')
-rw-r--r-- | content/public/renderer/android/synchronous_compositor.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/content/public/renderer/android/synchronous_compositor.h b/content/public/renderer/android/synchronous_compositor.h new file mode 100644 index 0000000..f0c380d --- /dev/null +++ b/content/public/renderer/android/synchronous_compositor.h @@ -0,0 +1,35 @@ +// Copyright (c) 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CONTENT_PUBLIC_RENDERER_ANDROID_SYNCHRONOUS_COMPOSTIOR_ +#define CONTENT_PUBLIC_RENDERER_ANDROID_SYNCHRONOUS_COMPOSITOR_ + +class SkCanvas; + +namespace content { + +class SynchronousCompositorClient; + +// Interface for embedders that which to direct compositing operations +// synchronously under their own control. Only meaningful when the +// kEnableSyncrhonousRendererCompositor flag is specified. +class SynchronousCompositor { + public: + // Allows changing or resetting the client to NULL (this must be used if + // the client is being deleted prior to the DidDestroyCompositor() call + // being received by the client). Ownership of |client| remains with + // the caller. + virtual void SetClient(SynchronousCompositorClient* client) = 0; + + // "On demand" SW draw, into the supplied canvas (observing the transform + // and clip set there-in). + virtual bool DemandDrawSw(SkCanvas* canvas) = 0; + + protected: + virtual ~SynchronousCompositor() {} +}; + +} // namespace content + +#endif // CONTENT_PUBLIC_RENDERER_ANDROID_SYNCHRONOUS_COMPOSTIOR_ |