diff options
Diffstat (limited to 'testing/web-platform/tests/workers/semantics/interface-objects/004.html')
-rw-r--r-- | testing/web-platform/tests/workers/semantics/interface-objects/004.html | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/testing/web-platform/tests/workers/semantics/interface-objects/004.html b/testing/web-platform/tests/workers/semantics/interface-objects/004.html new file mode 100644 index 000000000..2e4387ede --- /dev/null +++ b/testing/web-platform/tests/workers/semantics/interface-objects/004.html @@ -0,0 +1,73 @@ +<!-- +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> +<!-- +*/ +//--> + |