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 <[email protected]>
Reviewed-by: Hiroki Nakagawa <[email protected]>
Commit-Queue: Sam Sebree <[email protected]>
Cr-Commit-Position: refs/heads/master@{#688905}
  • Loading branch information
Sam Sebree authored and natechapin committed Aug 23, 2019
1 parent a748d83 commit 6dcdb29
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 6dcdb29

Please sign in to comment.