| 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 |