summaryrefslogtreecommitdiffstats
path: root/content/public/browser
diff options
context:
space:
mode:
authormazda@chromium.org <mazda@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-15 09:29:36 +0000
committermazda@chromium.org <mazda@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-15 09:29:36 +0000
commitca2fd075cf4eaeb2ee650affff606bbb3120772c (patch)
tree4cb40434aa433d9e30bba39e103b4ec8b59c4f59 /content/public/browser
parent0c652b8e854aad1f44751449e7029f432f4502fe (diff)
downloadchromium_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.h10
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|.