part 1: Update WPT in the case that an inline element becomes empty
Currently, Blink/WebKit strip an inline element becoming empty and its parents
which also becomes empty. However, some tests in editing/run/delete.js and
editing/run/forwarddelete.js are not consistent with the fact.
* https://wpt.fyi/results/editing/run/forwarddelete.html%3F6001-last?run_id=5664920516427776&run_id=5754064710139904&run_id=5670287212281856&run_id=5157691455438848
* https://wpt.fyi/results/editing/run/delete.html%3F6001-7000?run_id=5664920516427776&run_id=5754064710139904&run_id=5670287212281856&run_id=5157691455438848
Additionally, even after deleting parent inline elements, the style should be
preserved for next edit, but there are no tests for it. Therefore, this patch
adds tests for the case into multitest.js.
Differential Revision: https://phabricator.services.mozilla.com/D125368
bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1730429
gecko-commit: 53cd8ff916d5527f77ef6c42ddb535e6f950f55b
gecko-reviewers: m_kato
diff --git a/editing/data/delete.js b/editing/data/delete.js
index 5e36c55..183451e 100644
--- a/editing/data/delete.js
+++ b/editing/data/delete.js
@@ -2437,42 +2437,42 @@
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
["<p><b>[foo]</b>",
[["delete",""]],
- "<p><b>{}<br></b></p>",
+ "<p>{}<br></p>",
[true],
{"delete":[false,false,"",false,false,""]}],
["<p><quasit>[foo]</quasit>",
[["delete",""]],
- "<p><quasit>{}<br></quasit></p>",
+ "<p>{}<br></p>",
[true],
{"delete":[false,false,"",false,false,""]}],
["<p><b><i>[foo]</i></b>",
[["delete",""]],
- "<p><b><i>{}<br></i></b></p>",
+ "<p>{}<br></p>",
[true],
{"delete":[false,false,"",false,false,""]}],
["<p><b>{foo}</b>",
[["delete",""]],
- "<p><b>{}<br></b></p>",
+ "<p>{}<br></p>",
[true],
{"delete":[false,false,"",false,false,""]}],
["<p>{<b>foo</b>}",
[["delete",""]],
- "<p><b>{}<br></b></p>",
+ "<p>{}<br></p>",
[true],
{"delete":[false,false,"",false,false,""]}],
["<p><b>f[]</b>",
[["delete",""]],
- "<p><b>{}<br></b></p>",
+ "<p>{}<br></p>",
[true],
{"delete":[false,false,"",false,false,""]}],
["<b>[foo]</b>",
[["delete",""]],
- "<b>{}<br></b>",
+ "{}<br>",
[true],
{"delete":[false,false,"",false,false,""]}],
["<div><b>[foo]</b></div>",
[["delete",""]],
- "<div><b>{}<br></b></div>",
+ "<div>{}<br></div>",
[true],
{"delete":[false,false,"",false,false,""]}],
["<div><div><p>foo</p></div></div><div></div><div><div>[]bar</div></div></div>",
diff --git a/editing/data/forwarddelete.js b/editing/data/forwarddelete.js
index ffd7dad..cc03bcd 100644
--- a/editing/data/forwarddelete.js
+++ b/editing/data/forwarddelete.js
@@ -2322,42 +2322,42 @@
{"forwarddelete":[false,false,"",false,false,""]}],
["<p><b>[foo]</b>",
[["forwarddelete",""]],
- "<p><b>{}<br></b></p>",
+ "<p>{}<br></p>",
[true],
{"forwarddelete":[false,false,"",false,false,""]}],
["<p><quasit>[foo]</quasit>",
[["forwarddelete",""]],
- "<p><quasit>{}<br></quasit></p>",
+ "<p>{}<br></p>",
[true],
{"forwarddelete":[false,false,"",false,false,""]}],
["<p><b><i>[foo]</i></b>",
[["forwarddelete",""]],
- "<p><b><i>{}<br></i></b></p>",
+ "<p>{}<br></p>",
[true],
{"forwarddelete":[false,false,"",false,false,""]}],
["<p><b>{foo}</b>",
[["forwarddelete",""]],
- "<p><b>{}<br></b></p>",
+ "<p>{}<br></p>",
[true],
{"forwarddelete":[false,false,"",false,false,""]}],
["<p>{<b>foo</b>}",
[["forwarddelete",""]],
- "<p><b>{}<br></b></p>",
+ "<p>{}<br></p>",
[true],
{"forwarddelete":[false,false,"",false,false,""]}],
["<p><b>[]f</b>",
[["forwarddelete",""]],
- "<p><b>{}<br></b></p>",
+ "<p>{}<br></p>",
[true],
{"forwarddelete":[false,false,"",false,false,""]}],
["<b>[foo]</b>",
[["forwarddelete",""]],
- "<b>{}<br></b>",
+ "{}<br>",
[true],
{"forwarddelete":[false,false,"",false,false,""]}],
["<div><b>[foo]</b></div>",
[["forwarddelete",""]],
- "<div><b>{}<br></b></div>",
+ "<div>{}<br></div>",
[true],
{"forwarddelete":[false,false,"",false,false,""]}],
["<div><div><p>foo[]</p></div></div><div></div><div><div>bar</div></div></div>",
diff --git a/editing/data/multitest.js b/editing/data/multitest.js
index 338b9c9..47e5849 100644
--- a/editing/data/multitest.js
+++ b/editing/data/multitest.js
@@ -2414,5 +2414,45 @@
[["delete",""],["inserttext","a"]],
"<blockquote><font color=\"blue\">a[]</font></blockquote>",
[true,true],
- {"delete":[false,false,"",false,false,""],"inserttext":[false,false,"",false,false,""]}]
+ {"delete":[false,false,"",false,false,""],"inserttext":[false,false,"",false,false,""]}],
+["<div><b>[abc]</b></div>",
+ [["styleWithCSS", "false"],["delete",""],["inserttext","a"]],
+ ["<div><b>a</b></div>",
+ "<div><b>a</b><br></div>"],
+ [true,true,true],
+ {"bold":[false,true,"",false,true,""]}],
+["<div>abc<b>[def]</b></div>",
+ [["styleWithCSS", "false"],["delete",""],["inserttext","d"]],
+ ["<div>abc<b>d</b></div>",
+ "<div>abc<b>d</b><br></div>"],
+ [true,true,true],
+ {"bold":[false,true,"",false,true,""]}],
+["<div><b>[abc]</b></div>",
+ [["styleWithCSS", "false"],["delete",""],["insertparagraph",""],["inserttext","a"]],
+ ["<div><br></div><div><b>a</b></div>",
+ "<div><br></div><div><b>a</b><br></div>"],
+ [true,true,true,true],
+ {"bold":[false,true,"",false,true,""]}],
+["<div>abc<b>[def]</b></div>",
+ [["styleWithCSS", "false"], ["delete",""],["insertparagraph",""],["inserttext","d"]],
+ ["<div>abc</div><div><b>d</b></div>",
+ "<div>abc</div><div><b>d</b><br></div>",
+ "<div>abc<br></div><div><b>d</b></div>",
+ "<div>abc<br></div><div><b>d</b><br></div>"],
+ [true,true,true,true],
+ {"bold":[false,true,"",false,true,""]}],
+["<div><b>[abc]</b></div>",
+ [["styleWithCSS", "false"],["insertparagraph",""],["inserttext","a"]],
+ ["<div><br></div><div><b>a</b></div>",
+ "<div><br></div><div><b>a</b><br></div>"],
+ [true,true,true],
+ {"bold":[false,true,"",false,true,""]}],
+["<div>abc<b>[def]</b></div>",
+ [["styleWithCSS", "false"],["insertparagraph",""],["inserttext","d"]],
+ ["<div>abc</div><div><b>d</b></div>",
+ "<div>abc</div><div><b>d</b><br></div>",
+ "<div>abc<br></div><div><b>d</b></div>",
+ "<div>abc<br></div><div><b>d</b><br></div>"],
+ [true,true,true],
+ {"bold":[false,true,"",false,true,""]}],
]