summaryrefslogtreecommitdiffstats
path: root/chrome/common/render_messages.h
diff options
context:
space:
mode:
authormad@chromium.org <mad@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-15 13:58:30 +0000
committermad@chromium.org <mad@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-15 13:58:30 +0000
commitc2d1d3bdc97218d7bb123fb2623347632fdc4ee5 (patch)
tree62f47d49aec7a0f57a41d04bc272daf76cccf0cf /chrome/common/render_messages.h
parent1149bde26565fa08c3e14103ec5b02c00db82cf9 (diff)
downloadchromium_src-c2d1d3bdc97218d7bb123fb2623347632fdc4ee5.zip
chromium_src-c2d1d3bdc97218d7bb123fb2623347632fdc4ee5.tar.gz
chromium_src-c2d1d3bdc97218d7bb123fb2623347632fdc4ee5.tar.bz2
This is to thest the page cycler performance without the resize corner, to see if these paint optimizations are worth it.
I will revert these changes as needed... You may revert them yourself if they cause you trouble before I get to revert them. I have tested these changes on two different linux configuration, but there are more code paths that I couldn't verify myself, though agl gave me the OK anyway. These changes have already been reviewed here: http://codereview.chromium.org/108040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18383 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/render_messages.h')
-rw-r--r--chrome/common/render_messages.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/chrome/common/render_messages.h b/chrome/common/render_messages.h
index 63f210f..fbb45d2 100644
--- a/chrome/common/render_messages.h
+++ b/chrome/common/render_messages.h
@@ -159,12 +159,17 @@ struct ViewHostMsg_PaintRect_Flags {
};
struct ViewHostMsg_PaintRect_Params {
- // The bitmap to be painted into the rect given by bitmap_rect.
+ // The bitmap to be painted into the rects given by paint_rects.
TransportDIB::Id bitmap;
- // The position and size of the bitmap.
+ // The position and size of the the bitmap relative to the view port.
gfx::Rect bitmap_rect;
+ // The position and size of the rects where the bitmap has data to be
+ // painted to the view. An empty vector means that the whole bitmap has
+ // data to be painted to the view.
+ std::vector<gfx::Rect> paint_rects;
+
// The size of the RenderView when this message was generated. This is
// included so the host knows how large the view is from the perspective of
// the renderer process. This is necessary in case a resize operation is in
@@ -860,6 +865,7 @@ struct ParamTraits<ViewHostMsg_PaintRect_Params> {
static void Write(Message* m, const param_type& p) {
WriteParam(m, p.bitmap);
WriteParam(m, p.bitmap_rect);
+ WriteParam(m, p.paint_rects);
WriteParam(m, p.view_size);
WriteParam(m, p.plugin_window_moves);
WriteParam(m, p.flags);
@@ -868,6 +874,7 @@ struct ParamTraits<ViewHostMsg_PaintRect_Params> {
return
ReadParam(m, iter, &p->bitmap) &&
ReadParam(m, iter, &p->bitmap_rect) &&
+ ReadParam(m, iter, &p->paint_rects) &&
ReadParam(m, iter, &p->view_size) &&
ReadParam(m, iter, &p->plugin_window_moves) &&
ReadParam(m, iter, &p->flags);
@@ -878,6 +885,8 @@ struct ParamTraits<ViewHostMsg_PaintRect_Params> {
l->append(L", ");
LogParam(p.bitmap_rect, l);
l->append(L", ");
+ LogParam(p.paint_rects, l);
+ l->append(L", ");
LogParam(p.view_size, l);
l->append(L", ");
LogParam(p.plugin_window_moves, l);