зеркало из https://github.com/mozilla/gecko-dev.git
82 строки
2.9 KiB
Plaintext
82 строки
2.9 KiB
Plaintext
|
<?xml version="1.0"?>
|
||
|
<?xml-stylesheet href="chrome://global/skin"
|
||
|
type="text/css"?>
|
||
|
<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css"
|
||
|
type="text/css"?>
|
||
|
<!--
|
||
|
https://bugzilla.mozilla.org/show_bug.cgi?id=489202
|
||
|
-->
|
||
|
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||
|
title="Mozilla Bug 489202" onload="runTest();">
|
||
|
<script type="application/javascript"
|
||
|
src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"/>
|
||
|
<script type="application/javascript"
|
||
|
src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
|
||
|
|
||
|
<body xmlns="http://www.w3.org/1999/xhtml">
|
||
|
<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=489202"
|
||
|
target="_blank">Mozilla Bug 489202</a>
|
||
|
<p/>
|
||
|
<editor xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||
|
id="i1"
|
||
|
type="content"
|
||
|
editortype="htmlmail"
|
||
|
style="width: 400px; height: 100px;"/>
|
||
|
<p/>
|
||
|
<pre id="test">
|
||
|
</pre>
|
||
|
</body>
|
||
|
<script class="testbody" type="application/javascript">
|
||
|
<![CDATA[
|
||
|
var utils = SpecialPowers.getDOMWindowUtils(window);
|
||
|
var Cc = Components.classes;
|
||
|
var Ci = Components.interfaces;
|
||
|
|
||
|
function getLoadContext() {
|
||
|
return window.QueryInterface(Ci.nsIInterfaceRequestor)
|
||
|
.getInterface(Ci.nsIWebNavigation)
|
||
|
.QueryInterface(Ci.nsILoadContext);
|
||
|
}
|
||
|
|
||
|
function runTest() {
|
||
|
var trans = Cc["@mozilla.org/widget/transferable;1"]
|
||
|
.createInstance(Ci.nsITransferable);
|
||
|
trans.init(getLoadContext());
|
||
|
trans.addDataFlavor("text/html");
|
||
|
var test_data = '<meta/><a href="http://mozilla.org/">mozilla.org</a>';
|
||
|
var cstr = Cc["@mozilla.org/supports-string;1"]
|
||
|
.createInstance(Ci.nsISupportsString);
|
||
|
cstr.data = test_data;
|
||
|
trans.setTransferData("text/html", cstr, test_data.length*2);
|
||
|
|
||
|
window.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
|
||
|
.getInterface(Components.interfaces.nsIWebNavigation)
|
||
|
.QueryInterface(Components.interfaces.nsIDocShellTreeItem)
|
||
|
.rootTreeItem
|
||
|
.QueryInterface(Components.interfaces.nsIDocShell)
|
||
|
.appType = Components.interfaces.nsIDocShell.APP_TYPE_EDITOR;
|
||
|
var e = document.getElementById('i1');
|
||
|
var doc = e.contentDocument;
|
||
|
doc.designMode = "on";
|
||
|
doc.body.innerHTML = "";
|
||
|
doc.defaultView.focus();
|
||
|
var selection = doc.defaultView.getSelection();
|
||
|
selection.removeAllRanges();
|
||
|
selection.selectAllChildren(doc.body);
|
||
|
selection.collapseToEnd();
|
||
|
|
||
|
var point = doc.defaultView.getSelection().getRangeAt(0).startOffset;
|
||
|
ok(point==0, "Cursor should be at editor start before paste");
|
||
|
|
||
|
utils.sendContentCommandEvent("pasteTransferable", trans);
|
||
|
|
||
|
point = doc.defaultView.getSelection().getRangeAt(0).startOffset;
|
||
|
ok(point>0, "Cursor should not be at editor start after paste");
|
||
|
SimpleTest.finish();
|
||
|
}
|
||
|
|
||
|
SimpleTest.waitForExplicitFinish();
|
||
|
]]>
|
||
|
</script>
|
||
|
</window>
|