summaryrefslogtreecommitdiffstats
path: root/chrome/browser/renderer_host/render_widget_host_view_win.h
diff options
context:
space:
mode:
authordarin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-21 04:42:05 +0000
committerdarin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-21 04:42:05 +0000
commit53d3f3046205f2d6151f61b8ef835ad708215761 (patch)
tree8dd4f4ac91f3f0f2e7ba7cf0a1fac8a5969af5b3 /chrome/browser/renderer_host/render_widget_host_view_win.h
parentc9086fbde71e70d3b89e574d6affc005cc190c7d (diff)
downloadchromium_src-53d3f3046205f2d6151f61b8ef835ad708215761.zip
chromium_src-53d3f3046205f2d6151f61b8ef835ad708215761.tar.gz
chromium_src-53d3f3046205f2d6151f61b8ef835ad708215761.tar.bz2
Combine ViewHostMsg_{Paint,Scroll}Rect into one IPC.
The combined IPC means that scrolling only requires one transport DIB instead of two. Previously, we'd use one in the ScrollRect IPC to pass up the pixels for the exposed region, and then we'd use a second one in the PaintRect IPC to pass up the pixels for the updated scroll bar rendering. Now all paints are done using a single transport DIB. Optimize RenderWidgetHostViewWin::OnPaint to only paint the damaged regions. This means calling GetUpdateRgn and GetRegionData to enumerate the list of damage rects. Then only those rects are copied from the backing store. The same optimization is not done for Linux or Mac yet. R=brettw BUG=29591 TEST=none Originally reviewed at http://codereview.chromium.org/506013 Review URL: http://codereview.chromium.org/509005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35078 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/renderer_host/render_widget_host_view_win.h')
-rw-r--r--chrome/browser/renderer_host/render_widget_host_view_win.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/chrome/browser/renderer_host/render_widget_host_view_win.h b/chrome/browser/renderer_host/render_widget_host_view_win.h
index 57b220b..3b54064 100644
--- a/chrome/browser/renderer_host/render_widget_host_view_win.h
+++ b/chrome/browser/renderer_host/render_widget_host_view_win.h
@@ -125,8 +125,8 @@ class RenderWidgetHostViewWin
virtual void UpdateCursor(const WebCursor& cursor);
virtual void SetIsLoading(bool is_loading);
virtual void IMEUpdateStatus(int control, const gfx::Rect& caret_rect);
- virtual void DidPaintRect(const gfx::Rect& rect);
- virtual void DidScrollRect(const gfx::Rect& rect, int dx, int dy);
+ virtual void DidPaintBackingStoreRects(const std::vector<gfx::Rect>& rects);
+ virtual void DidScrollBackingStoreRect(const gfx::Rect& rect, int dx, int dy);
virtual void RenderViewGone();
virtual void WillDestroyRenderWidget(RenderWidgetHost* rwh);
virtual void Destroy();
@@ -207,7 +207,7 @@ class RenderWidgetHostViewWin
// Redraws the window synchronously, and any child windows (i.e. plugins)
// asynchronously.
- void Redraw(const gfx::Rect& invalid_rect);
+ void Redraw();
// Draw the resize corner bitmap on top of the given HDC, if it intersects the
// given paint rect.