diff options
Diffstat (limited to 'dom/tests')
-rw-r--r-- | dom/tests/browser/browser_windowProxy_transplant.js | 6 | ||||
-rw-r--r-- | dom/tests/mochitest/general/test_bug861217.html | 29 | ||||
-rw-r--r-- | dom/tests/mochitest/general/test_interfaces.js | 16 | ||||
-rw-r--r-- | dom/tests/mochitest/localstorage/frameLocalStorageSessionOnly.html | 8 | ||||
-rw-r--r-- | dom/tests/mochitest/localstorage/mochitest.toml | 1 | ||||
-rw-r--r-- | dom/tests/mochitest/webcomponents/test_xul_custom_element.xhtml | 12 | ||||
-rw-r--r-- | dom/tests/reftest/prettyprint-space-ref.xhtml | 67 | ||||
-rw-r--r-- | dom/tests/reftest/prettyprint-space.xml | 1 | ||||
-rw-r--r-- | dom/tests/reftest/reftest.list | 1 | ||||
-rw-r--r-- | dom/tests/unit/test_PromiseDebugging.js | 1 | ||||
-rw-r--r-- | dom/tests/unit/test_xhr_init.js | 8 |
11 files changed, 125 insertions, 25 deletions
diff --git a/dom/tests/browser/browser_windowProxy_transplant.js b/dom/tests/browser/browser_windowProxy_transplant.js index 8e6e0f8413..10cd96c9ee 100644 --- a/dom/tests/browser/browser_windowProxy_transplant.js +++ b/dom/tests/browser/browser_windowProxy_transplant.js @@ -12,12 +12,6 @@ const URL3 = `http://example.org/${PATH}`; // A bunch of boilerplate which needs to be dealt with. add_task(async function () { - // Turn on BC preservation and frameloader rebuilding to ensure that the - // BrowsingContext is preserved. - await SpecialPowers.pushPrefEnv({ - set: [["fission.preserve_browsing_contexts", true]], - }); - // Open a window with fission force-enabled in it. let win = await BrowserTestUtils.openNewBrowserWindow({ fission: true, diff --git a/dom/tests/mochitest/general/test_bug861217.html b/dom/tests/mochitest/general/test_bug861217.html index 1af3f58ff6..b758fe53e4 100644 --- a/dom/tests/mochitest/general/test_bug861217.html +++ b/dom/tests/mochitest/general/test_bug861217.html @@ -48,7 +48,34 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=861217 SimpleTest.waitForExplicitFinish(); /** Test for Bug 861217 **/ -function runTest() { +async function runTest() { + // This test needs to be run on environments where the zoom level == 1, but + // there are a couple of cases it's not run on such kind of environments. + // 1) run this test solely like mach mochitest dom/tests/mochitest/general/test_bug861217.html . + // In this case the zoom level is smaller than 1 since there's no meta viewport. + // 2) run test test along with other tests in the same directory. + // In this case this test runs inside an iframe in the mochitest harness' + // top level document which doesn't have any meta viewport either. + // To avoid these situations we forcibly set the zoom level 1 here. + const resolution = await SpecialPowers.spawn(window.top, [], () => { + return SpecialPowers.getDOMWindowUtils(content.window).getResolution(); + }); + + SimpleTest.registerCleanupFunction(async () => { + await SpecialPowers.spawn(window.top, [resolution], (aResolution) => { + SpecialPowers.getDOMWindowUtils(content.window).setResolutionAndScaleTo(aResolution); + }); + }); + await SpecialPowers.spawn(window.top, [], () => { + SpecialPowers.getDOMWindowUtils(content.window).setResolutionAndScaleTo(1.0); + }); + await SimpleTest.promiseWaitForCondition(async () => { + const resolution = await SpecialPowers.spawn(window.top, [], () => { + return SpecialPowers.getDOMWindowUtils(content.window).getResolution(); + }); + return resolution == 1.0; + }, "Waiting for zoom level 1.0"); + var tableCell1 = document.getElementById("tableCell1"), bcr1 = tableCell1.getBoundingClientRect(), tableCell2 = document.getElementById("tableCell2"), diff --git a/dom/tests/mochitest/general/test_interfaces.js b/dom/tests/mochitest/general/test_interfaces.js index fd15348532..e6ea910e14 100644 --- a/dom/tests/mochitest/general/test_interfaces.js +++ b/dom/tests/mochitest/general/test_interfaces.js @@ -190,6 +190,8 @@ let interfaceNamesInGlobalScope = [ // IMPORTANT: Do not change this list without review from a DOM peer! { name: "AudioDestinationNode", insecureContext: true }, // IMPORTANT: Do not change this list without review from a DOM peer! + { name: "AudioEncoder", nightly: true }, + // IMPORTANT: Do not change this list without review from a DOM peer! { name: "AudioListener", insecureContext: true }, // IMPORTANT: Do not change this list without review from a DOM peer! { name: "AudioNode", insecureContext: true }, @@ -326,6 +328,8 @@ let interfaceNamesInGlobalScope = [ // IMPORTANT: Do not change this list without review from a DOM peer! { name: "CSSRuleList", insecureContext: true }, // IMPORTANT: Do not change this list without review from a DOM peer! + { name: "CSSStartingStyleRule", insecureContext: true, disabled: true }, + // IMPORTANT: Do not change this list without review from a DOM peer! { name: "CSSStyleDeclaration", insecureContext: true }, // IMPORTANT: Do not change this list without review from a DOM peer! { name: "CSSStyleRule", insecureContext: true }, @@ -340,6 +344,8 @@ let interfaceNamesInGlobalScope = [ // IMPORTANT: Do not change this list without review from a DOM peer! { name: "CustomEvent", insecureContext: true }, // IMPORTANT: Do not change this list without review from a DOM peer! + { name: "CustomStateSet", insecureContext: true }, + // IMPORTANT: Do not change this list without review from a DOM peer! { name: "DecompressionStream", insecureContext: true }, // IMPORTANT: Do not change this list without review from a DOM peer! { name: "DataTransfer", insecureContext: true }, @@ -1370,6 +1376,12 @@ let interfaceNamesInGlobalScope = [ // IMPORTANT: Do not change this list without review from a DOM peer! { name: "TextEncoderStream", insecureContext: true }, // IMPORTANT: Do not change this list without review from a DOM peer! + { + name: "TextEvent", + insecureContext: true, + disabled: !SpecialPowers.getBoolPref("dom.events.textevent.enabled"), + }, + // IMPORTANT: Do not change this list without review from a DOM peer! { name: "TextMetrics", insecureContext: true }, // IMPORTANT: Do not change this list without review from a DOM peer! { name: "TextTrack", insecureContext: true }, @@ -1977,9 +1989,9 @@ let interfaceNamesInGlobalScope = [ // IMPORTANT: Do not change this list without review from a DOM peer! { name: "visualViewport", insecureContext: true }, // IMPORTANT: Do not change this list without review from a DOM peer! - { name: "WakeLock", earlyBetaOrEarlier: true }, + { name: "WakeLock" }, // IMPORTANT: Do not change this list without review from a DOM peer! - { name: "WakeLockSentinel", earlyBetaOrEarlier: true }, + { name: "WakeLockSentinel" }, // IMPORTANT: Do not change this list without review from a DOM peer! { name: "webkitURL", insecureContext: true }, // IMPORTANT: Do not change this list without review from a DOM peer! diff --git a/dom/tests/mochitest/localstorage/frameLocalStorageSessionOnly.html b/dom/tests/mochitest/localstorage/frameLocalStorageSessionOnly.html deleted file mode 100644 index f6c7f0291f..0000000000 --- a/dom/tests/mochitest/localstorage/frameLocalStorageSessionOnly.html +++ /dev/null @@ -1,8 +0,0 @@ -<!doctype html> -<html> - <body> - <script> - parent.postMessage(SpecialPowers.wrap(localStorage).isSessionOnly, "*"); - </script> - </body> -</html> diff --git a/dom/tests/mochitest/localstorage/mochitest.toml b/dom/tests/mochitest/localstorage/mochitest.toml index 07b9eb313a..c4758a7356 100644 --- a/dom/tests/mochitest/localstorage/mochitest.toml +++ b/dom/tests/mochitest/localstorage/mochitest.toml @@ -15,7 +15,6 @@ support-files = [ "interOriginTest.js", "interOriginTest2.js", "localStorageCommon.js", - "frameLocalStorageSessionOnly.html", "file_tryAccessSessionStorage.html", "windowProxy.html", ] diff --git a/dom/tests/mochitest/webcomponents/test_xul_custom_element.xhtml b/dom/tests/mochitest/webcomponents/test_xul_custom_element.xhtml index 0e172cb70d..7048163372 100644 --- a/dom/tests/mochitest/webcomponents/test_xul_custom_element.xhtml +++ b/dom/tests/mochitest/webcomponents/test_xul_custom_element.xhtml @@ -150,13 +150,13 @@ function basicElementCreateBuiltIn() { let element = document.createElementNS(XUL_NS, "axulelement", { is: "test-built-in-element" }); ok(element instanceof TestCustomBuiltInElement, "Should be an instance of TestCustomBuiltInElement"); - is(element.getAttribute("is"), "", "The |is| attribute of the created element should not be the extended type."); + is(element.getAttribute("is"), null, "The |is| attribute of the created element should not be the extended type."); document.querySelector("#content").appendChild(element); is(element.textContent, "baz", "Should have set the textContent"); let element2 = element.cloneNode(false); is(element2.localName, "axulelement", "Should see the right tag"); - is(element2.getAttribute("is"), "", "The |is| attribute of the created element should not be the extended type."); + is(element2.getAttribute("is"), null, "The |is| attribute of the created element should not be the extended type."); is(element2.textContent, "", "Shouldn't have cloned the textContent"); document.querySelector("#content").appendChild(element2); is(element2.textContent, "baz", "Should have set the textContent"); @@ -188,13 +188,13 @@ function subclassElementCreateBuiltIn() { let element = document.createElementNS(XUL_NS, "menupopup", { is: "test-popup-extend" }); ok(element instanceof TestPopupExtendElement, "Should be an instance of TestPopupExtendElement"); - is(element.getAttribute("is"), "", "The |is| attribute of the created element should not be the extended type."); + is(element.getAttribute("is"), null, "The |is| attribute of the created element should not be the extended type."); document.querySelector("#content").appendChild(element); is(element.textContent, "quuz", "Should have set the textContent"); let element2 = element.cloneNode(false); is(element2.localName, "menupopup", "Should see the right tag"); - is(element2.getAttribute("is"), "", "The |is| attribute of the created element should not be the extended type."); + is(element2.getAttribute("is"), null, "The |is| attribute of the created element should not be the extended type."); is(element2.textContent, "", "Shouldn't have cloned the textContent"); document.querySelector("#content").appendChild(element2); is(element2.textContent, "quuz", "Should have set the textContent"); @@ -268,13 +268,13 @@ let element = document.createElementNS(XUL_NS, "testwithoutdash", { is: "testwithoutdash-extended" }); ok(element instanceof TestWithoutDashExtended, "Should be an instance of TestWithoutDashExtended"); ok(element instanceof TestWithoutDash, "Should be an instance of TestWithoutDash"); - is(element.getAttribute("is"), "", "The |is| attribute of the created element should not be the extended type."); + is(element.getAttribute("is"), null, "The |is| attribute of the created element should not be the extended type."); document.querySelector("#content").appendChild(element); is(element.textContent, "quux", "Should have set the textContent"); let element2 = element.cloneNode(false); is(element2.localName, "testwithoutdash", "Should see the right tag"); - is(element2.getAttribute("is"), "", "The |is| attribute of the created element should not be the extended type."); + is(element2.getAttribute("is"), null, "The |is| attribute of the created element should not be the extended type."); is(element2.textContent, "", "Shouldn't have cloned the textContent"); document.querySelector("#content").appendChild(element2); is(element2.textContent, "quux", "Should have set the textContent"); diff --git a/dom/tests/reftest/prettyprint-space-ref.xhtml b/dom/tests/reftest/prettyprint-space-ref.xhtml new file mode 100644 index 0000000000..9169b9236e --- /dev/null +++ b/dom/tests/reftest/prettyprint-space-ref.xhtml @@ -0,0 +1,67 @@ +<out> + <div id="top" xmlns="http://www.w3.org/1999/xhtml"> + <link href="chrome://global/content/xml/XMLPrettyPrint.css" type="text/css" rel="stylesheet"/> + <div id="header"> + <p> + This XML file does not appear to have any style information associated with it. The document tree is shown below. + </p> + </div> + <main id="tree" class="highlight"> + <div> + <details open="" class="expandable-body"> + <summary class="expandable-opening"> + <<span class="start-tag">out</span>> + </summary> + <div class="expandable-children"> + <span class="text">Here be sea hags. </span> + <div> + <details open="" class="expandable-body"> + <summary class="expandable-opening"> + <<span class="start-tag">b</span> <span class="attribute-name">xml:space</span>=<span class="attribute-value">"preserve"</span>> + </summary> + <div class="expandable-children"> + <span class="text" style="white-space: pre-wrap">They need a lot of space, this much: .</span> + <div> + <details open="" class="expandable-body"> + <summary class="expandable-opening"> + <<span class="start-tag">c</span>> + </summary> + <div class="expandable-children"> + <span class="text" style="white-space: pre-wrap">At least, most of them do: .</span> + <div> + <details open="" class="expandable-body"> + <summary class="expandable-opening"> + <<span class="start-tag">d</span> <span class="attribute-name">xml:space</span>=<span class="attribute-value">"default"</span>> + </summary> + <div class="expandable-children"> + <span class="text" style="white-space: normal">But some of them don't, they only need one: . </span> + <div> + <<span class="start-tag">e</span> <span class="attribute-name">xml:space</span>=<span class="attribute-value">"preserve"</span>><span class="text" style="white-space: pre-wrap">But their children might need more: .</span></<span class="end-tag">e</span>> + </div> + </div> + </details> + <span class="expandable-closing"> + </<span class="end-tag">d</span>> + </span> + </div> + </div> + </details> + <span class="expandable-closing"> + </<span class="end-tag">c</span>> + </span> + </div> + </div> + </details> + <span class="expandable-closing"> + </<span class="end-tag">b</span>> + </span> + </div> + </div> + </details> + <span class="expandable-closing"> + </<span class="end-tag">out</span>> + </span> + </div> + </main> + </div> +</out> diff --git a/dom/tests/reftest/prettyprint-space.xml b/dom/tests/reftest/prettyprint-space.xml new file mode 100644 index 0000000000..4f995608f8 --- /dev/null +++ b/dom/tests/reftest/prettyprint-space.xml @@ -0,0 +1 @@ +<out>Here be sea hags. <b xml:space="preserve">They need a lot of space, this much: . <c>At least, most of them do: . <d xml:space="default">But some of them don't, they only need one: . <e xml:space="preserve">But their children might need more: .</e></d></c></b></out> diff --git a/dom/tests/reftest/reftest.list b/dom/tests/reftest/reftest.list index ee7069e2af..41f6ff6644 100644 --- a/dom/tests/reftest/reftest.list +++ b/dom/tests/reftest/reftest.list @@ -12,3 +12,4 @@ fuzzy(0-1,0-5) == bug559996.html bug559996-ref.html == bug592366-2.xhtml bug592366-ref.xhtml == bug798068.xhtml bug798068-ref.xhtml == bug1389406.xml bug1389406-ref.xml +== prettyprint-space.xml prettyprint-space-ref.xhtml diff --git a/dom/tests/unit/test_PromiseDebugging.js b/dom/tests/unit/test_PromiseDebugging.js index 6148b65c75..d8cd4209fa 100644 --- a/dom/tests/unit/test_PromiseDebugging.js +++ b/dom/tests/unit/test_PromiseDebugging.js @@ -1,5 +1,4 @@ function run_test() { - // Hack around Promise.jsm being stuck on my global Assert.equal(false, PromiseDebugging === undefined); var res; var p = new Promise(function (resolve) { diff --git a/dom/tests/unit/test_xhr_init.js b/dom/tests/unit/test_xhr_init.js index a2eaf2b4d7..0f7255806e 100644 --- a/dom/tests/unit/test_xhr_init.js +++ b/dom/tests/unit/test_xhr_init.js @@ -8,6 +8,14 @@ function run_test() { Assert.ok(x.mozSystem); x = new XMLHttpRequest(); + Assert.ok(x.mozAnon); + Assert.ok(x.mozSystem); + + Services.prefs.setBoolPref( + "network.fetch.systemDefaultsToOmittingCredentials", + false + ); + x = new XMLHttpRequest(); Assert.ok(!x.mozAnon); Assert.ok(x.mozSystem); } |