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/loader/modulescript/ModuleScriptLoader.h" | 5 #include "core/loader/modulescript/ModuleScriptLoader.h" |
6 | 6 |
7 #include "core/dom/Modulator.h" | 7 #include "core/dom/Modulator.h" |
8 #include "core/dom/ModuleScript.h" | 8 #include "core/dom/ModuleScript.h" |
9 #include "core/loader/modulescript/ModuleScriptLoaderClient.h" | 9 #include "core/loader/modulescript/ModuleScriptLoaderClient.h" |
10 #include "core/loader/modulescript/ModuleScriptLoaderRegistry.h" | 10 #include "core/loader/modulescript/ModuleScriptLoaderRegistry.h" |
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
171 return false; | 171 return false; |
172 } | 172 } |
173 | 173 |
174 // The result of extracting a MIME type from response's header list | 174 // The result of extracting a MIME type from response's header list |
175 // (ignoring parameters) is not a JavaScript MIME type | 175 // (ignoring parameters) is not a JavaScript MIME type |
176 // Note: For historical reasons, fetching a classic script does not include | 176 // Note: For historical reasons, fetching a classic script does not include |
177 // MIME type checking. In contrast, module scripts will fail to load if they | 177 // MIME type checking. In contrast, module scripts will fail to load if they |
178 // are not of a correct MIME type. | 178 // are not of a correct MIME type. |
179 // We use ResourceResponse::httpContentType() instead of mimeType(), as | 179 // We use ResourceResponse::httpContentType() instead of mimeType(), as |
180 // mimeType() may be rewritten by mime sniffer. | 180 // mimeType() may be rewritten by mime sniffer. |
181 if (!MIMETypeRegistry::IsSupportedJavaScriptMIMEType( | 181 // if (!MIMETypeRegistry::IsSupportedJavaScriptMIMEType( |
182 response.HttpContentType())) | 182 // response.HttpContentType())) |
183 return false; | 183 // return false; |
184 | 184 |
185 return true; | 185 return true; |
186 } | 186 } |
187 | 187 |
188 // ScriptResourceClient callback handler | 188 // ScriptResourceClient callback handler |
189 void ModuleScriptLoader::NotifyFinished(Resource*) { | 189 void ModuleScriptLoader::NotifyFinished(Resource*) { |
190 // Note: "conditions" referred in Step 7 is implemented in | 190 // Note: "conditions" referred in Step 7 is implemented in |
191 // wasModuleLoadSuccessful(). | 191 // wasModuleLoadSuccessful(). |
192 // Step 7. If any of the following conditions are met, set moduleMap[url] to | 192 // Step 7. If any of the following conditions are met, set moduleMap[url] to |
193 // null, asynchronously complete this algorithm with null, and abort these | 193 // null, asynchronously complete this algorithm with null, and abort these |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
250 | 250 |
251 DEFINE_TRACE(ModuleScriptLoader) { | 251 DEFINE_TRACE(ModuleScriptLoader) { |
252 visitor->Trace(modulator_); | 252 visitor->Trace(modulator_); |
253 visitor->Trace(module_script_); | 253 visitor->Trace(module_script_); |
254 visitor->Trace(registry_); | 254 visitor->Trace(registry_); |
255 visitor->Trace(client_); | 255 visitor->Trace(client_); |
256 ResourceOwner<ScriptResource>::Trace(visitor); | 256 ResourceOwner<ScriptResource>::Trace(visitor); |
257 } | 257 } |
258 | 258 |
259 } // namespace blink | 259 } // namespace blink |
OLD | NEW |