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

Unified Diff: Source/core/workers/Worker.cpp

Issue 491053004: Expose Web Animations API to Web Workers (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Exposing the Web Animations API to Web Workers Created 6 years, 4 months 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 side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698