2010-10-07 08:25:47 +04:00
|
|
|
<!DOCTYPE HTML>
|
|
|
|
<html>
|
|
|
|
<!--
|
|
|
|
https://bugzilla.mozilla.org/show_bug.cgi?id=599368
|
|
|
|
-->
|
|
|
|
<head>
|
|
|
|
<title>Test for Bug 599368</title>
|
2019-04-16 06:50:44 +03:00
|
|
|
<script src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
|
|
<script src="/tests/SimpleTest/EventUtils.js"></script>
|
|
|
|
<script src="/tests/SimpleTest/WindowSnapshot.js"></script>
|
2010-10-07 08:25:47 +04:00
|
|
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=599368">Mozilla Bug 599368</a>
|
|
|
|
<iframe id="display" src="about:blank"></iframe>
|
|
|
|
<div id="content" style="display: none">
|
|
|
|
|
|
|
|
</div>
|
|
|
|
<pre id="test">
|
|
|
|
<script type="application/javascript">
|
|
|
|
|
|
|
|
/** Test for Bug 599368 **/
|
|
|
|
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
|
|
|
|
|
|
window.addEventListener("load", step1);
|
|
|
|
|
|
|
|
var gImage;
|
|
|
|
var gIframe;
|
|
|
|
var gBlueNotSelected;
|
|
|
|
var gBlueSelected;
|
|
|
|
var gFuchsiaSelected;
|
|
|
|
|
|
|
|
function step1()
|
|
|
|
{
|
|
|
|
gIframe = document.getElementById("display");
|
|
|
|
doc = gIframe.contentDocument;
|
|
|
|
|
|
|
|
gImage = doc.createElement('img');
|
|
|
|
var src = String(window.location).split("/");
|
|
|
|
src.pop();
|
|
|
|
src.push("blue-32x32.png");
|
|
|
|
src = src.join("/");
|
|
|
|
gImage.src = src;
|
|
|
|
gImage.addEventListener("load", step2);
|
|
|
|
doc.body.appendChild(gImage);
|
|
|
|
|
|
|
|
doc.designMode = "on";
|
|
|
|
}
|
|
|
|
|
|
|
|
function step2() {
|
|
|
|
gImage.removeEventListener("load", step2);
|
|
|
|
|
|
|
|
gBlueNotSelected = snapshotWindow(gIframe.contentWindow, false);
|
|
|
|
|
|
|
|
synthesizeMouse(gImage, 5, 5, {}, gIframe.contentWindow);
|
|
|
|
setTimeout(step3, 0);
|
|
|
|
}
|
|
|
|
|
|
|
|
function step3() {
|
|
|
|
gBlueSelected = snapshotWindow(gIframe.contentWindow, false);
|
|
|
|
|
|
|
|
var src = String(window.location).split("/");
|
|
|
|
src.pop();
|
|
|
|
src.push("fuchsia-32x32.png");
|
|
|
|
src = src.join("/");
|
|
|
|
gImage.addEventListener("load", step4);
|
|
|
|
gImage.src = src;
|
|
|
|
}
|
|
|
|
|
|
|
|
function step4() {
|
|
|
|
gImage.removeEventListener("load", step4);
|
|
|
|
|
|
|
|
gFuchsiaSelected = snapshotWindow(gIframe.contentWindow, false);
|
|
|
|
|
Bug 1551185 - Make nsImageFrame::ShouldDisplaySelection() check whether resizer target element is its content or not r=smaug
Currently, `nsISelectionDisplay::DISPLAY_ALL` is used only by `HTMLEditor`.
And only when it's set, `nsImageFrame::ShouldDisplaySelection()` returns `false`
if only its `mContent` is selected. However, this is based on an assumption,
that is, when only one `<img>` is selected in an HTML editor, it's target of
resizers. However, this is completely wrong. Web apps can disable resizers
with `document.execCommand("enableObjectResizing", false, false)` and now,
it's disabled by default.
Therefore, this patch makes the method check whether its `mContent` is
target of resizers at the moment.
Differential Revision: https://phabricator.services.mozilla.com/D32449
--HG--
extra : moz-landing-system : lando
2019-05-24 15:02:34 +03:00
|
|
|
// FYI: test_image_selection_in_contenteditable.html tests the detail.
|
|
|
|
assertSnapshots(gBlueNotSelected, gBlueSelected, false, null,
|
|
|
|
"blue image without selection",
|
|
|
|
"blue image which is selected or added resizers");
|
|
|
|
assertSnapshots(gBlueSelected, gFuchsiaSelected, false, null,
|
|
|
|
"blue image which is selected",
|
|
|
|
"fuchsia image which is selected");
|
2010-10-07 08:25:47 +04:00
|
|
|
|
|
|
|
SimpleTest.finish();
|
|
|
|
}
|
|
|
|
|
|
|
|
</script>
|
|
|
|
</pre>
|
|
|
|
</body>
|
|
|
|
</html>
|