| OLD | NEW |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "core/dom/ModuleScript.h" | 5 #include "core/dom/ModuleScript.h" |
| 6 | 6 |
| 7 #include "bindings/core/v8/ScriptState.h" | 7 #include "bindings/core/v8/ScriptState.h" |
| 8 #include "bindings/core/v8/ScriptValue.h" | 8 #include "bindings/core/v8/ScriptValue.h" |
| 9 #include "bindings/core/v8/V8BindingForCore.h" | 9 #include "bindings/core/v8/V8BindingForCore.h" |
| 10 #include "v8/include/v8.h" | 10 #include "v8/include/v8.h" |
| (...skipping 20 matching lines...) Expand all Loading... |
| 31 // Step 6: "...return null, and abort these steps." | 31 // Step 6: "...return null, and abort these steps." |
| 32 if (result.IsNull()) | 32 if (result.IsNull()) |
| 33 return nullptr; | 33 return nullptr; |
| 34 // Step 7. Set script's module record to result. | 34 // Step 7. Set script's module record to result. |
| 35 // Step 8. Set script's base URL to the script base URL provided. | 35 // Step 8. Set script's base URL to the script base URL provided. |
| 36 // Step 9. Set script's cryptographic nonce to the cryptographic nonce | 36 // Step 9. Set script's cryptographic nonce to the cryptographic nonce |
| 37 // provided. | 37 // provided. |
| 38 // Step 10. Set script's parser state to the parser state. | 38 // Step 10. Set script's parser state to the parser state. |
| 39 // Step 11. Set script's credentials mode to the credentials mode provided. | 39 // Step 11. Set script's credentials mode to the credentials mode provided. |
| 40 // Step 12. Return script. | 40 // Step 12. Return script. |
| 41 // [not specced] |source_text| is saved for CSP checks. |
| 41 return new ModuleScript(modulator, result, base_url, nonce, parser_state, | 42 return new ModuleScript(modulator, result, base_url, nonce, parser_state, |
| 42 credentials_mode); | 43 credentials_mode, source_text); |
| 43 } | 44 } |
| 44 | 45 |
| 45 void ModuleScript::SetInstantiationErrorAndClearRecord(ScriptValue error) { | 46 void ModuleScript::SetInstantiationErrorAndClearRecord(ScriptValue error) { |
| 46 // Implements Step 7.1 of: | 47 // Implements Step 7.1 of: |
| 47 // https://html.spec.whatwg.org/multipage/webappapis.html#internal-module-scri
pt-graph-fetching-procedure | 48 // https://html.spec.whatwg.org/multipage/webappapis.html#internal-module-scri
pt-graph-fetching-procedure |
| 48 | 49 |
| 49 // "set script's instantiation state to "errored", ..." | 50 // "set script's instantiation state to "errored", ..." |
| 50 DCHECK_EQ(instantiation_state_, ModuleInstantiationState::kUninstantiated); | 51 DCHECK_EQ(instantiation_state_, ModuleInstantiationState::kUninstantiated); |
| 51 instantiation_state_ = ModuleInstantiationState::kErrored; | 52 instantiation_state_ = ModuleInstantiationState::kErrored; |
| 52 | 53 |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 90 // We don't check MIME type here because we check the MIME type in | 91 // We don't check MIME type here because we check the MIME type in |
| 91 // ModuleScriptLoader::WasModuleLoadSuccessful(). | 92 // ModuleScriptLoader::WasModuleLoadSuccessful(). |
| 92 return true; | 93 return true; |
| 93 } | 94 } |
| 94 | 95 |
| 95 void ModuleScript::RunScript(LocalFrame* frame, const SecurityOrigin*) const { | 96 void ModuleScript::RunScript(LocalFrame* frame, const SecurityOrigin*) const { |
| 96 settings_object_->ExecuteModule(this); | 97 settings_object_->ExecuteModule(this); |
| 97 } | 98 } |
| 98 | 99 |
| 99 String ModuleScript::InlineSourceTextForCSP() const { | 100 String ModuleScript::InlineSourceTextForCSP() const { |
| 100 // Currently we don't support inline module scripts. | 101 return source_text_; |
| 101 // TODO(hiroshige): Implement this. | |
| 102 NOTREACHED(); | |
| 103 return String(); | |
| 104 } | 102 } |
| 105 | 103 |
| 106 } // namespace blink | 104 } // namespace blink |
| OLD | NEW |