diff options
author | vangelis@chromium.org <vangelis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-05-14 00:05:34 +0000 |
---|---|---|
committer | vangelis@chromium.org <vangelis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-05-14 00:05:34 +0000 |
commit | b167ca6631fbfdc18101c8843aea02474f97447d (patch) | |
tree | 0d227324e292a3ea2a035b31c4adb63550fce63a /chrome/renderer | |
parent | b731a1476cd4a9380902463e467bfdcc0c2a9cca (diff) | |
download | chromium_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.cc | 11 |
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_; |