| 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_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_ | 5 #ifndef CONTENT_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_ |
| 6 #define CONTENT_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_ | 6 #define CONTENT_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_ |
| 7 | 7 |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 #include <stdint.h> | 9 #include <stdint.h> |
| 10 | 10 |
| (...skipping 22 matching lines...) Expand all Loading... |
| 33 | 33 |
| 34 namespace base { | 34 namespace base { |
| 35 class CommandLine; | 35 class CommandLine; |
| 36 class MessageLoop; | 36 class MessageLoop; |
| 37 } | 37 } |
| 38 | 38 |
| 39 namespace gfx { | 39 namespace gfx { |
| 40 class Size; | 40 class Size; |
| 41 } | 41 } |
| 42 | 42 |
| 43 namespace gpu { | |
| 44 class ValueStateMap; | |
| 45 } | |
| 46 | |
| 47 namespace IPC { | 43 namespace IPC { |
| 48 class ChannelMojoHost; | 44 class ChannelMojoHost; |
| 49 } | 45 } |
| 50 | 46 |
| 51 namespace content { | 47 namespace content { |
| 52 class AudioInputRendererHost; | 48 class AudioInputRendererHost; |
| 53 class AudioRendererHost; | 49 class AudioRendererHost; |
| 54 class BluetoothDispatcherHost; | 50 class BluetoothDispatcherHost; |
| 55 class BrowserCdmManager; | 51 class BrowserCdmManager; |
| 56 class BrowserDemuxerAndroid; | 52 class BrowserDemuxerAndroid; |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 157 bool outgoing, | 153 bool outgoing, |
| 158 const WebRtcRtpPacketCallback& packet_callback) override; | 154 const WebRtcRtpPacketCallback& packet_callback) override; |
| 159 #endif | 155 #endif |
| 160 void ResumeDeferredNavigation(const GlobalRequestID& request_id) override; | 156 void ResumeDeferredNavigation(const GlobalRequestID& request_id) override; |
| 161 void NotifyTimezoneChange(const std::string& timezone) override; | 157 void NotifyTimezoneChange(const std::string& timezone) override; |
| 162 ServiceRegistry* GetServiceRegistry() override; | 158 ServiceRegistry* GetServiceRegistry() override; |
| 163 shell::Connection* GetChildConnection() override; | 159 shell::Connection* GetChildConnection() override; |
| 164 std::unique_ptr<base::SharedPersistentMemoryAllocator> TakeMetricsAllocator() | 160 std::unique_ptr<base::SharedPersistentMemoryAllocator> TakeMetricsAllocator() |
| 165 override; | 161 override; |
| 166 const base::TimeTicks& GetInitTimeForNavigationMetrics() const override; | 162 const base::TimeTicks& GetInitTimeForNavigationMetrics() const override; |
| 167 bool SubscribeUniformEnabled() const override; | |
| 168 void OnAddSubscription(unsigned int target) override; | |
| 169 void OnRemoveSubscription(unsigned int target) override; | |
| 170 void SendUpdateValueState( | |
| 171 unsigned int target, const gpu::ValueState& state) override; | |
| 172 #if defined(ENABLE_BROWSER_CDMS) | 163 #if defined(ENABLE_BROWSER_CDMS) |
| 173 scoped_refptr<media::MediaKeys> GetCdm(int render_frame_id, | 164 scoped_refptr<media::MediaKeys> GetCdm(int render_frame_id, |
| 174 int cdm_id) const override; | 165 int cdm_id) const override; |
| 175 #endif | 166 #endif |
| 176 bool IsProcessBackgrounded() const override; | 167 bool IsProcessBackgrounded() const override; |
| 177 void IncrementWorkerRefCount() override; | 168 void IncrementWorkerRefCount() override; |
| 178 void DecrementWorkerRefCount() override; | 169 void DecrementWorkerRefCount() override; |
| 179 | 170 |
| 180 // IPC::Sender via RenderProcessHost. | 171 // IPC::Sender via RenderProcessHost. |
| 181 bool Send(IPC::Message* msg) override; | 172 bool Send(IPC::Message* msg) override; |
| (...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 496 base::TimeTicks survive_for_worker_start_time_; | 487 base::TimeTicks survive_for_worker_start_time_; |
| 497 | 488 |
| 498 // Records the maximum # of workers simultaneously hosted in this process | 489 // Records the maximum # of workers simultaneously hosted in this process |
| 499 // for UMA. | 490 // for UMA. |
| 500 int max_worker_count_; | 491 int max_worker_count_; |
| 501 | 492 |
| 502 // Context shared for each mojom::PermissionService instance created for this | 493 // Context shared for each mojom::PermissionService instance created for this |
| 503 // RPH. | 494 // RPH. |
| 504 std::unique_ptr<PermissionServiceContext> permission_service_context_; | 495 std::unique_ptr<PermissionServiceContext> permission_service_context_; |
| 505 | 496 |
| 506 // This is a set of all subscription targets valuebuffers in the GPU process | |
| 507 // are currently subscribed too. Used to prevent sending unnecessary | |
| 508 // ValueState updates. | |
| 509 typedef base::hash_set<unsigned int> SubscriptionSet; | |
| 510 SubscriptionSet subscription_set_; | |
| 511 | |
| 512 // Maintains ValueStates which are not currently subscribed too so we can | |
| 513 // pass them to the GpuService if a Valuebuffer ever subscribes to the | |
| 514 // respective subscription target | |
| 515 scoped_refptr<gpu::ValueStateMap> pending_valuebuffer_state_; | |
| 516 | |
| 517 // Whether or not the CHROMIUM_subscribe_uniform WebGL extension is enabled | |
| 518 bool subscribe_uniform_enabled_; | |
| 519 | |
| 520 // The memory allocator, if any, in which the renderer will write its metrics. | 497 // The memory allocator, if any, in which the renderer will write its metrics. |
| 521 std::unique_ptr<base::SharedPersistentMemoryAllocator> metrics_allocator_; | 498 std::unique_ptr<base::SharedPersistentMemoryAllocator> metrics_allocator_; |
| 522 | 499 |
| 523 bool channel_connected_; | 500 bool channel_connected_; |
| 524 bool sent_render_process_ready_; | 501 bool sent_render_process_ready_; |
| 525 | 502 |
| 526 #if defined(OS_ANDROID) | 503 #if defined(OS_ANDROID) |
| 527 // UI thread is the source of sync IPCs and all shutdown signals. | 504 // UI thread is the source of sync IPCs and all shutdown signals. |
| 528 // Therefore a proper shutdown event to unblock the UI thread is not | 505 // Therefore a proper shutdown event to unblock the UI thread is not |
| 529 // possible without massive refactoring shutdown code. | 506 // possible without massive refactoring shutdown code. |
| 530 // Luckily Android never performs a clean shutdown. So explicitly | 507 // Luckily Android never performs a clean shutdown. So explicitly |
| 531 // ignore this problem. | 508 // ignore this problem. |
| 532 base::WaitableEvent never_signaled_; | 509 base::WaitableEvent never_signaled_; |
| 533 #endif | 510 #endif |
| 534 | 511 |
| 535 std::string mojo_channel_token_; | 512 std::string mojo_channel_token_; |
| 536 mojo::ScopedMessagePipeHandle in_process_renderer_handle_; | 513 mojo::ScopedMessagePipeHandle in_process_renderer_handle_; |
| 537 | 514 |
| 538 base::WeakPtrFactory<RenderProcessHostImpl> weak_factory_; | 515 base::WeakPtrFactory<RenderProcessHostImpl> weak_factory_; |
| 539 | 516 |
| 540 DISALLOW_COPY_AND_ASSIGN(RenderProcessHostImpl); | 517 DISALLOW_COPY_AND_ASSIGN(RenderProcessHostImpl); |
| 541 }; | 518 }; |
| 542 | 519 |
| 543 } // namespace content | 520 } // namespace content |
| 544 | 521 |
| 545 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_ | 522 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_ |
| OLD | NEW |