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 <map> | 8 #include <map> |
9 #include <queue> | 9 #include <queue> |
10 #include <string> | 10 #include <string> |
(...skipping 15 matching lines...) Expand all Loading... |
26 | 26 |
27 namespace base { | 27 namespace base { |
28 class CommandLine; | 28 class CommandLine; |
29 class MessageLoop; | 29 class MessageLoop; |
30 } | 30 } |
31 | 31 |
32 namespace gfx { | 32 namespace gfx { |
33 class Size; | 33 class Size; |
34 } | 34 } |
35 | 35 |
| 36 namespace gpu { |
| 37 class ValueStateMap; |
| 38 } |
| 39 |
36 namespace IPC { | 40 namespace IPC { |
37 class ChannelMojoHost; | 41 class ChannelMojoHost; |
38 } | 42 } |
39 | 43 |
40 namespace content { | 44 namespace content { |
41 class AudioRendererHost; | 45 class AudioRendererHost; |
42 class BrowserCdmManager; | 46 class BrowserCdmManager; |
43 class BrowserDemuxerAndroid; | 47 class BrowserDemuxerAndroid; |
44 class GpuMessageFilter; | 48 class GpuMessageFilter; |
45 class MessagePortMessageFilter; | 49 class MessagePortMessageFilter; |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
133 base::Callback<void(const std::string&)> callback) override; | 137 base::Callback<void(const std::string&)> callback) override; |
134 WebRtcStopRtpDumpCallback StartRtpDump( | 138 WebRtcStopRtpDumpCallback StartRtpDump( |
135 bool incoming, | 139 bool incoming, |
136 bool outgoing, | 140 bool outgoing, |
137 const WebRtcRtpPacketCallback& packet_callback) override; | 141 const WebRtcRtpPacketCallback& packet_callback) override; |
138 #endif | 142 #endif |
139 void ResumeDeferredNavigation(const GlobalRequestID& request_id) override; | 143 void ResumeDeferredNavigation(const GlobalRequestID& request_id) override; |
140 void NotifyTimezoneChange() override; | 144 void NotifyTimezoneChange() override; |
141 ServiceRegistry* GetServiceRegistry() override; | 145 ServiceRegistry* GetServiceRegistry() override; |
142 const base::TimeTicks& GetInitTimeForNavigationMetrics() const override; | 146 const base::TimeTicks& GetInitTimeForNavigationMetrics() const override; |
| 147 bool SubscribeUniformEnabled() const override; |
| 148 void OnAddSubscription(unsigned int target) override; |
| 149 void OnRemoveSubscription(unsigned int target) override; |
| 150 void SendUpdateValueState( |
| 151 unsigned int target, const gpu::ValueState& state) override; |
143 | 152 |
144 // IPC::Sender via RenderProcessHost. | 153 // IPC::Sender via RenderProcessHost. |
145 bool Send(IPC::Message* msg) override; | 154 bool Send(IPC::Message* msg) override; |
146 | 155 |
147 // IPC::Listener via RenderProcessHost. | 156 // IPC::Listener via RenderProcessHost. |
148 bool OnMessageReceived(const IPC::Message& msg) override; | 157 bool OnMessageReceived(const IPC::Message& msg) override; |
149 void OnChannelConnected(int32 peer_pid) override; | 158 void OnChannelConnected(int32 peer_pid) override; |
150 void OnChannelError() override; | 159 void OnChannelError() override; |
151 void OnBadMessageReceived(const IPC::Message& message) override; | 160 void OnBadMessageReceived(const IPC::Message& message) override; |
152 | 161 |
(...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
463 #endif | 472 #endif |
464 | 473 |
465 int worker_ref_count_; | 474 int worker_ref_count_; |
466 | 475 |
467 // Records the time when the process starts surviving for workers for UMA. | 476 // Records the time when the process starts surviving for workers for UMA. |
468 base::TimeTicks survive_for_worker_start_time_; | 477 base::TimeTicks survive_for_worker_start_time_; |
469 | 478 |
470 // Context shared for each PermissionService instance created for this RPH. | 479 // Context shared for each PermissionService instance created for this RPH. |
471 scoped_ptr<PermissionServiceContext> permission_service_context_; | 480 scoped_ptr<PermissionServiceContext> permission_service_context_; |
472 | 481 |
| 482 // This is a set of all subscription targets valuebuffers in the GPU process |
| 483 // are currently subscribed too. Used to prevent sending unnecessary |
| 484 // ValueState updates. |
| 485 typedef base::hash_set<unsigned int> SubscriptionSet; |
| 486 SubscriptionSet subscription_set_; |
| 487 |
| 488 // Maintains ValueStates which are not currently subscribed too so we can |
| 489 // pass them to the GpuService if a Valuebuffer ever subscribes to the |
| 490 // respective subscription target |
| 491 scoped_refptr<gpu::ValueStateMap> pending_valuebuffer_state_; |
| 492 |
| 493 // Whether or not the CHROMIUM_subscribe_uniform WebGL extension is enabled |
| 494 bool subscribe_uniform_enabled_; |
| 495 |
473 base::WeakPtrFactory<RenderProcessHostImpl> weak_factory_; | 496 base::WeakPtrFactory<RenderProcessHostImpl> weak_factory_; |
474 | 497 |
475 DISALLOW_COPY_AND_ASSIGN(RenderProcessHostImpl); | 498 DISALLOW_COPY_AND_ASSIGN(RenderProcessHostImpl); |
476 }; | 499 }; |
477 | 500 |
478 } // namespace content | 501 } // namespace content |
479 | 502 |
480 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_ | 503 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_ |
OLD | NEW |