Index: chrome/browser/renderer_host/mock_render_process_host.cc |
diff --git a/chrome/browser/renderer_host/mock_render_process_host.cc b/chrome/browser/renderer_host/mock_render_process_host.cc |
index a2ccfa096439e2456e9b0e10c7c39e336a9e516e..e39d5b7f026a93859b328970a3d2a135d71f1dc7 100644 |
--- a/chrome/browser/renderer_host/mock_render_process_host.cc |
+++ b/chrome/browser/renderer_host/mock_render_process_host.cc |
@@ -98,20 +98,17 @@ bool MockRenderProcessHost::Send(IPC::Message* msg) { |
return true; |
} |
-TransportDIB* MockRenderProcessHost::GetTransportDIB(TransportDIB::Id dib_id) { |
+TransportDIB* MockRenderProcessHost::GetTransportDIB( |
+ TransportDIB::Id dib_id, TransportDIB::Handle dib_handle) { |
+ TransportDIB::ScopedHandle scoped_dib_handle(dib_handle); |
if (transport_dib_) |
return transport_dib_; |
-#if defined(OS_WIN) |
- HANDLE duped; |
- DuplicateHandle(GetCurrentProcess(), dib_id.handle, GetCurrentProcess(), |
- &duped, 0, TRUE, DUPLICATE_SAME_ACCESS); |
- transport_dib_ = TransportDIB::Map(duped); |
-#elif defined(OS_MACOSX) |
+#if defined(OS_MACOSX) |
// On Mac, TransportDIBs are always created in the browser, so we cannot map |
// one from a dib_id. |
transport_dib_ = TransportDIB::Create(100 * 100 * 4, 0); |
-#elif defined(OS_POSIX) |
- transport_dib_ = TransportDIB::Map(dib_id); |
+#else |
+ transport_dib_ = TransportDIB::Map(scoped_dib_handle.release()); |
#endif |
return transport_dib_; |