Skip to content

Commit

Permalink
[SyntheticModules] Allows for Fetching and Loading of JSON/Synthetic …
Browse files Browse the repository at this point in the history
…Modules

This is the final change required for JSON Modules to be utilized by developers.
Following the acceptance of this change, if you run chromium with the JSONModules runtime flag, the following is now valid syntax:

<script type="module">
    import data from "./example.json";
</script>

This change introduces several things:

-It introduces the ability for ModuleScriptLoader to load JSON Modules
-It introduces the ability for ModuleScriptFetcher to retrieve JSON resources
-It introduces a new field to ModuleScriptCreationParams: response_mime_type_
-It introduces the JSONModules runtime flag to chromium

This change corresponds with the following V8 change:
https://chromium-review.googlesource.com/c/v8/v8/+/1761583

Bug: 967018
Change-Id: Ibcdb61659fb07047ffeead2ff4a55c450c183e43
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1731108
Reviewed-by: Hiroshige Hayashizaki <hiroshige@chromium.org>
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Commit-Queue: Sam Sebree <sasebree@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#688905}
  • Loading branch information
Sam Sebree authored and chromium-wpt-export-bot committed Aug 21, 2019
1 parent 036e8ee commit a8a1303
Showing 1 changed file with 2 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
for (const value of [null, true, false, "string"]) {
promise_test(async t => {
const result = await import(`./${value}.json`);
assert_equals(result, value);
assert_equals(result.default, value);
}, `Non-object: ${value}`);
}

promise_test(async t => {
const result = await import("./array.json");
assert_array_equals(result, ["en", "try"]);
assert_array_equals(result.default, ["en", "try"]);
}, "Non-object: array");

0 comments on commit a8a1303

Please sign in to comment.