Index: chrome/common/transport_dib.h |
diff --git a/chrome/common/transport_dib.h b/chrome/common/transport_dib.h |
index e5fc009e6f4256f0639c31fa246284958d40602e..8f5be3a4fadef6d4f713471b3b7b65958809cca1 100644 |
--- a/chrome/common/transport_dib.h |
+++ b/chrome/common/transport_dib.h |
@@ -13,8 +13,14 @@ |
#if defined(OS_WIN) |
#include <windows.h> |
+#elif defined(OS_LINUX) |
+#include "chrome/common/x11_util.h" |
#endif |
+namespace gfx { |
+class Size; |
+} |
+ |
// ----------------------------------------------------------------------------- |
// A TransportDIB is a block of memory that is used to transport pixels |
// from the renderer process to the browser. |
@@ -94,6 +100,12 @@ class TransportDIB { |
// wire to give this transport DIB to another process. |
Handle handle() const; |
+#if defined(OS_LINUX) |
+ // Map the shared memory into the X server and return an id for the shared |
+ // segment. |
+ XID MapToX(Display* connection); |
+#endif |
+ |
private: |
TransportDIB(); |
#if defined(OS_WIN) || defined(OS_MACOSX) |
@@ -103,6 +115,8 @@ class TransportDIB { |
#elif defined(OS_LINUX) |
int key_; // SysV shared memory id |
void* address_; // mapped address |
+ XID x_shm_; // X id for the shared segment |
+ Display* display_; // connection to the X server |
#endif |
size_t size_; // length, in bytes |
}; |