summaryrefslogtreecommitdiffstats
path: root/content/common
diff options
context:
space:
mode:
authorpiman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-18 23:02:30 +0000
committerpiman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-18 23:02:30 +0000
commit53b4cc1380a09bba155f2465dc263c78033e8229 (patch)
treef4cf93be3a26a217bb6fbd3a1a8e789191e03b89 /content/common
parent939e4a6ec8fd0ba5bf8989bedba91719cbb0e040 (diff)
downloadchromium_src-53b4cc1380a09bba155f2465dc263c78033e8229.zip
chromium_src-53b4cc1380a09bba155f2465dc263c78033e8229.tar.gz
chromium_src-53b4cc1380a09bba155f2465dc263c78033e8229.tar.bz2
Associate an id with the output surface to handle lost contexts
This lets us cull acks that were meant for a previous output surface, so that we don't try to return/release resources that have been destroyed already. BUG=239931 Review URL: https://chromiumcodereview.appspot.com/19331002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@212470 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/common')
-rw-r--r--content/common/browser_plugin/browser_plugin_messages.h6
-rw-r--r--content/common/view_messages.h6
2 files changed, 8 insertions, 4 deletions
diff --git a/content/common/browser_plugin/browser_plugin_messages.h b/content/common/browser_plugin/browser_plugin_messages.h
index 94add96..9c16fea 100644
--- a/content/common/browser_plugin/browser_plugin_messages.h
+++ b/content/common/browser_plugin/browser_plugin_messages.h
@@ -209,9 +209,10 @@ IPC_MESSAGE_ROUTED5(BrowserPluginHostMsg_BuffersSwappedACK,
uint32 /* sync_point */)
// Acknowledge that we presented an ubercomp frame.
-IPC_MESSAGE_ROUTED4(BrowserPluginHostMsg_CompositorFrameACK,
+IPC_MESSAGE_ROUTED5(BrowserPluginHostMsg_CompositorFrameACK,
int /* instance_id */,
int /* route_id */,
+ uint32 /* output_surface_id */,
int /* renderer_host_id */,
cc::CompositorFrameAck /* ack */)
@@ -363,10 +364,11 @@ IPC_MESSAGE_CONTROL2(BrowserPluginMsg_BuffersSwapped,
int /* instance_id */,
BrowserPluginMsg_BuffersSwapped_Params)
-IPC_MESSAGE_CONTROL4(BrowserPluginMsg_CompositorFrameSwapped,
+IPC_MESSAGE_CONTROL5(BrowserPluginMsg_CompositorFrameSwapped,
int /* instance_id */,
cc::CompositorFrame /* frame */,
int /* route_id */,
+ uint32 /* output_surface_id */,
int /* renderer_host_id */)
// When the guest requests permission, the browser process forwards this
diff --git a/content/common/view_messages.h b/content/common/view_messages.h
index 9d7b328..b3a29e3 100644
--- a/content/common/view_messages.h
+++ b/content/common/view_messages.h
@@ -1323,7 +1323,8 @@ IPC_MESSAGE_ROUTED1(ViewMsg_SelectPopupMenuItem,
#endif
// Sent by the browser as a reply to ViewHostMsg_SwapCompositorFrame.
-IPC_MESSAGE_ROUTED1(ViewMsg_SwapCompositorFrameAck,
+IPC_MESSAGE_ROUTED2(ViewMsg_SwapCompositorFrameAck,
+ uint32 /* output_surface_id */,
cc::CompositorFrameAck /* ack */)
// Sent by the browser to ask the renderer for a snapshot of the current view.
@@ -2054,7 +2055,8 @@ IPC_MESSAGE_ROUTED1(
ViewHostMsg_CompositorSurfaceBuffersSwapped,
ViewHostMsg_CompositorSurfaceBuffersSwapped_Params /* params */)
-IPC_MESSAGE_ROUTED1(ViewHostMsg_SwapCompositorFrame,
+IPC_MESSAGE_ROUTED2(ViewHostMsg_SwapCompositorFrame,
+ uint32 /* output_surface_id */,
cc::CompositorFrame /* frame */)
// Sent by the compositor when input scroll events are dropped due to bounds