Index: third_party/WebKit/Source/web/WebSharedWorkerReportingProxyImpl.cpp |
diff --git a/third_party/WebKit/Source/web/WebSharedWorkerReportingProxyImpl.cpp b/third_party/WebKit/Source/web/WebSharedWorkerReportingProxyImpl.cpp |
index e189c85e20c333bf21aa171b9e4ab68b2fb830f3..7dde9e66ac20d11cefe4b61756250e961906c3e0 100644 |
--- a/third_party/WebKit/Source/web/WebSharedWorkerReportingProxyImpl.cpp |
+++ b/third_party/WebKit/Source/web/WebSharedWorkerReportingProxyImpl.cpp |
@@ -5,6 +5,7 @@ |
#include "web/WebSharedWorkerReportingProxyImpl.h" |
#include "bindings/core/v8/SourceLocation.h" |
+#include "core/dom/TaskRunnerHelper.h" |
#include "platform/CrossThreadFunctional.h" |
#include "public/platform/WebTraceLocation.h" |
#include "web/WebSharedWorkerImpl.h" |
@@ -13,9 +14,8 @@ |
namespace blink { |
WebSharedWorkerReportingProxyImpl::WebSharedWorkerReportingProxyImpl( |
- WebSharedWorkerImpl* worker, |
- ParentFrameTaskRunners* parentFrameTaskRunners) |
- : m_worker(worker), m_parentFrameTaskRunners(parentFrameTaskRunners) { |
+ WebSharedWorkerImpl* worker) |
+ : m_worker(worker) { |
DCHECK(isMainThread()); |
} |
@@ -25,8 +25,8 @@ WebSharedWorkerReportingProxyImpl::~WebSharedWorkerReportingProxyImpl() { |
void WebSharedWorkerReportingProxyImpl::countFeature( |
UseCounter::Feature feature) { |
- DCHECK(!isMainThread()); |
- m_parentFrameTaskRunners->get(TaskType::UnspecedTimer) |
+ DCHECK(m_globalScope->isContextThread()); |
+ FrameTaskRunnerHelper::get(TaskType::UnspecedTimer, m_globalScope.get()) |
->postTask(BLINK_FROM_HERE, |
crossThreadBind(&WebSharedWorkerImpl::countFeature, |
crossThreadUnretained(m_worker), feature)); |
@@ -34,7 +34,7 @@ void WebSharedWorkerReportingProxyImpl::countFeature( |
void WebSharedWorkerReportingProxyImpl::countDeprecation( |
UseCounter::Feature feature) { |
- DCHECK(!isMainThread()); |
+ DCHECK(m_globalScope->isContextThread()); |
// Go through the same code path with countFeature() because a deprecation |
// message is already shown on the worker console and a remaining work is just |
// to record an API use. |
@@ -45,7 +45,7 @@ void WebSharedWorkerReportingProxyImpl::reportException( |
const String& errorMessage, |
std::unique_ptr<SourceLocation>, |
int exceptionId) { |
- DCHECK(!isMainThread()); |
+ DCHECK(m_globalScope->isContextThread()); |
// Not suppported in SharedWorker. |
} |
@@ -54,25 +54,31 @@ void WebSharedWorkerReportingProxyImpl::reportConsoleMessage( |
MessageLevel, |
const String& message, |
SourceLocation*) { |
- DCHECK(!isMainThread()); |
+ DCHECK(m_globalScope->isContextThread()); |
// Not supported in SharedWorker. |
} |
void WebSharedWorkerReportingProxyImpl::postMessageToPageInspector( |
const String& message) { |
- DCHECK(!isMainThread()); |
+ DCHECK(m_globalScope->isContextThread()); |
// The TaskType of Inspector tasks need to be Unthrottled because they need to |
// run even on a suspended page. |
- m_parentFrameTaskRunners->get(TaskType::Unthrottled) |
+ FrameTaskRunnerHelper::get(TaskType::Unthrottled, m_globalScope.get()) |
->postTask( |
BLINK_FROM_HERE, |
crossThreadBind(&WebSharedWorkerImpl::postMessageToPageInspector, |
crossThreadUnretained(m_worker), message)); |
} |
+void WebSharedWorkerReportingProxyImpl::didCreateWorkerGlobalScope( |
+ WorkerOrWorkletGlobalScope* globalScope) { |
+ DCHECK(globalScope->isContextThread()); |
+ m_globalScope = globalScope; |
+} |
+ |
void WebSharedWorkerReportingProxyImpl::didCloseWorkerGlobalScope() { |
- DCHECK(!isMainThread()); |
- m_parentFrameTaskRunners->get(TaskType::UnspecedTimer) |
+ DCHECK(m_globalScope->isContextThread()); |
+ FrameTaskRunnerHelper::get(TaskType::UnspecedTimer, m_globalScope.get()) |
->postTask( |
BLINK_FROM_HERE, |
crossThreadBind(&WebSharedWorkerImpl::didCloseWorkerGlobalScope, |
@@ -80,15 +86,14 @@ void WebSharedWorkerReportingProxyImpl::didCloseWorkerGlobalScope() { |
} |
void WebSharedWorkerReportingProxyImpl::didTerminateWorkerThread() { |
- DCHECK(!isMainThread()); |
- m_parentFrameTaskRunners->get(TaskType::UnspecedTimer) |
+ DCHECK(m_globalScope->isContextThread()); |
+ FrameTaskRunnerHelper::get(TaskType::UnspecedTimer, m_globalScope.get()) |
->postTask(BLINK_FROM_HERE, |
crossThreadBind(&WebSharedWorkerImpl::didTerminateWorkerThread, |
crossThreadUnretained(m_worker))); |
} |
DEFINE_TRACE(WebSharedWorkerReportingProxyImpl) { |
- visitor->trace(m_parentFrameTaskRunners); |
} |
} // namespace blink |