| Index: third_party/WebKit/Source/core/dom/ModuleScript.cpp
|
| diff --git a/third_party/WebKit/Source/core/dom/ModuleScript.cpp b/third_party/WebKit/Source/core/dom/ModuleScript.cpp
|
| index f175cd9c670962af74f915049f637d9ce2e2ef89..9e2845e11cfaac2eddea279dfdb06a7ecd3826fc 100644
|
| --- a/third_party/WebKit/Source/core/dom/ModuleScript.cpp
|
| +++ b/third_party/WebKit/Source/core/dom/ModuleScript.cpp
|
| @@ -4,18 +4,36 @@
|
|
|
| #include "core/dom/ModuleScript.h"
|
|
|
| +#include "bindings/core/v8/ScriptState.h"
|
| +#include "bindings/core/v8/ScriptValue.h"
|
| +#include "v8/include/v8.h"
|
| +
|
| namespace blink {
|
|
|
| -void ModuleScript::SetInstantiationError(v8::Isolate* isolate,
|
| - v8::Local<v8::Value> error) {
|
| +void ModuleScript::SetInstantiationErrorAndClearRecord(ScriptValue error) {
|
| + // Implements Step 7.1 of:
|
| + // https://html.spec.whatwg.org/multipage/webappapis.html#internal-module-script-graph-fetching-procedure
|
| +
|
| + // "set script's instantiation state to "errored", ..."
|
| DCHECK_EQ(instantiation_state_, ModuleInstantiationState::kUninstantiated);
|
| instantiation_state_ = ModuleInstantiationState::kErrored;
|
|
|
| + // "its instantiation error to instantiationStatus.[[Value]], and ..."
|
| DCHECK(!error.IsEmpty());
|
| - instantiation_error_.Set(isolate, error);
|
| + {
|
| + ScriptState::Scope scope(error.GetScriptState());
|
| + instantiation_error_.Set(error.GetIsolate(), error.V8Value());
|
| + }
|
| +
|
| + // "its module record to null."
|
| + record_ = ScriptModule();
|
| }
|
|
|
| void ModuleScript::SetInstantiationSuccess() {
|
| + // Implements Step 7.2 of:
|
| + // https://html.spec.whatwg.org/multipage/webappapis.html#internal-module-script-graph-fetching-procedure
|
| +
|
| + // "set script's instantiation state to "instantiated"."
|
| DCHECK_EQ(instantiation_state_, ModuleInstantiationState::kUninstantiated);
|
| instantiation_state_ = ModuleInstantiationState::kInstantiated;
|
| }
|
|
|