Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(189)

Side by Side Diff: content/browser/renderer_host/render_process_host_impl.h

Issue 780133002: Add optimization for CHROMIUM_subscribe_uniform extension. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: piman@ review 3 Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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_
OLDNEW
« no previous file with comments | « content/browser/gpu/gpu_process_host_ui_shim.cc ('k') | content/browser/renderer_host/render_process_host_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698