diff options
author | mazda@chromium.org <mazda@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-15 09:29:36 +0000 |
---|---|---|
committer | mazda@chromium.org <mazda@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-15 09:29:36 +0000 |
commit | ca2fd075cf4eaeb2ee650affff606bbb3120772c (patch) | |
tree | 4cb40434aa433d9e30bba39e103b4ec8b59c4f59 /content/public/browser | |
parent | 0c652b8e854aad1f44751449e7029f432f4502fe (diff) | |
download | chromium_src-ca2fd075cf4eaeb2ee650affff606bbb3120772c.zip chromium_src-ca2fd075cf4eaeb2ee650affff606bbb3120772c.tar.gz chromium_src-ca2fd075cf4eaeb2ee650affff606bbb3120772c.tar.bz2 |
Support browser side thumbnailing for GPU-composited pages on Windows.
Benchmark results of copying a 1280 x 800 pixels using CopyFromCompositingSurface or CopyFromBackingSurface are as follows.
FromCompositingSurface: 40.00 ms
FromBackingStore: 2.12 ms
I'm prepareing the following CLs and these will come soon,
- Support Mac and Chrome OS (Aura)
- Reduce the number of pixels to copy from the compositing surface for performance improvement
BUG=96351
TEST=Manual
Review URL: http://codereview.chromium.org/9582003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126870 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/public/browser')
-rw-r--r-- | content/public/browser/render_widget_host.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/content/public/browser/render_widget_host.h b/content/public/browser/render_widget_host.h index e95d325..b9f5204 100644 --- a/content/public/browser/render_widget_host.h +++ b/content/public/browser/render_widget_host.h @@ -177,8 +177,14 @@ class CONTENT_EXPORT RenderWidgetHost : public IPC::Channel::Sender { virtual void Blur() = 0; // Copies the contents of the backing store into the given (uninitialized) - // PlatformCanvas. Returns true on success, false otherwise. - virtual bool CopyFromBackingStore(skia::PlatformCanvas* output) = 0; + // PlatformCanvas. Returns true on success, false otherwise. When accelerated + // compositing is active, the contents is copied from the compositing surface. + // If non empty |dest_size| is given, the content is shrinked so that it fits + // in |dest_size|. If |dest_size| is larger than the contens size, the + // content is not resized. If |dest_size| is empty, the original size of the + // contents is copied. + virtual bool CopyFromBackingStore(const gfx::Size& dest_size, + skia::PlatformCanvas* output) = 0; #if defined(TOOLKIT_GTK) // Paint the backing store into the target's |dest_rect|. |