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

Unified Diff: third_party/WebKit/Source/core/workers/InProcessWorkerObjectProxy.cpp

Issue 2716853002: (WIP) Worker: Merge ParentFrameTaskRunners into TaskRunnerHelper
Patch Set: WIP Created 3 years, 10 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: third_party/WebKit/Source/core/workers/InProcessWorkerObjectProxy.cpp
diff --git a/third_party/WebKit/Source/core/workers/InProcessWorkerObjectProxy.cpp b/third_party/WebKit/Source/core/workers/InProcessWorkerObjectProxy.cpp
index 769ddc7d8a8b247e32c135363c74006ff5354cb9..f13babd45a3a33cd9f3f7eb5ea2cc6a97224caca 100644
--- a/third_party/WebKit/Source/core/workers/InProcessWorkerObjectProxy.cpp
+++ b/third_party/WebKit/Source/core/workers/InProcessWorkerObjectProxy.cpp
@@ -30,15 +30,16 @@
#include "core/workers/InProcessWorkerObjectProxy.h"
+#include <memory>
#include "bindings/core/v8/SerializedScriptValue.h"
#include "bindings/core/v8/SourceLocation.h"
#include "bindings/core/v8/V8GCController.h"
#include "core/dom/Document.h"
#include "core/dom/ExecutionContext.h"
+#include "core/dom/TaskRunnerHelper.h"
#include "core/events/MessageEvent.h"
#include "core/inspector/ConsoleMessage.h"
#include "core/workers/InProcessWorkerMessagingProxy.h"
-#include "core/workers/ParentFrameTaskRunners.h"
#include "core/workers/WorkerGlobalScope.h"
#include "core/workers/WorkerThread.h"
#include "platform/CrossThreadFunctional.h"
@@ -46,7 +47,6 @@
#include "public/platform/Platform.h"
#include "wtf/Functional.h"
#include "wtf/PtrUtil.h"
-#include <memory>
namespace blink {
@@ -54,11 +54,9 @@ const double kDefaultIntervalInSec = 1;
const double kMaxIntervalInSec = 30;
std::unique_ptr<InProcessWorkerObjectProxy> InProcessWorkerObjectProxy::create(
- const WeakPtr<InProcessWorkerMessagingProxy>& messagingProxyWeakPtr,
- ParentFrameTaskRunners* parentFrameTaskRunners) {
+ const WeakPtr<InProcessWorkerMessagingProxy>& messagingProxyWeakPtr) {
DCHECK(messagingProxyWeakPtr);
- return WTF::wrapUnique(new InProcessWorkerObjectProxy(
- messagingProxyWeakPtr, parentFrameTaskRunners));
+ return WTF::wrapUnique(new InProcessWorkerObjectProxy(messagingProxyWeakPtr));
}
InProcessWorkerObjectProxy::~InProcessWorkerObjectProxy() {}
@@ -66,8 +64,7 @@ InProcessWorkerObjectProxy::~InProcessWorkerObjectProxy() {}
void InProcessWorkerObjectProxy::postMessageToWorkerObject(
PassRefPtr<SerializedScriptValue> message,
MessagePortChannelArray channels) {
- getParentFrameTaskRunners()
- ->get(TaskType::PostedMessage)
+ FrameTaskRunnerHelper::get(TaskType::PostedMessage, m_workerGlobalScope.get())
->postTask(BLINK_FROM_HERE,
crossThreadBind(
&InProcessWorkerMessagingProxy::postMessageToWorkerObject,
@@ -85,8 +82,7 @@ void InProcessWorkerObjectProxy::processMessageFromWorkerObject(
MessagePort::entanglePorts(*globalScope, std::move(channels));
globalScope->dispatchEvent(MessageEvent::create(ports, std::move(message)));
- getParentFrameTaskRunners()
- ->get(TaskType::UnspecedTimer)
+ FrameTaskRunnerHelper::get(TaskType::UnspecedTimer, globalScope)
->postTask(
BLINK_FROM_HERE,
crossThreadBind(
@@ -108,8 +104,7 @@ void InProcessWorkerObjectProxy::reportException(
const String& errorMessage,
std::unique_ptr<SourceLocation> location,
int exceptionId) {
- getParentFrameTaskRunners()
- ->get(TaskType::UnspecedTimer)
+ FrameTaskRunnerHelper::get(TaskType::UnspecedTimer, m_workerGlobalScope.get())
->postTask(
BLINK_FROM_HERE,
crossThreadBind(&InProcessWorkerMessagingProxy::dispatchErrorEvent,
@@ -120,6 +115,7 @@ void InProcessWorkerObjectProxy::reportException(
void InProcessWorkerObjectProxy::didCreateWorkerGlobalScope(
WorkerOrWorkletGlobalScope* globalScope) {
DCHECK(!m_workerGlobalScope);
+ ThreadedObjectProxyBase::didCreateWorkerGlobalScope(globalScope);
m_workerGlobalScope = toWorkerGlobalScope(globalScope);
m_timer = WTF::makeUnique<TaskRunnerTimer<InProcessWorkerObjectProxy>>(
Platform::current()->currentThread()->getWebTaskRunner(), this,
@@ -136,10 +132,8 @@ void InProcessWorkerObjectProxy::willDestroyWorkerGlobalScope() {
}
InProcessWorkerObjectProxy::InProcessWorkerObjectProxy(
- const WeakPtr<InProcessWorkerMessagingProxy>& messagingProxyWeakPtr,
- ParentFrameTaskRunners* parentFrameTaskRunners)
- : ThreadedObjectProxyBase(parentFrameTaskRunners),
- m_messagingProxyWeakPtr(messagingProxyWeakPtr),
+ const WeakPtr<InProcessWorkerMessagingProxy>& messagingProxyWeakPtr)
+ : m_messagingProxyWeakPtr(messagingProxyWeakPtr),
m_defaultIntervalInSec(kDefaultIntervalInSec),
m_nextIntervalInSec(kDefaultIntervalInSec),
m_maxIntervalInSec(kMaxIntervalInSec) {}
@@ -161,8 +155,8 @@ void InProcessWorkerObjectProxy::checkPendingActivity(TimerBase*) {
m_workerGlobalScope->thread()->isolate(), m_workerGlobalScope);
if (!hasPendingActivity) {
// Report all activities are done.
- getParentFrameTaskRunners()
- ->get(TaskType::UnspecedTimer)
+ FrameTaskRunnerHelper::get(TaskType::UnspecedTimer,
+ m_workerGlobalScope.get())
->postTask(BLINK_FROM_HERE,
crossThreadBind(
&InProcessWorkerMessagingProxy::pendingActivityFinished,

Powered by Google App Engine
This is Rietveld 408576698