-
Notifications
You must be signed in to change notification settings - Fork 3k
Commit b83a82f
authored
Clean up the script element processing model
* Modernize the definitions and usage of various fields associated with script element, e.g. by removing "scare quotes", changing names from verbose things like "the script's type" to just "type", changing flags to booleans, ensuring initial values are defined, etc. Notable field changes:
* Rename "the script's script" to "result". This serves as preparation for other specifications, such as import maps, which will expand what that field can contain.
* Rename "non-blocking" to "force async" to better communicate its connection to the async="" content attribute and to avoid confusion with the blocking="" content attribute.
* Revamp "the script is ready" into three separate concepts: "delaying the load event", "mark as ready", and "steps to run when the result is ready". Fixes #5217, in particular making it so that script elements which are never marked as ready (e.g., <script type="foobar">) don't delay the load event indefinitely.
* Un-export "prepare a script". All uses of it in external specs are either monkeypatches or non-normative references.
* Rename "prepare a script" to "prepare the script element" to emphasize it's about the `<script>` element, not about the separate script concept.
* Rewrite the final of "prepare the script element" from a switch into a series of nested if/else blocks, which better communicates how we can land in the various different script element execution modes.
* Rename "execute a script block" to "execute the script element", since "block" is a strange term.
* Various other editorial improvements to those two algorithms.1 parent 9fe65cc commit b83a82fCopy full SHA for b83a82f
Expand file treeCollapse file tree
1 file changed
+415
-382
lines changed
0 commit comments