Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarification: #176 and invalid URLs #184

Closed
hiroshige-g opened this issue Oct 6, 2019 · 7 comments · Fixed by #205
Closed

Clarification: #176 and invalid URLs #184

hiroshige-g opened this issue Oct 6, 2019 · 7 comments · Fixed by #205

Comments

@hiroshige-g
Copy link
Collaborator

#176 changed the behavior around invalid URLs. i.e.

{"imports": { "https://example.com/foo": "https://:invalid:url" }}

is equal to

What was the reason behind this change?

Does this mean that, after #176, when we re-enable fallback/built-in modules support again:

  1. {"imports": { "https://example.com/foo": "https://:invalid:url" }} is equal to {"imports": {}} as a direct result of the change Slim down to a minimal core #176,
  2. {"imports": { "https://example.com/foo": ["https://:invalid:url"] }} is equal to {"imports": {}} for keeping equivalence between "https://:invalid:url" and ["https://:invalid:url"] that held before Slim down to a minimal core #176,
  3. {"imports": { "https://example.com/foo": [] }} is equal to {"imports": {}},
  4. {"imports": { "https://example.com/foo": null }} is different from {"imports": { "https://example.com/foo": [] }}

?

Context: Chromium will keep fallback implementation behind built-in modules flag, even after #176, and thus I'd like to clarify the background/implication of #176 to the fallback mechanism.
I'm neutral about the new/old behaviors.

@domenic domenic added this to the Fallback support milestone Oct 15, 2019
@domenic
Copy link
Collaborator

domenic commented Oct 15, 2019

This was not explicitly intentional; it likely fell out of some refactoring or was the most natural way of coding things.

If we add fallback support back, I would like null and [] to remain equivalent.

Since the most natural behavior for ["https://:invalid:url"] is to collapse it to [], then I think it should be in that equivalence class too.

Then, of course, "https://:invalid:url" and ["https://:invalid:url"] should also be equivalent, so it seems we are forced to have them all in the same equivalence class.

So the question is what should mapping to null do: cause an error, or be ignored. Probably it should cause an error, since that is more useful?

In that case we should probably move back to the old behavior. This means complicating the model somewhat by changing a specifier map to be strings -> URL or null instead of just string -> URL.

@hiroshige-g
Copy link
Collaborator Author

the question is what should mapping to null do

+1.

I'm a little leaning toward ignoring mapping to null (i.e. allow fallbacks to other candidates) because other parts of import maps also work in fallback-based fashion:

  • Resolution failures at one scope fallback to less specific scopes.
  • Resolution failures within a fallback list fallback to next candidates.
  • So, resolution failures at one prefix fallback to less specific prefixes?

Also, even when a mapping to null causes an error, the resolution can be still successful, e.g. when the specifier is URL-like (fallback to Step 11) or there are less-specific scopes. (Still we could make the resolution failed by changing the spec though)

Anyway, this is a very slight preference. In the short-term, this is (slightly) blocking WPT test migration, so I'll change the implementation to "ignore" null mappings (if there're no additional inputs) and possibly reconsider this issue later again.

chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Jan 6, 2020
This CL makes `null` entries, i.e. mappings to `null`, `[]`, invalid URLs,
etc., be ignored, while previously they caused an error.

Built-in-modules-enabled cases:

The tests for built-in-modules-enabled cases are based on an old version
of the spec where `null` entries should cause errors.
This CL changes the tests so that `null` entries are ignored.

Associated spec updates for this change is not needed for now,
because the built-in modules support is tentatively dropped from the spec.

Built-in-modules-disabled cases:

The new behavior is already conformant with the current spec and WPT tests.

Bug: 990561, WICG/import-maps#184
Change-Id: I3ce416adc9b9145b7fae8d9a22973698bd632f7e
@guybedford
Copy link
Collaborator

Without standard modules like @notfound or @empty, having null as a way to block an import from resolving can be quite useful. For example, to disable builtin modules.

Previously I was under the impression that fallbacks like [] throw since there is no resolution found? And that null was just an alias of that?

