<div id="editor" contenteditable></div><br>
<div id="clickaway"style="width: 30px; height: 30px; border: 3px solid red;"></div>
<img src="green.png"><!-- for ensuring to load the image at first test of <img> case -->
<pre id="test">
function resizingActive(win = window) {
let Ci = SpecialPowers.Ci;
let editor = SpecialPowers.wrap(win).docShell.editor;
return editor && editor.QueryInterface(Ci.nsIHTMLObjectResizer).isObjectResizingActive;
}
for (let kEnableAbsolutePositionEditor of [true, false]) {
document.execCommand("enableAbsolutePositionEditing", false, kEnableAbsolutePositionEditor);
for (const kTest of kTests) {
const kDescription = kTest.description +
(kEnableAbsolutePositionEditor ? " (enabled absolute position editor)" : "") + ": ";
editor.innerHTML = kTest.innerHTML;
let target = document.getElementById("target");
document.execCommand("enableObjectResizing", false, false);
ok(!document.queryCommandState("enableObjectResizing"),
kDescription + "Object resizer should be disabled by the call of execCommand");
synthesizeMouseAtCenter(outOfEditor, {});
let promiseSelectionChangeEvent1 = waitForSelectionChange();
synthesizeMouseAtCenter(target, {});
await promiseSelectionChangeEvent1;
ok(!resizingActive(),
kDescription + ": While enableObjectResizing is disabled, resizers shouldn't appear");
document.execCommand("enableObjectResizing", false, true);
ok(document.queryCommandState("enableObjectResizing"),
kDescription + "Object resizer should be enabled by the call of execCommand");
synthesizeMouseAtCenter(outOfEditor, {});
let promiseSelectionChangeEvent2 = waitForSelectionChange();
synthesizeMouseAtCenter(target, {});
await promiseSelectionChangeEvent2;
const kResizable = typeof kTest.resizable === "function" ? kTest.resizable() : kTest.resizable;
is(resizingActive(), kResizable,
kDescription + (kResizable ? "While enableObjectResizing is enabled, resizers should appear" : "Even while enableObjectResizing is enabled, resizers shouldn't appear"));
document.execCommand("enableObjectResizing", false, false);
ok(!resizingActive(),
kDescription + "enableObjectResizing is disabled even while resizers are visible, resizers should disappear");
document.execCommand("enableObjectResizing", false, true);
is(resizingActive(), kResizable,
kDescription + (kResizable ? "enableObjectResizing is enabled when resizable object is selected, resizers should appear" : "Even if enableObjectResizing is enabled when non-resizable object is selected, resizers shouldn't appear"));
}
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.