summaryrefslogtreecommitdiffstats
path: root/chrome/renderer
diff options
context:
space:
mode:
authorvangelis@chromium.org <vangelis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-05-14 00:05:34 +0000
committervangelis@chromium.org <vangelis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-05-14 00:05:34 +0000
commitb167ca6631fbfdc18101c8843aea02474f97447d (patch)
tree0d227324e292a3ea2a035b31c4adb63550fce63a /chrome/renderer
parentb731a1476cd4a9380902463e467bfdcc0c2a9cca (diff)
downloadchromium_src-b167ca6631fbfdc18101c8843aea02474f97447d.zip
chromium_src-b167ca6631fbfdc18101c8843aea02474f97447d.tar.gz
chromium_src-b167ca6631fbfdc18101c8843aea02474f97447d.tar.bz2
Stop the browser from scrolling the View contents when gpu accelerated compositing is enabled.
BUG=44044 Review URL: http://codereview.chromium.org/2053008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47224 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer')
-rw-r--r--chrome/renderer/render_widget.cc11
1 files changed, 9 insertions, 2 deletions
diff --git a/chrome/renderer/render_widget.cc b/chrome/renderer/render_widget.cc
index 395e87b..9d1af7b 100644
--- a/chrome/renderer/render_widget.cc
+++ b/chrome/renderer/render_widget.cc
@@ -506,8 +506,15 @@ void RenderWidget::DoDeferredUpdate() {
params.bitmap_rect = bounds;
params.dx = update.scroll_delta.x();
params.dy = update.scroll_delta.y();
- params.scroll_rect = update.scroll_rect;
- params.copy_rects.swap(copy_rects); // TODO(darin): clip to bounds?
+ if (is_gpu_rendering_active_) {
+ // If painting is done via the gpu process then we clear out all damage
+ // rects to save the browser process from doing unecessary work.
+ params.scroll_rect = gfx::Rect();
+ params.copy_rects.clear();
+ } else {
+ params.scroll_rect = update.scroll_rect;
+ params.copy_rects.swap(copy_rects); // TODO(darin): clip to bounds?
+ }
params.view_size = size_;
params.plugin_window_moves.swap(plugin_window_moves_);
params.flags = next_paint_flags_;