Chromium Code Reviews| Index: Source/core/workers/Worker.cpp |
| diff --git a/Source/core/workers/Worker.cpp b/Source/core/workers/Worker.cpp |
| index dd2f758658f9fe766b86417a8c51187623f223ac..b800eec54077973ea83cfde5637a5e03b4ee6c31 100644 |
| --- a/Source/core/workers/Worker.cpp |
| +++ b/Source/core/workers/Worker.cpp |
| @@ -29,12 +29,15 @@ |
| #include "core/workers/Worker.h" |
| #include "bindings/core/v8/ExceptionState.h" |
| +#include "core/dom/CrossThreadTask.h" |
| #include "core/dom/Document.h" |
| #include "core/events/MessageEvent.h" |
| #include "core/fetch/ResourceFetcher.h" |
| #include "core/inspector/InspectorInstrumentation.h" |
| #include "core/frame/LocalDOMWindow.h" |
| #include "core/frame/UseCounter.h" |
| +#include "core/page/Page.h" |
| +#include "core/workers/WorkerGlobalScope.h" |
| #include "core/workers/WorkerGlobalScopeProxy.h" |
| #include "core/workers/WorkerGlobalScopeProxyProvider.h" |
| #include "core/workers/WorkerScriptLoader.h" |
| @@ -73,9 +76,13 @@ PassRefPtrWillBeRawPtr<Worker> Worker::create(ExecutionContext* context, const S |
| worker->m_scriptLoader = WorkerScriptLoader::create(); |
| worker->m_scriptLoader->loadAsynchronously(*context, scriptURL, DenyCrossOriginRequests, worker.get()); |
| worker->m_contextProxy = proxyProvider->createWorkerGlobalScopeProxy(worker.get()); |
| + worker->context = context; |
| + |
| + |
| return worker.release(); |
| } |
| + |
| Worker::~Worker() |
| { |
| ASSERT(isMainThread()); |
| @@ -142,4 +149,13 @@ void Worker::trace(Visitor* visitor) |
| AbstractWorker::trace(visitor); |
| } |
| +void Worker::processRAF(double monotonicAnimationStartTime) |
|
dstockwell
2014/08/29 01:05:44
RAF -> RequestAnimationFrame
nainar1
2014/08/29 06:01:40
Acknowledged.
|
| +{ |
| + WorkerMessagingProxy* mp = static_cast<WorkerMessagingProxy*>(m_contextProxy); |
| + WorkerGlobalScope* hold = mp->extractWorkerGlobalScope(); |
| + if (hold) { |
| + mp->postTaskToWorkerGlobalScope(createCrossThreadTask(&WorkerGlobalScope::processRAF, AllowCrossThreadAccess(hold), monotonicAnimationStartTime)); |
| + } |
| +} |
| + |
| } // namespace blink |