blob: 2e4387ede3c5bf1e2f1fdc76a40a84d81fada85c [file] [log] [blame]
<!--
onconnect = function(e) {
var unexpected = [
// https://html.spec.whatwg.org/
"DedicatedWorkerGlobalScope",
"AbstractView",
"AbstractWorker",
"Location",
"Navigator",
"DOMImplementation",
"Audio",
"HTMLCanvasElement",
"Path",
"TextMetrics",
"CanvasProxy",
"CanvasRenderingContext2D",
"DrawingStyle",
"CanvasGradient",
"CanvasPattern",
"PopStateEvent",
"HashChangeEvent",
"PageTransitionEvent",
// https://streams.spec.whatwg.org/
"ReadableStreamDefaultReader",
"ReadableStreamBYOBReader",
"ReadableStreamDefaultController",
"ReadableByteStreamController",
"WritableStreamDefaultWriter",
"WritableStreamDefaultController",
// http://w3c.github.io/IndexedDB/
"IDBEnvironment",
// https://www.w3.org/TR/2010/NOTE-webdatabase-20101118/
"Database",
// https://w3c.github.io/uievents/
"UIEvent",
"FocusEvent",
"MouseEvent",
"WheelEvent",
"InputEvent",
"KeyboardEvent",
"CompositionEvent",
];
var result = [];
for (var i = 0; i < unexpected.length; ++i) {
result.push([unexpected[i], unexpected[i] in self]);
}
e.ports[0].postMessage(result);
}
/*
-->
<!doctype html>
<title>unavailable interface objects in shared worker</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id=log></div>
<script>
setup(function() {
window.worker = new SharedWorker('#');
worker.port.onmessage = function(e) {
var result = e.data;
for (var i = 0; i < result.length; ++i) {
test(function() {
assert_false(result[i][1]);
}, "The " + result[i][0] + " interface object should not be exposed");
}
done();
}
}, {explicit_done: true});
</script>
<!--
*/
//-->