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 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
247 // transferring it to a new renderer process. | 248 // transferring it to a new renderer process. |
248 virtual void ResumeDeferredNavigation(const GlobalRequestID& request_id) = 0; | 249 virtual void ResumeDeferredNavigation(const GlobalRequestID& request_id) = 0; |
249 | 250 |
250 // Notifies the renderer that the timezone configuration of the system might | 251 // Notifies the renderer that the timezone configuration of the system might |
251 // have changed. | 252 // have changed. |
252 virtual void NotifyTimezoneChange(const std::string& zone_id) = 0; | 253 virtual void NotifyTimezoneChange(const std::string& zone_id) = 0; |
253 | 254 |
254 // Returns the ServiceRegistry for this process. | 255 // Returns the ServiceRegistry for this process. |
255 virtual ServiceRegistry* GetServiceRegistry() = 0; | 256 virtual ServiceRegistry* GetServiceRegistry() = 0; |
256 | 257 |
| 258 // Extracts any persistent-memory-allocator used for renderer metrics. |
| 259 // Ownership is passed to the caller. To support sharing of histogram data |
| 260 // between the Renderer and the Browser, the allocator is created when the |
| 261 // process is created and later retrieved by the SubprocessMetricsProvider |
| 262 // for management. |
| 263 virtual scoped_ptr<base::SharedPersistentMemoryAllocator> |
| 264 TakeMetricsAllocator() = 0; |
| 265 |
257 // PlzNavigate | 266 // PlzNavigate |
258 // Returns the time the first call to Init completed successfully (after a new | 267 // Returns the time the first call to Init completed successfully (after a new |
259 // renderer process was created); further calls to Init won't change this | 268 // renderer process was created); further calls to Init won't change this |
260 // value. | 269 // value. |
261 // Note: Do not use! Will disappear after PlzNavitate is completed. | 270 // Note: Do not use! Will disappear after PlzNavitate is completed. |
262 virtual const base::TimeTicks& GetInitTimeForNavigationMetrics() const = 0; | 271 virtual const base::TimeTicks& GetInitTimeForNavigationMetrics() const = 0; |
263 | 272 |
264 // Returns whether or not the CHROMIUM_subscribe_uniform WebGL extension | 273 // Returns whether or not the CHROMIUM_subscribe_uniform WebGL extension |
265 // is currently enabled | 274 // is currently enabled |
266 virtual bool SubscribeUniformEnabled() const = 0; | 275 virtual bool SubscribeUniformEnabled() const = 0; |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
353 static void SetMaxRendererProcessCount(size_t count); | 362 static void SetMaxRendererProcessCount(size_t count); |
354 | 363 |
355 // Returns the current maximum number of renderer process hosts kept by the | 364 // Returns the current maximum number of renderer process hosts kept by the |
356 // content module. | 365 // content module. |
357 static size_t GetMaxRendererProcessCount(); | 366 static size_t GetMaxRendererProcessCount(); |
358 }; | 367 }; |
359 | 368 |
360 } // namespace content. | 369 } // namespace content. |
361 | 370 |
362 #endif // CONTENT_PUBLIC_BROWSER_RENDER_PROCESS_HOST_H_ | 371 #endif // CONTENT_PUBLIC_BROWSER_RENDER_PROCESS_HOST_H_ |
OLD | NEW |