Bug 570192 - Make sure that XUL textbox's constructor does not fail if we don't have a frame available; r,a=gavin

--HG--
extra : rebase_source : c5b6768df4a5286d85df39b45858f90ea376638c
This commit is contained in:
Ehsan Akhgari 2010-06-04 14:58:02 -04:00
Родитель c96c16ca50
Коммит f1b3c1e5f2
3 изменённых файлов: 59 добавлений и 1 удалений

Просмотреть файл

@ -69,6 +69,7 @@ _TEST_FILES = findbar_window.xul \
bug451540_window.xul \
test_bug451540.xul \
test_bug471776.xul \
test_bug570192.xul \
test_popup_preventdefault_chrome.xul \
window_popup_preventdefault_chrome.xul \
test_largemenu.xul \

Просмотреть файл

@ -0,0 +1,57 @@
<?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=570192
-->
<window title="Mozilla Bug 558406"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<title>Test for Bug 570192</title>
<script type="application/javascript"
src="chrome://mochikit/content/MochiKit/packed.js"></script>
<script type="application/javascript"
src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript"
src="chrome://mochikit/content/tests/SimpleTest/WindowSnapshot.js"></script>
<script type="application/javascript"
src="RegisterUnregisterChrome.js"></script>
<body xmlns="http://www.w3.org/1999/xhtml">
<a target="_blank"
href="https://bugzilla.mozilla.org/show_bug.cgi?id=570192">
Mozilla Bug 570192
</a>
<p id="display">
</p>
<div id="content" style="display: none">
</div>
<pre id="test">
</pre>
</body>
<script type="application/javascript">
<![CDATA[
addLoadEvent(function() {
try {
var content = document.getElementById("content");
content.innerHTML = '<textbox newlines="pasteintact" ' +
'xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"/>';
var textbox = content.firstChild;
ok(textbox, "created the textbox");
ok(!textbox.editor, "do we have an editor?");
} catch (e) {
ok(false, "Got an exception: " + e);
}
SimpleTest.finish();
});
SimpleTest.waitForExplicitFinish();
]]>
</script>
</window>

Просмотреть файл

@ -132,7 +132,7 @@
<method name="_setNewlineHandling">
<body><![CDATA[
var str = this.getAttribute("newlines");
if (str) {
if (str && this.editor) {
const nsIPlaintextEditor = Components.interfaces.nsIPlaintextEditor;
for (var x in nsIPlaintextEditor) {
if (/^eNewlines/.test(x)) {