Make expected command value of "formatBlock" always empty string if expecting indeterm state
If selections crosses multiple format block types,
`Document.queryCommandIndeterm("formatBlock")` should return `true`. In this
case, `Document.queryCommandState("formatBlock")` should always return `""`
since the value is mixed, thus, indeterminable.
Differential Revision: https://phabricator.services.mozilla.com/D192184
bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1861910
gecko-commit: 925231a8fb5eccf055afb3e9921596d8f990128b
gecko-reviewers: m_kato
diff --git a/editing/data/formatblock.js b/editing/data/formatblock.js
index 6efd466..bd559b30 100644
--- a/editing/data/formatblock.js
+++ b/editing/data/formatblock.js
@@ -239,12 +239,12 @@
[["defaultparagraphseparator","div"],["formatblock","<div>"]],
"<div>[foo</div><div>bar]</div>",
[true,true],
- {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"formatblock":[true,false,"dl",false,false,"div"]}],
+ {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"formatblock":[false,false,"dl",false,false,"div"]}],
["<dl><dt>[foo<dd>bar]</dl>",
[["defaultparagraphseparator","p"],["formatblock","<div>"]],
"<div>[foo</div><div>bar]</div>",
[true,true],
- {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"formatblock":[true,false,"dl",false,false,"div"]}],
+ {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"formatblock":[false,false,"dl",false,false,"div"]}],
["<ol><li>[foobar]</ol>",
[["defaultparagraphseparator","div"],["formatblock","<div>"]],
"<ol><li><div>[foobar]</div></li></ol>",
@@ -1735,12 +1735,12 @@
[["defaultparagraphseparator","div"],["formatblock","<h1>"]],
"<h1>[foo<br>bar]</h1>",
[true,true],
- {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"formatblock":[true,false,"p",false,false,"h1"]}],
+ {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"formatblock":[true,false,"",false,false,"h1"]}],
["<p>[foo</p>bar]",
[["defaultparagraphseparator","p"],["formatblock","<h1>"]],
"<h1>[foo<br>bar]</h1>",
[true,true],
- {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"formatblock":[true,false,"p",false,false,"h1"]}],
+ {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"formatblock":[true,false,"",false,false,"h1"]}],
["[foo<p>bar]</p>",
[["defaultparagraphseparator","div"],["formatblock","<h1>"]],
"<h1>[foo<br>bar]</h1>",
@@ -1805,32 +1805,32 @@
[["defaultparagraphseparator","div"],["formatblock","<div>"]],
"<div>[foo</div><div>bar]</div>",
[true,true],
- {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"formatblock":[true,false,"p",false,false,"div"]}],
+ {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"formatblock":[true,false,"",false,false,"div"]}],
["<p>[foo<h1>bar]</h1>",
[["defaultparagraphseparator","p"],["formatblock","<div>"]],
"<div>[foo</div><div>bar]</div>",
[true,true],
- {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"formatblock":[true,false,"p",false,false,"div"]}],
+ {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"formatblock":[true,false,"",false,false,"div"]}],
["<h1>[foo</h1><h2>bar]</h2>",
[["defaultparagraphseparator","div"],["formatblock","<div>"]],
"<div>[foo</div><div>bar]</div>",
[true,true],
- {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"formatblock":[true,false,"h1",false,false,"div"]}],
+ {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"formatblock":[true,false,"",false,false,"div"]}],
["<h1>[foo</h1><h2>bar]</h2>",
[["defaultparagraphseparator","p"],["formatblock","<div>"]],
"<div>[foo</div><div>bar]</div>",
[true,true],
- {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"formatblock":[true,false,"h1",false,false,"div"]}],
+ {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"formatblock":[true,false,"",false,false,"div"]}],
["<div>[foo</div>bar]",
[["defaultparagraphseparator","div"],["formatblock","<div>"]],
"<div>[foo</div><div>bar]</div>",
[true,true],
- {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"formatblock":[true,false,"div",false,false,"div"]}],
+ {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"formatblock":[true,false,"",false,false,"div"]}],
["<div>[foo</div>bar]",
[["defaultparagraphseparator","p"],["formatblock","<div>"]],
"<div>[foo</div><div>bar]</div>",
[true,true],
- {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"formatblock":[true,false,"div",false,false,"div"]}],
+ {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"formatblock":[true,false,"",false,false,"div"]}],
["<div style=color:blue>[foo]</div>",
[["stylewithcss","true"],["defaultparagraphseparator","div"],["formatblock","<p>"]],
"<p style=\"color:rgb(0, 0, 255)\">[foo]</p>",
@@ -1855,12 +1855,12 @@
[["defaultparagraphseparator","div"],["formatblock","<h1>"]],
"<h1>{foo<br>ba]r</h1>",
[true,true],
- {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"formatblock":[true,false,"p",false,false,"h1"]}],
+ {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"formatblock":[true,false,"",false,false,"h1"]}],
["{<p>foo</p>ba]r",
[["defaultparagraphseparator","p"],["formatblock","<h1>"]],
"<h1>{foo<br>ba]r</h1>",
[true,true],
- {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"formatblock":[true,false,"p",false,false,"h1"]}],
+ {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"formatblock":[true,false,"",false,false,"h1"]}],
["<div><div contenteditable=false><span contenteditable>[foo]</span></div></div>",
[["formatblock","p"]],
"<div><div contenteditable=\"false\"><span contenteditable=\"\">[foo]</span></div></div>", // <span> cannot have <p>, so, do nothing