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; | |
26 class TimeDelta; | 25 class TimeDelta; |
27 } | 26 } |
28 | 27 |
29 namespace gpu { | 28 namespace gpu { |
30 union ValueState; | 29 union ValueState; |
31 } | 30 } |
32 | 31 |
33 namespace media { | 32 namespace media { |
34 class AudioOutputController; | 33 class AudioOutputController; |
35 class MediaKeys; | 34 class MediaKeys; |
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
248 // transferring it to a new renderer process. | 247 // transferring it to a new renderer process. |
249 virtual void ResumeDeferredNavigation(const GlobalRequestID& request_id) = 0; | 248 virtual void ResumeDeferredNavigation(const GlobalRequestID& request_id) = 0; |
250 | 249 |
251 // Notifies the renderer that the timezone configuration of the system might | 250 // Notifies the renderer that the timezone configuration of the system might |
252 // have changed. | 251 // have changed. |
253 virtual void NotifyTimezoneChange(const std::string& zone_id) = 0; | 252 virtual void NotifyTimezoneChange(const std::string& zone_id) = 0; |
254 | 253 |
255 // Returns the ServiceRegistry for this process. | 254 // Returns the ServiceRegistry for this process. |
256 virtual ServiceRegistry* GetServiceRegistry() = 0; | 255 virtual ServiceRegistry* GetServiceRegistry() = 0; |
257 | 256 |
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 | |
266 // PlzNavigate | 257 // PlzNavigate |
267 // Returns the time the first call to Init completed successfully (after a new | 258 // Returns the time the first call to Init completed successfully (after a new |
268 // renderer process was created); further calls to Init won't change this | 259 // renderer process was created); further calls to Init won't change this |
269 // value. | 260 // value. |
270 // Note: Do not use! Will disappear after PlzNavitate is completed. | 261 // Note: Do not use! Will disappear after PlzNavitate is completed. |
271 virtual const base::TimeTicks& GetInitTimeForNavigationMetrics() const = 0; | 262 virtual const base::TimeTicks& GetInitTimeForNavigationMetrics() const = 0; |
272 | 263 |
273 // Returns whether or not the CHROMIUM_subscribe_uniform WebGL extension | 264 // Returns whether or not the CHROMIUM_subscribe_uniform WebGL extension |
274 // is currently enabled | 265 // is currently enabled |
275 virtual bool SubscribeUniformEnabled() const = 0; | 266 virtual bool SubscribeUniformEnabled() const = 0; |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
362 static void SetMaxRendererProcessCount(size_t count); | 353 static void SetMaxRendererProcessCount(size_t count); |
363 | 354 |
364 // Returns the current maximum number of renderer process hosts kept by the | 355 // Returns the current maximum number of renderer process hosts kept by the |
365 // content module. | 356 // content module. |
366 static size_t GetMaxRendererProcessCount(); | 357 static size_t GetMaxRendererProcessCount(); |
367 }; | 358 }; |
368 | 359 |
369 } // namespace content. | 360 } // namespace content. |
370 | 361 |
371 #endif // CONTENT_PUBLIC_BROWSER_RENDER_PROCESS_HOST_H_ | 362 #endif // CONTENT_PUBLIC_BROWSER_RENDER_PROCESS_HOST_H_ |
OLD | NEW |