Bug 1645046 - Enable HTML5 dialog in Nightly r=smaug

Differential Revision: https://phabricator.services.mozilla.com/D80045
This commit is contained in:
sefeng 2020-07-02 20:36:37 +00:00
parent bb3d9d9c74
commit 383b8d065d
10 changed files with 20 additions and 100 deletions

View File

@ -50,16 +50,19 @@ reflectLimitedEnumerated({
});
// .formMethod
reflectLimitedEnumerated({
element: document.createElement("button"),
attribute: "formMethod",
validValues: [ "get", "post" ],
invalidValues: [ "put", "", "tulip" ],
unsupportedValues: [ "dialog" ],
defaultValue: {
invalid: "get",
missing: "",
}
add_task(async function() {
await SpecialPowers.pushPrefEnv({ set: [["dom.dialog_element.enabled", false]] })
reflectLimitedEnumerated({
element: document.createElement("button"),
attribute: "formMethod",
validValues: [ "get", "post" ],
invalidValues: [ "put", "", "tulip" ],
unsupportedValues: [ "dialog" ],
defaultValue: {
invalid: "get",
missing: "",
}
});
});
// .formMethod when dialog is enabled

View File

@ -429,7 +429,6 @@ skip-if = toolkit == 'android' && !is_fennec # Bug 1525959
[test_bug1323815.html]
[test_change_crossorigin.html]
[test_checked.html]
[test_dialog_pref.html]
[test_dir_attributes_reflection.html]
[test_dl_attributes_reflection.html]
[test_element_prototype.html]

View File

@ -1,49 +0,0 @@
<!DOCTYPE html>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=dialog-element
-->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Test dialog pref</title>
<script src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
</head>
<body>
<a target="_blank"
href="https://bugzilla.mozilla.org/show_bug.cgi?id=dialog-element">Test dialog element pref</a>
<div id="testDiv">
</div>
<pre id="test">
<script class="testbody" type="text/javascript">
/** Test for dom.dialog_element.enabled **/
SimpleTest.waitForExplicitFinish();
function testPref() {
is(typeof HTMLDialogElement, "undefined",
"HTMLDialogElement should not be exposed with pref disabled");
info("Testing if createElement doesn't expose HTMLDialogElement with pref disabled");
let newElement = document.createElement("dialog");
testElement(newElement);
info("Testing if HTML Parser doesn't expose HTMLDialogElement with pref disabled");
let testDiv = document.getElementById("testDiv");
testDiv.innerHTML = "<dialog></dialog>";
testElement(testDiv.firstChild);
SimpleTest.finish();
}
function testElement(element) {
ok(element instanceof HTMLUnknownElement,
"New <dialog> should be instances of HTMLUnknownElement when pref is disabled");
}
addLoadEvent(testPref);
</script>
</pre>
</body>
</html>

View File

@ -462,7 +462,7 @@ var interfaceNamesInGlobalScope = [
// IMPORTANT: Do not change this list without review from a DOM peer!
{ name: "HTMLDetailsElement", insecureContext: true },
// IMPORTANT: Do not change this list without review from a DOM peer!
{ name: "HTMLDialogElement", insecureContext: true, disabled: true },
{ name: "HTMLDialogElement", insecureContext: true, nightly: true },
// IMPORTANT: Do not change this list without review from a DOM peer!
{ name: "HTMLDirectoryElement", insecureContext: true },
// IMPORTANT: Do not change this list without review from a DOM peer!

View File

@ -1586,7 +1586,7 @@
# HTML <dialog> element
- name: dom.dialog_element.enabled
type: bool
value: false
value: @IS_NIGHTLY_BUILD@
mirror: always
# Only propagate the open window click permission if the setTimeout() is equal

View File

@ -1,2 +1,2 @@
[fontface-load-in-modal-dialog.html]
expected: ERROR
prefs: [dom.dialog_element.enabled=true]

View File

@ -1,4 +1,3 @@
[Node-cloneNode.html]
[createElement(dialog)]
expected: FAIL
prefs: [dom.dialog_element.enabled=true]

View File

@ -810,9 +810,7 @@ prefs: [dom.security.featurePolicy.enabled:true, dom.security.featurePolicy.expe
[idlharness.https.html?include=HTML.*]
[HTMLDialogElement interface: existence and properties of interface object]
expected: FAIL
prefs: [dom.dialog_element.enabled=true]
[HTMLInputElement interface: attribute dirName]
expected: FAIL
@ -828,9 +826,6 @@ prefs: [dom.security.featurePolicy.enabled:true, dom.security.featurePolicy.expe
[HTMLFormElement interface: attribute rel]
expected: FAIL
[HTMLDialogElement interface: existence and properties of interface prototype object's @@unscopables property]
expected: FAIL
[HTMLMediaElement interface: document.createElement("audio") must inherit property "videoTracks" with the proper type]
expected: FAIL
@ -876,9 +871,6 @@ prefs: [dom.security.featurePolicy.enabled:true, dom.security.featurePolicy.expe
[HTMLInputElement interface: createInput("text") must inherit property "dirName" with the proper type]
expected: FAIL
[HTMLDialogElement interface: operation show()]
expected: FAIL
[HTMLInputElement interface: createInput("search") must inherit property "dirName" with the proper type]
expected: FAIL
@ -888,24 +880,15 @@ prefs: [dom.security.featurePolicy.enabled:true, dom.security.featurePolicy.expe
[HTMLFormElement interface: attribute relList]
expected: FAIL
[HTMLDialogElement interface: existence and properties of interface prototype object]
expected: FAIL
[HTMLInputElement interface: createInput("hidden") must inherit property "dirName" with the proper type]
expected: FAIL
[HTMLDialogElement interface: operation showModal()]
expected: FAIL
[HTMLCanvasElement interface: operation transferControlToOffscreen()]
expected: FAIL
[HTMLMediaElement interface: document.createElement("video") must inherit property "getStartDate()" with the proper type]
expected: FAIL
[HTMLDialogElement interface object length]
expected: FAIL
[HTMLInputElement interface: createInput("color") must inherit property "dirName" with the proper type]
expected: FAIL
@ -924,9 +907,6 @@ prefs: [dom.security.featurePolicy.enabled:true, dom.security.featurePolicy.expe
[HTMLInputElement interface: createInput("datetime-local") must inherit property "dirName" with the proper type]
expected: FAIL
[HTMLDialogElement interface: attribute open]
expected: FAIL
[HTMLInputElement interface: createInput("tel") must inherit property "dirName" with the proper type]
expected: FAIL
@ -939,9 +919,6 @@ prefs: [dom.security.featurePolicy.enabled:true, dom.security.featurePolicy.expe
[HTMLMediaElement interface: new Audio() must inherit property "videoTracks" with the proper type]
expected: FAIL
[HTMLDialogElement interface: existence and properties of interface prototype object's "constructor" property]
expected: FAIL
[HTMLMediaElement interface: attribute videoTracks]
expected: FAIL
@ -960,9 +937,6 @@ prefs: [dom.security.featurePolicy.enabled:true, dom.security.featurePolicy.expe
[HTMLInputElement interface: createInput("email") must inherit property "dirName" with the proper type]
expected: FAIL
[HTMLDialogElement interface object name]
expected: FAIL
[HTMLInputElement interface: createInput("radio") must inherit property "dirName" with the proper type]
expected: FAIL
@ -978,9 +952,6 @@ prefs: [dom.security.featurePolicy.enabled:true, dom.security.featurePolicy.expe
[HTMLMediaElement interface: operation getStartDate()]
expected: FAIL
[HTMLDialogElement interface: attribute returnValue]
expected: FAIL
[HTMLMediaElement interface: document.createElement("video") must inherit property "videoTracks" with the proper type]
expected: FAIL
@ -1017,6 +988,3 @@ prefs: [dom.security.featurePolicy.enabled:true, dom.security.featurePolicy.expe
[SVGAElement includes HTMLHyperlinkElementUtils: member names are unique]
expected: FAIL
[HTMLDialogElement interface: operation close(optional DOMString)]
expected: FAIL

View File

@ -1,4 +1,3 @@
[dialog-enabled.html]
[The DIALOG element should be recognized]
expected: FAIL
prefs: [dom.dialog_element.enabled:true]

View File

@ -1,4 +1,5 @@
[inert-does-not-match-disabled-selector.html]
prefs: [dom.dialog_element.enabled:false]
[Tests inert elements do not match the :disabled selector.]
expected: FAIL