This repository has been archived by the owner on Jul 18, 2018. It is now read-only.
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[ES6 modules] Update #internal-module-script-graph-fetching procedure
This CL implements the changes introduced in whatwg html spec PR: whatwg/html#2674 Summary: - "final result" is now simply the "module script", instead of previous "descendant module script" which was used to report where error occurred. - "#fetch-the-descendants-of-a-module-script" assumes (actually asserts) that all module specifiers are valid, as now it is guaranteed that their failure is handled at ModuleScript::Create. - ModuleTreeLinker::NotifyOneDescendantFinished now waits for all descendants fetch to complete, even in error cases. -- This matches spec procedure precisely, but we can optimize here later while keeping the behavior. - ModuleScriptLinker now only triggers instantiate on module tree root. (iff ModuleGraphLevel == kTopLevelModuleFetch) -- V8 is now responsible for instantiating the descendant tree + keeping their instantiation status as module script's record's [[Status]] (accessible via ModuleScript::RecordStatus() in Blink) -- UninstantiatedInclusiveDescendants() is removed, as it is no longer used. With this change, Blink now conforms to all module script WPTs! Bug: 594639, 727299, whatwg/html#2674 Change-Id: I7354e00820dd222f30b4a4eba1d3cf8c1b319798 Reviewed-on: https://chromium-review.googlesource.com/540960 Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Commit-Queue: Kouhei Ueno <kouhei@chromium.org> Cr-Commit-Position: refs/heads/master@{#483957}
- Loading branch information