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

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

Issue 2871503003: Worklet: Move common code from Worker/WorkletGlobalScope to WorkerOrWorkletGlobalScope (Closed)
Patch Set: fix rebase failure Created 3 years, 7 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/WorkerGlobalScope.cpp
diff --git a/third_party/WebKit/Source/core/workers/WorkerGlobalScope.cpp b/third_party/WebKit/Source/core/workers/WorkerGlobalScope.cpp
index a88ef279d2dde2bca0c46c1e2becbfe2e94ab5e2..0d366276d1bb8eadcab4d0aebe0f0fc92a40007f 100644
--- a/third_party/WebKit/Source/core/workers/WorkerGlobalScope.cpp
+++ b/third_party/WebKit/Source/core/workers/WorkerGlobalScope.cpp
@@ -31,6 +31,7 @@
#include "bindings/core/v8/ScriptSourceCode.h"
#include "bindings/core/v8/SourceLocation.h"
#include "bindings/core/v8/V8AbstractEventListener.h"
+#include "bindings/core/v8/WorkerOrWorkletScriptController.h"
#include "core/dom/ContextLifecycleNotifier.h"
#include "core/dom/ExceptionCode.h"
#include "core/dom/SuspendableObject.h"
@@ -74,7 +75,7 @@ void RemoveURLFromMemoryCacheInternal(const KURL& url) {
} // namespace
WorkerGlobalScope::~WorkerGlobalScope() {
- DCHECK(!script_controller_);
+ DCHECK(!ScriptController());
InstanceCounters::DecrementCounter(
InstanceCounters::kWorkerGlobalScopeCounter);
}
@@ -106,10 +107,8 @@ void WorkerGlobalScope::Dispose() {
}
RemoveAllEventListeners();
- script_controller_->Dispose();
- script_controller_.Clear();
event_queue_->Close();
- thread_ = nullptr;
+ WorkerOrWorkletGlobalScope::Dispose();
}
void WorkerGlobalScope::ReportFeature(UseCounter::Feature feature) {
@@ -224,11 +223,11 @@ void WorkerGlobalScope::importScripts(const Vector<String>& urls,
script_loader->CachedMetadata()
? script_loader->CachedMetadata()->size()
: 0);
- script_controller_->Evaluate(ScriptSourceCode(script_loader->SourceText(),
+ ScriptController()->Evaluate(ScriptSourceCode(script_loader->SourceText(),
script_loader->ResponseURL()),
&error_event, handler, v8_cache_options_);
if (error_event) {
- script_controller_->RethrowExceptionFromImportedScript(error_event,
+ ScriptController()->RethrowExceptionFromImportedScript(error_event,
exception_state);
return;
}
@@ -258,18 +257,10 @@ bool WorkerGlobalScope::HasPendingActivity() const {
return timers_.HasInstalledTimeout();
}
-bool WorkerGlobalScope::IsJSExecutionForbidden() const {
- return script_controller_->IsExecutionForbidden();
-}
-
bool WorkerGlobalScope::IsContextThread() const {
return GetThread()->IsCurrentThread();
}
-void WorkerGlobalScope::DisableEval(const String& error_message) {
- script_controller_->DisableEval(error_message);
-}
-
void WorkerGlobalScope::AddConsoleMessage(ConsoleMessage* console_message) {
DCHECK(IsContextThread());
GetThread()->GetWorkerReportingProxy().ReportConsoleMessage(
@@ -323,18 +314,15 @@ WorkerGlobalScope::WorkerGlobalScope(
std::unique_ptr<SecurityOrigin::PrivilegeData>
starter_origin_privilage_data,
WorkerClients* worker_clients)
- : url_(url),
+ : WorkerOrWorkletGlobalScope(thread->GetIsolate()),
+ url_(url),
user_agent_(user_agent),
v8_cache_options_(kV8CacheOptionsDefault),
- script_controller_(
- WorkerOrWorkletScriptController::Create(this, thread->GetIsolate())),
thread_(thread),
- closing_(false),
event_queue_(WorkerEventQueue::Create(this)),
worker_clients_(worker_clients),
timers_(TaskRunnerHelper::Get(TaskType::kTimer, this)),
- time_origin_(time_origin),
- last_pending_error_event_id_(0) {
+ time_origin_(time_origin) {
InstanceCounters::IncrementCounter(
InstanceCounters::kWorkerGlobalScopeCounter);
SetSecurityOrigin(SecurityOrigin::Create(url));
@@ -385,15 +373,14 @@ KURL WorkerGlobalScope::VirtualCompleteURL(const String& url) const {
DEFINE_TRACE(WorkerGlobalScope) {
visitor->Trace(location_);
visitor->Trace(navigator_);
- visitor->Trace(script_controller_);
visitor->Trace(event_queue_);
visitor->Trace(timers_);
visitor->Trace(event_listeners_);
visitor->Trace(pending_error_events_);
visitor->Trace(fetch_context_);
- ExecutionContext::Trace(visitor);
EventTargetWithInlineData::Trace(visitor);
SecurityContext::Trace(visitor);
+ WorkerOrWorkletGlobalScope::Trace(visitor);
Supplementable<WorkerGlobalScope>::Trace(visitor);
}

Powered by Google App Engine
This is Rietveld 408576698