tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit c7382062ea10daa2c5c4254331b94d03f0ff1548
parent 0408a16e1698ed8c0c5007c383666bb515bf5dca
Author: alexical <dothayer@mozilla.com>
Date:   Thu,  9 Oct 2025 18:02:26 +0000

Bug 1992249 - Fix MapLike entries loop r=ochameau,devtools-reviewers,profiler-reviewers,canaltinova

Differential Revision: https://phabricator.services.mozilla.com/D268008

Diffstat:
Mdevtools/client/shared/components/reps/reps/value-summary-reader.mjs | 2+-
Mtools/profiler/tests/browser/browser_test_feature_jstracing_objtestutils.snapshot.mjs | 633++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
2 files changed, 631 insertions(+), 4 deletions(-)

diff --git a/devtools/client/shared/components/reps/reps/value-summary-reader.mjs b/devtools/client/shared/components/reps/reps/value-summary-reader.mjs @@ -206,7 +206,7 @@ function readMapLikeSummary(result, reader, depth, shapes) { preview.entries = []; preview.size = reader.readUint32(); if (depth < 1) { - for (let i = 0; i < preview.length && i < MAX_COLLECTION_VALUES; i++) { + for (let i = 0; i < preview.size && i < MAX_COLLECTION_VALUES; i++) { const keySummary = readValueSummary(reader, depth + 1, shapes); const valueSummary = readValueSummary(reader, depth + 1, shapes); preview.entries.push([ diff --git a/tools/profiler/tests/browser/browser_test_feature_jstracing_objtestutils.snapshot.mjs b/tools/profiler/tests/browser/browser_test_feature_jstracing_objtestutils.snapshot.mjs @@ -217,7 +217,88 @@ export default [ "frozen": false, "preview": { "kind": "MapLike", - "entries": [], + "entries": [ + [ + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": { + "type": "object", + "class": "Object", + "ownPropertyLength": 0, + "isError": false, + "extensible": false, + "sealed": false, + "frozen": false, + "preview": { + "kind": "Object", + "ownProperties": {}, + "ownPropertiesLength": 1 + } + } + }, + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": { + "type": "object", + "class": "Object", + "ownPropertyLength": 0, + "isError": false, + "extensible": false, + "sealed": false, + "frozen": false, + "preview": { + "kind": "Object", + "ownProperties": {}, + "ownPropertiesLength": 1 + } + } + } + ], + [ + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": { + "type": "object", + "class": "Object", + "ownPropertyLength": 0, + "isError": false, + "extensible": false, + "sealed": false, + "frozen": false, + "preview": { + "kind": "Object", + "ownProperties": {}, + "ownPropertiesLength": 1 + } + } + }, + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": { + "type": "object", + "class": "Object", + "ownPropertyLength": 0, + "isError": false, + "extensible": false, + "sealed": false, + "frozen": false, + "preview": { + "kind": "Object", + "ownProperties": {}, + "ownPropertiesLength": 1 + } + } + } + ] + ], "size": 2 } }, @@ -233,7 +314,280 @@ export default [ "frozen": false, "preview": { "kind": "MapLike", - "entries": [], + "entries": [ + [ + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": { + "type": "symbol", + "name": "0" + } + }, + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": 0 + } + ], + [ + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": { + "type": "symbol", + "name": "1" + } + }, + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": 1 + } + ], + [ + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": { + "type": "symbol", + "name": "2" + } + }, + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": 2 + } + ], + [ + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": { + "type": "symbol", + "name": "3" + } + }, + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": 3 + } + ], + [ + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": { + "type": "symbol", + "name": "4" + } + }, + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": 4 + } + ], + [ + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": { + "type": "symbol", + "name": "5" + } + }, + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": 5 + } + ], + [ + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": { + "type": "symbol", + "name": "6" + } + }, + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": 6 + } + ], + [ + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": { + "type": "symbol", + "name": "7" + } + }, + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": 7 + } + ], + [ + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": { + "type": "symbol", + "name": "8" + } + }, + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": 8 + } + ], + [ + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": { + "type": "symbol", + "name": "9" + } + }, + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": 9 + } + ], + [ + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": { + "type": "symbol", + "name": "10" + } + }, + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": 10 + } + ], + [ + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": { + "type": "symbol", + "name": "11" + } + }, + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": 11 + } + ], + [ + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": { + "type": "symbol", + "name": "12" + } + }, + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": 12 + } + ], + [ + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": { + "type": "symbol", + "name": "13" + } + }, + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": 13 + } + ], + [ + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": { + "type": "symbol", + "name": "14" + } + }, + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": 14 + } + ], + [ + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": { + "type": "symbol", + "name": "15" + } + }, + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": 15 + } + ] + ], "size": 20 } }, @@ -249,7 +603,280 @@ export default [ "frozen": false, "preview": { "kind": "MapLike", - "entries": [], + "entries": [ + [ + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": { + "type": "symbol", + "name": "0" + } + }, + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": 0 + } + ], + [ + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": { + "type": "symbol", + "name": "1" + } + }, + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": 1 + } + ], + [ + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": { + "type": "symbol", + "name": "2" + } + }, + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": 2 + } + ], + [ + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": { + "type": "symbol", + "name": "3" + } + }, + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": 3 + } + ], + [ + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": { + "type": "symbol", + "name": "4" + } + }, + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": 4 + } + ], + [ + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": { + "type": "symbol", + "name": "5" + } + }, + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": 5 + } + ], + [ + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": { + "type": "symbol", + "name": "6" + } + }, + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": 6 + } + ], + [ + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": { + "type": "symbol", + "name": "7" + } + }, + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": 7 + } + ], + [ + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": { + "type": "symbol", + "name": "8" + } + }, + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": 8 + } + ], + [ + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": { + "type": "symbol", + "name": "9" + } + }, + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": 9 + } + ], + [ + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": { + "type": "symbol", + "name": "10" + } + }, + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": 10 + } + ], + [ + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": { + "type": "symbol", + "name": "11" + } + }, + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": 11 + } + ], + [ + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": { + "type": "symbol", + "name": "12" + } + }, + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": 12 + } + ], + [ + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": { + "type": "symbol", + "name": "13" + } + }, + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": 13 + } + ], + [ + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": { + "type": "symbol", + "name": "14" + } + }, + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": 14 + } + ], + [ + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": { + "type": "symbol", + "name": "15" + } + }, + { + "configurable": true, + "enumerable": true, + "writable": true, + "value": 15 + } + ] + ], "size": 331 } },