summaryrefslogtreecommitdiffstats
path: root/chrome/browser/renderer_host/render_process_host.h
diff options
context:
space:
mode:
authorkkania@chromium.org <kkania@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-20 18:00:36 +0000
committerkkania@chromium.org <kkania@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-20 18:00:36 +0000
commitae849ea693102dd66d5f01d9ad6799e0bde070d0 (patch)
tree2fdafb8dd84f96c9e61a6b5831860e4ba8406aba /chrome/browser/renderer_host/render_process_host.h
parentd62b5fc77d374524bed3752950f268851b8585c6 (diff)
downloadchromium_src-ae849ea693102dd66d5f01d9ad6799e0bde070d0.zip
chromium_src-ae849ea693102dd66d5f01d9ad6799e0bde070d0.tar.gz
chromium_src-ae849ea693102dd66d5f01d9ad6799e0bde070d0.tar.bz2
On Windows, create a new TransportDIB::Handle struct which includes the file
mapping HANDLE and the source process ID. Duplicating the handle for the remote process is done in TransportDIB::Map, instead of in various #ifdefs scattered across the code. Also on windows, remove the struct for the TransportDIB::Id which contained both the sequence number and the HANDLE and replace it with just the sequence number. Fix ThumbnailGenerator by mapping the TransportDIB on Windows and adding a method to duplicate the file mapping handle before sending across the channel. Also, add a ScopedHandle and fix some handle leaks. BUG=none TEST=none Review URL: http://codereview.chromium.org/3834003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63232 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/renderer_host/render_process_host.h')
-rw-r--r--chrome/browser/renderer_host/render_process_host.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/chrome/browser/renderer_host/render_process_host.h b/chrome/browser/renderer_host/render_process_host.h
index a5fd378..38cb5f2 100644
--- a/chrome/browser/renderer_host/render_process_host.h
+++ b/chrome/browser/renderer_host/render_process_host.h
@@ -216,12 +216,12 @@ class RenderProcessHost : public IPC::Channel::Sender,
// Transport DIB functions ---------------------------------------------------
- // Return the TransportDIB for the given id. On Linux, this can involve
- // mapping shared memory. On Mac, the shared memory is created in the browser
- // process and the cached metadata is returned. On Windows, this involves
- // duplicating the handle from the remote process. The RenderProcessHost
- // still owns the returned DIB.
- virtual TransportDIB* GetTransportDIB(TransportDIB::Id dib_id) = 0;
+ // Return the TransportDIB for the given id. On Windows and Linux, this may
+ // involve mapping the TransportDIB. On Mac, the shared memory is created in
+ // the browser process and the cached metadata is returned. The
+ // RenderProcessHost still owns the returned DIB.
+ virtual TransportDIB* GetTransportDIB(TransportDIB::Id dib_id,
+ TransportDIB::Handle dib_handle) = 0;
// Static management functions -----------------------------------------------