Index: chrome/common/render_messages_internal.h |
diff --git a/chrome/common/render_messages_internal.h b/chrome/common/render_messages_internal.h |
index 02a9a436ea10f8256fec3b746b12320cd28a45cc..f02f5cf06923578ec21285dc3e7409d5d63d2cfa 100644 |
--- a/chrome/common/render_messages_internal.h |
+++ b/chrome/common/render_messages_internal.h |
@@ -16,6 +16,8 @@ |
#include "base/gfx/native_widget_types.h" |
#include "base/shared_memory.h" |
#include "chrome/common/ipc_message_macros.h" |
+#include "chrome/common/ipc_maybe.h" |
+#include "chrome/common/transport_dib.h" |
#include "skia/include/SkBitmap.h" |
#include "webkit/glue/console_message_level.h" |
#include "webkit/glue/dom_operations.h" |
@@ -1168,4 +1170,19 @@ IPC_BEGIN_MESSAGES(ViewHost) |
double /* left_channel */, |
double /* right_channel */) |
+#if defined(OS_MACOSX) |
+ // On OSX, we cannot allocated shared memory from within the sandbox, so |
+ // this call exists for the renderer to ask the browser to allocate memory |
+ // on its behalf. We return a file descriptor to the POSIX shared memory. |
+ IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_AllocTransportDIB, |
+ size_t, /* bytes requested */ |
+ IPC::Maybe<TransportDIB::Handle> /* DIB */) |
+ |
+ // Since the browser keeps handles to the allocated transport DIBs, this |
+ // message is sent to tell the browser that it may release them when the |
+ // renderer is finished with them. |
+ IPC_MESSAGE_CONTROL1(ViewHostMsg_FreeTransportDIB, |
+ TransportDIB::Id /* DIB id */) |
+#endif |
+ |
IPC_END_MESSAGES(ViewHost) |