mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 564330 - Throw an exception for real when an E4X object is passed to a variant through a quickstub. r=peterv
--HG-- extra : rebase_source : f3ac8865985737756006b6843a5bb455656c07ea
This commit is contained in:
parent
4fc2ef05d4
commit
323d7745be
@ -536,8 +536,10 @@ def writeArgumentUnboxing(f, i, name, type, haveCcx, optional, rvdeclared,
|
||||
template = (
|
||||
" nsCOMPtr<nsIVariant> ${name}(already_AddRefed<nsIVariant>("
|
||||
"XPCVariant::newVariant(ccx, ${argVal})));\n"
|
||||
" if (!${name})\n"
|
||||
" return JS_FALSE;\n")
|
||||
" if (!${name}) {\n"
|
||||
" xpc_qsThrowBadArgWithCcx(ccx, NS_ERROR_XPC_BAD_CONVERT_JS, %d);\n"
|
||||
" return JS_FALSE;\n"
|
||||
" }") % i
|
||||
f.write(substitute(template, params))
|
||||
return rvdeclared
|
||||
elif type.name == 'nsIAtom':
|
||||
|
@ -72,6 +72,7 @@ _TEST_FILES = bug500931_helper.html \
|
||||
test_bug517163.html \
|
||||
test_bug553407.html \
|
||||
test_bug560351.html \
|
||||
test_bug564330.html \
|
||||
test_cows.html \
|
||||
test_frameWrapping.html \
|
||||
$(NULL)
|
||||
|
38
js/src/xpconnect/tests/mochitest/test_bug564330.html
Normal file
38
js/src/xpconnect/tests/mochitest/test_bug564330.html
Normal file
@ -0,0 +1,38 @@
|
||||
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<!--
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=564330
|
||||
-->
|
||||
<head>
|
||||
<title>Test for Bug 560351</title>
|
||||
<script type="application/javascript" src="/MochiKit/packed.js"></script>
|
||||
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
||||
<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=564330">Mozilla Bug 564330</a>
|
||||
<p id="display"></p>
|
||||
<div id="content" style="display: none">
|
||||
|
||||
</div>
|
||||
<pre id="test">
|
||||
<script type="application/javascript">
|
||||
|
||||
/** Test for Bug 564330 **/
|
||||
var pass = false;
|
||||
try {
|
||||
document.createElement("span").setUserData("x", <y/>, null);
|
||||
} catch (e) {
|
||||
pass = true;
|
||||
}
|
||||
|
||||
</script>
|
||||
<script>
|
||||
|
||||
ok(pass, "pass was set to true");
|
||||
|
||||
</script>
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue
Block a user