| Index: content/child/blink_platform_impl.h
|
| diff --git a/content/child/blink_platform_impl.h b/content/child/blink_platform_impl.h
|
| index 56382346ca266f1eec6601700a60b11c581ad19b..b6850f240182a02f202f9a11d9fe730c57b76dce 100644
|
| --- a/content/child/blink_platform_impl.h
|
| +++ b/content/child/blink_platform_impl.h
|
| @@ -30,6 +30,11 @@
|
|
|
| namespace base {
|
| class MessageLoop;
|
| +class WaitableEvent;
|
| +}
|
| +
|
| +namespace scheduler {
|
| +class WebThreadBase;
|
| }
|
|
|
| namespace content {
|
| @@ -172,6 +177,7 @@ class CONTENT_EXPORT BlinkPlatformImpl
|
| double systemTraceTime() override;
|
| void cryptographicallyRandomValues(unsigned char* buffer,
|
| size_t length) override;
|
| + blink::WebThread* compositorThread() const override;
|
| blink::WebGestureCurve* createFlingAnimationCurve(
|
| blink::WebGestureDevice device_source,
|
| const blink::WebFloatPoint& velocity,
|
| @@ -192,9 +198,20 @@ class CONTENT_EXPORT BlinkPlatformImpl
|
| blink::WebString domKeyStringFromEnum(int dom_key) override;
|
| int domKeyEnumFromString(const blink::WebString& key_string) override;
|
|
|
| + scoped_ptr<scheduler::WebThreadBase> createThreadWithOptions(
|
| + const char* name,
|
| + base::Thread::Options);
|
| +
|
| + // This class does *not* own |compositor_thread|. It is the responsibility of
|
| + // the caller to ensure that the compositor thread is cleared before it is
|
| + // destructed.
|
| + void set_compositor_thread(scheduler::WebThreadBase* compositor_thread) {
|
| + compositor_thread_ = compositor_thread;
|
| + }
|
| +
|
| private:
|
| void InternalInit();
|
| - void UpdateWebThreadTLS(blink::WebThread* thread);
|
| + void UpdateWebThreadTLS(blink::WebThread* thread, base::WaitableEvent* event);
|
|
|
| bool IsMainThread() const;
|
|
|
| @@ -216,6 +233,8 @@ class CONTENT_EXPORT BlinkPlatformImpl
|
| scoped_refptr<PushDispatcher> push_dispatcher_;
|
| scoped_ptr<PermissionDispatcher> permission_client_;
|
| scoped_ptr<BackgroundSyncProvider> main_thread_sync_provider_;
|
| +
|
| + scheduler::WebThreadBase* compositor_thread_;
|
| };
|
|
|
| } // namespace content
|
|
|