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 <stddef.h> | 8 #include <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 | 10 |
11 #include <list> | 11 #include <list> |
12 | 12 |
13 #include "base/id_map.h" | 13 #include "base/id_map.h" |
14 #include "base/process/kill.h" | 14 #include "base/process/kill.h" |
15 #include "base/process/process_handle.h" | 15 #include "base/process/process_handle.h" |
16 #include "base/supports_user_data.h" | 16 #include "base/supports_user_data.h" |
17 #include "content/common/content_export.h" | 17 #include "content/common/content_export.h" |
18 #include "ipc/ipc_channel_proxy.h" | 18 #include "ipc/ipc_channel_proxy.h" |
19 #include "ipc/ipc_sender.h" | 19 #include "ipc/ipc_sender.h" |
20 #include "ui/gfx/native_widget_types.h" | 20 #include "ui/gfx/native_widget_types.h" |
21 | 21 |
22 class GURL; | 22 class GURL; |
23 | 23 |
24 namespace base { | 24 namespace base { |
| 25 class SharedPersistentMemoryAllocator; |
25 class TimeDelta; | 26 class TimeDelta; |
26 } | 27 } |
27 | 28 |
28 namespace gpu { | 29 namespace gpu { |
29 union ValueState; | 30 union ValueState; |
30 } | 31 } |
31 | 32 |
32 namespace media { | 33 namespace media { |
33 class AudioOutputController; | 34 class AudioOutputController; |
34 class MediaKeys; | 35 class MediaKeys; |
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
251 // transferring it to a new renderer process. | 252 // transferring it to a new renderer process. |
252 virtual void ResumeDeferredNavigation(const GlobalRequestID& request_id) = 0; | 253 virtual void ResumeDeferredNavigation(const GlobalRequestID& request_id) = 0; |
253 | 254 |
254 // Notifies the renderer that the timezone configuration of the system might | 255 // Notifies the renderer that the timezone configuration of the system might |
255 // have changed. | 256 // have changed. |
256 virtual void NotifyTimezoneChange(const std::string& zone_id) = 0; | 257 virtual void NotifyTimezoneChange(const std::string& zone_id) = 0; |
257 | 258 |
258 // Returns the ServiceRegistry for this process. | 259 // Returns the ServiceRegistry for this process. |
259 virtual ServiceRegistry* GetServiceRegistry() = 0; | 260 virtual ServiceRegistry* GetServiceRegistry() = 0; |
260 | 261 |
| 262 // Extracts any persistent-memory-allocator used for renderer metrics. |
| 263 // Ownership is passed to the caller. To support sharing of histogram data |
| 264 // between the Renderer and the Browser, the allocator is created when the |
| 265 // process is created and later retrieved by the SubprocessMetricsProvider |
| 266 // for management. |
| 267 virtual scoped_ptr<base::SharedPersistentMemoryAllocator> |
| 268 TakeMetricsAllocator() = 0; |
| 269 |
261 // PlzNavigate | 270 // PlzNavigate |
262 // Returns the time the first call to Init completed successfully (after a new | 271 // Returns the time the first call to Init completed successfully (after a new |
263 // renderer process was created); further calls to Init won't change this | 272 // renderer process was created); further calls to Init won't change this |
264 // value. | 273 // value. |
265 // Note: Do not use! Will disappear after PlzNavitate is completed. | 274 // Note: Do not use! Will disappear after PlzNavitate is completed. |
266 virtual const base::TimeTicks& GetInitTimeForNavigationMetrics() const = 0; | 275 virtual const base::TimeTicks& GetInitTimeForNavigationMetrics() const = 0; |
267 | 276 |
268 // Returns whether or not the CHROMIUM_subscribe_uniform WebGL extension | 277 // Returns whether or not the CHROMIUM_subscribe_uniform WebGL extension |
269 // is currently enabled | 278 // is currently enabled |
270 virtual bool SubscribeUniformEnabled() const = 0; | 279 virtual bool SubscribeUniformEnabled() const = 0; |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
357 static void SetMaxRendererProcessCount(size_t count); | 366 static void SetMaxRendererProcessCount(size_t count); |
358 | 367 |
359 // Returns the current maximum number of renderer process hosts kept by the | 368 // Returns the current maximum number of renderer process hosts kept by the |
360 // content module. | 369 // content module. |
361 static size_t GetMaxRendererProcessCount(); | 370 static size_t GetMaxRendererProcessCount(); |
362 }; | 371 }; |
363 | 372 |
364 } // namespace content. | 373 } // namespace content. |
365 | 374 |
366 #endif // CONTENT_PUBLIC_BROWSER_RENDER_PROCESS_HOST_H_ | 375 #endif // CONTENT_PUBLIC_BROWSER_RENDER_PROCESS_HOST_H_ |
OLD | NEW |