Bug 1297414 - Change default paragraph separator to <div>; r=masayuki draft
authorAryeh Gregor <ayg@aryeh.name>
Wed, 24 Aug 2016 16:34:14 +0300
changeset 555028 4245a4f75853073d30f193b14c124ec99e5d4486
parent 555027 fdc30c34cf98594d32ff9b4ef3e77456c3c54659
child 622509 5b636f95b9455903f2bc1b9c019267dcdaac3b1d
push id52128
push userbmo:ayg@aryeh.name
push dateMon, 03 Apr 2017 14:30:23 +0000
reviewersmasayuki
bugs1297414, 430392
milestone55.0a1
Bug 1297414 - Change default paragraph separator to <div>; r=masayuki This matches Blink/WebKit, and is more similar to Edge than before, but may cause compat problems for Gecko-only code or code paths. Sites can revert to old behavior with: document.execCommand("defaultparagraphseparator", false, "br"). This regresses test_bug430392.html on one test ("adding returns") and I don't know why. The test involves embedded non-editable content and we already have a lot of todos in that file, so I think it's tolerable. MozReview-Commit-ID: Dml0bXxgu87
editor/libeditor/HTMLEditor.h
editor/libeditor/tests/test_bug430392.html
editor/libeditor/tests/test_bug449243.html
editor/libeditor/tests/test_bug460740.html
editor/libeditor/tests/test_bug551704.html
editor/libeditor/tests/test_bug674861.html
editor/libeditor/tests/test_bug795785.html
editor/libeditor/tests/test_bug832025.html
editor/libeditor/tests/test_htmleditor_keyevent_handling.html
editor/libeditor/tests/test_inline_style_cache.html
testing/web-platform/meta/editing/run/delete.html.ini
testing/web-platform/meta/editing/run/formatblock.html.ini
testing/web-platform/meta/editing/run/forwarddelete.html.ini
testing/web-platform/meta/editing/run/inserthorizontalrule.html.ini
testing/web-platform/meta/editing/run/inserthtml.html.ini
testing/web-platform/meta/editing/run/insertimage.html.ini
testing/web-platform/meta/editing/run/insertlinebreak.html.ini
testing/web-platform/meta/editing/run/insertorderedlist.html.ini
testing/web-platform/meta/editing/run/insertparagraph.html.ini
testing/web-platform/meta/editing/run/inserttext.html.ini
testing/web-platform/meta/editing/run/insertunorderedlist.html.ini
testing/web-platform/meta/editing/run/justifycenter.html.ini
testing/web-platform/meta/editing/run/justifyfull.html.ini
testing/web-platform/meta/editing/run/justifyleft.html.ini
testing/web-platform/meta/editing/run/justifyright.html.ini
testing/web-platform/meta/editing/run/misc.html.ini
testing/web-platform/meta/editing/run/outdent.html.ini
--- a/editor/libeditor/HTMLEditor.h
+++ b/editor/libeditor/HTMLEditor.h
@@ -1012,18 +1012,17 @@ protected:
   RefPtr<Element> mRemoveRowButton;
   RefPtr<Element> mAddRowAfterButton;
 
   void AddMouseClickListener(Element* aElement);
   void RemoveMouseClickListener(Element* aElement);
 
   nsCOMPtr<nsILinkHandler> mLinkHandler;
 
-  // Default to br for compatibility with old Gecko behavior
-  ParagraphSeparator mDefaultParagraphSeparator = ParagraphSeparator::br;
+  ParagraphSeparator mDefaultParagraphSeparator = ParagraphSeparator::div;
 
 public:
   friend class HTMLEditorEventListener;
   friend class HTMLEditRules;
   friend class TextEditRules;
   friend class WSRunObject;
 
 private:
