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

Side by Side Diff: content/renderer/renderer_blink_platform_impl.h

Issue 664963002: content: Add RendererScheduler. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address Daniel and Jared's comments and move renderer_scheduler ownership to render_thread_impl Created 6 years, 1 month 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_RENDERER_RENDERER_BLINK_PLATFORM_IMPL_H_ 5 #ifndef CONTENT_RENDERER_RENDERER_BLINK_PLATFORM_IMPL_H_
6 #define CONTENT_RENDERER_RENDERER_BLINK_PLATFORM_IMPL_H_ 6 #define CONTENT_RENDERER_RENDERER_BLINK_PLATFORM_IMPL_H_
7 7
8 #include "base/compiler_specific.h" 8 #include "base/compiler_specific.h"
9 #include "base/id_map.h" 9 #include "base/id_map.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 25 matching lines...) Expand all
36 } 36 }
37 37
38 namespace content { 38 namespace content {
39 class BatteryStatusDispatcher; 39 class BatteryStatusDispatcher;
40 class DeviceLightEventPump; 40 class DeviceLightEventPump;
41 class DeviceMotionEventPump; 41 class DeviceMotionEventPump;
42 class DeviceOrientationEventPump; 42 class DeviceOrientationEventPump;
43 class PlatformEventObserverBase; 43 class PlatformEventObserverBase;
44 class QuotaMessageFilter; 44 class QuotaMessageFilter;
45 class RendererClipboardClient; 45 class RendererClipboardClient;
46 class RendererScheduler;
46 class RenderView; 47 class RenderView;
47 class ThreadSafeSender; 48 class ThreadSafeSender;
48 class WebClipboardImpl; 49 class WebClipboardImpl;
49 class WebDatabaseObserverImpl; 50 class WebDatabaseObserverImpl;
50 class WebFileSystemImpl; 51 class WebFileSystemImpl;
52 class WebSchedulerImpl;
51 53
52 class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl { 54 class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
53 public: 55 public:
54 RendererBlinkPlatformImpl(); 56 RendererBlinkPlatformImpl(RendererScheduler* renderer_scheduler);
55 virtual ~RendererBlinkPlatformImpl(); 57 virtual ~RendererBlinkPlatformImpl();
56 58
57 void set_plugin_refresh_allowed(bool plugin_refresh_allowed) { 59 void set_plugin_refresh_allowed(bool plugin_refresh_allowed) {
58 plugin_refresh_allowed_ = plugin_refresh_allowed; 60 plugin_refresh_allowed_ = plugin_refresh_allowed;
59 } 61 }
60 // Platform methods: 62 // Platform methods:
63 virtual void callOnMainThread(void (*func)(void*), void* context);
61 virtual blink::WebClipboard* clipboard(); 64 virtual blink::WebClipboard* clipboard();
62 virtual blink::WebMimeRegistry* mimeRegistry(); 65 virtual blink::WebMimeRegistry* mimeRegistry();
63 virtual blink::WebFileUtilities* fileUtilities(); 66 virtual blink::WebFileUtilities* fileUtilities();
64 virtual blink::WebSandboxSupport* sandboxSupport(); 67 virtual blink::WebSandboxSupport* sandboxSupport();
65 virtual blink::WebCookieJar* cookieJar(); 68 virtual blink::WebCookieJar* cookieJar();
66 virtual blink::WebThemeEngine* themeEngine(); 69 virtual blink::WebThemeEngine* themeEngine();
67 virtual blink::WebSpeechSynthesizer* createSpeechSynthesizer( 70 virtual blink::WebSpeechSynthesizer* createSpeechSynthesizer(
68 blink::WebSpeechSynthesizerClient* client); 71 blink::WebSpeechSynthesizerClient* client);
69 virtual bool sandboxEnabled(); 72 virtual bool sandboxEnabled();
70 virtual unsigned long long visitedLinkHash( 73 virtual unsigned long long visitedLinkHash(
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 const blink::WebString& host, const blink::WebString& languages); 145 const blink::WebString& host, const blink::WebString& languages);
143 virtual void startListening(blink::WebPlatformEventType, 146 virtual void startListening(blink::WebPlatformEventType,
144 blink::WebPlatformEventListener*); 147 blink::WebPlatformEventListener*);
145 virtual void stopListening(blink::WebPlatformEventType); 148 virtual void stopListening(blink::WebPlatformEventType);
146 virtual void queryStorageUsageAndQuota( 149 virtual void queryStorageUsageAndQuota(
147 const blink::WebURL& storage_partition, 150 const blink::WebURL& storage_partition,
148 blink::WebStorageQuotaType, 151 blink::WebStorageQuotaType,
149 blink::WebStorageQuotaCallbacks); 152 blink::WebStorageQuotaCallbacks);
150 virtual void vibrate(unsigned int milliseconds); 153 virtual void vibrate(unsigned int milliseconds);
151 virtual void cancelVibration(); 154 virtual void cancelVibration();
155 virtual blink::WebScheduler* scheduler();
152 156
153 // Set the PlatformEventObserverBase in |platform_event_observers_| associated 157 // Set the PlatformEventObserverBase in |platform_event_observers_| associated
154 // with |type| to |observer|. If there was already an observer associated to 158 // with |type| to |observer|. If there was already an observer associated to
155 // the given |type|, it will be replaced. 159 // the given |type|, it will be replaced.
156 // Note that |observer| will be owned by this object after the call. 160 // Note that |observer| will be owned by this object after the call.
157 void SetPlatformEventObserverForTesting( 161 void SetPlatformEventObserverForTesting(
158 blink::WebPlatformEventType type, 162 blink::WebPlatformEventType type,
159 scoped_ptr<PlatformEventObserverBase> observer); 163 scoped_ptr<PlatformEventObserverBase> observer);
160 164
161 // Disables the WebSandboxSupport implementation for testing. 165 // Disables the WebSandboxSupport implementation for testing.
(...skipping 28 matching lines...) Expand all
190 194
191 // Factory that takes a type and return PlatformEventObserverBase that matches 195 // Factory that takes a type and return PlatformEventObserverBase that matches
192 // it. 196 // it.
193 static PlatformEventObserverBase* CreatePlatformEventObserverFromType( 197 static PlatformEventObserverBase* CreatePlatformEventObserverFromType(
194 blink::WebPlatformEventType type); 198 blink::WebPlatformEventType type);
195 199
196 // Use the data previously set via SetMockDevice...DataForTesting() and send 200 // Use the data previously set via SetMockDevice...DataForTesting() and send
197 // them to the registered listener. 201 // them to the registered listener.
198 void SendFakeDeviceEventDataForTesting(blink::WebPlatformEventType type); 202 void SendFakeDeviceEventDataForTesting(blink::WebPlatformEventType type);
199 203
204 scoped_ptr<WebSchedulerImpl> web_scheduler_;
205
200 scoped_ptr<RendererClipboardClient> clipboard_client_; 206 scoped_ptr<RendererClipboardClient> clipboard_client_;
201 scoped_ptr<WebClipboardImpl> clipboard_; 207 scoped_ptr<WebClipboardImpl> clipboard_;
202 208
203 class FileUtilities; 209 class FileUtilities;
204 scoped_ptr<FileUtilities> file_utilities_; 210 scoped_ptr<FileUtilities> file_utilities_;
205 211
206 class MimeRegistry; 212 class MimeRegistry;
207 scoped_ptr<MimeRegistry> mime_registry_; 213 scoped_ptr<MimeRegistry> mime_registry_;
208 214
209 class SandboxSupport; 215 class SandboxSupport;
(...skipping 11 matching lines...) Expand all
221 scoped_ptr<blink::WebIDBFactory> web_idb_factory_; 227 scoped_ptr<blink::WebIDBFactory> web_idb_factory_;
222 228
223 scoped_ptr<blink::WebBlobRegistry> blob_registry_; 229 scoped_ptr<blink::WebBlobRegistry> blob_registry_;
224 230
225 WebPublicSuffixListImpl public_suffix_list_; 231 WebPublicSuffixListImpl public_suffix_list_;
226 232
227 scoped_ptr<DeviceLightEventPump> device_light_event_pump_; 233 scoped_ptr<DeviceLightEventPump> device_light_event_pump_;
228 scoped_ptr<DeviceMotionEventPump> device_motion_event_pump_; 234 scoped_ptr<DeviceMotionEventPump> device_motion_event_pump_;
229 scoped_ptr<DeviceOrientationEventPump> device_orientation_event_pump_; 235 scoped_ptr<DeviceOrientationEventPump> device_orientation_event_pump_;
230 236
237 scoped_refptr<base::SingleThreadTaskRunner> default_task_runner_;
231 scoped_refptr<base::MessageLoopProxy> child_thread_loop_; 238 scoped_refptr<base::MessageLoopProxy> child_thread_loop_;
232 scoped_refptr<IPC::SyncMessageFilter> sync_message_filter_; 239 scoped_refptr<IPC::SyncMessageFilter> sync_message_filter_;
233 scoped_refptr<ThreadSafeSender> thread_safe_sender_; 240 scoped_refptr<ThreadSafeSender> thread_safe_sender_;
234 scoped_refptr<QuotaMessageFilter> quota_message_filter_; 241 scoped_refptr<QuotaMessageFilter> quota_message_filter_;
235 242
236 scoped_ptr<WebDatabaseObserverImpl> web_database_observer_impl_; 243 scoped_ptr<WebDatabaseObserverImpl> web_database_observer_impl_;
237 244
238 cc_blink::WebCompositorSupportImpl compositor_support_; 245 cc_blink::WebCompositorSupportImpl compositor_support_;
239 246
240 scoped_ptr<blink::WebScrollbarBehavior> web_scrollbar_behavior_; 247 scoped_ptr<blink::WebScrollbarBehavior> web_scrollbar_behavior_;
241 248
242 scoped_ptr<BatteryStatusDispatcher> battery_status_dispatcher_; 249 scoped_ptr<BatteryStatusDispatcher> battery_status_dispatcher_;
243 250
244 IDMap<PlatformEventObserverBase, IDMapOwnPointer> platform_event_observers_; 251 IDMap<PlatformEventObserverBase, IDMapOwnPointer> platform_event_observers_;
245 252
246 DISALLOW_COPY_AND_ASSIGN(RendererBlinkPlatformImpl); 253 DISALLOW_COPY_AND_ASSIGN(RendererBlinkPlatformImpl);
247 }; 254 };
248 255
249 } // namespace content 256 } // namespace content
250 257
251 #endif // CONTENT_RENDERER_RENDERER_BLINK_PLATFORM_IMPL_H_ 258 #endif // CONTENT_RENDERER_RENDERER_BLINK_PLATFORM_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698