mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-03 18:47:53 +00:00
b4d246692c
This is regression by bug 1543312. By bug 1543312, we destroy editor when destroying PresShell. But when destroying PresShell, editor doesn't remove anonymous content of editing UI from PresShell. Then, when destroying the frame manager in `PresShell::Destroy`, it hits assertion due to uncomposed doc. We shouldn't hide editing UI during destroying PresShell and we should hide it after destroyed. Differential Revision: https://phabricator.services.mozilla.com/D42773 --HG-- extra : moz-landing-system : lando
65 lines
1.9 KiB
HTML
65 lines
1.9 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<!--
|
|
https://bugzilla.mozilla.org/show_bug.cgi?id=1574596
|
|
-->
|
|
<head>
|
|
<title>Test for Bug 1574596</title>
|
|
<script src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<script src="/tests/SimpleTest/EventUtils.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
|
|
|
<script>
|
|
add_task(async function() {
|
|
let iframe = document.getElementById("iframe1");
|
|
iframe.focus();
|
|
let edit = iframe.contentDocument.getElementById("edit");
|
|
edit.focus();
|
|
|
|
iframe.contentDocument.execCommand("enableObjectResizing", false, true);
|
|
|
|
async function waitForSelectionChange() {
|
|
return new Promise(resolve => {
|
|
iframe.contentDocument.addEventListener("selectionchange", () => {
|
|
resolve();
|
|
}, {once: true});
|
|
});
|
|
}
|
|
|
|
let target = iframe.contentDocument.getElementById("target");
|
|
let promiseSelectionChangeEvent = waitForSelectionChange();
|
|
synthesizeMouseAtCenter(target, {}, iframe.contentWindow);
|
|
await promiseSelectionChangeEvent;
|
|
|
|
ok(target.hasAttribute("_moz_resizing"),
|
|
"resizers of the <img> should be visible");
|
|
|
|
iframe.style.display = "none";
|
|
iframe.offsetHeight; // reflow
|
|
|
|
await new Promise(SimpleTest.executeSoon);
|
|
ok(!target.hasAttribute("_moz_resizing"),
|
|
"resizers of the <img> should be hidden");
|
|
|
|
iframe.style.display = "";
|
|
iframe.offsetHeight; // reflow
|
|
|
|
promiseSelectionChangeEvent = waitForSelectionChange();
|
|
synthesizeMouseAtCenter(target, {}, iframe.contentWindow);
|
|
await promiseSelectionChangeEvent;
|
|
|
|
ok(target.hasAttribute("_moz_resizing"),
|
|
"resizers of the <img> should be visible again");
|
|
});
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1574596">Mozilla Bug 1574596</a>
|
|
<p id="display"></p>
|
|
|
|
<div>
|
|
<iframe id="iframe1" srcdoc="<div id=edit contenteditable><img id='target' src='green.png'></div>"></iframe>
|
|
</div>
|
|
</body>
|
|
</html>
|