OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CONTENT_PUBLIC_BROWSER_RENDER_PROCESS_HOST_H_ | 5 #ifndef CONTENT_PUBLIC_BROWSER_RENDER_PROCESS_HOST_H_ |
6 #define CONTENT_PUBLIC_BROWSER_RENDER_PROCESS_HOST_H_ | 6 #define CONTENT_PUBLIC_BROWSER_RENDER_PROCESS_HOST_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/id_map.h" | 9 #include "base/id_map.h" |
10 #include "base/process/kill.h" | 10 #include "base/process/kill.h" |
11 #include "base/process/process_handle.h" | 11 #include "base/process/process_handle.h" |
12 #include "base/supports_user_data.h" | 12 #include "base/supports_user_data.h" |
13 #include "content/common/content_export.h" | 13 #include "content/common/content_export.h" |
14 #include "ipc/ipc_channel_proxy.h" | 14 #include "ipc/ipc_channel_proxy.h" |
15 #include "ipc/ipc_sender.h" | 15 #include "ipc/ipc_sender.h" |
16 #include "ui/gfx/native_widget_types.h" | 16 #include "ui/gfx/native_widget_types.h" |
17 #include "ui/surface/transport_dib.h" | |
18 | 17 |
19 class GURL; | 18 class GURL; |
20 struct ViewMsg_SwapOut_Params; | 19 struct ViewMsg_SwapOut_Params; |
21 | 20 |
22 namespace base { | 21 namespace base { |
23 class TimeDelta; | 22 class TimeDelta; |
24 } | 23 } |
25 | 24 |
26 namespace content { | 25 namespace content { |
27 class BrowserContext; | 26 class BrowserContext; |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
121 | 120 |
122 // Returns the process object associated with the child process. In certain | 121 // Returns the process object associated with the child process. In certain |
123 // tests or single-process mode, this will actually represent the current | 122 // tests or single-process mode, this will actually represent the current |
124 // process. | 123 // process. |
125 // | 124 // |
126 // NOTE: this is not necessarily valid immediately after calling Init, as | 125 // NOTE: this is not necessarily valid immediately after calling Init, as |
127 // Init starts the process asynchronously. It's guaranteed to be valid after | 126 // Init starts the process asynchronously. It's guaranteed to be valid after |
128 // the first IPC arrives. | 127 // the first IPC arrives. |
129 virtual base::ProcessHandle GetHandle() const = 0; | 128 virtual base::ProcessHandle GetHandle() const = 0; |
130 | 129 |
131 // Transport DIB functions --------------------------------------------------- | |
132 | |
133 // Return the TransportDIB for the given id. On Linux, this can involve | |
134 // mapping shared memory. On Mac, the shared memory is created in the browser | |
135 // process and the cached metadata is returned. On Windows, this involves | |
136 // duplicating the handle from the remote process. The RenderProcessHost | |
137 // still owns the returned DIB. | |
138 virtual TransportDIB* GetTransportDIB(TransportDIB::Id dib_id) = 0; | |
139 | |
140 // Return the TransportDIB for the given id. In contrast to GetTransportDIB, | |
141 // the caller owns the resulting TransportDIB. | |
142 virtual TransportDIB* MapTransportDIB(TransportDIB::Id dib_id) = 0; | |
143 | |
144 // Returns the user browser context associated with this renderer process. | 130 // Returns the user browser context associated with this renderer process. |
145 virtual content::BrowserContext* GetBrowserContext() const = 0; | 131 virtual content::BrowserContext* GetBrowserContext() const = 0; |
146 | 132 |
147 // Returns whether this process is using the same StoragePartition as | 133 // Returns whether this process is using the same StoragePartition as |
148 // |partition|. | 134 // |partition|. |
149 virtual bool InSameStoragePartition(StoragePartition* partition) const = 0; | 135 virtual bool InSameStoragePartition(StoragePartition* partition) const = 0; |
150 | 136 |
151 // Returns the unique ID for this child process host. This can be used later | 137 // Returns the unique ID for this child process host. This can be used later |
152 // in a call to FromID() to get back to this object (this is used to avoid | 138 // in a call to FromID() to get back to this object (this is used to avoid |
153 // sending non-threadsafe pointers to other threads). | 139 // sending non-threadsafe pointers to other threads). |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
280 static void SetMaxRendererProcessCount(size_t count); | 266 static void SetMaxRendererProcessCount(size_t count); |
281 | 267 |
282 // Returns the current max number of renderer processes used by the content | 268 // Returns the current max number of renderer processes used by the content |
283 // module. | 269 // module. |
284 static size_t GetMaxRendererProcessCount(); | 270 static size_t GetMaxRendererProcessCount(); |
285 }; | 271 }; |
286 | 272 |
287 } // namespace content. | 273 } // namespace content. |
288 | 274 |
289 #endif // CONTENT_PUBLIC_BROWSER_RENDER_PROCESS_HOST_H_ | 275 #endif // CONTENT_PUBLIC_BROWSER_RENDER_PROCESS_HOST_H_ |
OLD | NEW |