@hiroshige-g
Copy link
Collaborator Author

Previously I was under the impression that fallbacks like [] throw since there is no resolution found? And that null was just an alias of that?

Correct (and null and [] should behave in the same way as domenic commented #184 (comment)).

...Hmm, in the current spec, blocking a specific resolution is harder than before, due to two factors:

  • null mappings are ignored and removed at parsing time.
  • Resolution failures are quite weak and allow fallbacks. Even all mappings in imports and scopes fail, URL-like specifiers are successfully resolved as-is.

For example, with the following import map (assuming std:something exists):

{
  "imports": {
    "@notfound": "std:something",
    "@something": "std:something",
    "std:something": null,
    "/a/": "/A/",
    "/a/b/": null,
    "/a/b/c/": "/A/B/C/",
    "/a/d/": "data:text/html,/",
    "/a/d/e/": "/A/D/E/"
  },
  "scopes": {
    "/scope1/": {
      "@notfound": null,
      "std:something": null
    }
  }
}

The resolution result is:

specifier scope result fallback sequence
@something /scope1/ std:something FAIL for /scope1/ (no mapping) -> SUCCESS for top-level
@notfound /scope1/ std:something FAIL for /scope1/ (null mapping ignored) -> SUCCESS for top-level
std:something /scope1/ std:something FAIL for /scope1/ (null mapping ignored) -> FAIL for top-level (null mapping ignored) -> Resolved as-is
@something top-level std:something SUCCESS for top-level
@notfound top-level std:something SUCCESS for top-level
std:something top-level std:something FAIL for top-level (null mapping ignored) -> Resolved as-is
/a/b/c/foo * /A/B/C/foo SUCCESS for /a/b/c/
/a/b/foo * /A/b/foo FAIL for /a/b/ -> SUCCESS for /a/
/a/foo * /A/foo SUCCESS for /a/
/a/d/e/foo * /A/D/E/foo SUCCESS for /a/d/e/
/a/d/foo * /a/d/foo FAIL for /a/d/ -> (/a/ is skipped) -> Resolved as-is

@hiroshige-g
Copy link
Collaborator Author

If we want to definitely block a resolution by using null mappings, then it's better to consider null mapping separately from other failures.
For example, resolution result (for each scope, each prefix, etc.) should be either:

  • SUCCESS: Resolved to a URL. Use the URL as the final result.
  • BLOCK: Failed to resolve, and fallbacks are not allowed. Used for null mappings.
  • FAIL: Failed to resolve, but fallbacks to less-specific scopes/prefixes are allowed. Used for failures due to no matching entries in a scope, prefix-matching+URL-construction failures (like /a/d/foo above), non-existent built-in modules, etc.

chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Jan 7, 2020
This CL makes `null` entries, i.e. mappings to `null`, `[]`, invalid URLs,
etc., be ignored, while previously they caused an error.

Built-in-modules-enabled cases:

The tests for built-in-modules-enabled cases are based on an old version
of the spec where `null` entries should cause errors.
This CL changes the tests so that `null` entries are ignored.

Associated spec updates for this change is not needed for now,
because the built-in modules support is tentatively dropped from the spec.

Built-in-modules-disabled cases:

The new behavior is already conformant with the current spec and WPT tests.

Bug: 990561, WICG/import-maps#184
Change-Id: I3ce416adc9b9145b7fae8d9a22973698bd632f7e
@hiroshige-g
Copy link
Collaborator Author

(FYI I removed the blocking dependency from test migration to this issue. This is still blocking shipping, but not immediate CLs)

chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Jan 7, 2020
This CL

- Converts Jest-based parsing tests into JSONs
(with minor refinement, and removing test cases depending
on interoperability issues of underlying URL parsers),
- Adjust the JSON schema for parsing tests, and
- Removes imported resolution tests.

The test failures
(virtual/import-maps-without-builtin-modules/external/wpt/import-maps/common/parsing.tentative.html)
are due to WICG/import-maps#184, i.e.
whether `null` mappings are removed from parsed import map or not.

Bug: 1026809, WICG/import-maps#170
Change-Id: If1e53cbeafd44c1de1a7fa38ef646fcd5721b495
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Jan 15, 2020
This CL

- Converts Jest-based parsing tests into JSONs
(with minor refinement, and removing test cases depending
on interoperability issues of underlying URL parsers),
- Adjust the JSON schema for parsing tests, and
- Removes imported resolution tests.

The test failures
(virtual/import-maps-without-builtin-modules/external/wpt/import-maps/common/parsing.tentative.html)
are due to WICG/import-maps#184, i.e.
whether `null` mappings are removed from parsed import map or not.

Bug: 1026809, WICG/import-maps#170
Change-Id: If1e53cbeafd44c1de1a7fa38ef646fcd5721b495
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1982509
Reviewed-by: Domenic Denicola <[email protected]>
Commit-Queue: Hiroshige Hayashizaki <[email protected]>
Cr-Commit-Position: refs/heads/master@{#731910}
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Jan 15, 2020
This CL

- Converts Jest-based parsing tests into JSONs
(with minor refinement, and removing test cases depending
on interoperability issues of underlying URL parsers),
- Adjust the JSON schema for parsing tests, and
- Removes imported resolution tests.

The test failures
(virtual/import-maps-without-builtin-modules/external/wpt/import-maps/common/parsing.tentative.html)
are due to WICG/import-maps#184, i.e.
whether `null` mappings are removed from parsed import map or not.

Bug: 1026809, WICG/import-maps#170
Change-Id: If1e53cbeafd44c1de1a7fa38ef646fcd5721b495
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1982509
Reviewed-by: Domenic Denicola <[email protected]>
Commit-Queue: Hiroshige Hayashizaki <[email protected]>
Cr-Commit-Position: refs/heads/master@{#731910}
pull bot pushed a commit to FreddyZeng/chromium that referenced this issue Jan 15, 2020
This CL

- Converts Jest-based parsing tests into JSONs
(with minor refinement, and removing test cases depending
on interoperability issues of underlying URL parsers),
- Adjust the JSON schema for parsing tests, and
- Removes imported resolution tests.

The test failures
(virtual/import-maps-without-builtin-modules/external/wpt/import-maps/common/parsing.tentative.html)
are due to WICG/import-maps#184, i.e.
whether `null` mappings are removed from parsed import map or not.

Bug: 1026809, WICG/import-maps#170
Change-Id: If1e53cbeafd44c1de1a7fa38ef646fcd5721b495
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1982509
Reviewed-by: Domenic Denicola <[email protected]>
Commit-Queue: Hiroshige Hayashizaki <[email protected]>
Cr-Commit-Position: refs/heads/master@{#731910}
xeonchen pushed a commit to xeonchen/gecko that referenced this issue Jan 20, 2020
… tests into JSON-based, a=testonly

Automatic update from web-platform-tests
[Import Maps] Migrate Jest-based parsing tests into JSON-based

This CL

- Converts Jest-based parsing tests into JSONs
(with minor refinement, and removing test cases depending
on interoperability issues of underlying URL parsers),
- Adjust the JSON schema for parsing tests, and
- Removes imported resolution tests.

The test failures
(virtual/import-maps-without-builtin-modules/external/wpt/import-maps/common/parsing.tentative.html)
are due to WICG/import-maps#184, i.e.
whether `null` mappings are removed from parsed import map or not.

Bug: 1026809, WICG/import-maps#170
Change-Id: If1e53cbeafd44c1de1a7fa38ef646fcd5721b495
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1982509
Reviewed-by: Domenic Denicola <[email protected]>
Commit-Queue: Hiroshige Hayashizaki <[email protected]>
Cr-Commit-Position: refs/heads/master@{#731910}

--

wpt-commits: a5e2efd90b6766f33e94d92e1858a68f8c40c977
wpt-pr: 21064
moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this issue Jan 21, 2020
… tests into JSON-based, a=testonly

Automatic update from web-platform-tests
[Import Maps] Migrate Jest-based parsing tests into JSON-based

This CL

- Converts Jest-based parsing tests into JSONs
(with minor refinement, and removing test cases depending
on interoperability issues of underlying URL parsers),
- Adjust the JSON schema for parsing tests, and
- Removes imported resolution tests.

The test failures
(virtual/import-maps-without-builtin-modules/external/wpt/import-maps/common/parsing.tentative.html)
are due to WICG/import-maps#184, i.e.
whether `null` mappings are removed from parsed import map or not.

Bug: 1026809, WICG/import-maps#170
Change-Id: If1e53cbeafd44c1de1a7fa38ef646fcd5721b495
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1982509
Reviewed-by: Domenic Denicola <[email protected]>
Commit-Queue: Hiroshige Hayashizaki <[email protected]>
Cr-Commit-Position: refs/heads/master@{#731910}

--

wpt-commits: a5e2efd90b6766f33e94d92e1858a68f8c40c977
wpt-pr: 21064
@hiroshige-g
Copy link
Collaborator Author

Preparing a spec PR.

domenic pushed a commit that referenced this issue Feb 7, 2020
After this change, all errors, found either at parsing or resolution time, result in the resolution processing throwing errors.

Previously, errors found at parsing time, namely:

* Non-string values, including null, [], etc.
* Invalid URLs
* Entries with keys with trailing "/" and values without trailing "/"

were ignored, allowing fallback to the next candidate at resolution time. Thus, they could not be used as a definitive way to block particular resolution. After this change, such entries are kept in the parsed specifier maps as entries with null value, and cause resolution to fail (without further fallback) by throwing errors.

Also, before this change, relative URL resolution failures at prefix matching in "resolve a module specifier" didn't allow fallback to less-specific prefixes, but did allow fallback to less-specific scopes. This PR makes errors which would have caused such fallbacks always throw errors, so fallback is not allowed in either case.

With this change, all resolution failures are surfaced via thrown errors, and resolution is definitively blocked. Fallback to less-specific scopes only occurs when there are no matching entries in a scope; errored entries no longer cause fallbacks.

Fixes #184.
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Feb 10, 2020
Reflects WICG/import-maps#205.

This CL updates tests from #205.

To match the behavior with the updated spec,
this CL turns non-String values into `null` entries
(i.e. make whole resolution fail without further fallback),
instead of ignoring such entries.
Other aspects were already conformant with the updated spec
(i.e. weren't matching with the spec before #205).

This CL updates (test-only) import maps serialization code
so that it matches with the reference implementation, i.e.
dump `null` entries as `null` instead of `[]`.

This CL also updates spec comments.

Bug: 990561, WICG/import-maps#184
Change-Id: Ifa2d04bf20fcef5575c14d135c328730ea09c454
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Feb 12, 2020
Reflects WICG/import-maps#205.

This CL updates tests from #205.

To match the behavior with the updated spec,
this CL turns non-String values into `null` entries
(i.e. make whole resolution fail without further fallback),
instead of ignoring such entries.
Other aspects were already conformant with the updated spec
(i.e. weren't matching with the spec before #205).

This CL updates (test-only) import maps serialization code
so that it matches with the reference implementation, i.e.
dump `null` entries as `null` instead of `[]`.

This CL also updates spec comments.

Bug: 990561, WICG/import-maps#184
Change-Id: Ifa2d04bf20fcef5575c14d135c328730ea09c454
pull bot pushed a commit to FreddyZeng/chromium that referenced this issue Feb 13, 2020
Reflects WICG/import-maps#205.

This CL updates tests from #205.

To match the behavior with the updated spec,
this CL turns non-String values into `null` entries
(i.e. make whole resolution fail without further fallback),
instead of ignoring such entries.
Other aspects were already conformant with the updated spec
(i.e. weren't matching with the spec before #205).

This CL updates (test-only) import maps serialization code
so that it matches with the reference implementation, i.e.
dump `null` entries as `null` instead of `[]`.

This CL also updates spec comments.

Bug: 990561, WICG/import-maps#184
Change-Id: Ifa2d04bf20fcef5575c14d135c328730ea09c454
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2037012
Commit-Queue: Hiroshige Hayashizaki <[email protected]>
Reviewed-by: Kouhei Ueno <[email protected]>
Cr-Commit-Position: refs/heads/master@{#740847}
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Feb 13, 2020
Reflects WICG/import-maps#205.

This CL updates tests from #205.

To match the behavior with the updated spec,
this CL turns non-String values into `null` entries
(i.e. make whole resolution fail without further fallback),
instead of ignoring such entries.
Other aspects were already conformant with the updated spec
(i.e. weren't matching with the spec before #205).

This CL updates (test-only) import maps serialization code
so that it matches with the reference implementation, i.e.
dump `null` entries as `null` instead of `[]`.

This CL also updates spec comments.

Bug: 990561, WICG/import-maps#184
Change-Id: Ifa2d04bf20fcef5575c14d135c328730ea09c454
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2037012
Commit-Queue: Hiroshige Hayashizaki <[email protected]>
Reviewed-by: Kouhei Ueno <[email protected]>
Cr-Commit-Position: refs/heads/master@{#740847}
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Feb 13, 2020
Reflects WICG/import-maps#205.

This CL updates tests from #205.

To match the behavior with the updated spec,
this CL turns non-String values into `null` entries
(i.e. make whole resolution fail without further fallback),
instead of ignoring such entries.
Other aspects were already conformant with the updated spec
(i.e. weren't matching with the spec before #205).

This CL updates (test-only) import maps serialization code
so that it matches with the reference implementation, i.e.
dump `null` entries as `null` instead of `[]`.

This CL also updates spec comments.

Bug: 990561, WICG/import-maps#184
Change-Id: Ifa2d04bf20fcef5575c14d135c328730ea09c454
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2037012
Commit-Queue: Hiroshige Hayashizaki <[email protected]>
Reviewed-by: Kouhei Ueno <[email protected]>
Cr-Commit-Position: refs/heads/master@{#740847}
moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this issue Feb 17, 2020
…e resolution, Blink-side, a=testonly

Automatic update from web-platform-tests
[Import Maps] Make errors block the whole resolution, Blink-side

Reflects WICG/import-maps#205.

This CL updates tests from #205.

To match the behavior with the updated spec,
this CL turns non-String values into `null` entries
(i.e. make whole resolution fail without further fallback),
instead of ignoring such entries.
Other aspects were already conformant with the updated spec
(i.e. weren't matching with the spec before #205).

This CL updates (test-only) import maps serialization code
so that it matches with the reference implementation, i.e.
dump `null` entries as `null` instead of `[]`.

This CL also updates spec comments.

Bug: 990561, WICG/import-maps#184
Change-Id: Ifa2d04bf20fcef5575c14d135c328730ea09c454
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2037012
Commit-Queue: Hiroshige Hayashizaki <[email protected]>
Reviewed-by: Kouhei Ueno <[email protected]>
Cr-Commit-Position: refs/heads/master@{#740847}

--

wpt-commits: 8767abfffb790e4928ac9433282928caa2357ee8
wpt-pr: 21707
xeonchen pushed a commit to xeonchen/gecko that referenced this issue Feb 18, 2020
…e resolution, Blink-side, a=testonly

Automatic update from web-platform-tests
[Import Maps] Make errors block the whole resolution, Blink-side

Reflects WICG/import-maps#205.

This CL updates tests from #205.

To match the behavior with the updated spec,
this CL turns non-String values into `null` entries
(i.e. make whole resolution fail without further fallback),
instead of ignoring such entries.
Other aspects were already conformant with the updated spec
(i.e. weren't matching with the spec before #205).

This CL updates (test-only) import maps serialization code
so that it matches with the reference implementation, i.e.
dump `null` entries as `null` instead of `[]`.

This CL also updates spec comments.

Bug: 990561, WICG/import-maps#184
Change-Id: Ifa2d04bf20fcef5575c14d135c328730ea09c454
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2037012
Commit-Queue: Hiroshige Hayashizaki <[email protected]>
Reviewed-by: Kouhei Ueno <[email protected]>
Cr-Commit-Position: refs/heads/master@{#740847}

--

wpt-commits: 8767abfffb790e4928ac9433282928caa2357ee8
wpt-pr: 21707
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified that referenced this issue Feb 18, 2020
…e resolution, Blink-side, a=testonly

Automatic update from web-platform-tests
[Import Maps] Make errors block the whole resolution, Blink-side

Reflects WICG/import-maps#205.

This CL updates tests from #205.

To match the behavior with the updated spec,
this CL turns non-String values into `null` entries
(i.e. make whole resolution fail without further fallback),
instead of ignoring such entries.
Other aspects were already conformant with the updated spec
(i.e. weren't matching with the spec before #205).

This CL updates (test-only) import maps serialization code
so that it matches with the reference implementation, i.e.
dump `null` entries as `null` instead of `[]`.

This CL also updates spec comments.

Bug: 990561, WICG/import-maps#184
Change-Id: Ifa2d04bf20fcef5575c14d135c328730ea09c454
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2037012
Commit-Queue: Hiroshige Hayashizaki <hiroshigechromium.org>
Reviewed-by: Kouhei Ueno <kouheichromium.org>
Cr-Commit-Position: refs/heads/master{#740847}

--

wpt-commits: 8767abfffb790e4928ac9433282928caa2357ee8
wpt-pr: 21707

UltraBlame original commit: e620b95565ea737f093567c22c6b8ce07e37b7dc
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified-and-comments-removed that referenced this issue Feb 18, 2020
…e resolution, Blink-side, a=testonly

Automatic update from web-platform-tests
[Import Maps] Make errors block the whole resolution, Blink-side

Reflects WICG/import-maps#205.

This CL updates tests from #205.

To match the behavior with the updated spec,
this CL turns non-String values into `null` entries
(i.e. make whole resolution fail without further fallback),
instead of ignoring such entries.
Other aspects were already conformant with the updated spec
(i.e. weren't matching with the spec before #205).

This CL updates (test-only) import maps serialization code
so that it matches with the reference implementation, i.e.
dump `null` entries as `null` instead of `[]`.

This CL also updates spec comments.

Bug: 990561, WICG/import-maps#184
Change-Id: Ifa2d04bf20fcef5575c14d135c328730ea09c454
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2037012
Commit-Queue: Hiroshige Hayashizaki <hiroshigechromium.org>
Reviewed-by: Kouhei Ueno <kouheichromium.org>
Cr-Commit-Position: refs/heads/master{#740847}

--

wpt-commits: 8767abfffb790e4928ac9433282928caa2357ee8
wpt-pr: 21707

UltraBlame original commit: e620b95565ea737f093567c22c6b8ce07e37b7dc
gecko-dev-updater pushed a commit to marco-c/gecko-dev-comments-removed that referenced this issue Feb 18, 2020
…e resolution, Blink-side, a=testonly

Automatic update from web-platform-tests
[Import Maps] Make errors block the whole resolution, Blink-side

Reflects WICG/import-maps#205.

This CL updates tests from #205.

To match the behavior with the updated spec,
this CL turns non-String values into `null` entries
(i.e. make whole resolution fail without further fallback),
instead of ignoring such entries.
Other aspects were already conformant with the updated spec
(i.e. weren't matching with the spec before #205).

This CL updates (test-only) import maps serialization code
so that it matches with the reference implementation, i.e.
dump `null` entries as `null` instead of `[]`.

This CL also updates spec comments.

Bug: 990561, WICG/import-maps#184
Change-Id: Ifa2d04bf20fcef5575c14d135c328730ea09c454
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2037012
Commit-Queue: Hiroshige Hayashizaki <hiroshigechromium.org>
Reviewed-by: Kouhei Ueno <kouheichromium.org>
Cr-Commit-Position: refs/heads/master{#740847}

--

wpt-commits: 8767abfffb790e4928ac9433282928caa2357ee8
wpt-pr: 21707

UltraBlame original commit: e620b95565ea737f093567c22c6b8ce07e37b7dc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants