| Index: third_party/WebKit/Source/core/workers/MainThreadWorklet.cpp
|
| diff --git a/third_party/WebKit/Source/core/workers/MainThreadWorklet.cpp b/third_party/WebKit/Source/core/workers/MainThreadWorklet.cpp
|
| deleted file mode 100644
|
| index cdec996017a1b9aa6719e9760e4f224861e8a174..0000000000000000000000000000000000000000
|
| --- a/third_party/WebKit/Source/core/workers/MainThreadWorklet.cpp
|
| +++ /dev/null
|
| @@ -1,108 +0,0 @@
|
| -// Copyright 2017 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "core/workers/MainThreadWorklet.h"
|
| -
|
| -#include "bindings/core/v8/ScriptPromiseResolver.h"
|
| -#include "bindings/core/v8/ScriptSourceCode.h"
|
| -#include "bindings/core/v8/V8BindingForCore.h"
|
| -#include "core/frame/LocalFrame.h"
|
| -#include "core/workers/WorkletGlobalScopeProxy.h"
|
| -#include "core/workers/WorkletPendingTasks.h"
|
| -#include "platform/wtf/WTF.h"
|
| -#include "public/platform/WebURLRequest.h"
|
| -
|
| -namespace blink {
|
| -
|
| -namespace {
|
| -
|
| -WebURLRequest::FetchCredentialsMode ParseCredentialsOption(
|
| - const String& credentials_option) {
|
| - if (credentials_option == "omit")
|
| - return WebURLRequest::kFetchCredentialsModeOmit;
|
| - if (credentials_option == "same-origin")
|
| - return WebURLRequest::kFetchCredentialsModeSameOrigin;
|
| - if (credentials_option == "include")
|
| - return WebURLRequest::kFetchCredentialsModeInclude;
|
| - NOTREACHED();
|
| - return WebURLRequest::kFetchCredentialsModeOmit;
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -MainThreadWorklet::MainThreadWorklet(LocalFrame* frame) : Worklet(frame) {}
|
| -
|
| -WorkletGlobalScopeProxy* MainThreadWorklet::FindAvailableGlobalScope() const {
|
| - DCHECK(IsMainThread());
|
| - // TODO(nhiroki): Support the case where there are multiple global scopes.
|
| - DCHECK_EQ(1u, GetNumberOfGlobalScopes());
|
| - return proxies_.begin()->get();
|
| -}
|
| -
|
| -// Implementation of the second half of the "addModule(moduleURL, options)"
|
| -// algorithm:
|
| -// https://drafts.css-houdini.org/worklets/#dom-worklet-addmodule
|
| -void MainThreadWorklet::FetchAndInvokeScript(const KURL& module_url_record,
|
| - const WorkletOptions& options,
|
| - ScriptPromiseResolver* resolver) {
|
| - DCHECK(IsMainThread());
|
| - if (!GetExecutionContext())
|
| - return;
|
| -
|
| - // Step 6: "Let credentialOptions be the credentials member of options."
|
| - // TODO(nhiroki): Add tests for credentialOptions (https://crbug.com/710837).
|
| - WebURLRequest::FetchCredentialsMode credentials_mode =
|
| - ParseCredentialsOption(options.credentials());
|
| -
|
| - // Step 7: "Let outsideSettings be the relevant settings object of this."
|
| - // TODO(nhiroki): outsideSettings will be used for posting a task to the
|
| - // document's responsible event loop. We could use a task runner for the
|
| - // purpose.
|
| -
|
| - // Step 8: "Let moduleResponsesMap be worklet's module responses map."
|
| - // TODO(nhiroki): Implement moduleResponsesMap (https://crbug.com/627945).
|
| -
|
| - // Step 9: "Let workletGlobalScopeType be worklet's worklet global scope
|
| - // type."
|
| - // workletGlobalScopeType is encoded into the class name (e.g., PaintWorklet).
|
| -
|
| - // Step 10: "If the worklet's WorkletGlobalScopes is empty, run the following
|
| - // steps:"
|
| - // 10.1: "Create a WorkletGlobalScope given workletGlobalScopeType,
|
| - // moduleResponsesMap, and outsideSettings."
|
| - // 10.2: "Add the WorkletGlobalScope to worklet's WorkletGlobalScopes."
|
| - // "Depending on the type of worklet the user agent may create additional
|
| - // WorkletGlobalScopes at this time."
|
| - while (NeedsToCreateGlobalScope())
|
| - proxies_.insert(CreateGlobalScope());
|
| - DCHECK_EQ(1u, GetNumberOfGlobalScopes());
|
| -
|
| - // Step 11: "Let pendingTaskStruct be a new pending tasks struct with counter
|
| - // initialized to the length of worklet's WorkletGlobalScopes."
|
| - WorkletPendingTasks* pending_tasks =
|
| - new WorkletPendingTasks(GetNumberOfGlobalScopes(), resolver);
|
| -
|
| - // Step 12: "For each workletGlobalScope in the worklet's
|
| - // WorkletGlobalScopes, queue a task on the workletGlobalScope to fetch and
|
| - // invoke a worklet script given workletGlobalScope, moduleURLRecord,
|
| - // moduleResponsesMap, credentialOptions, outsideSettings, pendingTaskStruct,
|
| - // and promise."
|
| - // TODO(nhiroki): Queue a task instead of executing this here.
|
| - for (const auto& proxy : proxies_) {
|
| - proxy->FetchAndInvokeScript(module_url_record, credentials_mode,
|
| - pending_tasks);
|
| - }
|
| -}
|
| -
|
| -void MainThreadWorklet::ContextDestroyed(ExecutionContext* execution_context) {
|
| - DCHECK(IsMainThread());
|
| - for (const auto& proxy : proxies_)
|
| - proxy->TerminateWorkletGlobalScope();
|
| -}
|
| -
|
| -DEFINE_TRACE(MainThreadWorklet) {
|
| - Worklet::Trace(visitor);
|
| -}
|
| -
|
| -} // namespace blink
|
|
|