Raw File
003.html
<!--
onconnect = function(e) {
  var expected = [
    // https://html.spec.whatwg.org/
    "ApplicationCache",
    "WorkerGlobalScope",
    "SharedWorkerGlobalScope",
    "Worker",
    "SharedWorker",
    "MessagePort",
    "MessageEvent",
    "WorkerNavigator",
    "MessageChannel",
    "WorkerLocation",
    "ImageData",
    "ImageBitmap",
    "CanvasGradient",
    "CanvasPattern",
    "CanvasPath",
    "Path2D",
    "PromiseRejectionEvent",
    "EventSource",
    "WebSocket",
    "CloseEvent",
    "BroadcastChannel",
    // https://tc39.github.io/ecma262/
    "ArrayBuffer",
    "Int8Array",
    "Uint8Array",
    "Uint8ClampedArray",
    "Int16Array",
    "Uint16Array",
    "Int32Array",
    "Uint32Array",
    "Float32Array",
    "Float64Array",
    "DataView",
    // https://xhr.spec.whatwg.org/
    "XMLHttpRequestEventTarget",
    "XMLHttpRequestUpload",
    "XMLHttpRequest",
    "ProgressEvent",
    "FormData",
    // https://url.spec.whatwg.org/
    "URL",
    "URLSearchParams",
    // https://w3c.github.io/FileAPI/
    "File",
    "Blob",
    "FileList",
    "FileReader",
    "FileReaderSync",
    // https://dom.spec.whatwg.org/
    "EventTarget",
    "ErrorEvent",
    "Event",
    "CustomEvent",
    // http://heycam.github.io/webidl/
    "DOMException",
    // https://streams.spec.whatwg.org/
    "ReadableStream",
    "WritableStream",
    "ByteLengthQueuingStrategy",
    "CountQueuingStrategy",
    // http://w3c.github.io/IndexedDB/
    "IDBRequest",
    "IDBOpenDBRequest",
    "IDBVersionChangeEvent",
    "IDBFactory",
    "IDBDatabase",
    "IDBObjectStore",
    "IDBIndex",
    "IDBKeyRange",
    "IDBCursor",
    "IDBCursorWithValue",
    "IDBTransaction",
  ];
  var result = [];
  for (var i = 0; i < expected.length; ++i) {
    result.push([expected[i], expected[i] in self]);
  }
  e.ports[0].postMessage(result);
}
/*
-->
<!doctype html>
<title>available 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_true(result[i][1]);
      }, "The " + result[i][0] + " interface object should be exposed");
    }
    done();
  }
}, {explicit_done: true});
</script>
<!--
*/
//-->

back to top