Bug 765780 part 1. Stop disallowing script and plug-ins in designMode documents. r=ehsan

This commit is contained in:
Boris Zbarsky 2013-04-08 17:04:19 -04:00
Родитель 1be828fd37
Коммит d10ba1ab30
3 изменённых файлов: 47 добавлений и 7 удалений

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

@ -2961,10 +2961,6 @@ nsHTMLDocument::EditingStateChanged()
result = agentSheets.AppendObject(sheet);
NS_ENSURE_TRUE(result, NS_ERROR_OUT_OF_MEMORY);
// Disable scripting and plugins.
rv = editSession->DisableJSAndPlugins(window);
NS_ENSURE_SUCCESS(rv, rv);
updateState = true;
spellRecheckAll = oldState == eContentEditable;
}
@ -2972,9 +2968,6 @@ nsHTMLDocument::EditingStateChanged()
// designMode is being turned off (contentEditable is still on).
RemoveFromAgentSheets(agentSheets, NS_LITERAL_STRING("resource://gre/res/designmode.css"));
rv = editSession->RestoreJSAndPlugins(window);
NS_ENSURE_SUCCESS(rv, rv);
updateState = true;
}

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

@ -74,6 +74,7 @@ MOCHITEST_FILES = test_bug1682.html \
test_bug741266.html \
test_non-ascii-cookie.html \
test_non-ascii-cookie.html^headers^ \
test_bug765780.html \
$(NULL)
MOCHITEST_BROWSER_FILES = \

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

@ -0,0 +1,46 @@
<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=765780
-->
<head>
<meta charset="utf-8">
<title>Test for Bug 765780</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<script type="application/javascript">
/** Test for Bug 765780 **/
SimpleTest.waitForExplicitFinish();
window.onload = function() {
var f = $("f");
var doc = f.contentDocument;
doc.designMode = "on";
var s = doc.createElement("script");
s.textContent = "parent.called = true;";
window.called = false;
doc.body.appendChild(s);
ok(called, "Script in designMode iframe should have run");
doc = doc.querySelector("iframe").contentDocument;
var s = doc.createElement("script");
s.textContent = "parent.parent.called = true;";
window.called = false;
doc.body.appendChild(s);
ok(called, "Script in designMode iframe's child should have run");
SimpleTest.finish();
}
</script>
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=765780">Mozilla Bug 765780</a>
<!-- Important: iframe needs to not be display: none -->
<p id="display"><iframe id="f" src="data:text/html,<iframe></iframe>"></iframe> </p>
<div id="content" style="display: none">
</div>
<pre id="test">
</pre>
</body>
</html>