mirror of
https://github.com/servo/servo.git
synced 2025-08-27 08:08:19 +01:00
Lazily define interface objects on globals (fixes #6419)
This commit is contained in:
parent
ca979e115b
commit
1559f5a39f
11 changed files with 178 additions and 18 deletions
|
@ -34494,7 +34494,16 @@
|
|||
},
|
||||
"local_changes": {
|
||||
"deleted": [],
|
||||
"items": {},
|
||||
"items": {
|
||||
"testharness": {
|
||||
"WebIDL/ecmascript-binding/interface-object.html": [
|
||||
{
|
||||
"path": "WebIDL/ecmascript-binding/interface-object.html",
|
||||
"url": "/WebIDL/ecmascript-binding/interface-object.html"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"reftest_nodes": {}
|
||||
},
|
||||
"reftest_nodes": {
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
<!doctype html>
|
||||
<meta charset="utf-8">
|
||||
<title>Interface objects</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script>
|
||||
test(function () {
|
||||
assert_equals(typeof window.Blob, "function")
|
||||
delete window.Blob;
|
||||
assert_equals(window.Blob, undefined);
|
||||
}, "An interface object deleted after it has been accessed is undefined");
|
||||
|
||||
test(function () {
|
||||
delete window.File;
|
||||
assert_equals(window.File, undefined);
|
||||
}, "An interface object deleted before it has been defined is undefined");
|
||||
|
||||
test(function () {
|
||||
delete window.ImageData;
|
||||
assert_equals(Object.getOwnPropertyDescriptor(window, "ImageData"), undefined);
|
||||
delete window.ImageData;
|
||||
assert_equals(Object.getOwnPropertyDescriptor(window, "ImageData"), undefined);
|
||||
}, "Interface objects deleted multiple times stay deleted");
|
||||
|
||||
test(function () {
|
||||
assert_equals(window["abc\udc88"], undefined);
|
||||
}, "Fancy property names don't break the resolve hook on Window");
|
||||
</script>
|
Loading…
Add table
Add a link
Reference in a new issue