mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Merge fx-team to m-c.
This commit is contained in:
commit
3f98932fa2
@ -1573,12 +1573,16 @@ ObjectActor.prototype = {
|
||||
} else if ("yield" in result) {
|
||||
getterValue = result.yield;
|
||||
}
|
||||
safeGetterValues[name] = {
|
||||
getterValue: this.threadActor.createValueGrip(getterValue),
|
||||
getterPrototypeLevel: level,
|
||||
enumerable: desc.enumerable,
|
||||
writable: level == 0 ? desc.writable : true,
|
||||
};
|
||||
// WebIDL attributes specified with the LenientThis extended attribute
|
||||
// return undefined and should be ignored.
|
||||
if (getterValue !== undefined) {
|
||||
safeGetterValues[name] = {
|
||||
getterValue: this.threadActor.createValueGrip(getterValue),
|
||||
getterPrototypeLevel: level,
|
||||
enumerable: desc.enumerable,
|
||||
writable: level == 0 ? desc.writable : true,
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -23,6 +23,7 @@ MOCHITEST_CHROME_FILES = \
|
||||
test_file_uri.html \
|
||||
test_bug819670_getter_throws.html \
|
||||
test_object_actor_native_getters.html \
|
||||
test_object_actor_native_getters_lenient_this.html \
|
||||
network_requests_iframe.html \
|
||||
data.json \
|
||||
data.json^headers^ \
|
||||
|
@ -0,0 +1,79 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf8">
|
||||
<title>Test that WebIDL attributes with the LenientThis extended attribute
|
||||
do not appear in the wrong objects</title>
|
||||
<script type="text/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
|
||||
<script type="text/javascript;version=1.8" src="common.js"></script>
|
||||
<!-- Any copyright is dedicated to the Public Domain.
|
||||
- http://creativecommons.org/publicdomain/zero/1.0/ -->
|
||||
</head>
|
||||
<body>
|
||||
<p>Test for the native getters in object actors</p>
|
||||
|
||||
<script class="testbody" type="text/javascript;version=1.8">
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
|
||||
function startTest()
|
||||
{
|
||||
removeEventListener("load", startTest);
|
||||
|
||||
attachConsole(["ConsoleAPI"], onAttach, true);
|
||||
}
|
||||
|
||||
function onAttach(aState, aResponse)
|
||||
{
|
||||
onConsoleCall = onConsoleCall.bind(null, aState);
|
||||
aState.dbgClient.addListener("consoleAPICall", onConsoleCall);
|
||||
|
||||
let docAsProto = Object.create(document);
|
||||
|
||||
top.console.log("hello", docAsProto);
|
||||
}
|
||||
|
||||
function onConsoleCall(aState, aType, aPacket)
|
||||
{
|
||||
is(aPacket.from, aState.actor, "console API call actor");
|
||||
|
||||
info("checking the console API call packet");
|
||||
|
||||
checkConsoleAPICall(aPacket.message, {
|
||||
level: "log",
|
||||
filename: /test_object_actor/,
|
||||
functionName: "onAttach",
|
||||
arguments: ["hello", {
|
||||
type: "object",
|
||||
actor: /[a-z]/,
|
||||
}],
|
||||
});
|
||||
|
||||
aState.dbgClient.removeListener("consoleAPICall", onConsoleCall);
|
||||
|
||||
info("inspecting object properties");
|
||||
let args = aPacket.message.arguments;
|
||||
onProperties = onProperties.bind(null, aState);
|
||||
|
||||
let client = new GripClient(aState.dbgClient, args[1]);
|
||||
client.getPrototypeAndProperties(onProperties);
|
||||
}
|
||||
|
||||
function onProperties(aState, aResponse)
|
||||
{
|
||||
let props = aResponse.ownProperties;
|
||||
let keys = Object.keys(props);
|
||||
info(keys.length + " ownProperties: " + keys);
|
||||
|
||||
is(keys.length, 0, "number of properties");
|
||||
keys = Object.keys(aResponse.safeGetterValues);
|
||||
is(keys.length, 0, "number of safe getters");
|
||||
|
||||
closeDebugger(aState, function() {
|
||||
SimpleTest.finish();
|
||||
});
|
||||
}
|
||||
|
||||
addEventListener("load", startTest);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue
Block a user