This is a testharness.js-based test.
PASS Testing inserting content around link element
FAIL Inserting "XY" after setting caret position to middle of a link in <b> and containing <i> (Selection.collapse) in <p><b><a href="about:blank"><i>[]abc</i></a></b></p> promise_test: Unhandled rejection with value: object "Error: can only send actions in top-level window"
FAIL Inserting "XY" after setting caret position to middle of a link in <b> and containing <i> (Selection.addRange) in <p><b><a href="about:blank"><i>[]abc</i></a></b></p> promise_test: Unhandled rejection with value: object "Error: can only send actions in top-level window"
FAIL Inserting "XY" after setting caret position to start of a link in <b> and containing <i> (Selection.collapse) in <p><b><a href="about:blank"><i>ab[]c</i></a></b></p> promise_test: Unhandled rejection with value: object "Error: can only send actions in top-level window"
FAIL Inserting "XY" after setting caret position to start of a link in <b> and containing <i> (Selection.addRange) in <p><b><a href="about:blank"><i>ab[]c</i></a></b></p> promise_test: Unhandled rejection with value: object "Error: can only send actions in top-level window"
FAIL Inserting "XY" after setting caret position to end of a link in <b> and containing <i> (Selection.collapse) in <p><b><a href="about:blank"><i>ab[]c</i></a></b></p> promise_test: Unhandled rejection with value: object "Error: can only send actions in top-level window"
FAIL Inserting "XY" after setting caret position to end of a link in <b> and containing <i> (Selection.addRange) in <p><b><a href="about:blank"><i>ab[]c</i></a></b></p> promise_test: Unhandled rejection with value: object "Error: can only send actions in top-level window"
FAIL Inserting "XY" after modifying caret position to middle of a link in <b> and containing <i> in <p><b><a href="about:blank"><i>[]abc</i></a></b></p> promise_test: Unhandled rejection with value: object "Error: can only send actions in top-level window"
FAIL Inserting "XY" after modifying caret position to start of a link in <b> and containing <i> in <p><b><a href="about:blank"><i>ab[]c</i></a></b></p> promise_test: Unhandled rejection with value: object "Error: can only send actions in top-level window"
FAIL Inserting "XY" after modifying caret position to end of a link in <b> and containing <i> in <p><b><a href="about:blank"><i>ab[]c</i></a></b></p> promise_test: Unhandled rejection with value: object "Error: can only send actions in top-level window"
FAIL Inserting "XY" after deleting following character of a link in <b> and containing <i> (Backspace) in <p><b><a href="about:blank"><i>abc</i></a>d[]</b></p> promise_test: Unhandled rejection with value: object "Error: can only send actions in top-level window"
FAIL Inserting "XY" after deleting following character of a link in <b> and containing <i> (execCommand("delete")) in <p><b><a href="about:blank"><i>abc</i></a>d[]</b></p> promise_test: Unhandled rejection with value: object "Error: can only send actions in top-level window"
FAIL Inserting "XY" after deleting a previous character of a link in <b> and containing <i> (Delete) in <p><b>[]z<a href="about:blank"><i>abc</i></a></b></p> promise_test: Unhandled rejection with value: object "Error: can only send actions in top-level window"
FAIL Inserting "XY" after deleting a previous character of a link in <b> and containing <i> (execCommand("forwarddelete")) in <p><b>[]z<a href="about:blank"><i>abc</i></a></b></p> promise_test: Unhandled rejection with value: object "Error: can only send actions in top-level window"
FAIL Inserting "XY" after deleting last character of a link in <b> and containing <i> (Backspace) in <p><b><a href="about:blank"><i>abcd[]</i></a></b></p> promise_test: Unhandled rejection with value: object "Error: can only send actions in top-level window"
FAIL Inserting "XY" after deleting last character of a link in <b> and containing <i> (execCommand("delete")) in <p><b><a href="about:blank"><i>abcd[]</i></a></b></p> promise_test: Unhandled rejection with value: object "Error: can only send actions in top-level window"
FAIL Inserting "XY" after deleting last character of a link in <b> and containing <i> (Delete) in <p><b><a href="about:blank"><i>abc[]d</i></a></b></p> promise_test: Unhandled rejection with value: object "Error: can only send actions in top-level window"
FAIL Inserting "XY" after deleting last character of a link in <b> and containing <i> (execCommand("forwarddelete")) in <p><b><a href="about:blank"><i>abc[]d</i></a></b></p> promise_test: Unhandled rejection with value: object "Error: can only send actions in top-level window"
FAIL Inserting "XY" after deleting first character of a link in <b> and containing <i> (Backspace) in <p><b><a href="about:blank"><i>z[]abc</i></a></b></p> promise_test: Unhandled rejection with value: object "Error: can only send actions in top-level window"
FAIL Inserting "XY" after deleting first character of a link in <b> and containing <i> (execCommand("delete")) in <p><b><a href="about:blank"><i>z[]abc</i></a></b></p> promise_test: Unhandled rejection with value: object "Error: can only send actions in top-level window"
FAIL Inserting "XY" after deleting first character of a link in <b> and containing <i> (Delete) in <p><b><a href="about:blank"><i>[]zabc</i></a></b></p> promise_test: Unhandled rejection with value: object "Error: can only send actions in top-level window"
FAIL Inserting "XY" after deleting first character of a link in <b> and containing <i> (execCommand("forwarddelete")) in <p><b><a href="about:blank"><i>[]zabc</i></a></b></p> promise_test: Unhandled rejection with value: object "Error: can only send actions in top-level window"
Harness: the test ran to completion.

