| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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_CHILD_BLINK_PLATFORM_IMPL_H_ | 5 #ifndef CONTENT_CHILD_BLINK_PLATFORM_IMPL_H_ |
| 6 #define CONTENT_CHILD_BLINK_PLATFORM_IMPL_H_ | 6 #define CONTENT_CHILD_BLINK_PLATFORM_IMPL_H_ |
| 7 | 7 |
| 8 #include "base/compiler_specific.h" | 8 #include "base/compiler_specific.h" |
| 9 #include "base/threading/thread_local_storage.h" | 9 #include "base/threading/thread_local_storage.h" |
| 10 #include "base/timer/timer.h" | 10 #include "base/timer/timer.h" |
| (...skipping 16 matching lines...) Expand all Loading... |
| 27 #include "content/child/webthemeengine_impl_android.h" | 27 #include "content/child/webthemeengine_impl_android.h" |
| 28 #endif | 28 #endif |
| 29 | 29 |
| 30 namespace base { | 30 namespace base { |
| 31 class MessageLoop; | 31 class MessageLoop; |
| 32 } | 32 } |
| 33 | 33 |
| 34 namespace content { | 34 namespace content { |
| 35 class FlingCurveConfiguration; | 35 class FlingCurveConfiguration; |
| 36 class NotificationDispatcher; | 36 class NotificationDispatcher; |
| 37 class PermissionManager; |
| 37 class PushDispatcher; | 38 class PushDispatcher; |
| 38 class ThreadSafeSender; | 39 class ThreadSafeSender; |
| 39 class WebBluetoothImpl; | 40 class WebBluetoothImpl; |
| 40 class WebCryptoImpl; | 41 class WebCryptoImpl; |
| 41 class WebGeofencingProviderImpl; | 42 class WebGeofencingProviderImpl; |
| 42 | 43 |
| 43 class CONTENT_EXPORT BlinkPlatformImpl | 44 class CONTENT_EXPORT BlinkPlatformImpl |
| 44 : NON_EXPORTED_BASE(public blink::Platform) { | 45 : NON_EXPORTED_BASE(public blink::Platform) { |
| 45 public: | 46 public: |
| 46 BlinkPlatformImpl(); | 47 BlinkPlatformImpl(); |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 150 const blink::WebFloatPoint& velocity, | 151 const blink::WebFloatPoint& velocity, |
| 151 const blink::WebSize& cumulative_scroll); | 152 const blink::WebSize& cumulative_scroll); |
| 152 virtual void didStartWorkerRunLoop(); | 153 virtual void didStartWorkerRunLoop(); |
| 153 virtual void didStopWorkerRunLoop(); | 154 virtual void didStopWorkerRunLoop(); |
| 154 virtual blink::WebCrypto* crypto(); | 155 virtual blink::WebCrypto* crypto(); |
| 155 virtual blink::WebGeofencingProvider* geofencingProvider(); | 156 virtual blink::WebGeofencingProvider* geofencingProvider(); |
| 156 virtual blink::WebBluetooth* bluetooth(); | 157 virtual blink::WebBluetooth* bluetooth(); |
| 157 virtual blink::WebNotificationManager* notificationManager(); | 158 virtual blink::WebNotificationManager* notificationManager(); |
| 158 virtual blink::WebPushProvider* pushProvider(); | 159 virtual blink::WebPushProvider* pushProvider(); |
| 159 virtual blink::WebNavigatorConnectProvider* navigatorConnectProvider(); | 160 virtual blink::WebNavigatorConnectProvider* navigatorConnectProvider(); |
| 161 virtual blink::WebPermissionClient* permissionClient(); |
| 160 | 162 |
| 161 void SuspendSharedTimer(); | 163 void SuspendSharedTimer(); |
| 162 void ResumeSharedTimer(); | 164 void ResumeSharedTimer(); |
| 163 virtual void OnStartSharedTimer(base::TimeDelta delay) {} | 165 virtual void OnStartSharedTimer(base::TimeDelta delay) {} |
| 164 | 166 |
| 165 WebBluetoothImpl* BluetoothImplForTesting() { return bluetooth_.get(); } | 167 WebBluetoothImpl* BluetoothImplForTesting() { return bluetooth_.get(); } |
| 166 | 168 |
| 167 virtual blink::WebString domCodeStringFromEnum(int dom_code); | 169 virtual blink::WebString domCodeStringFromEnum(int dom_code); |
| 168 virtual int domEnumFromCodeString(const blink::WebString& codeString); | 170 virtual int domEnumFromCodeString(const blink::WebString& codeString); |
| 169 | 171 |
| 170 private: | 172 private: |
| 171 void DoTimeout() { | 173 void DoTimeout() { |
| 172 if (shared_timer_func_ && !shared_timer_suspended_) | 174 if (shared_timer_func_ && !shared_timer_suspended_) |
| 173 shared_timer_func_(); | 175 shared_timer_func_(); |
| 174 } | 176 } |
| 175 | 177 |
| 176 void InternalInit(); | 178 void InternalInit(); |
| 177 void UpdateWebThreadTLS(blink::WebThread* thread); | 179 void UpdateWebThreadTLS(blink::WebThread* thread); |
| 178 | 180 |
| 181 bool IsMainThread() const; |
| 182 |
| 179 scoped_refptr<base::SingleThreadTaskRunner> MainTaskRunnerForCurrentThread(); | 183 scoped_refptr<base::SingleThreadTaskRunner> MainTaskRunnerForCurrentThread(); |
| 180 | 184 |
| 181 scoped_refptr<base::SingleThreadTaskRunner> main_thread_task_runner_; | 185 scoped_refptr<base::SingleThreadTaskRunner> main_thread_task_runner_; |
| 182 WebThemeEngineImpl native_theme_engine_; | 186 WebThemeEngineImpl native_theme_engine_; |
| 183 WebFallbackThemeEngineImpl fallback_theme_engine_; | 187 WebFallbackThemeEngineImpl fallback_theme_engine_; |
| 184 base::OneShotTimer<BlinkPlatformImpl> shared_timer_; | 188 base::OneShotTimer<BlinkPlatformImpl> shared_timer_; |
| 185 void (*shared_timer_func_)(); | 189 void (*shared_timer_func_)(); |
| 186 double shared_timer_fire_time_; | 190 double shared_timer_fire_time_; |
| 187 bool shared_timer_fire_time_was_set_while_suspended_; | 191 bool shared_timer_fire_time_was_set_while_suspended_; |
| 188 int shared_timer_suspended_; // counter | 192 int shared_timer_suspended_; // counter |
| 189 base::ThreadLocalStorage::Slot current_thread_slot_; | 193 base::ThreadLocalStorage::Slot current_thread_slot_; |
| 190 WebCryptoImpl web_crypto_; | 194 WebCryptoImpl web_crypto_; |
| 191 scoped_ptr<WebGeofencingProviderImpl> geofencing_provider_; | 195 scoped_ptr<WebGeofencingProviderImpl> geofencing_provider_; |
| 192 scoped_ptr<WebBluetoothImpl> bluetooth_; | 196 scoped_ptr<WebBluetoothImpl> bluetooth_; |
| 193 | 197 |
| 194 scoped_refptr<ThreadSafeSender> thread_safe_sender_; | 198 scoped_refptr<ThreadSafeSender> thread_safe_sender_; |
| 195 scoped_refptr<NotificationDispatcher> notification_dispatcher_; | 199 scoped_refptr<NotificationDispatcher> notification_dispatcher_; |
| 196 scoped_refptr<PushDispatcher> push_dispatcher_; | 200 scoped_refptr<PushDispatcher> push_dispatcher_; |
| 201 scoped_ptr<PermissionManager> permission_client_; |
| 197 }; | 202 }; |
| 198 | 203 |
| 199 } // namespace content | 204 } // namespace content |
| 200 | 205 |
| 201 #endif // CONTENT_CHILD_BLINK_PLATFORM_IMPL_H_ | 206 #endif // CONTENT_CHILD_BLINK_PLATFORM_IMPL_H_ |
| OLD | NEW |