Loading devtools/client/webconsole/test/browser/_webconsole.toml +0 −2 Original line number Diff line number Diff line Loading @@ -588,8 +588,6 @@ fail-if = ["a11y_checks"] # Bug 1849028 clicked element may not be focusable and ["browser_webconsole_persist.js"] skip-if = ["os == 'linux' && os_version == '18.04' && processor == 'x86_64' && debug && http3"] # Bug 1829298 ["browser_webconsole_previewers_https.js"] ["browser_webconsole_previewers.js"] support-files = ["browser_webconsole_previewers.snapshot.mjs"] https_first_disabled = true # JS HttpServer doesn't support https Loading devtools/client/webconsole/test/browser/browser_webconsole_previewers_https.jsdeleted 100644 → 0 +0 −56 Original line number Diff line number Diff line /* Any copyright is dedicated to the Public Domain. * http://creativecommons.org/publicdomain/zero/1.0/ */ "use strict"; // Those cases should be added into AllJavascriptTypes.mjs (so they can be consumed in // browser_webconsole_previewers.js) when Bug 1967917 is resolved (so we can have a secure context) add_task(async function () { const hud = await openNewTabAndConsole(URL_ROOT_COM_SSL + "test-blank.html"); SpecialPowers.spawn(gBrowser.selectedBrowser, [], function () { const openReq = content.indexedDB.open("idb-bug-demo", 1); openReq.onupgradeneeded = e => { e.target.result.createObjectStore("demo", { keyPath: "id", }); }; openReq.onsuccess = e => { const db = e.target.result; const store = db.transaction(["demo"], "readonly").objectStore("demo"); const idbRequest = store.get("unknown"); idbRequest.onsuccess = () => { content.console.log(idbRequest); db.close(); }; }; }); const message = await waitForMessageByType(hud, "IDBRequest", ".console-api"); is( message.node.querySelector(".message-body").innerText.trim(), 'IDBRequest { result: undefined, error: null, source: IDBObjectStore, transaction: IDBTransaction, readyState: "done", onsuccess: Restricted, onerror: null }', "Got expected IDBRequest object, with undefined result property" ); const oi = message.node.querySelector(".tree"); // Expand the root node await expandObjectInspectorNode(oi.querySelector(".tree-node")); const resultPropertyTreeItemEl = Array.from( oi.querySelectorAll(".object-node") ).find(el => el.querySelector(".object-label")?.innerText === "result"); is( resultPropertyTreeItemEl.innerText, "result: undefined", "Got expected result property in the object inspector for the IDBRequest" ); // This can't be placed in a registerCleanupFunction because it throws (The operation is insecure) await SpecialPowers.spawn(gBrowser.selectedBrowser, [], async function () { const { promise, resolve } = content.Promise.withResolvers(); content.indexedDB.deleteDatabase("idb-bug-demo").onsuccess = resolve; await promise; }); }); devtools/server/actors/object.js +3 −5 Original line number Diff line number Diff line Loading @@ -478,7 +478,7 @@ class ObjectActor extends Actor { } const getterValue = this._evaluateGetter(desc.get); if (getterValue === this._evaluateGetterNoResult) { if (getterValue === undefined) { continue; } Loading Loading @@ -516,8 +516,6 @@ class ObjectActor extends Actor { return safeGetterValues; } _evaluateGetterNoResult = Symbol(); /** * Evaluate the getter function |desc.get|. * @param {Object} getter Loading @@ -525,10 +523,10 @@ class ObjectActor extends Actor { _evaluateGetter(getter) { const result = getter.call(this.obj); if (!result || "throw" in result) { return this._evaluateGetterNoResult; return undefined; } let getterValue = this._evaluateGetterNoResult; let getterValue = undefined; if ("return" in result) { getterValue = result.return; } else if ("yield" in result) { Loading devtools/shared/tests/objects/AllJavascriptTypes.mjs +2 −2 Original line number Diff line number Diff line Loading @@ -246,7 +246,7 @@ const DOMAPIs = [ formData; `, }, /* midi API requires https (See Bug 1967917) /* midi API requires https { context: CONTEXTS.PAGE, expression: ` Loading Loading
devtools/client/webconsole/test/browser/_webconsole.toml +0 −2 Original line number Diff line number Diff line Loading @@ -588,8 +588,6 @@ fail-if = ["a11y_checks"] # Bug 1849028 clicked element may not be focusable and ["browser_webconsole_persist.js"] skip-if = ["os == 'linux' && os_version == '18.04' && processor == 'x86_64' && debug && http3"] # Bug 1829298 ["browser_webconsole_previewers_https.js"] ["browser_webconsole_previewers.js"] support-files = ["browser_webconsole_previewers.snapshot.mjs"] https_first_disabled = true # JS HttpServer doesn't support https Loading
devtools/client/webconsole/test/browser/browser_webconsole_previewers_https.jsdeleted 100644 → 0 +0 −56 Original line number Diff line number Diff line /* Any copyright is dedicated to the Public Domain. * http://creativecommons.org/publicdomain/zero/1.0/ */ "use strict"; // Those cases should be added into AllJavascriptTypes.mjs (so they can be consumed in // browser_webconsole_previewers.js) when Bug 1967917 is resolved (so we can have a secure context) add_task(async function () { const hud = await openNewTabAndConsole(URL_ROOT_COM_SSL + "test-blank.html"); SpecialPowers.spawn(gBrowser.selectedBrowser, [], function () { const openReq = content.indexedDB.open("idb-bug-demo", 1); openReq.onupgradeneeded = e => { e.target.result.createObjectStore("demo", { keyPath: "id", }); }; openReq.onsuccess = e => { const db = e.target.result; const store = db.transaction(["demo"], "readonly").objectStore("demo"); const idbRequest = store.get("unknown"); idbRequest.onsuccess = () => { content.console.log(idbRequest); db.close(); }; }; }); const message = await waitForMessageByType(hud, "IDBRequest", ".console-api"); is( message.node.querySelector(".message-body").innerText.trim(), 'IDBRequest { result: undefined, error: null, source: IDBObjectStore, transaction: IDBTransaction, readyState: "done", onsuccess: Restricted, onerror: null }', "Got expected IDBRequest object, with undefined result property" ); const oi = message.node.querySelector(".tree"); // Expand the root node await expandObjectInspectorNode(oi.querySelector(".tree-node")); const resultPropertyTreeItemEl = Array.from( oi.querySelectorAll(".object-node") ).find(el => el.querySelector(".object-label")?.innerText === "result"); is( resultPropertyTreeItemEl.innerText, "result: undefined", "Got expected result property in the object inspector for the IDBRequest" ); // This can't be placed in a registerCleanupFunction because it throws (The operation is insecure) await SpecialPowers.spawn(gBrowser.selectedBrowser, [], async function () { const { promise, resolve } = content.Promise.withResolvers(); content.indexedDB.deleteDatabase("idb-bug-demo").onsuccess = resolve; await promise; }); });
devtools/server/actors/object.js +3 −5 Original line number Diff line number Diff line Loading @@ -478,7 +478,7 @@ class ObjectActor extends Actor { } const getterValue = this._evaluateGetter(desc.get); if (getterValue === this._evaluateGetterNoResult) { if (getterValue === undefined) { continue; } Loading Loading @@ -516,8 +516,6 @@ class ObjectActor extends Actor { return safeGetterValues; } _evaluateGetterNoResult = Symbol(); /** * Evaluate the getter function |desc.get|. * @param {Object} getter Loading @@ -525,10 +523,10 @@ class ObjectActor extends Actor { _evaluateGetter(getter) { const result = getter.call(this.obj); if (!result || "throw" in result) { return this._evaluateGetterNoResult; return undefined; } let getterValue = this._evaluateGetterNoResult; let getterValue = undefined; if ("return" in result) { getterValue = result.return; } else if ("yield" in result) { Loading
devtools/shared/tests/objects/AllJavascriptTypes.mjs +2 −2 Original line number Diff line number Diff line Loading @@ -246,7 +246,7 @@ const DOMAPIs = [ formData; `, }, /* midi API requires https (See Bug 1967917) /* midi API requires https { context: CONTEXTS.PAGE, expression: ` Loading