--- a/editor/libeditor/tests/test_bug430392.html
+++ b/editor/libeditor/tests/test_bug430392.html
@@ -34,17 +34,18 @@ function test() {
   var tests = [["adding returns", () => {
     getSelection().collapse(edit.firstChild, 0);
     synthesizeKey("VK_RIGHT", {});
     synthesizeKey("VK_RIGHT", {});
     synthesizeKey("VK_RETURN", {});
     synthesizeKey("VK_RETURN", {});
     synthesizeKey("VK_BACK_SPACE", {});
     synthesizeKey("VK_BACK_SPACE", {});
-  }], ["adding shift-returns", () => {
+  }, " A; B ; C "],
+  ["adding shift-returns", () => {
     getSelection().collapse(edit.firstChild, 0);
     synthesizeKey("VK_RIGHT", {});
     synthesizeKey("VK_RIGHT", {});
     synthesizeKey("VK_RETURN", {shiftKey: true});
     synthesizeKey("VK_RETURN", {shiftKey: true});
     synthesizeKey("VK_BACK_SPACE", {});
     synthesizeKey("VK_BACK_SPACE", {});
   }, "A ; B ; C "]];
--- a/editor/libeditor/tests/test_bug449243.html
+++ b/editor/libeditor/tests/test_bug449243.html
@@ -60,21 +60,26 @@ function split(element, caretPos, nbKeyP
 
 function undo(nbKeyPresses) {
   for (var i = 0; i < nbKeyPresses; i++)
     document.execCommand("Undo", false, null);
 }
 
 function SameTypeAsPreviousSibling(element) {
   var sibling = element.previousSibling;
-  while (sibling && sibling.nodeType != 1)
+  while (sibling && sibling.nodeType != Node.ELEMENT_NODE) {
     sibling = element.previousSibling;
+  }
   return (element.nodeName == sibling.nodeName);
 }
 
+function isDiv(element) {
+  return element.nodeName.toLowerCase() == "div";
+}
+
 function isParagraph(element) {
   return element.nodeName.toLowerCase() == "p";
 }
 
 function runTests() {
   const content = document.querySelector("[contenteditable]");
   const header = content.querySelector("h2");
   const ulItem = content.querySelector("ul > li:last-child");
@@ -108,16 +113,32 @@ function runTests() {
   split(olItem, CARET_MIDDLE, 2);
   ok(SameTypeAsPreviousSibling(olItem),
     "Pressing [Return] at the middle of an ordered list item " + 
     "should create another list item.");
   undo(3);
 
   // end of selection: create a new paragraph
   split(header, CARET_END, 1);
+  ok(isDiv(content.querySelector("h2+*")),
+    "Pressing [Return] at the end of a header " +
+    "should create a new div.");
+  split(ulItem, CARET_END, 2);
+  ok(isDiv(content.querySelector("ul+*")),
+    "Pressing [Return] twice at the end of an unordered list item " +
+    "should create a new div.");
+  split(olItem, CARET_END, 2);
+  ok(isDiv(content.querySelector("ol+*")),
+    "Pressing [Return] twice at the end of an ordered list item " +
+    "should create a new div.");
+  undo(3);
+
+  // now with defaultParagraphSeparator = p
+  document.execCommand("defaultParagraphSeparator", false, "p");
+  split(header, CARET_END, 1);
   ok(isParagraph(content.querySelector("h2+*")),
     "Pressing [Return] at the end of a header " + 
     "should create a new paragraph.");
   split(ulItem, CARET_END, 2);
   ok(isParagraph(content.querySelector("ul+*")),
     "Pressing [Return] twice at the end of an unordered list item " + 
     "should create a new paragraph.");
   split(olItem, CARET_END, 2);
--- a/editor/libeditor/tests/test_bug460740.html
+++ b/editor/libeditor/tests/test_bug460740.html
@@ -84,17 +84,17 @@ function split(element, caretPos) {
   // put the caret on the requested position
   var range = document.createRange();
   var sel = window.getSelection();
   range.setStart(element.firstChild, pos);
   range.setEnd(element.firstChild, pos);
   sel.addRange(range);
   
   // simulates a [Return] keypress
-  synthesizeKey("VK_RETURN", {});
+  synthesizeKey("VK_RETURN", {shiftKey: true});
 }
 
 // count the number of non-BR elements in #content
 function getBlockCount() {
   return document.querySelectorAll("#content *:not(br)").length;
 }
 
 // count the number of BRs in element
--- a/editor/libeditor/tests/test_bug551704.html
+++ b/editor/libeditor/tests/test_bug551704.html
@@ -106,17 +106,17 @@ function continueTest() {
       return;
     }
     var div = divs[current++];
     if (div.textContent == "a") {
       var type = typeBCDEF;
     } else {
       var type = typeABCDEF;
     }
-    var expectedHTML = "abc<br>def<br>";
+    var expectedHTML = "<div>abc</div><div>def<br></div>";
     var expectedText = "abc\ndef";
     testLineBreak(div, type, expectedText, expectedHTML, doNextTest);
   }
 
   doNextTest();
 }
 
 </script>
--- a/editor/libeditor/tests/test_bug674861.html
+++ b/editor/libeditor/tests/test_bug674861.html
@@ -150,36 +150,36 @@ function runTests() {
   test2.focus();
 
   // bullet list
   try2split(test2.querySelector("ul li"), CARET_END);
   is(test2.querySelectorAll("ul").length, 2,
     "The <ul> list should have been splitted.");
   is(test2.querySelectorAll("ul li").length, 3,
     "No new <li> element should have been created.");
-  is(test2.querySelectorAll("ul+p").length, 1,
-    "A new paragraph should have been created.");
+  is(test2.querySelectorAll("ul+div").length, 1,
+    "A new div should have been created in the <ul>.");
 
   // ordered list
   try2split(test2.querySelector("ol li"), CARET_END);
   is(test2.querySelectorAll("ol").length, 2,
     "The <ol> list should have been splitted.");
   is(test2.querySelectorAll("ol li").length, 3,
     "No new <li> element should have been created.");
-  is(test2.querySelectorAll("ol+p").length, 1,
-    "A new paragraph should have been created.");
+  is(test2.querySelectorAll("ol+div").length, 1,
+    "A new div should have been created in the <ol>.");
 
   // definition list
   try2split(test2.querySelector("dl dd"), CARET_END);
   is(test2.querySelectorAll("dl").length, 2,
     "The <dl> list should have been splitted.");
   is(test2.querySelectorAll("dt").length, 3,
     "No new <dt> element should have been created.");
-  is(test2.querySelectorAll("dl+p").length, 1,
-    "A new paragraph should have been created.");
+  is(test2.querySelectorAll("dl+div").length, 1,
+    "A new div should have been created in the <dl>.");
 
   // done
   SimpleTest.finish();
 }
 </script>
 </pre>
 </body>
 </html>
--- a/editor/libeditor/tests/test_bug795785.html
+++ b/editor/libeditor/tests/test_bug795785.html
@@ -46,22 +46,22 @@ function hitEventLoop(aFunc, aTimes)
 
 function doKeyEventTest(aElement, aElementDescription, aCallback)
 {
   aElement.focus();
   aElement.scrollTop = 0;
   hitEventLoop(function () {
     is(aElement.scrollTop, 0,
        aElementDescription + "'s scrollTop isn't 0");
-    synthesizeKey("VK_RETURN", { });
-    synthesizeKey("VK_RETURN", { });
-    synthesizeKey("VK_RETURN", { });
-    synthesizeKey("VK_RETURN", { });
-    synthesizeKey("VK_RETURN", { });
-    synthesizeKey("VK_RETURN", { });
+    synthesizeKey("VK_RETURN", { shiftKey: true });
+    synthesizeKey("VK_RETURN", { shiftKey: true });
+    synthesizeKey("VK_RETURN", { shiftKey: true });
+    synthesizeKey("VK_RETURN", { shiftKey: true });
+    synthesizeKey("VK_RETURN", { shiftKey: true });
+    synthesizeKey("VK_RETURN", { shiftKey: true });
     hitEventLoop(function () {
       isnot(aElement.scrollTop, 0,
             aElementDescription + " was not scrolled by inserting line breaks");
       var scrollTop = aElement.scrollTop;
       synthesizeKey("VK_UP", { });
       synthesizeKey("VK_UP", { });
       synthesizeKey("VK_UP", { });
       synthesizeKey("VK_UP", { });
--- a/editor/libeditor/tests/test_bug832025.html
+++ b/editor/libeditor/tests/test_bug832025.html
@@ -29,14 +29,14 @@ sel.collapse(test, test.childNodes.lengt
 
 // make it a H1
 document.execCommand("heading", false, "H1");
 // simulate a CR key
 sendKey("return");
 // insert some text
 document.execCommand("insertText", false, "abc");
 
-is(test.innerHTML == '<h1>header1</h1><p>abc<br></p>',
-   true, "A paragraph automatically created after a CR at the end of an H1 should not be bold");
+is(test.innerHTML, '<h1>header1</h1><div>abc<br></div>',
+   "A paragraph automatically created after a CR at the end of an H1 should not be bold");
 
 </script>
 </body>
 </html>
--- a/editor/libeditor/tests/test_htmleditor_keyevent_handling.html
+++ b/editor/libeditor/tests/test_htmleditor_keyevent_handling.html
@@ -187,17 +187,17 @@ function runTests()
     //   If editor is readonly, it doesn't consume.
     //   If editor is editable and not single line editor, it consumes Return
     //   and Shift+Return.
     //   Otherwise, editor doesn't consume the event.
     reset("a");
     synthesizeKey("VK_RETURN", { });
     check(aDescription + "Return",
           true, true, !aIsReadonly);
-    is(aElement.innerHTML, aIsReadonly ? "a" : "a<br><br>",
+    is(aElement.innerHTML, aIsReadonly ? "a" : "<div>a</div><br>",
        aDescription + "Return");
 
     reset("a");
     synthesizeKey("VK_RETURN", { shiftKey: true });
     check(aDescription + "Shift+Return",
           true, true, !aIsReadonly);
     is(aElement.innerHTML, aIsReadonly ? "a" : "a<br><br>",
        aDescription + "Shift+Return");
--- a/editor/libeditor/tests/test_inline_style_cache.html
+++ b/editor/libeditor/tests/test_inline_style_cache.html
@@ -74,17 +74,17 @@ SimpleTest.waitForFocus(function() {
   document.execCommand("italic");
   document.execCommand("strikethrough");
   synthesizeKey("KEY_Enter", { code: "Enter" });
   synthesizeKey("t", { code: "KeyT" });
   synthesizeKey("e", { code: "KeyE" });
   synthesizeKey("s", { code: "KeyS" });
   synthesizeKey("t", { code: "KeyT" });
 
-  is(editor.innerHTML, "before<br><strike><i><b>test</b></i></strike>after",
+  is(editor.innerHTML, "<div>before</div><div><strike><i><b>test</b></i></strike>after</div>",
      "#01-03-1 Typing Enter after setting style should not ignore the styles");
 
   editor.innerHTML = "<p>beforeafter</p>";
   selection.collapse(editor.firstChild.firstChild, "before".length);
   document.execCommand("bold");
   document.execCommand("italic");
   document.execCommand("strikethrough");
   synthesizeKey("KEY_Enter", { code: "Enter" });
@@ -142,20 +142,20 @@ SimpleTest.waitForFocus(function() {
   document.execCommand("strikethrough");
   synthesizeKey("KEY_Enter", { code: "Enter" });
   synthesizeKey("t", { code: "KeyT" });
   synthesizeKey("e", { code: "KeyE" });
   synthesizeKey("s", { code: "KeyS" });
   synthesizeKey("t", { code: "KeyT" });
 
   // XXX <strike> is not handled correctly in this case.
-  todo_is(editor.innerHTML, "before<br><strike><i><b>test</b></i></strike>after",
+  todo_is(editor.innerHTML, "<div>before</div><div><strike><i><b>test</b></i></strike>after</div>",
           "#02-03-1 Typing Enter after setting style to selected text should keep the styles");
   // XXX For testing current (buggy) behavior for now.
-  is(editor.innerHTML, "before<br><i><b>test</b></i><strike><i><b></b></i></strike>after",
+  is(editor.innerHTML, "<div>before</div><div><i><b>test</b></i>after</div>",
      "#02-03-1 Typing Enter after setting style to selected text should keep the styles");
 
   editor.innerHTML = "<p>beforeselectionafter</p>";
   selection.collapse(editor.firstChild.firstChild, "before".length);
   selection.extend(editor.firstChild.firstChild, "beforeselection".length);
   document.execCommand("bold");
   document.execCommand("italic");
   document.execCommand("strikethrough");
@@ -198,17 +198,17 @@ SimpleTest.waitForFocus(function() {
   selection.collapse(editor.firstChild.firstChild, "before".length);
   selection.extend(editor.firstChild.firstChild, "beforeselection".length);
   synthesizeKey("KEY_Enter", { code: "Enter" });
   synthesizeKey("t", { code: "KeyT" });
   synthesizeKey("e", { code: "KeyE" });
   synthesizeKey("s", { code: "KeyS" });
   synthesizeKey("t", { code: "KeyT" });
 
-  is(editor.innerHTML, "<b style=\"font-weight: normal;\">before<br>testafter</b>",
+  is(editor.innerHTML, "<div><b style=\"font-weight: normal;\">before</b></div><div><b style=\"font-weight: normal;\">testafter</b></div>",
      "#03-03-1 Inserting text after typing Enter at selected text in styled inline elements should respect the styles");
 
   editor.innerHTML = "<p><b style=\"font-weight: normal;\">beforeselectionafter</b></p>";
   selection.collapse(editor.firstChild.firstChild.firstChild, "before".length);
   selection.extend(editor.firstChild.firstChild.firstChild, "beforeselection".length);
   synthesizeKey("KEY_Enter", { code: "Enter" });
   synthesizeKey("t", { code: "KeyT" });
   synthesizeKey("e", { code: "KeyE" });
@@ -248,17 +248,17 @@ SimpleTest.waitForFocus(function() {
   selection.collapse(editor.firstChild.firstChild.firstChild.firstChild, "before".length);
   selection.extend(editor.firstChild.firstChild.firstChild.firstChild, "beforeselection".length);
   synthesizeKey("KEY_Enter", { code: "Enter" });
   synthesizeKey("t", { code: "KeyT" });
   synthesizeKey("e", { code: "KeyE" });
   synthesizeKey("s", { code: "KeyS" });
   synthesizeKey("t", { code: "KeyT" });
 
-  is(editor.innerHTML, "<strike style=\"text-decoration: none;\"><i style=\"font-style: normal;\"><b style=\"font-weight: normal;\">before<br>testafter</b></i></strike>",
+  is(editor.innerHTML, "<div><strike style=\"text-decoration: none;\"><i style=\"font-style: normal;\"><b style=\"font-weight: normal;\">before</b></i></strike></div><div><strike style=\"text-decoration: none;\"><i style=\"font-style: normal;\"><b style=\"font-weight: normal;\">testafter</b></i></strike></div>",
      "#04-03-1 Inserting text after typing Enter at selected text in styled inline elements should respect the styles");
 
   editor.innerHTML = "<p><strike style=\"text-decoration: none;\"><i style=\"font-style: normal;\"><b style=\"font-weight: normal;\">beforeselectionafter</b></p>";
   selection.collapse(editor.firstChild.firstChild.firstChild.firstChild.firstChild, "before".length);
   selection.extend(editor.firstChild.firstChild.firstChild.firstChild.firstChild, "beforeselection".length);
   synthesizeKey("KEY_Enter", { code: "Enter" });
   synthesizeKey("t", { code: "KeyT" });
   synthesizeKey("e", { code: "KeyE" });
--- a/testing/web-platform/meta/editing/run/delete.html.ini
+++ b/testing/web-platform/meta/editing/run/delete.html.ini
@@ -4,19 +4,16 @@
     expected: FAIL
 
   [[["stylewithcss","false"\],["delete",""\]\] "foo<span style=display:none>bar</span>[\]baz" compare innerHTML]
     expected: FAIL
 
   [[["delete",""\]\] "foo<script>bar</script>[\]baz" compare innerHTML]
     expected: FAIL
 
-  [[["defaultparagraphseparator","div"\],["delete",""\]\] "<p>foo</p><p>[\]bar</p>" queryCommandValue("defaultparagraphseparator") before]
-    expected: FAIL
-
   [[["delete",""\]\] "foo<br><br><p>[\]bar</p>" compare innerHTML]
     expected: FAIL
 
   [[["defaultparagraphseparator","div"\],["delete",""\]\] "foo<div><p>[\]bar</p></div>" compare innerHTML]
     expected: FAIL
 
   [[["defaultparagraphseparator","p"\],["delete",""\]\] "foo<div><p>[\]bar</p></div>" compare innerHTML]
     expected: FAIL
--- a/testing/web-platform/meta/editing/run/formatblock.html.ini
+++ b/testing/web-platform/meta/editing/run/formatblock.html.ini
@@ -1,13 +1,10 @@
 [formatblock.html]
   type: testharness
-  [[["defaultparagraphseparator","div"\],["formatblock","<div>"\]\] "foo[\]bar<p>extra" queryCommandValue("defaultparagraphseparator") before]
-    expected: FAIL
-
   [[["defaultparagraphseparator","div"\],["formatblock","<div>"\]\] "foo[\]bar<p>extra" queryCommandValue("formatblock") after]
     expected: FAIL
 
   [[["defaultparagraphseparator","p"\],["formatblock","<div>"\]\] "foo[\]bar<p>extra" queryCommandValue("formatblock") after]
     expected: FAIL
 
   [[["defaultparagraphseparator","div"\],["formatblock","<div>"\]\] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("formatblock") after]
     expected: FAIL
--- a/testing/web-platform/meta/editing/run/forwarddelete.html.ini
+++ b/testing/web-platform/meta/editing/run/forwarddelete.html.ini
@@ -4,19 +4,16 @@
     expected: FAIL
 
   [[["forwarddelete",""\]\] "<span>foo[\]</span>": execCommand("forwarddelete", false, "") return value]
     expected: FAIL
 
   [[["forwarddelete",""\]\] "<p>foo[\]</p>": execCommand("forwarddelete", false, "") return value]
     expected: FAIL
 
-  [[["defaultparagraphseparator","div"\],["forwarddelete",""\]\] "<p>foo[\]</p><p>bar</p>" queryCommandValue("defaultparagraphseparator") before]
-    expected: FAIL
-
   [[["forwarddelete",""\]\] "<p>{}<br></p>foo" compare innerHTML]
     expected: FAIL
 
   [[["forwarddelete",""\]\] "<p>{}<span><br></span></p>foo" compare innerHTML]
     expected: FAIL
 
   [[["defaultparagraphseparator","div"\],["forwarddelete",""\]\] "foo{}<p><br>": execCommand("forwarddelete", false, "") return value]
     expected: FAIL
--- a/testing/web-platform/meta/editing/run/inserthorizontalrule.html.ini
+++ b/testing/web-platform/meta/editing/run/inserthorizontalrule.html.ini
@@ -4,19 +4,16 @@
     expected: FAIL
 
   [[["stylewithcss","true"\],["inserthorizontalrule",""\]\] "<b id=abc>foo[\]bar</b>" compare innerHTML]
     expected: FAIL
 
   [[["stylewithcss","false"\],["inserthorizontalrule",""\]\] "<b id=abc>foo[\]bar</b>" compare innerHTML]
     expected: FAIL
 
-  [[["defaultparagraphseparator","div"\],["inserthorizontalrule",""\]\] "<p>foo<p>[bar\]<p>baz" queryCommandValue("defaultparagraphseparator") before]
-    expected: FAIL
-
   [[["defaultparagraphseparator","div"\],["inserthorizontalrule",""\]\] "<p id=abc>foo[bar\]baz</p>" compare innerHTML]
     expected: FAIL
 
   [[["defaultparagraphseparator","p"\],["inserthorizontalrule",""\]\] "<p id=abc>foo[bar\]baz</p>" compare innerHTML]
     expected: FAIL
 
   [[["inserthorizontalrule",""\]\] "<address>foo[bar\]baz</address>" compare innerHTML]
     expected: FAIL
--- a/testing/web-platform/meta/editing/run/inserthtml.html.ini
+++ b/testing/web-platform/meta/editing/run/inserthtml.html.ini
@@ -19,19 +19,16 @@
     expected: FAIL
 
   [[["stylewithcss","true"\],["inserthtml","<b>"\]\] "foo[bar\]baz" compare innerHTML]
     expected: FAIL
 
   [[["stylewithcss","false"\],["inserthtml","<b>"\]\] "foo[bar\]baz" compare innerHTML]
     expected: FAIL
 
-  [[["defaultparagraphseparator","div"\],["inserthtml","<p>abc"\]\] "<p>foo[bar\]baz" queryCommandValue("defaultparagraphseparator") before]
-    expected: FAIL
-
   [[["defaultparagraphseparator","div"\],["inserthtml","<li>abc"\]\] "<p>foo[bar\]baz" compare innerHTML]
     expected: FAIL
 
   [[["defaultparagraphseparator","p"\],["inserthtml","<li>abc"\]\] "<p>foo[bar\]baz" compare innerHTML]
     expected: FAIL
 
   [[["inserthtml","abc"\]\] "<xmp>f[o\]o</xmp>" compare innerHTML]
     expected: FAIL
--- a/testing/web-platform/meta/editing/run/insertimage.html.ini
+++ b/testing/web-platform/meta/editing/run/insertimage.html.ini
@@ -22,19 +22,16 @@
     expected: FAIL
 
   [[["insertimage","/img/lion.svg"\]\] "foo{<b>bar</b>}baz" compare innerHTML]
     expected: FAIL
 
   [[["insertimage","/img/lion.svg"\]\] "foo{<span>bar</span>}baz" compare innerHTML]
     expected: FAIL
 
-  [[["defaultparagraphseparator","div"\],["insertimage","/img/lion.svg"\]\] "<p>foo</p>{<p>bar</p>}<p>baz</p>" queryCommandValue("defaultparagraphseparator") before]
-    expected: FAIL
-
   [[["stylewithcss","true"\],["defaultparagraphseparator","div"\],["insertimage","/img/lion.svg"\]\] "<p>foo[bar<p style=color:blue>baz\]quz" compare innerHTML]
     expected: FAIL
 
   [[["stylewithcss","false"\],["defaultparagraphseparator","div"\],["insertimage","/img/lion.svg"\]\] "<p>foo[bar<p style=color:blue>baz\]quz" compare innerHTML]
     expected: FAIL
 
   [[["stylewithcss","true"\],["defaultparagraphseparator","p"\],["insertimage","/img/lion.svg"\]\] "<p>foo[bar<p style=color:blue>baz\]quz" compare innerHTML]
     expected: FAIL
--- a/testing/web-platform/meta/editing/run/insertlinebreak.html.ini
+++ b/testing/web-platform/meta/editing/run/insertlinebreak.html.ini
@@ -7,19 +7,16 @@
     expected: FAIL
 
   [[["insertlinebreak",""\]\] "<script>foo[\]bar</script>baz" compare innerHTML]
     expected: FAIL
 
   [[["insertlinebreak",""\]\] "<listing>foo[\]bar</listing>" compare innerHTML]
     expected: FAIL
 
-  [[["defaultparagraphseparator","div"\],["insertlinebreak",""\]\] "<h1>foo[bar</h1><p>baz\]quz</p>" queryCommandValue("defaultparagraphseparator") before]
-    expected: FAIL
-
   [[["insertlinebreak",""\]\] "<p>foo<span style=color:#aBcDeF>[bar\]</span>baz" compare innerHTML]
     expected: FAIL
 
   [[["insertlinebreak",""\]\] "<p>foo<span style=color:#aBcDeF>{bar}</span>baz" compare innerHTML]
     expected: FAIL
 
   [[["insertlinebreak",""\]\] "<p>foo{<span style=color:#aBcDeF>bar</span>}baz" compare innerHTML]
     expected: FAIL
--- a/testing/web-platform/meta/editing/run/insertorderedlist.html.ini
+++ b/testing/web-platform/meta/editing/run/insertorderedlist.html.ini
@@ -4,19 +4,16 @@
     expected: FAIL
 
   [[["insertorderedlist",""\]\] "[foo<ul><li>bar\]</ul>baz" queryCommandIndeterm("insertorderedlist") before]
     expected: FAIL
 
   [[["insertorderedlist",""\]\] "foo<ul><li>[bar</ul>baz\]" queryCommandIndeterm("insertorderedlist") before]
     expected: FAIL
 
-  [[["defaultparagraphseparator","div"\],["insertorderedlist",""\]\] "<p>foo<p>[bar\]<p>baz" queryCommandValue("defaultparagraphseparator") before]
-    expected: FAIL
-
   [[["insertorderedlist",""\]\] "<dl><dt>foo<dd>[bar\]<dt>baz<dd>quz</dl>" compare innerHTML]
     expected: FAIL
 
   [[["insertorderedlist",""\]\] "<dl><dt>foo<dd>bar<dt>[baz\]<dd>quz</dl>" compare innerHTML]
     expected: FAIL
 
   [[["defaultparagraphseparator","div"\],["insertorderedlist",""\]\] "<p>[foo<blockquote>bar\]</blockquote><p>baz" compare innerHTML]
     expected: FAIL
--- a/testing/web-platform/meta/editing/run/insertparagraph.html.ini
+++ b/testing/web-platform/meta/editing/run/insertparagraph.html.ini
@@ -1,13 +1,10 @@
 [insertparagraph.html]
   type: testharness
-  [[["defaultparagraphseparator","div"\],["insertparagraph",""\]\] "foo[bar\]baz" queryCommandValue("defaultparagraphseparator") before]
-    expected: FAIL
-
   [[["defaultparagraphseparator","div"\],["insertparagraph",""\]\] "<table><tr><td>[foo<td>bar\]<tr><td>baz<td>quz</table>" compare innerHTML]
     expected: FAIL
 
   [[["defaultparagraphseparator","p"\],["insertparagraph",""\]\] "<table><tr><td>[foo<td>bar\]<tr><td>baz<td>quz</table>" compare innerHTML]
     expected: FAIL
 
   [[["insertparagraph",""\]\] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<tr><td>baz<td>quz</table>" compare innerHTML]
     expected: FAIL
--- a/testing/web-platform/meta/editing/run/inserttext.html.ini
+++ b/testing/web-platform/meta/editing/run/inserttext.html.ini
@@ -7,19 +7,16 @@
     expected: FAIL
 
   [[["inserttext","\\t"\]\] "foo[\]bar" compare innerHTML]
     expected: FAIL
 
   [[["defaultparagraphseparator","div"\],["inserttext","\\n"\]\] "foo[\]bar" compare innerHTML]
     expected: FAIL
 
-  [[["defaultparagraphseparator","div"\],["inserttext","\\n"\]\] "foo[\]bar" queryCommandValue("defaultparagraphseparator") before]
-    expected: FAIL
-
   [[["defaultparagraphseparator","p"\],["inserttext","\\n"\]\] "foo[\]bar" compare innerHTML]
     expected: FAIL
 
   [[["defaultparagraphseparator","div"\],["inserttext","abc\\ndef"\]\] "foo[\]bar" compare innerHTML]
     expected: FAIL
 
   [[["defaultparagraphseparator","p"\],["inserttext","abc\\ndef"\]\] "foo[\]bar" compare innerHTML]
     expected: FAIL
--- a/testing/web-platform/meta/editing/run/insertunorderedlist.html.ini
+++ b/testing/web-platform/meta/editing/run/insertunorderedlist.html.ini
@@ -4,19 +4,16 @@
     expected: FAIL
 
   [[["insertunorderedlist",""\]\] "[foo<ol><li>bar\]</ol>baz" queryCommandIndeterm("insertunorderedlist") before]
     expected: FAIL
 
   [[["insertunorderedlist",""\]\] "foo<ol><li>[bar</ol>baz\]" queryCommandIndeterm("insertunorderedlist") before]
     expected: FAIL
 
-  [[["defaultparagraphseparator","div"\],["insertunorderedlist",""\]\] "<p>foo<p>[bar\]<p>baz" queryCommandValue("defaultparagraphseparator") before]
-    expected: FAIL
-
   [[["insertunorderedlist",""\]\] "<dl><dt>foo<dd>[bar\]<dt>baz<dd>quz</dl>" compare innerHTML]
     expected: FAIL
 
   [[["insertunorderedlist",""\]\] "<dl><dt>foo<dd>bar<dt>[baz\]<dd>quz</dl>" compare innerHTML]
     expected: FAIL
 
   [[["defaultparagraphseparator","div"\],["insertunorderedlist",""\]\] "<p>[foo<blockquote>bar\]</blockquote><p>baz" compare innerHTML]
     expected: FAIL
--- a/testing/web-platform/meta/editing/run/justifycenter.html.ini
+++ b/testing/web-platform/meta/editing/run/justifycenter.html.ini
@@ -1,13 +1,10 @@
 [justifycenter.html]
   type: testharness
-  [[["stylewithcss","true"\],["defaultparagraphseparator","div"\],["justifycenter",""\]\] "foo[\]bar<p>extra" queryCommandValue("defaultparagraphseparator") before]
-    expected: FAIL
-
   [[["stylewithcss","false"\],["defaultparagraphseparator","div"\],["justifycenter",""\]\] "foo[\]bar<p>extra" compare innerHTML]
     expected: FAIL
 
   [[["stylewithcss","false"\],["defaultparagraphseparator","p"\],["justifycenter",""\]\] "foo[\]bar<p>extra" compare innerHTML]
     expected: FAIL
 
   [[["stylewithcss","false"\],["defaultparagraphseparator","div"\],["justifycenter",""\]\] "<span>foo</span>{}<span>bar</span><p>extra" compare innerHTML]
     expected: FAIL
--- a/testing/web-platform/meta/editing/run/justifyfull.html.ini
+++ b/testing/web-platform/meta/editing/run/justifyfull.html.ini
@@ -1,13 +1,10 @@
 [justifyfull.html]
   type: testharness
-  [[["stylewithcss","true"\],["defaultparagraphseparator","div"\],["justifyfull",""\]\] "foo[\]bar<p>extra" queryCommandValue("defaultparagraphseparator") before]
-    expected: FAIL
-
   [[["stylewithcss","false"\],["defaultparagraphseparator","div"\],["justifyfull",""\]\] "foo[\]bar<p>extra" compare innerHTML]
     expected: FAIL
 
   [[["stylewithcss","false"\],["defaultparagraphseparator","p"\],["justifyfull",""\]\] "foo[\]bar<p>extra" compare innerHTML]
     expected: FAIL
 
   [[["stylewithcss","false"\],["defaultparagraphseparator","div"\],["justifyfull",""\]\] "<span>foo</span>{}<span>bar</span><p>extra" compare innerHTML]
     expected: FAIL
--- a/testing/web-platform/meta/editing/run/justifyleft.html.ini
+++ b/testing/web-platform/meta/editing/run/justifyleft.html.ini
@@ -28,19 +28,16 @@
     expected: FAIL
 
   [[["justifyleft",""\]\] "<xmp>foo[bar\]baz</xmp><p>extra" compare innerHTML]
     expected: FAIL
 
   [[["stylewithcss","true"\],["defaultparagraphseparator","div"\],["justifyleft",""\]\] "<center><p>[foo\]<p>bar</center><p>extra" compare innerHTML]
     expected: FAIL
 
-  [[["stylewithcss","true"\],["defaultparagraphseparator","div"\],["justifyleft",""\]\] "<center><p>[foo\]<p>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") before]
-    expected: FAIL
-
   [[["stylewithcss","true"\],["defaultparagraphseparator","div"\],["justifyleft",""\]\] "<center><p>[foo\]<p>bar</center><p>extra" queryCommandState("justifyleft") before]
     expected: FAIL
 
   [[["stylewithcss","true"\],["defaultparagraphseparator","div"\],["justifyleft",""\]\] "<center><p>[foo\]<p>bar</center><p>extra" queryCommandValue("justifyleft") before]
     expected: FAIL
 
   [[["stylewithcss","false"\],["defaultparagraphseparator","div"\],["justifyleft",""\]\] "<center><p>[foo\]<p>bar</center><p>extra" compare innerHTML]
     expected: FAIL
--- a/testing/web-platform/meta/editing/run/justifyright.html.ini
+++ b/testing/web-platform/meta/editing/run/justifyright.html.ini
@@ -1,13 +1,10 @@
 [justifyright.html]
   type: testharness
-  [[["stylewithcss","true"\],["defaultparagraphseparator","div"\],["justifyright",""\]\] "foo[\]bar<p>extra" queryCommandValue("defaultparagraphseparator") before]
-    expected: FAIL
-
   [[["stylewithcss","false"\],["defaultparagraphseparator","div"\],["justifyright",""\]\] "foo[\]bar<p>extra" compare innerHTML]
     expected: FAIL
 
   [[["stylewithcss","false"\],["defaultparagraphseparator","p"\],["justifyright",""\]\] "foo[\]bar<p>extra" compare innerHTML]
     expected: FAIL
 
   [[["stylewithcss","false"\],["defaultparagraphseparator","div"\],["justifyright",""\]\] "<span>foo</span>{}<span>bar</span><p>extra" compare innerHTML]
     expected: FAIL
deleted file mode 100644
--- a/testing/web-platform/meta/editing/run/misc.html.ini
+++ /dev/null
@@ -1,11 +0,0 @@
-[misc.html]
-  type: testharness
-  [[["defaultparagraphseparator",""\]\] "foo[bar\]baz" queryCommandValue("defaultparagraphseparator") before]
-    expected: FAIL
-
-  [[["defaultparagraphseparator",""\]\] "foo[bar\]baz" queryCommandValue("defaultparagraphseparator") after]
-    expected: FAIL
-
-  [[["defaultparagraphseparator","div"\]\] "foo[bar\]baz" queryCommandValue("defaultparagraphseparator") before]
-    expected: FAIL
-
--- a/testing/web-platform/meta/editing/run/outdent.html.ini
+++ b/testing/web-platform/meta/editing/run/outdent.html.ini
@@ -4,19 +4,16 @@
     expected: FAIL
 
   [[["stylewithcss","false"\],["outdent",""\]\] "<blockquote style=\\"margin-right: 0px;\\" dir=\\"ltr\\"><p>foo[bar\]</p><p>baz</p></blockquote><p>extra" compare innerHTML]
     expected: FAIL
 
   [[["stylewithcss","true"\],["defaultparagraphseparator","div"\],["outdent",""\]\] "<blockquote class=\\"webkit-indent-blockquote\\" style=\\"margin: 0 0 0 40px; border: none; padding: 0px;\\"><p>foo[bar\]</p><p>baz</p></blockquote><p>extra" compare innerHTML]
     expected: FAIL
 
-  [[["stylewithcss","true"\],["defaultparagraphseparator","div"\],["outdent",""\]\] "<blockquote class=\\"webkit-indent-blockquote\\" style=\\"margin: 0 0 0 40px; border: none; padding: 0px;\\"><p>foo[bar\]</p><p>baz</p></blockquote><p>extra" queryCommandValue("defaultparagraphseparator") before]
-    expected: FAIL
-
   [[["stylewithcss","false"\],["defaultparagraphseparator","div"\],["outdent",""\]\] "<blockquote class=\\"webkit-indent-blockquote\\" style=\\"margin: 0 0 0 40px; border: none; padding: 0px;\\"><p>foo[bar\]</p><p>baz</p></blockquote><p>extra" compare innerHTML]
     expected: FAIL
 
   [[["stylewithcss","true"\],["defaultparagraphseparator","p"\],["outdent",""\]\] "<blockquote class=\\"webkit-indent-blockquote\\" style=\\"margin: 0 0 0 40px; border: none; padding: 0px;\\"><p>foo[bar\]</p><p>baz</p></blockquote><p>extra" compare innerHTML]
     expected: FAIL
 
   [[["stylewithcss","false"\],["defaultparagraphseparator","p"\],["outdent",""\]\] "<blockquote class=\\"webkit-indent-blockquote\\" style=\\"margin: 0 0 0 40px; border: none; padding: 0px;\\"><p>foo[bar\]</p><p>baz</p></blockquote><p>extra" compare innerHTML]
     expected: FAIL