Commit b33356f4 authored by Kouhei Ueno's avatar Kouhei Ueno Committed by Commit Bot

[ES6 modules] Clean up: Modulator::CompileModule to take ScriptFetchOptions directly

Bug: 771486
Change-Id: I37311373c130878c87201166266d320dba17c39e
Reviewed-on: https://chromium-review.googlesource.com/765618Reviewed-by: default avatarKunihiko Sakamoto <ksakamoto@chromium.org>
Reviewed-by: default avatarHiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: default avatarKinuko Yasuda <kinuko@chromium.org>
Reviewed-by: default avatarHiroshige Hayashizaki <hiroshige@chromium.org>
Reviewed-by: default avatarHongchan Choi <hongchan@chromium.org>
Commit-Queue: Kouhei Ueno <kouhei@chromium.org>
Cr-Commit-Position: refs/heads/master@{#516022}
parent 561eff05
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#include "core/CoreExport.h" #include "core/CoreExport.h"
#include "platform/loader/fetch/AccessControlStatus.h" #include "platform/loader/fetch/AccessControlStatus.h"
#include "platform/loader/fetch/ResourceLoaderOptions.h" #include "platform/loader/fetch/ResourceLoaderOptions.h"
#include "platform/loader/fetch/ScriptFetchOptions.h"
#include "platform/wtf/text/TextPosition.h" #include "platform/wtf/text/TextPosition.h"
#include "platform/wtf/text/WTFString.h" #include "platform/wtf/text/WTFString.h"
#include "public/platform/WebURLRequest.h" #include "public/platform/WebURLRequest.h"
...@@ -28,6 +29,11 @@ class CORE_EXPORT ReferrerScriptInfo { ...@@ -28,6 +29,11 @@ class CORE_EXPORT ReferrerScriptInfo {
: credentials_mode_(credentials_mode), : credentials_mode_(credentials_mode),
nonce_(nonce), nonce_(nonce),
parser_state_(parser_state) {} parser_state_(parser_state) {}
static ReferrerScriptInfo FromScriptFetchOptions(
const ScriptFetchOptions& options) {
return ReferrerScriptInfo(options.CredentialsMode(), options.Nonce(),
options.ParserState());
}
static ReferrerScriptInfo FromV8HostDefinedOptions( static ReferrerScriptInfo FromV8HostDefinedOptions(
v8::Local<v8::Context>, v8::Local<v8::Context>,
......
...@@ -42,22 +42,19 @@ ScriptModule::ScriptModule(v8::Isolate* isolate, v8::Local<v8::Module> module) ...@@ -42,22 +42,19 @@ ScriptModule::ScriptModule(v8::Isolate* isolate, v8::Local<v8::Module> module)
ScriptModule::~ScriptModule() {} ScriptModule::~ScriptModule() {}
ScriptModule ScriptModule::Compile( ScriptModule ScriptModule::Compile(v8::Isolate* isolate,
v8::Isolate* isolate, const String& source,
const String& source, const String& file_name,
const String& file_name, const ScriptFetchOptions& options,
AccessControlStatus access_control_status, AccessControlStatus access_control_status,
network::mojom::FetchCredentialsMode credentials_mode, const TextPosition& text_position,
const String& nonce, ExceptionState& exception_state) {
ParserDisposition parser_state,
const TextPosition& text_position,
ExceptionState& exception_state) {
v8::TryCatch try_catch(isolate); v8::TryCatch try_catch(isolate);
v8::Local<v8::Module> module; v8::Local<v8::Module> module;
if (!V8ScriptRunner::CompileModule( if (!V8ScriptRunner::CompileModule(
isolate, source, file_name, access_control_status, text_position, isolate, source, file_name, access_control_status, text_position,
ReferrerScriptInfo(credentials_mode, nonce, parser_state)) ReferrerScriptInfo::FromScriptFetchOptions(options))
.ToLocal(&module)) { .ToLocal(&module)) {
DCHECK(try_catch.HasCaught()); DCHECK(try_catch.HasCaught());
exception_state.RethrowV8Exception(try_catch.Exception()); exception_state.RethrowV8Exception(try_catch.Exception());
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#include "platform/bindings/SharedPersistent.h" #include "platform/bindings/SharedPersistent.h"
#include "platform/loader/fetch/AccessControlStatus.h" #include "platform/loader/fetch/AccessControlStatus.h"
#include "platform/loader/fetch/ResourceLoaderOptions.h" #include "platform/loader/fetch/ResourceLoaderOptions.h"
#include "platform/loader/fetch/ScriptFetchOptions.h"
#include "platform/wtf/Allocator.h" #include "platform/wtf/Allocator.h"
#include "platform/wtf/Vector.h" #include "platform/wtf/Vector.h"
#include "platform/wtf/text/TextPosition.h" #include "platform/wtf/text/TextPosition.h"
...@@ -49,10 +50,8 @@ class CORE_EXPORT ScriptModule final { ...@@ -49,10 +50,8 @@ class CORE_EXPORT ScriptModule final {
static ScriptModule Compile(v8::Isolate*, static ScriptModule Compile(v8::Isolate*,
const String& source, const String& source,
const String& file_name, const String& file_name,
const ScriptFetchOptions&,
AccessControlStatus, AccessControlStatus,
network::mojom::FetchCredentialsMode,
const String& nonce,
ParserDisposition,
const TextPosition&, const TextPosition&,
ExceptionState&); ExceptionState&);
......
...@@ -85,8 +85,8 @@ TEST(ScriptModuleTest, compileSuccess) { ...@@ -85,8 +85,8 @@ TEST(ScriptModuleTest, compileSuccess) {
V8TestingScope scope; V8TestingScope scope;
ScriptModule module = ScriptModule::Compile( ScriptModule module = ScriptModule::Compile(
scope.GetIsolate(), "export const a = 42;", "foo.js", scope.GetIsolate(), "export const a = 42;", "foo.js",
kSharableCrossOrigin, network::mojom::FetchCredentialsMode::kOmit, "", ScriptFetchOptions(), kSharableCrossOrigin,
kParserInserted, TextPosition::MinimumPosition(), ASSERT_NO_EXCEPTION); TextPosition::MinimumPosition(), ASSERT_NO_EXCEPTION);
ASSERT_FALSE(module.IsNull()); ASSERT_FALSE(module.IsNull());
EXPECT_EQ(ScriptModuleState::kUninstantiated, EXPECT_EQ(ScriptModuleState::kUninstantiated,
module.Status(scope.GetScriptState())); module.Status(scope.GetScriptState()));
...@@ -95,9 +95,9 @@ TEST(ScriptModuleTest, compileSuccess) { ...@@ -95,9 +95,9 @@ TEST(ScriptModuleTest, compileSuccess) {
TEST(ScriptModuleTest, compileFail) { TEST(ScriptModuleTest, compileFail) {
V8TestingScope scope; V8TestingScope scope;
ScriptModule module = ScriptModule::Compile( ScriptModule module = ScriptModule::Compile(
scope.GetIsolate(), "123 = 456", "foo.js", kSharableCrossOrigin, scope.GetIsolate(), "123 = 456", "foo.js", ScriptFetchOptions(),
network::mojom::FetchCredentialsMode::kOmit, "", kParserInserted, kSharableCrossOrigin, TextPosition::MinimumPosition(),
TextPosition::MinimumPosition(), scope.GetExceptionState()); scope.GetExceptionState());
ASSERT_TRUE(module.IsNull()); ASSERT_TRUE(module.IsNull());
EXPECT_TRUE(scope.GetExceptionState().HadException()); EXPECT_TRUE(scope.GetExceptionState().HadException());
} }
...@@ -107,14 +107,14 @@ TEST(ScriptModuleTest, equalAndHash) { ...@@ -107,14 +107,14 @@ TEST(ScriptModuleTest, equalAndHash) {
ScriptModule module_null; ScriptModule module_null;
ScriptModule module_a = ScriptModule::Compile( ScriptModule module_a = ScriptModule::Compile(
scope.GetIsolate(), "export const a = 'a';", "a.js", kSharableCrossOrigin, scope.GetIsolate(), "export const a = 'a';", "a.js", ScriptFetchOptions(),
network::mojom::FetchCredentialsMode::kOmit, "", kParserInserted, kSharableCrossOrigin, TextPosition::MinimumPosition(),
TextPosition::MinimumPosition(), ASSERT_NO_EXCEPTION); ASSERT_NO_EXCEPTION);
ASSERT_FALSE(module_a.IsNull()); ASSERT_FALSE(module_a.IsNull());
ScriptModule module_b = ScriptModule::Compile( ScriptModule module_b = ScriptModule::Compile(
scope.GetIsolate(), "export const b = 'b';", "b.js", kSharableCrossOrigin, scope.GetIsolate(), "export const b = 'b';", "b.js", ScriptFetchOptions(),
network::mojom::FetchCredentialsMode::kOmit, "", kParserInserted, kSharableCrossOrigin, TextPosition::MinimumPosition(),
TextPosition::MinimumPosition(), ASSERT_NO_EXCEPTION); ASSERT_NO_EXCEPTION);
ASSERT_FALSE(module_b.IsNull()); ASSERT_FALSE(module_b.IsNull());
Vector<char> module_deleted_buffer(sizeof(ScriptModule)); Vector<char> module_deleted_buffer(sizeof(ScriptModule));
ScriptModule& module_deleted = ScriptModule& module_deleted =
...@@ -154,8 +154,7 @@ TEST(ScriptModuleTest, moduleRequests) { ...@@ -154,8 +154,7 @@ TEST(ScriptModuleTest, moduleRequests) {
V8TestingScope scope; V8TestingScope scope;
ScriptModule module = ScriptModule::Compile( ScriptModule module = ScriptModule::Compile(
scope.GetIsolate(), "import 'a'; import 'b'; export const c = 'c';", scope.GetIsolate(), "import 'a'; import 'b'; export const c = 'c';",
"foo.js", kSharableCrossOrigin, "foo.js", ScriptFetchOptions(), kSharableCrossOrigin,
network::mojom::FetchCredentialsMode::kOmit, "", kParserInserted,
TextPosition::MinimumPosition(), ASSERT_NO_EXCEPTION); TextPosition::MinimumPosition(), ASSERT_NO_EXCEPTION);
ASSERT_FALSE(module.IsNull()); ASSERT_FALSE(module.IsNull());
...@@ -173,8 +172,8 @@ TEST(ScriptModuleTest, instantiateNoDeps) { ...@@ -173,8 +172,8 @@ TEST(ScriptModuleTest, instantiateNoDeps) {
ScriptModule module = ScriptModule::Compile( ScriptModule module = ScriptModule::Compile(
scope.GetIsolate(), "export const a = 42;", "foo.js", scope.GetIsolate(), "export const a = 42;", "foo.js",
kSharableCrossOrigin, network::mojom::FetchCredentialsMode::kOmit, "", ScriptFetchOptions(), kSharableCrossOrigin,
kParserInserted, TextPosition::MinimumPosition(), ASSERT_NO_EXCEPTION); TextPosition::MinimumPosition(), ASSERT_NO_EXCEPTION);
ASSERT_FALSE(module.IsNull()); ASSERT_FALSE(module.IsNull());
ScriptValue exception = module.Instantiate(scope.GetScriptState()); ScriptValue exception = module.Instantiate(scope.GetScriptState());
ASSERT_TRUE(exception.IsEmpty()); ASSERT_TRUE(exception.IsEmpty());
...@@ -192,23 +191,22 @@ TEST(ScriptModuleTest, instantiateWithDeps) { ...@@ -192,23 +191,22 @@ TEST(ScriptModuleTest, instantiateWithDeps) {
ScriptModule module_a = ScriptModule::Compile( ScriptModule module_a = ScriptModule::Compile(
scope.GetIsolate(), "export const a = 'a';", "foo.js", scope.GetIsolate(), "export const a = 'a';", "foo.js",
kSharableCrossOrigin, network::mojom::FetchCredentialsMode::kOmit, "", ScriptFetchOptions(), kSharableCrossOrigin,
kParserInserted, TextPosition::MinimumPosition(), ASSERT_NO_EXCEPTION); TextPosition::MinimumPosition(), ASSERT_NO_EXCEPTION);
ASSERT_FALSE(module_a.IsNull()); ASSERT_FALSE(module_a.IsNull());
resolver->PushScriptModule(module_a); resolver->PushScriptModule(module_a);
ScriptModule module_b = ScriptModule::Compile( ScriptModule module_b = ScriptModule::Compile(
scope.GetIsolate(), "export const b = 'b';", "foo.js", scope.GetIsolate(), "export const b = 'b';", "foo.js",
kSharableCrossOrigin, network::mojom::FetchCredentialsMode::kOmit, "", ScriptFetchOptions(), kSharableCrossOrigin,
kParserInserted, TextPosition::MinimumPosition(), ASSERT_NO_EXCEPTION); TextPosition::MinimumPosition(), ASSERT_NO_EXCEPTION);
ASSERT_FALSE(module_b.IsNull()); ASSERT_FALSE(module_b.IsNull());
resolver->PushScriptModule(module_b); resolver->PushScriptModule(module_b);
ScriptModule module = ScriptModule::Compile( ScriptModule module = ScriptModule::Compile(
scope.GetIsolate(), "import 'a'; import 'b'; export const c = 123;", scope.GetIsolate(), "import 'a'; import 'b'; export const c = 123;",
"c.js", kSharableCrossOrigin, network::mojom::FetchCredentialsMode::kOmit, "c.js", ScriptFetchOptions(), kSharableCrossOrigin,
"", kParserInserted, TextPosition::MinimumPosition(), TextPosition::MinimumPosition(), ASSERT_NO_EXCEPTION);
ASSERT_NO_EXCEPTION);
ASSERT_FALSE(module.IsNull()); ASSERT_FALSE(module.IsNull());
ScriptValue exception = module.Instantiate(scope.GetScriptState()); ScriptValue exception = module.Instantiate(scope.GetScriptState());
ASSERT_TRUE(exception.IsEmpty()); ASSERT_TRUE(exception.IsEmpty());
...@@ -234,8 +232,8 @@ TEST(ScriptModuleTest, instantiateError) { ...@@ -234,8 +232,8 @@ TEST(ScriptModuleTest, instantiateError) {
ScriptModule module_failure = ScriptModule::Compile( ScriptModule module_failure = ScriptModule::Compile(
scope.GetIsolate(), "nonexistent_function()", "failure.js", scope.GetIsolate(), "nonexistent_function()", "failure.js",
kSharableCrossOrigin, network::mojom::FetchCredentialsMode::kOmit, "", ScriptFetchOptions(), kSharableCrossOrigin,
kParserInserted, TextPosition::MinimumPosition(), ASSERT_NO_EXCEPTION); TextPosition::MinimumPosition(), ASSERT_NO_EXCEPTION);
ASSERT_FALSE(module_failure.IsNull()); ASSERT_FALSE(module_failure.IsNull());
module_failure.Instantiate(scope.GetScriptState()); module_failure.Instantiate(scope.GetScriptState());
ASSERT_EQ(ScriptModuleState::kInstantiated, ASSERT_EQ(ScriptModuleState::kInstantiated,
...@@ -251,9 +249,8 @@ TEST(ScriptModuleTest, instantiateError) { ...@@ -251,9 +249,8 @@ TEST(ScriptModuleTest, instantiateError) {
ScriptModule module = ScriptModule::Compile( ScriptModule module = ScriptModule::Compile(
scope.GetIsolate(), "import 'failure'; export const c = 123;", "c.js", scope.GetIsolate(), "import 'failure'; export const c = 123;", "c.js",
kSharableCrossOrigin, network::mojom::FetchCredentialsMode::kOmit, "", ScriptFetchOptions(), kSharableCrossOrigin,
kParserInserted, TextPosition::MinimumPosition(), TextPosition::MinimumPosition(), scope.GetExceptionState());
scope.GetExceptionState());
ASSERT_FALSE(module.IsNull()); ASSERT_FALSE(module.IsNull());
ScriptValue exception = module.Instantiate(scope.GetScriptState()); ScriptValue exception = module.Instantiate(scope.GetScriptState());
EXPECT_FALSE(exception.IsEmpty()); EXPECT_FALSE(exception.IsEmpty());
...@@ -275,8 +272,8 @@ TEST(ScriptModuleTest, Evaluate) { ...@@ -275,8 +272,8 @@ TEST(ScriptModuleTest, Evaluate) {
ScriptModule module = ScriptModule::Compile( ScriptModule module = ScriptModule::Compile(
scope.GetIsolate(), "export const a = 42; window.foo = 'bar';", "foo.js", scope.GetIsolate(), "export const a = 42; window.foo = 'bar';", "foo.js",
kSharableCrossOrigin, network::mojom::FetchCredentialsMode::kOmit, "", ScriptFetchOptions(), kSharableCrossOrigin,
kParserInserted, TextPosition::MinimumPosition(), ASSERT_NO_EXCEPTION); TextPosition::MinimumPosition(), ASSERT_NO_EXCEPTION);
ASSERT_FALSE(module.IsNull()); ASSERT_FALSE(module.IsNull());
ScriptValue exception = module.Instantiate(scope.GetScriptState()); ScriptValue exception = module.Instantiate(scope.GetScriptState());
ASSERT_TRUE(exception.IsEmpty()); ASSERT_TRUE(exception.IsEmpty());
...@@ -308,9 +305,9 @@ TEST(ScriptModuleTest, EvaluateCaptureError) { ...@@ -308,9 +305,9 @@ TEST(ScriptModuleTest, EvaluateCaptureError) {
Modulator::SetModulator(scope.GetScriptState(), modulator); Modulator::SetModulator(scope.GetScriptState(), modulator);
ScriptModule module = ScriptModule::Compile( ScriptModule module = ScriptModule::Compile(
scope.GetIsolate(), "throw 'bar';", "foo.js", kSharableCrossOrigin, scope.GetIsolate(), "throw 'bar';", "foo.js", ScriptFetchOptions(),
network::mojom::FetchCredentialsMode::kOmit, "", kParserInserted, kSharableCrossOrigin, TextPosition::MinimumPosition(),
TextPosition::MinimumPosition(), ASSERT_NO_EXCEPTION); ASSERT_NO_EXCEPTION);
ASSERT_FALSE(module.IsNull()); ASSERT_FALSE(module.IsNull());
ScriptValue exception = module.Instantiate(scope.GetScriptState()); ScriptValue exception = module.Instantiate(scope.GetScriptState());
ASSERT_TRUE(exception.IsEmpty()); ASSERT_TRUE(exception.IsEmpty());
......
...@@ -210,8 +210,8 @@ TEST(DynamicModuleResolverTest, ResolveSuccess) { ...@@ -210,8 +210,8 @@ TEST(DynamicModuleResolverTest, ResolveSuccess) {
ScriptModule record = ScriptModule::Compile( ScriptModule record = ScriptModule::Compile(
scope.GetIsolate(), "export const foo = 'hello';", TestReferrerURL(), scope.GetIsolate(), "export const foo = 'hello';", TestReferrerURL(),
kSharableCrossOrigin, network::mojom::FetchCredentialsMode::kOmit, "", ScriptFetchOptions(), kSharableCrossOrigin,
kParserInserted, TextPosition::MinimumPosition(), ASSERT_NO_EXCEPTION); TextPosition::MinimumPosition(), ASSERT_NO_EXCEPTION);
ModuleScript* module_script = ModuleScript* module_script =
ModuleScript::CreateForTest(modulator, record, TestDependencyURL()); ModuleScript::CreateForTest(modulator, record, TestDependencyURL());
EXPECT_TRUE(record.Instantiate(scope.GetScriptState()).IsEmpty()); EXPECT_TRUE(record.Instantiate(scope.GetScriptState()).IsEmpty());
...@@ -290,8 +290,8 @@ TEST(DynamicModuleResolverTest, ExceptionThrown) { ...@@ -290,8 +290,8 @@ TEST(DynamicModuleResolverTest, ExceptionThrown) {
ScriptModule record = ScriptModule::Compile( ScriptModule record = ScriptModule::Compile(
scope.GetIsolate(), "throw Error('bar')", TestReferrerURL(), scope.GetIsolate(), "throw Error('bar')", TestReferrerURL(),
kSharableCrossOrigin, network::mojom::FetchCredentialsMode::kOmit, "", ScriptFetchOptions(), kSharableCrossOrigin,
kParserInserted, TextPosition::MinimumPosition(), ASSERT_NO_EXCEPTION); TextPosition::MinimumPosition(), ASSERT_NO_EXCEPTION);
ModuleScript* module_script = ModuleScript* module_script =
ModuleScript::CreateForTest(modulator, record, TestDependencyURL()); ModuleScript::CreateForTest(modulator, record, TestDependencyURL());
EXPECT_TRUE(record.Instantiate(scope.GetScriptState()).IsEmpty()); EXPECT_TRUE(record.Instantiate(scope.GetScriptState()).IsEmpty());
...@@ -327,8 +327,8 @@ TEST(DynamicModuleResolverTest, ResolveWithNullReferrerScriptSuccess) { ...@@ -327,8 +327,8 @@ TEST(DynamicModuleResolverTest, ResolveWithNullReferrerScriptSuccess) {
ScriptModule record = ScriptModule::Compile( ScriptModule record = ScriptModule::Compile(
scope.GetIsolate(), "export const foo = 'hello';", TestDependencyURL(), scope.GetIsolate(), "export const foo = 'hello';", TestDependencyURL(),
kSharableCrossOrigin, network::mojom::FetchCredentialsMode::kOmit, "", ScriptFetchOptions(), kSharableCrossOrigin,
kParserInserted, TextPosition::MinimumPosition(), ASSERT_NO_EXCEPTION); TextPosition::MinimumPosition(), ASSERT_NO_EXCEPTION);
ModuleScript* module_script = ModuleScript* module_script =
ModuleScript::CreateForTest(modulator, record, TestDependencyURL()); ModuleScript::CreateForTest(modulator, record, TestDependencyURL());
EXPECT_TRUE(record.Instantiate(scope.GetScriptState()).IsEmpty()); EXPECT_TRUE(record.Instantiate(scope.GetScriptState()).IsEmpty());
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
#include "platform/bindings/V8PerContextData.h" #include "platform/bindings/V8PerContextData.h"
#include "platform/heap/Handle.h" #include "platform/heap/Handle.h"
#include "platform/loader/fetch/AccessControlStatus.h" #include "platform/loader/fetch/AccessControlStatus.h"
#include "platform/loader/fetch/ScriptFetchOptions.h"
#include "platform/weborigin/KURL.h" #include "platform/weborigin/KURL.h"
#include "platform/weborigin/ReferrerPolicy.h" #include "platform/weborigin/ReferrerPolicy.h"
#include "platform/wtf/text/TextPosition.h" #include "platform/wtf/text/TextPosition.h"
...@@ -129,10 +130,8 @@ class CORE_EXPORT Modulator : public GarbageCollectedFinalized<Modulator>, ...@@ -129,10 +130,8 @@ class CORE_EXPORT Modulator : public GarbageCollectedFinalized<Modulator>,
virtual ScriptModule CompileModule(const String& script, virtual ScriptModule CompileModule(const String& script,
const String& url_str, const String& url_str,
const ScriptFetchOptions&,
AccessControlStatus, AccessControlStatus,
network::mojom::FetchCredentialsMode,
const String& nonce,
ParserDisposition,
const TextPosition&, const TextPosition&,
ExceptionState&) = 0; ExceptionState&) = 0;
......
...@@ -120,10 +120,8 @@ ModuleImportMeta ModulatorImplBase::HostGetImportMetaProperties( ...@@ -120,10 +120,8 @@ ModuleImportMeta ModulatorImplBase::HostGetImportMetaProperties(
ScriptModule ModulatorImplBase::CompileModule( ScriptModule ModulatorImplBase::CompileModule(
const String& provided_source, const String& provided_source,
const String& url_str, const String& url_str,
const ScriptFetchOptions& options,
AccessControlStatus access_control_status, AccessControlStatus access_control_status,
network::mojom::FetchCredentialsMode credentials_mode,
const String& nonce,
ParserDisposition parser_state,
const TextPosition& position, const TextPosition& position,
ExceptionState& exception_state) { ExceptionState& exception_state) {
// Implements Steps 3-5 of // Implements Steps 3-5 of
...@@ -142,8 +140,8 @@ ScriptModule ModulatorImplBase::CompileModule( ...@@ -142,8 +140,8 @@ ScriptModule ModulatorImplBase::CompileModule(
// Step 5. Let result be ParseModule(script source, realm, script). // Step 5. Let result be ParseModule(script source, realm, script).
ScriptState::Scope scope(script_state_.get()); ScriptState::Scope scope(script_state_.get());
return ScriptModule::Compile(script_state_->GetIsolate(), script_source, return ScriptModule::Compile(script_state_->GetIsolate(), script_source,
url_str, access_control_status, credentials_mode, url_str, options, access_control_status,
nonce, parser_state, position, exception_state); position, exception_state);
} }
ScriptValue ModulatorImplBase::InstantiateModule(ScriptModule script_module) { ScriptValue ModulatorImplBase::InstantiateModule(ScriptModule script_module) {
......
...@@ -66,10 +66,8 @@ class ModulatorImplBase : public Modulator { ...@@ -66,10 +66,8 @@ class ModulatorImplBase : public Modulator {
ModuleImportMeta HostGetImportMetaProperties(ScriptModule) const override; ModuleImportMeta HostGetImportMetaProperties(ScriptModule) const override;
ScriptModule CompileModule(const String& script, ScriptModule CompileModule(const String& script,
const String& url_str, const String& url_str,
const ScriptFetchOptions&,
AccessControlStatus, AccessControlStatus,
network::mojom::FetchCredentialsMode,
const String& nonce,
ParserDisposition,
const TextPosition&, const TextPosition&,
ExceptionState&) override; ExceptionState&) override;
ScriptValue InstantiateModule(ScriptModule) override; ScriptValue InstantiateModule(ScriptModule) override;
......
...@@ -30,10 +30,8 @@ ModuleScript* ModuleScript::Create(const String& source_text, ...@@ -30,10 +30,8 @@ ModuleScript* ModuleScript::Create(const String& source_text,
"ModuleScript", "Create"); "ModuleScript", "Create");
// Delegate to Modulator::CompileModule to process Steps 3-5. // Delegate to Modulator::CompileModule to process Steps 3-5.
// TODO(kouhei): pass ScriptFetchOptions to CompileModule.
ScriptModule result = modulator->CompileModule( ScriptModule result = modulator->CompileModule(
source_text, base_url.GetString(), access_control_status, source_text, base_url.GetString(), options, access_control_status,
options.CredentialsMode(), options.Nonce(), options.ParserState(),
start_position, exception_state); start_position, exception_state);
// CreateInternal processes Steps 8-13. // CreateInternal processes Steps 8-13.
......
...@@ -77,8 +77,7 @@ ModuleScript* CreateReferrerModuleScript(Modulator* modulator, ...@@ -77,8 +77,7 @@ ModuleScript* CreateReferrerModuleScript(Modulator* modulator,
V8TestingScope& scope) { V8TestingScope& scope) {
ScriptModule referrer_record = ScriptModule::Compile( ScriptModule referrer_record = ScriptModule::Compile(
scope.GetIsolate(), "import './target.js'; export const a = 42;", scope.GetIsolate(), "import './target.js'; export const a = 42;",
"referrer.js", kSharableCrossOrigin, "referrer.js", ScriptFetchOptions(), kSharableCrossOrigin,
network::mojom::FetchCredentialsMode::kOmit, "", kParserInserted,
TextPosition::MinimumPosition(), ASSERT_NO_EXCEPTION); TextPosition::MinimumPosition(), ASSERT_NO_EXCEPTION);
KURL referrer_url("https://example.com/referrer.js"); KURL referrer_url("https://example.com/referrer.js");
auto* referrer_module_script = auto* referrer_module_script =
...@@ -92,8 +91,8 @@ ModuleScript* CreateTargetModuleScript( ...@@ -92,8 +91,8 @@ ModuleScript* CreateTargetModuleScript(
ScriptModuleState state = ScriptModuleState::kInstantiated) { ScriptModuleState state = ScriptModuleState::kInstantiated) {
ScriptModule record = ScriptModule::Compile( ScriptModule record = ScriptModule::Compile(
scope.GetIsolate(), "export const pi = 3.14;", "target.js", scope.GetIsolate(), "export const pi = 3.14;", "target.js",
kSharableCrossOrigin, network::mojom::FetchCredentialsMode::kOmit, "", ScriptFetchOptions(), kSharableCrossOrigin,
kParserInserted, TextPosition::MinimumPosition(), ASSERT_NO_EXCEPTION); TextPosition::MinimumPosition(), ASSERT_NO_EXCEPTION);
KURL url("https://example.com/target.js"); KURL url("https://example.com/target.js");
auto* module_script = ModuleScript::CreateForTest(modulator, record, url); auto* module_script = ModuleScript::CreateForTest(modulator, record, url);
if (state != ScriptModuleState::kInstantiated) { if (state != ScriptModuleState::kInstantiated) {
......
...@@ -80,19 +80,16 @@ class ModuleScriptLoaderTestModulator final : public DummyModulator { ...@@ -80,19 +80,16 @@ class ModuleScriptLoaderTestModulator final : public DummyModulator {
ScriptState* GetScriptState() override { return script_state_.get(); } ScriptState* GetScriptState() override { return script_state_.get(); }
ScriptModule CompileModule( ScriptModule CompileModule(const String& script,
const String& script, const String& url_str,
const String& url_str, const ScriptFetchOptions& options,
AccessControlStatus access_control_status, AccessControlStatus access_control_status,
network::mojom::FetchCredentialsMode credentials_mode, const TextPosition& position,
const String& nonce, ExceptionState& exception_state) override {
ParserDisposition parser_state,
const TextPosition& position,
ExceptionState& exception_state) override {
ScriptState::Scope scope(script_state_.get()); ScriptState::Scope scope(script_state_.get());
return ScriptModule::Compile(script_state_->GetIsolate(), script, url_str, return ScriptModule::Compile(script_state_->GetIsolate(), script, url_str,
access_control_status, credentials_mode, nonce, options, access_control_status, position,
parser_state, position, exception_state); exception_state);
} }
void SetModuleRequests(const Vector<String>& requests) { void SetModuleRequests(const Vector<String>& requests) {
......
...@@ -82,8 +82,8 @@ class ModuleTreeLinkerTestModulator final : public DummyModulator { ...@@ -82,8 +82,8 @@ class ModuleTreeLinkerTestModulator final : public DummyModulator {
ScriptModule script_module = ScriptModule::Compile( ScriptModule script_module = ScriptModule::Compile(
script_state_->GetIsolate(), source_text.ToString(), url.GetString(), script_state_->GetIsolate(), source_text.ToString(), url.GetString(),
kSharableCrossOrigin, network::mojom::FetchCredentialsMode::kOmit, "", ScriptFetchOptions(), kSharableCrossOrigin,
kParserInserted, TextPosition::MinimumPosition(), ASSERT_NO_EXCEPTION); TextPosition::MinimumPosition(), ASSERT_NO_EXCEPTION);
auto* module_script = ModuleScript::CreateForTest(this, script_module, url); auto* module_script = ModuleScript::CreateForTest(this, script_module, url);
auto result_request = dependency_module_requests_map_.insert( auto result_request = dependency_module_requests_map_.insert(
script_module, dependency_module_requests); script_module, dependency_module_requests);
......
...@@ -114,10 +114,8 @@ ModuleImportMeta DummyModulator::HostGetImportMetaProperties( ...@@ -114,10 +114,8 @@ ModuleImportMeta DummyModulator::HostGetImportMetaProperties(
ScriptModule DummyModulator::CompileModule(const String& script, ScriptModule DummyModulator::CompileModule(const String& script,
const String& url_str, const String& url_str,
const ScriptFetchOptions&,
AccessControlStatus, AccessControlStatus,
network::mojom::FetchCredentialsMode,
const String& nonce,
ParserDisposition,
const TextPosition&, const TextPosition&,
ExceptionState&) { ExceptionState&) {
NOTREACHED(); NOTREACHED();
......
...@@ -55,10 +55,8 @@ class DummyModulator : public Modulator { ...@@ -55,10 +55,8 @@ class DummyModulator : public Modulator {
ModuleImportMeta HostGetImportMetaProperties(ScriptModule) const override; ModuleImportMeta HostGetImportMetaProperties(ScriptModule) const override;
ScriptModule CompileModule(const String& script, ScriptModule CompileModule(const String& script,
const String& url_str, const String& url_str,
const ScriptFetchOptions&,
AccessControlStatus, AccessControlStatus,
network::mojom::FetchCredentialsMode,
const String& nonce,
ParserDisposition,
const TextPosition&, const TextPosition&,
ExceptionState&) override; ExceptionState&) override;
ScriptValue InstantiateModule(ScriptModule) override; ScriptValue InstantiateModule(ScriptModule) override;
......
...@@ -267,9 +267,8 @@ class AnimationWorkletGlobalScopeTest : public ::testing::Test { ...@@ -267,9 +267,8 @@ class AnimationWorkletGlobalScopeTest : public ::testing::Test {
EXPECT_TRUE(script_state); EXPECT_TRUE(script_state);
ScriptModule module = ScriptModule::Compile( ScriptModule module = ScriptModule::Compile(
script_state->GetIsolate(), source_code, "worklet.js", script_state->GetIsolate(), source_code, "worklet.js",
kSharableCrossOrigin, network::mojom::FetchCredentialsMode::kOmit, ScriptFetchOptions(), kSharableCrossOrigin,
"" /* nonce */, kParserInserted, TextPosition::MinimumPosition(), TextPosition::MinimumPosition(), ASSERT_NO_EXCEPTION);
ASSERT_NO_EXCEPTION);
EXPECT_FALSE(module.IsNull()); EXPECT_FALSE(module.IsNull());
ScriptValue exception = module.Instantiate(script_state); ScriptValue exception = module.Instantiate(script_state);
EXPECT_TRUE(exception.IsEmpty()); EXPECT_TRUE(exception.IsEmpty());
......
...@@ -125,9 +125,8 @@ class AnimationWorkletThreadTest : public ::testing::Test { ...@@ -125,9 +125,8 @@ class AnimationWorkletThreadTest : public ::testing::Test {
ScriptState::Scope scope(script_state); ScriptState::Scope scope(script_state);
ScriptModule module = ScriptModule::Compile( ScriptModule module = ScriptModule::Compile(
script_state->GetIsolate(), "var counter = 0; ++counter;", "worklet.js", script_state->GetIsolate(), "var counter = 0; ++counter;", "worklet.js",
kSharableCrossOrigin, network::mojom::FetchCredentialsMode::kOmit, ScriptFetchOptions(), kSharableCrossOrigin,
"" /* nonce */, kParserInserted, TextPosition::MinimumPosition(), TextPosition::MinimumPosition(), ASSERT_NO_EXCEPTION);
ASSERT_NO_EXCEPTION);
EXPECT_FALSE(module.IsNull()); EXPECT_FALSE(module.IsNull());
ScriptValue exception = module.Instantiate(script_state); ScriptValue exception = module.Instantiate(script_state);
EXPECT_TRUE(exception.IsEmpty()); EXPECT_TRUE(exception.IsEmpty());
......
...@@ -135,9 +135,8 @@ class AudioWorkletGlobalScopeTest : public ::testing::Test { ...@@ -135,9 +135,8 @@ class AudioWorkletGlobalScopeTest : public ::testing::Test {
EXPECT_TRUE(script_state); EXPECT_TRUE(script_state);
ScriptModule module = ScriptModule::Compile( ScriptModule module = ScriptModule::Compile(
script_state->GetIsolate(), source_code, "worklet.js", script_state->GetIsolate(), source_code, "worklet.js",
kSharableCrossOrigin, network::mojom::FetchCredentialsMode::kOmit, ScriptFetchOptions(), kSharableCrossOrigin,
"" /* nonce */, kParserInserted, TextPosition::MinimumPosition(), TextPosition::MinimumPosition(), ASSERT_NO_EXCEPTION);
ASSERT_NO_EXCEPTION);
EXPECT_FALSE(module.IsNull()); EXPECT_FALSE(module.IsNull());
ScriptValue exception = module.Instantiate(script_state); ScriptValue exception = module.Instantiate(script_state);
EXPECT_TRUE(exception.IsEmpty()); EXPECT_TRUE(exception.IsEmpty());
......
...@@ -85,9 +85,8 @@ class AudioWorkletThreadTest : public ::testing::Test { ...@@ -85,9 +85,8 @@ class AudioWorkletThreadTest : public ::testing::Test {
ScriptState::Scope scope(script_state); ScriptState::Scope scope(script_state);
ScriptModule module = ScriptModule::Compile( ScriptModule module = ScriptModule::Compile(
script_state->GetIsolate(), "var counter = 0; ++counter;", "worklet.js", script_state->GetIsolate(), "var counter = 0; ++counter;", "worklet.js",
kSharableCrossOrigin, network::mojom::FetchCredentialsMode::kOmit, ScriptFetchOptions(), kSharableCrossOrigin,
"" /* nonce */, kParserInserted, TextPosition::MinimumPosition(), TextPosition::MinimumPosition(), ASSERT_NO_EXCEPTION);
ASSERT_NO_EXCEPTION);
EXPECT_FALSE(module.IsNull()); EXPECT_FALSE(module.IsNull());
ScriptValue exception = module.Instantiate(script_state); ScriptValue exception = module.Instantiate(script_state);
EXPECT_TRUE(exception.IsEmpty()); EXPECT_TRUE(exception.IsEmpty());
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment