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

Side by Side Diff: third_party/WebKit/Source/core/dom/ModuleScript.cpp

Issue 2850673002: Move a RegisterModuleScript() call to ModuleScript::Create() (Closed)
Patch Set: Fix tests Created 3 years, 7 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 unified diff | Download patch
OLDNEW
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 "core/dom/ScriptModuleResolver.h"
9 #include "v8/include/v8.h" 10 #include "v8/include/v8.h"
10 11
11 namespace blink { 12 namespace blink {
12 13
13 ModuleScript* ModuleScript::Create( 14 ModuleScript* ModuleScript::Create(
14 const String& source_text, 15 const String& source_text,
15 Modulator* modulator, 16 Modulator* modulator,
16 const KURL& base_url, 17 const KURL& base_url,
17 const String& nonce, 18 const String& nonce,
18 ParserDisposition parser_state, 19 ParserDisposition parser_state,
(...skipping 25 matching lines...) Expand all
44 ParserDisposition parser_state, 45 ParserDisposition parser_state,
45 WebURLRequest::FetchCredentialsMode credentials_mode) { 46 WebURLRequest::FetchCredentialsMode credentials_mode) {
46 // https://html.spec.whatwg.org/#creating-a-module-script 47 // https://html.spec.whatwg.org/#creating-a-module-script
47 // Step 7. Set script's module record to result. 48 // Step 7. Set script's module record to result.
48 // Step 8. Set script's base URL to the script base URL provided. 49 // Step 8. Set script's base URL to the script base URL provided.
49 // Step 9. Set script's cryptographic nonce to the cryptographic nonce 50 // Step 9. Set script's cryptographic nonce to the cryptographic nonce
50 // provided. 51 // provided.
51 // Step 10. Set script's parser state to the parser state. 52 // Step 10. Set script's parser state to the parser state.
52 // Step 11. Set script's credentials mode to the credentials mode provided. 53 // Step 11. Set script's credentials mode to the credentials mode provided.
53 // Step 12. Return script. 54 // Step 12. Return script.
54 return new ModuleScript(modulator, result, base_url, nonce, parser_state, 55 ModuleScript* module_script = new ModuleScript(
55 credentials_mode); 56 modulator, result, base_url, nonce, parser_state, credentials_mode);
57
58 // Step 5, a part of ParseModule(): Passing script as the last parameter
59 // here ensures result.[[HostDefined]] will be script.
60 modulator->GetScriptModuleResolver()->RegisterModuleScript(module_script);
61
62 return module_script;
56 } 63 }
57 64
58 ModuleScript* ModuleScript::CreateForTest( 65 ModuleScript* ModuleScript::CreateForTest(
59 Modulator* modulator, 66 Modulator* modulator,
60 ScriptModule record, 67 ScriptModule record,
61 const KURL& base_url, 68 const KURL& base_url,
62 const String& nonce, 69 const String& nonce,
63 ParserDisposition parser_state, 70 ParserDisposition parser_state,
64 WebURLRequest::FetchCredentialsMode credentials_mode) { 71 WebURLRequest::FetchCredentialsMode credentials_mode) {
65 return CreateInternal(modulator, record, base_url, nonce, parser_state, 72 return CreateInternal(modulator, record, base_url, nonce, parser_state,
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 } 125 }
119 126
120 String ModuleScript::InlineSourceTextForCSP() const { 127 String ModuleScript::InlineSourceTextForCSP() const {
121 // Currently we don't support inline module scripts. 128 // Currently we don't support inline module scripts.
122 // TODO(hiroshige): Implement this. 129 // TODO(hiroshige): Implement this.
123 NOTREACHED(); 130 NOTREACHED();
124 return String(); 131 return String();
125 } 132 }
126 133
127 } // namespace blink 134 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/dom/ModuleMap.cpp ('k') | third_party/WebKit/Source/core/testing/DummyModulator.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698