Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 60e1b94d0a196165ef4f0161c8ee05f28e6381c3
https://github.com/WebKit/WebKit/commit/60e1b94d0a196165ef4f0161c8ee05f28e6381c3
Author: Asumu Takikawa <[email protected]>
Date: 2026-07-08 (Wed, 08 Jul 2026)
Changed paths:
M LayoutTests/imported/tc39-tg4/source-map-tests/README.WebKit
A LayoutTests/imported/tc39-tg4/source-map-tests/decoding/README.md
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/debug-id/debug-id-index-section.map
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/debug-id/debug-id-index-section.map.golden
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/debug-id/debug-id-index.map
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/debug-id/debug-id-index.map.golden
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/debug-id/debug-id.d.ts
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/debug-id/debug-id.map
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/debug-id/debug-id.map.golden
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/debug-id/invalid-debug-id.error
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/debug-id/invalid-debug-id.map
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/debug-id/invalid-debug-id.map.golden
A LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/README.md
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/close-start-end-position-scopes.map
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/close-start-end-position-scopes.map.golden
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/empty-scopes-field.map
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/empty-scopes-field.map.golden
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/hidden-ranges.map
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/hidden-ranges.map.golden
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/multiple-root-original-scopes-with-nil.map
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/multiple-root-original-scopes-with-nil.map.golden
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/nested-ranges.map
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/nested-ranges.map.golden
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/nested-scopes.map
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/nested-scopes.map.golden
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/nil-scopes.map
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/nil-scopes.map.golden
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/range-call-site.map
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/range-call-site.map.golden
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/range-values.map
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/range-values.map.golden
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/scope-variables.map
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/scope-variables.map.golden
A LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/scopes.d.ts
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/sibling-ranges.map
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/sibling-ranges.map.golden
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/sibling-scopes.map
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/sibling-scopes.map.golden
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/single-root-original-scope.map
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/single-root-original-scope.map.golden
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/sub-range-values.map
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/sub-range-values.map.golden
A
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/source-map-record.d.ts
M
LayoutTests/imported/tc39-tg4/source-map-tests/range-mappings-proposal-tests.json
A
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/extra-lines-in-mappings.js
A
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/extra-lines-in-range-mappings.js
A
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/extra-lines-in-range-mappings.js.map
A
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/invalid-mapping-for-range.js
A
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/invalid-mapping-for-range.js.map
A
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/invalid-vlq-zero.js
A
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/invalid-vlq-zero.js.map
A
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/multiple-mappings.js
A
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/multiple-mappings.js.map
M
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/newline-semantics.js
M
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/newline-semantics.js.map
M
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/non-full-line-coverage.js.map
A
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/out-of-range-2.js
A
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/out-of-range-2.js.map
A
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/out-of-range-3.js
A
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/out-of-range-3.js.map
M
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/out-of-range.js.map
M
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/simple.js
M
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/simple.js.map
A
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/vlq-continuation-bit.js
A
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/vlq-continuation-bit.js.map
M
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/wrong-type-2.js.map
A LayoutTests/inspector/debugger/resources/source-map-range-mappings.js
A LayoutTests/inspector/debugger/resources/source-map-range-mappings.js.map
A
LayoutTests/inspector/debugger/setShouldBlackboxURL-source-map-range-mappings-inner-expected.txt
A
LayoutTests/inspector/debugger/setShouldBlackboxURL-source-map-range-mappings-inner.html
A
LayoutTests/inspector/debugger/setShouldBlackboxURL-source-map-range-mappings-middle-expected.txt
A
LayoutTests/inspector/debugger/setShouldBlackboxURL-source-map-range-mappings-middle.html
A
LayoutTests/inspector/debugger/setShouldBlackboxURL-source-map-range-mappings-outer-expected.txt
A
LayoutTests/inspector/debugger/setShouldBlackboxURL-source-map-range-mappings-outer.html
A LayoutTests/inspector/model/resources/range-mappings.js
A LayoutTests/inspector/model/resources/range-mappings.js.map
A LayoutTests/inspector/model/source-map-range-mappings-expected.txt
A LayoutTests/inspector/model/source-map-range-mappings.html
M LayoutTests/inspector/model/source-map-spec-expected.txt
M LayoutTests/inspector/model/source-map-spec.html
M Source/WebInspectorUI/UserInterface/Models/SourceMap.js
Log Message:
-----------
Web inspector: add support for range mappings proposal in source maps
https://bugs.webkit.org/show_bug.cgi?id=315611
Reviewed by Devin Rousso.
* Adds support for parsing the `rangeMappings` field of a source map.
* Parsing is done incrementally, as the `mappings` are parsed.
* Ranges are used to calculate finer-grained positions for lookups.
* Import new tests for the proposal from the spec test repo
* Adapts source map test harness to run new tests, and also improve
the output from the tests to help with debugging.
* Improvements to test harness to be less flaky, such as using the
source map added event to extract the map to check.
* LayoutTests/imported/tc39-tg4/source-map-tests/README.WebKit:
* LayoutTests/imported/tc39-tg4/source-map-tests/decoding/README.md: Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/debug-id/debug-id-index-section.map:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/debug-id/debug-id-index-section.map.golden:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/debug-id/debug-id-index.map:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/debug-id/debug-id-index.map.golden:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/debug-id/debug-id.d.ts:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/debug-id/debug-id.map:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/debug-id/debug-id.map.golden:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/debug-id/invalid-debug-id.error:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/debug-id/invalid-debug-id.map:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/debug-id/invalid-debug-id.map.golden:
Added.
* LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/README.md:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/close-start-end-position-scopes.map:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/close-start-end-position-scopes.map.golden:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/empty-scopes-field.map:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/empty-scopes-field.map.golden:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/hidden-ranges.map:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/hidden-ranges.map.golden:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/multiple-root-original-scopes-with-nil.map:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/multiple-root-original-scopes-with-nil.map.golden:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/nested-ranges.map:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/nested-ranges.map.golden:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/nested-scopes.map:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/nested-scopes.map.golden:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/nil-scopes.map:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/nil-scopes.map.golden:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/range-call-site.map:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/range-call-site.map.golden:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/range-values.map:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/range-values.map.golden:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/scope-variables.map:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/scope-variables.map.golden:
Added.
* LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/scopes.d.ts:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/sibling-ranges.map:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/sibling-ranges.map.golden:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/sibling-scopes.map:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/sibling-scopes.map.golden:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/single-root-original-scope.map:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/single-root-original-scope.map.golden:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/sub-range-values.map:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/scopes/sub-range-values.map.golden:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/decoding/source-map-record.d.ts:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/range-mappings-proposal-tests.json:
*
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/extra-lines-in-mappings.js:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/extra-lines-in-range-mappings.js:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/extra-lines-in-range-mappings.js.map:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/invalid-mapping-for-range.js:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/invalid-mapping-for-range.js.map:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/invalid-vlq-zero.js:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/invalid-vlq-zero.js.map:
Copied from
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/wrong-type-2.js.map.
*
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/multiple-mappings.js:
Added.
(f):
*
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/multiple-mappings.js.map:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/newline-semantics.js:
*
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/newline-semantics.js.map:
*
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/non-full-line-coverage.js.map:
*
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/out-of-range-2.js:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/out-of-range-2.js.map:
Copied from
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/out-of-range.js.map.
*
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/out-of-range-3.js:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/out-of-range-3.js.map:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/out-of-range.js.map:
*
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/simple.js:
*
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/simple.js.map:
*
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/vlq-continuation-bit.js:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/vlq-continuation-bit.js.map:
Added.
*
LayoutTests/imported/tc39-tg4/source-map-tests/resources/proposals/range-mappings/wrong-type-2.js.map:
* LayoutTests/inspector/debugger/resources/source-map-range-mappings.js: Added.
(middle):
(globalThis.outer):
* LayoutTests/inspector/debugger/resources/source-map-range-mappings.js.map:
Added.
*
LayoutTests/inspector/debugger/setShouldBlackboxURL-source-map-range-mappings-inner-expected.txt:
Added.
*
LayoutTests/inspector/debugger/setShouldBlackboxURL-source-map-range-mappings-inner.html:
Added.
*
LayoutTests/inspector/debugger/setShouldBlackboxURL-source-map-range-mappings-middle-expected.txt:
Added.
*
LayoutTests/inspector/debugger/setShouldBlackboxURL-source-map-range-mappings-middle.html:
Added.
*
LayoutTests/inspector/debugger/setShouldBlackboxURL-source-map-range-mappings-outer-expected.txt:
Added.
*
LayoutTests/inspector/debugger/setShouldBlackboxURL-source-map-range-mappings-outer.html:
Added.
* LayoutTests/inspector/model/resources/range-mappings.js: Added.
(middle):
(globalThis.outer):
* LayoutTests/inspector/model/resources/range-mappings.js.map: Added.
* LayoutTests/inspector/model/source-map-range-mappings-expected.txt: Added.
* LayoutTests/inspector/model/source-map-range-mappings.html: Added.
* LayoutTests/inspector/model/source-map-spec-expected.txt:
* LayoutTests/inspector/model/source-map-spec.html:
* Source/WebInspectorUI/UserInterface/Models/SourceMap.js:
(WI.SourceMap):
(WI.SourceMap.async fromJSON):
(WI.SourceMap.prototype.findOriginalPosition):
(WI.SourceMap.prototype.findGeneratedPosition):
(WI.SourceMap._VLQ.prototype.decode):
(WI.SourceMap._VLQ):
(WI.SourceMap._RangeMappings):
(WI.SourceMap._RangeMappings.prototype.decodeNextEntry):
(WI.SourceMap._RangeMappings.prototype.nextLine):
(WI.SourceMap._RangeMappings.prototype.endMappings):
Canonical link: https://commits.webkit.org/316748@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications