Index: third_party/WebKit/Source/core/dom/ScriptLoader.cpp |
diff --git a/third_party/WebKit/Source/core/dom/ScriptLoader.cpp b/third_party/WebKit/Source/core/dom/ScriptLoader.cpp |
index 35e29537ea9ae8671e7364444d4f164221e8824b..6fb2ab939f8d779993049e9efcbc5bb988abf7b8 100644 |
--- a/third_party/WebKit/Source/core/dom/ScriptLoader.cpp |
+++ b/third_party/WebKit/Source/core/dom/ScriptLoader.cpp |
@@ -215,6 +215,11 @@ bool ScriptLoader::IsValidScriptTypeAndLanguage( |
return false; |
} |
+bool ScriptLoader::BlockForNoModule(ScriptType script_type, bool nomodule) { |
+ return nomodule && script_type == ScriptType::kClassic && |
+ RuntimeEnabledFeatures::moduleScriptsEnabled(); |
+} |
+ |
bool ScriptLoader::IsScriptTypeSupported(LegacyTypeSupport support_legacy_types, |
ScriptType& out_script_type) const { |
return IsValidScriptTypeAndLanguage(element_->TypeAttributeValue(), |
@@ -296,7 +301,8 @@ bool ScriptLoader::PrepareScript(const TextPosition& script_start_position, |
// 11. "If the script element has a nomodule content attribute |
// and the script's type is "classic", then abort these steps. |
// The script is not executed." |
- // TODO(japhet): Implement this step. |
+ if (BlockForNoModule(script_type_, element_->NomoduleAttributeValue())) |
+ return false; |
// 13. |
if (!IsScriptForEventSupported()) |