summaryrefslogtreecommitdiffstats
path: root/app/surface
diff options
context:
space:
mode:
authorderat@chromium.org <derat@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-01 20:24:16 +0000
committerderat@chromium.org <derat@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-01 20:24:16 +0000
commita9e8b391a900c2a28b07a61848c3383bc4c56979 (patch)
tree05178e0b0ee0b221b1108c8e715a3bfc4945236d /app/surface
parent6aeac834d9b08d597aee48a01a1661b715aac354 (diff)
downloadchromium_src-a9e8b391a900c2a28b07a61848c3383bc4c56979.zip
chromium_src-a9e8b391a900c2a28b07a61848c3383bc4c56979.tar.gz
chromium_src-a9e8b391a900c2a28b07a61848c3383bc4c56979.tar.bz2
Add ViewMsg_DoneUsingBitmap message.
ViewMsg_UpdateRect_ACK messages sent from the browser to the renderer currently tell the renderer both that it can start rendering the next update and that the TransportDIB that it previously sent to the browser is now available for reuse. This change adds a new ViewMsg_DoneUsingBitmap message for communicating the latter piece of information. We currently always send ViewMsg_DoneUsingBitmap immediately before sending ViewMsg_UpdateRect_ACK, so no functional changes are intended from this change. This is preparatory work for an optimization where we defer copying updates to the backing store, instead copying them directly from the TransportDIB to the widget -- if we get repeated updates for the same region, we can avoid copying all but the final update to the backing store entirely. BUG=none TEST=tried it on GTK; sent to trybots. will do some testing on other platforms too Review URL: http://codereview.chromium.org/3506007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61225 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'app/surface')
-rw-r--r--app/surface/transport_dib.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/app/surface/transport_dib.h b/app/surface/transport_dib.h
index 6606c2b..2f439e6 100644
--- a/app/surface/transport_dib.h
+++ b/app/surface/transport_dib.h
@@ -63,6 +63,10 @@ class TransportDIB {
return other.sequence_num < sequence_num;
}
+ bool operator==(const HandleAndSequenceNum& other) const {
+ return !(*this < other) && !(other < *this);
+ }
+
HANDLE handle;
uint32 sequence_num;
};