Change bindings generation to make Exposed annotation aware of members/partial interfaces

This commit is contained in:
sreeise 2019-05-28 03:23:47 -04:00
parent 2b84348372
commit 871239a3e3
25 changed files with 151 additions and 78 deletions

View file

@ -689238,7 +689238,7 @@
"testharness"
],
"xhr/abort-after-send.any.js": [
"41922c915a653ee96e949a3c8ce2aeeb4fd0630c",
"0ffd8877f87f9255668409c1fc9e973d006e6ae9",
"testharness"
],
"xhr/abort-after-stop.any.js": [

View file

@ -630,24 +630,6 @@
[WorkerNavigator interface: self.navigator must not have property "taintEnabled"]
expected: FAIL
[WorkerNavigator interface: self.navigator must not have property "vendor"]
expected: FAIL
[WorkerNavigator interface: self.navigator must not have property "vendorSub"]
expected: FAIL
[WorkerNavigator interface: self.navigator must not have property "productSub"]
expected: FAIL
[WorkerNavigator interface: member vendor]
expected: FAIL
[WorkerNavigator interface: member vendorSub]
expected: FAIL
[WorkerNavigator interface: member productSub]
expected: FAIL
[OffscreenCanvasRenderingContext2D interface: operation arc(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, boolean)]
expected: FAIL

View file

@ -30,24 +30,6 @@
[WorkerNavigator interface: attribute onLine]
expected: FAIL
[WorkerNavigator interface: member productSub]
expected: FAIL
[WorkerNavigator interface: member vendor]
expected: FAIL
[WorkerNavigator interface: member vendorSub]
expected: FAIL
[WorkerNavigator interface: self.navigator must not have property "productSub"]
expected: FAIL
[WorkerNavigator interface: self.navigator must not have property "vendor"]
expected: FAIL
[WorkerNavigator interface: self.navigator must not have property "vendorSub"]
expected: FAIL
[WorkerNavigator interface: self.navigator must inherit property "languages" with the proper type (7)]
expected: FAIL

View file

@ -12,9 +12,6 @@
[Resource timing seems to work in workers]
expected: FAIL
[performance.timing is not available in workers]
expected: FAIL
[performance.toJSON is available in workers]
expected: FAIL

View file

@ -18,12 +18,6 @@
[idlharness]
expected: FAIL
[XMLHttpRequest interface: new XMLHttpRequest() must not have property "responseXML"]
expected: FAIL
[XMLHttpRequest interface: member responseXML]
expected: FAIL
[Testing Symbol.iterator property of iterable interface FormData]
expected: FAIL

View file

@ -1,5 +0,0 @@
[responseXML-unavailable-in-worker.html]
type: testharness
[XMLHttpRequest's responseXML property should not be exposed in workers.]
expected: FAIL

View file

@ -9735,6 +9735,9 @@
"mozilla/webgl/tex_image_2d_simple_ref.html": [
[]
],
"mozilla/worker_member_test.js": [
[]
],
"mozilla/worklets/syntax_error.js": [
[]
],
@ -18895,7 +18898,7 @@
"testharness"
],
"mozilla/interface_member_exposed.html": [
"dd637cf92a894e4569e8fb0baf11eea6968033af",
"f408f9c3dae4b78b49bf77b5ad32c0d5ee406f7e",
"testharness"
],
"mozilla/interfaces.html": [
@ -19594,6 +19597,10 @@
"d5c75899eb546d7243d65b6f55e876c5008c6292",
"testharness"
],
"mozilla/worker_member_test.js": [
"abca5cd280ac07914cb21ee4968ac4d27e7feb68",
"support"
],
"mozilla/worklets/syntax_error.js": [
"4adade8939ce62eb5e83d73d4faf2261b264d809",
"support"

View file

@ -43,4 +43,22 @@ for (var i = 0; i < staticMembers.length; i++) {
test_member(name + 'Enabled', true, function(o) { return o; });
test_member(name + 'Disabled', false, function(o) { return o; });
}
members = [
'semiExposedBoolFromInterface',
'boolFromSemiExposedPartialInterface',
'semiExposedBoolFromPartialInterface',
];
for (const member of members) {
var interface = new TestBinding();
async_test(function(t) {
assert_true(member in interface);
assert_true(interface[member]);
let w = new Worker("worker_member_test.js?" + member);
w.onmessage = t.step_func(function(e) {
assert_equals(e.data, undefined);
t.done();
});
}, member);
}
</script>

View file

@ -0,0 +1,3 @@
let member = location.search.slice(1);
var binding = new TestBinding();
postMessage(binding[member]);

View file

@ -9,7 +9,9 @@
client.addEventListener("readystatechange", test.step_func(function() {
if(client.readyState == 4) {
control_flag = true
assert_equals(client.responseXML, null)
if (self.GLOBAL.isWindow()) {
assert_equals(client.responseXML, null)
}
assert_equals(client.responseText, "")
assert_equals(client.status, 0)
assert_equals(client.statusText, "")