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

Unified Diff: third_party/WebKit/Source/core/dom/ScriptModuleResolverImpl.cpp

Issue 2837253002: [ES6 modules] Rethrow instantiation error when attempt to resolve instantiation failed module. (Closed)
Patch Set: rebased Created 3 years, 8 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/dom/ScriptModuleResolverImpl.cpp
diff --git a/third_party/WebKit/Source/core/dom/ScriptModuleResolverImpl.cpp b/third_party/WebKit/Source/core/dom/ScriptModuleResolverImpl.cpp
index e74a2c9fd55ed051c2827a76759e2f951e01505f..b5d90c0b2ac7e1467030fc7b26059ddbe86be4f4 100644
--- a/third_party/WebKit/Source/core/dom/ScriptModuleResolverImpl.cpp
+++ b/third_party/WebKit/Source/core/dom/ScriptModuleResolverImpl.cpp
@@ -68,21 +68,20 @@ ScriptModule ScriptModuleResolverImpl::Resolve(
// throw resolved module script's instantiation error.
if (module_script->InstantiationState() ==
ModuleInstantiationState::kErrored) {
- // TODO(kouhei): Implement this path once
- // https://codereview.chromium.org/2782403002/ landed.
- NOTIMPLEMENTED();
+ ScriptValue error = modulator_->GetInstantiationError(module_script);
+ exception_state.RethrowV8Exception(error.V8Value());
return ScriptModule();
}
// Step 6. Assert: resolved module script's instantiation state is
// "instantiated" (and thus its module record is not null).
- // TODO(kouhei): Enable below check once once
- // https://codereview.chromium.org/2782403002/ landed.
- // CHECK_EQ(moduleScript->instantiationState(),
- // ModuleInstantiationState::Instantiated);
+ CHECK_EQ(module_script->InstantiationState(),
+ ModuleInstantiationState::kInstantiated);
+ ScriptModule record = module_script->Record();
+ CHECK(!record.IsNull());
// Step 7. Return resolved module script's module record.
- return module_script->Record();
+ return record;
}
DEFINE_TRACE(ScriptModuleResolverImpl) {
« no previous file with comments | « third_party/WebKit/Source/core/dom/ModuleScript.h ('k') | third_party/WebKit/Source/core/dom/ScriptModuleResolverImplTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698