Resync idlharness web-platform-tests up to 94b33b573a069ae5170104ca581a354a35762536
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 4 Apr 2018 23:33:06 +0000 (23:33 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 4 Apr 2018 23:33:06 +0000 (23:33 +0000)
https://bugs.webkit.org/show_bug.cgi?id=184278

Patch by Brendan McLoughlin <brendan@bocoup.com> on 2018-04-04
Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

* web-platform-tests/FileAPI/idlharness-expected.txt:
* web-platform-tests/FileAPI/idlharness.html:
* web-platform-tests/FileAPI/idlharness.idl: Removed.
* web-platform-tests/FileAPI/idlharness.worker.js:
* web-platform-tests/IndexedDB/interfaces.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.worker-expected.txt.
* web-platform-tests/IndexedDB/interfaces.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.worker.html.
* web-platform-tests/IndexedDB/interfaces.any.js: Added.
* web-platform-tests/IndexedDB/interfaces.any.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.worker-expected.txt.
* web-platform-tests/IndexedDB/interfaces.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.worker.html.
* web-platform-tests/IndexedDB/interfaces.html: Removed.
* web-platform-tests/IndexedDB/interfaces.idl: Removed.
* web-platform-tests/IndexedDB/interfaces.worker.js: Removed.
* web-platform-tests/WebCryptoAPI/WebCryptoAPI.idl: Removed.
* web-platform-tests/WebCryptoAPI/idlharness.html: Removed.
* web-platform-tests/WebCryptoAPI/idlharness.https.html:
* web-platform-tests/WebCryptoAPI/idlharness.https.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.worker-expected.txt.
* web-platform-tests/WebCryptoAPI/idlharness.https.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.worker.html.
* web-platform-tests/WebCryptoAPI/idlharness.https.worker.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.worker.js.
* web-platform-tests/WebIDL/interfaces-expected.txt:
* web-platform-tests/XMLHttpRequest/interfaces-expected.txt:
* web-platform-tests/background-fetch/interfaces-expected.txt:
* web-platform-tests/background-fetch/interfaces.html:
* web-platform-tests/background-fetch/interfaces.idl: Removed.
* web-platform-tests/background-fetch/interfaces.worker.js:
(promise_test):
* web-platform-tests/css/geometry/interfaces-expected.txt:
* web-platform-tests/css/geometry/interfaces.html:
* web-platform-tests/css/geometry/interfaces.worker-expected.txt:
* web-platform-tests/css/geometry/support/interfaces.js:
(doTest):
* web-platform-tests/cssom-view/interfaces-expected.txt:
* web-platform-tests/cssom/interfaces-expected.txt:
* web-platform-tests/dom/interfaces-expected.txt:
* web-platform-tests/encoding/idlharness-expected.txt:
* web-platform-tests/encoding/idlharness.html:
* web-platform-tests/encrypted-media/EncryptedMediaExtensions.idl: Removed.
* web-platform-tests/encrypted-media/idlharness.https-expected.txt: Added.
* web-platform-tests/encrypted-media/idlharness.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/encrypted-media/idlharness.html.
* web-platform-tests/eventsource/interfaces-expected.txt:
* web-platform-tests/eventsource/interfaces.html:
* web-platform-tests/fetch/api/request/request-idl.html:
* web-platform-tests/fetch/api/response/response-idl.html:
* web-platform-tests/hr-time/idlharness-expected.txt:
* web-platform-tests/hr-time/idlharness.html:
* web-platform-tests/html/webappapis/animation-frames/idlharness-expected.txt:
* web-platform-tests/html/webappapis/animation-frames/idlharness.html:
* web-platform-tests/interfaces/encoding.idl: Added.
* web-platform-tests/mediacapture-streams/MediaDevices-IDL-all-expected.txt:
* web-platform-tests/mediacapture-streams/MediaDevices-IDL-enumerateDevices-expected.txt:
* web-platform-tests/notifications/interfaces-expected.txt:
* web-platform-tests/notifications/interfaces.html:
* web-platform-tests/payment-request/interfaces.https-expected.txt:
* web-platform-tests/payment-request/interfaces.https.html:
* web-platform-tests/resources/idlharness.js:
(self.IdlHarnessError):
(IdlHarnessError.prototype.toString):
(IdlArray.prototype.add_untested_idls):
(IdlArray.prototype.internal_add_idls):
(IdlArray.prototype.recursively_get_implements):
(IdlArray.prototype.recursively_get_includes):
(set exposed_in):
(IdlArray.prototype.assert_throws):
(IdlArray.prototype.test):
(IdlArray.prototype.assert_type_is):
(IdlInterface.prototype.test_self):
(IdlInterface.prototype.test_member_const):
(IdlInterface.prototype.test_to_json_operation):
(IdlInterface.prototype.test_object):
* web-platform-tests/service-workers/service-worker/interfaces-window.https-expected.txt:
* web-platform-tests/url/interfaces.any-expected.txt:
* web-platform-tests/url/interfaces.any.js:
(promise_test.async):
* web-platform-tests/url/interfaces.any.worker-expected.txt:
* web-platform-tests/webrtc/RTCPeerConnection-idl-expected.txt: Removed.
* web-platform-tests/webrtc/RTCPeerConnection-idl.html: Removed.
* web-platform-tests/webrtc/datachannel-idlharness-expected.txt: Removed.
* web-platform-tests/webrtc/datachannel-idlharness.html: Removed.
* web-platform-tests/webrtc/interfaces.https-expected.txt:
* web-platform-tests/webrtc/interfaces.https.html:

LayoutTests:

* TestExpectations:
* http/wpt/webauthn/idl.https.html:
* platform/ios/TestExpectations:
* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230285 268f45cc-cd09-0410-ab3c-d52691b4dbfc

68 files changed:
LayoutTests/ChangeLog
LayoutTests/TestExpectations
LayoutTests/http/wpt/webauthn/idl.https.html
LayoutTests/imported/w3c/ChangeLog
LayoutTests/imported/w3c/web-platform-tests/FileAPI/idlharness-expected.txt
LayoutTests/imported/w3c/web-platform-tests/FileAPI/idlharness.html
LayoutTests/imported/w3c/web-platform-tests/FileAPI/idlharness.idl [deleted file]
LayoutTests/imported/w3c/web-platform-tests/FileAPI/idlharness.worker.js
LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.any-expected.txt [moved from LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.worker-expected.txt with 85% similarity]
LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.any.html [moved from LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.worker.html with 100% similarity]
LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.any.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.any.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.any.worker.html [moved from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.worker.html with 100% similarity]
LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.html [deleted file]
LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.idl [deleted file]
LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.worker.js [deleted file]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/WebCryptoAPI.idl [deleted file]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.html [deleted file]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.https.html
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.https.worker-expected.txt [moved from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.worker-expected.txt with 100% similarity]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.https.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.https.worker.js [moved from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.worker.js with 91% similarity]
LayoutTests/imported/w3c/web-platform-tests/WebIDL/interfaces-expected.txt
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/interfaces-expected.txt
LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces-expected.txt
LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces.html
LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces.idl [deleted file]
LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces.worker.js
LayoutTests/imported/w3c/web-platform-tests/css/geometry/interfaces-expected.txt
LayoutTests/imported/w3c/web-platform-tests/css/geometry/interfaces.html
LayoutTests/imported/w3c/web-platform-tests/css/geometry/interfaces.worker-expected.txt
LayoutTests/imported/w3c/web-platform-tests/css/geometry/support/interfaces.js
LayoutTests/imported/w3c/web-platform-tests/cssom-view/interfaces-expected.txt
LayoutTests/imported/w3c/web-platform-tests/cssom/interfaces-expected.txt
LayoutTests/imported/w3c/web-platform-tests/dom/interfaces-expected.txt
LayoutTests/imported/w3c/web-platform-tests/encoding/idlharness-expected.txt
LayoutTests/imported/w3c/web-platform-tests/encoding/idlharness.html
LayoutTests/imported/w3c/web-platform-tests/encrypted-media/EncryptedMediaExtensions.idl [deleted file]
LayoutTests/imported/w3c/web-platform-tests/encrypted-media/idlharness.https-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/encrypted-media/idlharness.https.html [moved from LayoutTests/imported/w3c/web-platform-tests/encrypted-media/idlharness.html with 87% similarity]
LayoutTests/imported/w3c/web-platform-tests/eventsource/interfaces-expected.txt
LayoutTests/imported/w3c/web-platform-tests/eventsource/interfaces.html
LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-idl.html
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-idl.html
LayoutTests/imported/w3c/web-platform-tests/hr-time/idlharness-expected.txt
LayoutTests/imported/w3c/web-platform-tests/hr-time/idlharness.html
LayoutTests/imported/w3c/web-platform-tests/html/webappapis/animation-frames/idlharness-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/webappapis/animation-frames/idlharness.html
LayoutTests/imported/w3c/web-platform-tests/interfaces/encoding.idl [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/mediacapture-streams/MediaDevices-IDL-all-expected.txt
LayoutTests/imported/w3c/web-platform-tests/mediacapture-streams/MediaDevices-IDL-enumerateDevices-expected.txt
LayoutTests/imported/w3c/web-platform-tests/notifications/interfaces-expected.txt
LayoutTests/imported/w3c/web-platform-tests/notifications/interfaces.html
LayoutTests/imported/w3c/web-platform-tests/payment-request/interfaces.https-expected.txt
LayoutTests/imported/w3c/web-platform-tests/payment-request/interfaces.https.html
LayoutTests/imported/w3c/web-platform-tests/resources/idlharness.js
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/interfaces-window.https-expected.txt
LayoutTests/imported/w3c/web-platform-tests/url/interfaces.any-expected.txt
LayoutTests/imported/w3c/web-platform-tests/url/interfaces.any.js
LayoutTests/imported/w3c/web-platform-tests/url/interfaces.any.worker-expected.txt
LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-idl-expected.txt [deleted file]
LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-idl.html [deleted file]
LayoutTests/imported/w3c/web-platform-tests/webrtc/datachannel-idlharness-expected.txt [deleted file]
LayoutTests/imported/w3c/web-platform-tests/webrtc/datachannel-idlharness.html [deleted file]
LayoutTests/imported/w3c/web-platform-tests/webrtc/interfaces.https-expected.txt
LayoutTests/imported/w3c/web-platform-tests/webrtc/interfaces.https.html
LayoutTests/platform/ios/TestExpectations
LayoutTests/platform/mac/TestExpectations

index d2b0c1c..0ee0bcb 100644 (file)
@@ -1,3 +1,15 @@
+2018-04-04  Brendan McLoughlin  <brendan@bocoup.com>
+
+        Resync idlharness web-platform-tests up to 94b33b573a069ae5170104ca581a354a35762536
+        https://bugs.webkit.org/show_bug.cgi?id=184278
+
+        Reviewed by Youenn Fablet.
+
+        * TestExpectations:
+        * http/wpt/webauthn/idl.https.html:
+        * platform/ios/TestExpectations:
+        * platform/mac/TestExpectations:
+
 2018-04-04  Youenn Fablet  <youenn@apple.com>
 
         Add a test for HttpOnly cookies used to load AppCache resources
index 26a8246..e1f39a9 100644 (file)
@@ -1023,7 +1023,6 @@ media/session [ Skip ]
 
 webrtc/datachannel/multiple-connections.html [ Slow ]
 webkit.org/b/171094 imported/w3c/web-platform-tests/webrtc/rtcpeerconnection/rtcpeerconnection-idl.html [ Failure ]
-webkit.org/b/171930 imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-idl.html [ Failure ]
 webkit.org/b/172f21 imported/w3c/web-platform-tests/webrtc/getstats.html [ Failure ]
 imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-ontrack.https.html [ Skip ]
 
index abcc64c..9c2c7f3 100644 (file)
@@ -25,6 +25,8 @@ promise_test(async () => {
     const idlText = await fetch(idlURL).then(r => r.text());
 
     idlArray.add_untested_idls("interface ArrayBuffer {};");
+    idlArray.add_untested_idls("interface CredentialCreationOptions {};");
+    idlArray.add_untested_idls("interface CredentialRequestOptions {};");
 
     idlArray.add_idls(`
         [Exposed=Window, SecureContext]
index e36a2e4..1460675 100644 (file)
@@ -1,3 +1,90 @@
+2018-04-04  Brendan McLoughlin  <brendan@bocoup.com>
+
+        Resync idlharness web-platform-tests up to 94b33b573a069ae5170104ca581a354a35762536
+        https://bugs.webkit.org/show_bug.cgi?id=184278
+
+        Reviewed by Youenn Fablet.
+
+        * web-platform-tests/FileAPI/idlharness-expected.txt:
+        * web-platform-tests/FileAPI/idlharness.html:
+        * web-platform-tests/FileAPI/idlharness.idl: Removed.
+        * web-platform-tests/FileAPI/idlharness.worker.js:
+        * web-platform-tests/IndexedDB/interfaces.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.worker-expected.txt.
+        * web-platform-tests/IndexedDB/interfaces.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.worker.html.
+        * web-platform-tests/IndexedDB/interfaces.any.js: Added.
+        * web-platform-tests/IndexedDB/interfaces.any.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.worker-expected.txt.
+        * web-platform-tests/IndexedDB/interfaces.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.worker.html.
+        * web-platform-tests/IndexedDB/interfaces.html: Removed.
+        * web-platform-tests/IndexedDB/interfaces.idl: Removed.
+        * web-platform-tests/IndexedDB/interfaces.worker.js: Removed.
+        * web-platform-tests/WebCryptoAPI/WebCryptoAPI.idl: Removed.
+        * web-platform-tests/WebCryptoAPI/idlharness.html: Removed.
+        * web-platform-tests/WebCryptoAPI/idlharness.https.html:
+        * web-platform-tests/WebCryptoAPI/idlharness.https.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.worker-expected.txt.
+        * web-platform-tests/WebCryptoAPI/idlharness.https.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.worker.html.
+        * web-platform-tests/WebCryptoAPI/idlharness.https.worker.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.worker.js.
+        * web-platform-tests/WebIDL/interfaces-expected.txt:
+        * web-platform-tests/XMLHttpRequest/interfaces-expected.txt:
+        * web-platform-tests/background-fetch/interfaces-expected.txt:
+        * web-platform-tests/background-fetch/interfaces.html:
+        * web-platform-tests/background-fetch/interfaces.idl: Removed.
+        * web-platform-tests/background-fetch/interfaces.worker.js:
+        (promise_test):
+        * web-platform-tests/css/geometry/interfaces-expected.txt:
+        * web-platform-tests/css/geometry/interfaces.html:
+        * web-platform-tests/css/geometry/interfaces.worker-expected.txt:
+        * web-platform-tests/css/geometry/support/interfaces.js:
+        (doTest):
+        * web-platform-tests/cssom-view/interfaces-expected.txt:
+        * web-platform-tests/cssom/interfaces-expected.txt:
+        * web-platform-tests/dom/interfaces-expected.txt:
+        * web-platform-tests/encoding/idlharness-expected.txt:
+        * web-platform-tests/encoding/idlharness.html:
+        * web-platform-tests/encrypted-media/EncryptedMediaExtensions.idl: Removed.
+        * web-platform-tests/encrypted-media/idlharness.https-expected.txt: Added.
+        * web-platform-tests/encrypted-media/idlharness.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/encrypted-media/idlharness.html.
+        * web-platform-tests/eventsource/interfaces-expected.txt:
+        * web-platform-tests/eventsource/interfaces.html:
+        * web-platform-tests/fetch/api/request/request-idl.html:
+        * web-platform-tests/fetch/api/response/response-idl.html:
+        * web-platform-tests/hr-time/idlharness-expected.txt:
+        * web-platform-tests/hr-time/idlharness.html:
+        * web-platform-tests/html/webappapis/animation-frames/idlharness-expected.txt:
+        * web-platform-tests/html/webappapis/animation-frames/idlharness.html:
+        * web-platform-tests/interfaces/encoding.idl: Added.
+        * web-platform-tests/mediacapture-streams/MediaDevices-IDL-all-expected.txt:
+        * web-platform-tests/mediacapture-streams/MediaDevices-IDL-enumerateDevices-expected.txt:
+        * web-platform-tests/notifications/interfaces-expected.txt:
+        * web-platform-tests/notifications/interfaces.html:
+        * web-platform-tests/payment-request/interfaces.https-expected.txt:
+        * web-platform-tests/payment-request/interfaces.https.html:
+        * web-platform-tests/resources/idlharness.js:
+        (self.IdlHarnessError):
+        (IdlHarnessError.prototype.toString):
+        (IdlArray.prototype.add_untested_idls):
+        (IdlArray.prototype.internal_add_idls):
+        (IdlArray.prototype.recursively_get_implements):
+        (IdlArray.prototype.recursively_get_includes):
+        (set exposed_in):
+        (IdlArray.prototype.assert_throws):
+        (IdlArray.prototype.test):
+        (IdlArray.prototype.assert_type_is):
+        (IdlInterface.prototype.test_self):
+        (IdlInterface.prototype.test_member_const):
+        (IdlInterface.prototype.test_to_json_operation):
+        (IdlInterface.prototype.test_object):
+        * web-platform-tests/service-workers/service-worker/interfaces-window.https-expected.txt:
+        * web-platform-tests/url/interfaces.any-expected.txt:
+        * web-platform-tests/url/interfaces.any.js:
+        (promise_test.async):
+        * web-platform-tests/url/interfaces.any.worker-expected.txt:
+        * web-platform-tests/webrtc/RTCPeerConnection-idl-expected.txt: Removed.
+        * web-platform-tests/webrtc/RTCPeerConnection-idl.html: Removed.
+        * web-platform-tests/webrtc/datachannel-idlharness-expected.txt: Removed.
+        * web-platform-tests/webrtc/datachannel-idlharness.html: Removed.
+        * web-platform-tests/webrtc/interfaces.https-expected.txt:
+        * web-platform-tests/webrtc/interfaces.https.html:
+
 2018-04-04  Ms2ger  <Ms2ger@igalia.com>
 
         Test gardening for GTK.
index ed7ceb8..0add277 100644 (file)
@@ -1,4 +1,4 @@
-CONSOLE MESSAGE: line 309: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
 File API automated IDL tests
 
 
index b88a752..0cd604c 100644 (file)
@@ -25,13 +25,11 @@ setup(function() {
     var idl_array = new IdlArray();
 
     var request = new XMLHttpRequest();
-    request.open("GET", "idlharness.idl");
+    request.open("GET", "/interfaces/FileAPI.idl");
     request.send();
     request.onload = function() {
         var idls = request.responseText;
 
-        idl_array.add_untested_idls("[PrimaryGlobal] interface Window { };");
-
         idl_array.add_untested_idls("[Exposed=(Window,Worker)] interface ArrayBuffer {};");
         idl_array.add_untested_idls("interface URL {};");
         idl_array.add_untested_idls("[Exposed=(Window,Worker)] interface EventTarget {};");
diff --git a/LayoutTests/imported/w3c/web-platform-tests/FileAPI/idlharness.idl b/LayoutTests/imported/w3c/web-platform-tests/FileAPI/idlharness.idl
deleted file mode 100644 (file)
index 64aa0d6..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-// https://w3c.github.io/FileAPI/#idl-index
-
-[Constructor(optional sequence<BlobPart> blobParts, optional BlobPropertyBag options),
-Exposed=(Window,Worker)]
-interface Blob {
-
-  readonly attribute unsigned long long size;
-  readonly attribute DOMString type;
-
-  //slice Blob into byte-ranged chunks
-
-  Blob slice([Clamp] optional long long start,
-            [Clamp] optional long long end,
-            optional DOMString contentType);
-};
-
-dictionary BlobPropertyBag {
-  DOMString type = "";
-};
-
-typedef (BufferSource or Blob or USVString) BlobPart;
-
-[Constructor(sequence<BlobPart> fileBits,
-            [EnsureUTF16] DOMString fileName,
-            optional FilePropertyBag options),
-Exposed=(Window,Worker)]
-interface File : Blob {
-  readonly attribute DOMString name;
-  readonly attribute long long lastModified;
-};
-
-dictionary FilePropertyBag : BlobPropertyBag {
-  long long lastModified;
-};
-
-[Exposed=(Window,Worker)]
-interface FileList {
-  getter File? item(unsigned long index);
-  readonly attribute unsigned long length;
-};
-
-[Constructor, Exposed=(Window,Worker)]
-interface FileReader: EventTarget {
-
-  // async read methods
-  void readAsArrayBuffer(Blob blob);
-  void readAsBinaryString(Blob blob);
-  void readAsText(Blob blob, optional DOMString label);
-  void readAsDataURL(Blob blob);
-
-  void abort();
-
-  // states
-  const unsigned short EMPTY = 0;
-  const unsigned short LOADING = 1;
-  const unsigned short DONE = 2;
-
-
-  readonly attribute unsigned short readyState;
-
-  // File or Blob data
-  readonly attribute (DOMString or ArrayBuffer)? result;
-
-  readonly attribute DOMException? error;
-
-  // event handler content attributes
-  attribute EventHandler onloadstart;
-  attribute EventHandler onprogress;
-  attribute EventHandler onload;
-  attribute EventHandler onabort;
-  attribute EventHandler onerror;
-  attribute EventHandler onloadend;
-
-};
-
-[Constructor, Exposed=Worker]
-interface FileReaderSync {
-  // Synchronously return strings
-
-  ArrayBuffer readAsArrayBuffer(Blob blob);
-  DOMString readAsBinaryString(Blob blob);
-  DOMString readAsText(Blob blob, optional DOMString label);
-  DOMString readAsDataURL(Blob blob);
-};
-
-[Exposed=(Window,DedicatedWorker,SharedWorker)]
-partial interface URL {
-  static DOMString createObjectURL(Blob blob);
-  static void revokeObjectURL(DOMString url);
-};
index 138325b..fdf208d 100644 (file)
@@ -2,7 +2,7 @@ importScripts("/resources/testharness.js");
 importScripts("/resources/WebIDLParser.js", "/resources/idlharness.js");
 
 var request = new XMLHttpRequest();
-request.open("GET", "idlharness.idl");
+request.open("GET", "/interfaces/FileAPI.idl");
 request.send();
 request.onload = function() {
     var idl_array = new IdlArray();
@@ -1,7 +1,6 @@
+CONSOLE MESSAGE: line 331: callback not yet supported
 
-PASS Untitled 
-PASS WorkerGlobalScope interface: attribute indexedDB 
-PASS Unscopable handled correctly for indexedDB property on WorkerGlobalScope 
+PASS Test driver 
 PASS IDBRequest interface: existence and properties of interface object 
 PASS IDBRequest interface object length 
 PASS IDBRequest interface object name 
@@ -42,10 +41,10 @@ PASS IDBVersionChangeEvent interface: attribute oldVersion
 PASS Unscopable handled correctly for oldVersion property on IDBVersionChangeEvent 
 PASS IDBVersionChangeEvent interface: attribute newVersion 
 PASS Unscopable handled correctly for newVersion property on IDBVersionChangeEvent 
-PASS IDBVersionChangeEvent must be primary interface of new IDBVersionChangeEvent('foo') 
-PASS Stringification of new IDBVersionChangeEvent('foo') 
-PASS IDBVersionChangeEvent interface: new IDBVersionChangeEvent('foo') must inherit property "oldVersion" with the proper type 
-PASS IDBVersionChangeEvent interface: new IDBVersionChangeEvent('foo') must inherit property "newVersion" with the proper type 
+PASS IDBVersionChangeEvent must be primary interface of [object IDBVersionChangeEvent] 
+PASS Stringification of [object IDBVersionChangeEvent] 
+PASS IDBVersionChangeEvent interface: [object IDBVersionChangeEvent] must inherit property "oldVersion" with the proper type 
+PASS IDBVersionChangeEvent interface: [object IDBVersionChangeEvent] must inherit property "newVersion" with the proper type 
 PASS IDBFactory interface: existence and properties of interface object 
 PASS IDBFactory interface object length 
 PASS IDBFactory interface object name 
@@ -58,14 +57,14 @@ PASS IDBFactory interface: operation deleteDatabase(DOMString)
 PASS Unscopable handled correctly for deleteDatabase(DOMString) on IDBFactory 
 PASS IDBFactory interface: operation cmp(any, any) 
 PASS Unscopable handled correctly for cmp(any, any) on IDBFactory 
-PASS IDBFactory must be primary interface of self.indexedDB 
-PASS Stringification of self.indexedDB 
-PASS IDBFactory interface: self.indexedDB must inherit property "open(DOMString, unsigned long long)" with the proper type 
-PASS IDBFactory interface: calling open(DOMString, unsigned long long) on self.indexedDB with too few arguments must throw TypeError 
-PASS IDBFactory interface: self.indexedDB must inherit property "deleteDatabase(DOMString)" with the proper type 
-PASS IDBFactory interface: calling deleteDatabase(DOMString) on self.indexedDB with too few arguments must throw TypeError 
-PASS IDBFactory interface: self.indexedDB must inherit property "cmp(any, any)" with the proper type 
-PASS IDBFactory interface: calling cmp(any, any) on self.indexedDB with too few arguments must throw TypeError 
+PASS IDBFactory must be primary interface of [object IDBFactory] 
+PASS Stringification of [object IDBFactory] 
+PASS IDBFactory interface: [object IDBFactory] must inherit property "open(DOMString, unsigned long long)" with the proper type 
+PASS IDBFactory interface: calling open(DOMString, unsigned long long) on [object IDBFactory] with too few arguments must throw TypeError 
+PASS IDBFactory interface: [object IDBFactory] must inherit property "deleteDatabase(DOMString)" with the proper type 
+PASS IDBFactory interface: calling deleteDatabase(DOMString) on [object IDBFactory] with too few arguments must throw TypeError 
+PASS IDBFactory interface: [object IDBFactory] must inherit property "cmp(any, any)" with the proper type 
+PASS IDBFactory interface: calling cmp(any, any) on [object IDBFactory] with too few arguments must throw TypeError 
 PASS IDBDatabase interface: existence and properties of interface object 
 PASS IDBDatabase interface object length 
 PASS IDBDatabase interface object name 
@@ -192,22 +191,22 @@ PASS IDBKeyRange interface: operation bound(any, any, boolean, boolean)
 PASS Unscopable handled correctly for bound(any, any, boolean, boolean) on IDBKeyRange 
 PASS IDBKeyRange interface: operation includes(any) 
 PASS Unscopable handled correctly for includes(any) on IDBKeyRange 
-PASS IDBKeyRange must be primary interface of IDBKeyRange.only(0) 
-PASS Stringification of IDBKeyRange.only(0) 
-PASS IDBKeyRange interface: IDBKeyRange.only(0) must inherit property "lower" with the proper type 
-PASS IDBKeyRange interface: IDBKeyRange.only(0) must inherit property "upper" with the proper type 
-PASS IDBKeyRange interface: IDBKeyRange.only(0) must inherit property "lowerOpen" with the proper type 
-PASS IDBKeyRange interface: IDBKeyRange.only(0) must inherit property "upperOpen" with the proper type 
-PASS IDBKeyRange interface: IDBKeyRange.only(0) must inherit property "only(any)" with the proper type 
-PASS IDBKeyRange interface: calling only(any) on IDBKeyRange.only(0) with too few arguments must throw TypeError 
-PASS IDBKeyRange interface: IDBKeyRange.only(0) must inherit property "lowerBound(any, boolean)" with the proper type 
-PASS IDBKeyRange interface: calling lowerBound(any, boolean) on IDBKeyRange.only(0) with too few arguments must throw TypeError 
-PASS IDBKeyRange interface: IDBKeyRange.only(0) must inherit property "upperBound(any, boolean)" with the proper type 
-PASS IDBKeyRange interface: calling upperBound(any, boolean) on IDBKeyRange.only(0) with too few arguments must throw TypeError 
-PASS IDBKeyRange interface: IDBKeyRange.only(0) must inherit property "bound(any, any, boolean, boolean)" with the proper type 
-PASS IDBKeyRange interface: calling bound(any, any, boolean, boolean) on IDBKeyRange.only(0) with too few arguments must throw TypeError 
-PASS IDBKeyRange interface: IDBKeyRange.only(0) must inherit property "includes(any)" with the proper type 
-PASS IDBKeyRange interface: calling includes(any) on IDBKeyRange.only(0) with too few arguments must throw TypeError 
+PASS IDBKeyRange must be primary interface of [object IDBKeyRange] 
+PASS Stringification of [object IDBKeyRange] 
+PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "lower" with the proper type 
+PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "upper" with the proper type 
+PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "lowerOpen" with the proper type 
+PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "upperOpen" with the proper type 
+PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "only(any)" with the proper type 
+PASS IDBKeyRange interface: calling only(any) on [object IDBKeyRange] with too few arguments must throw TypeError 
+PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "lowerBound(any, boolean)" with the proper type 
+PASS IDBKeyRange interface: calling lowerBound(any, boolean) on [object IDBKeyRange] with too few arguments must throw TypeError 
+PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "upperBound(any, boolean)" with the proper type 
+PASS IDBKeyRange interface: calling upperBound(any, boolean) on [object IDBKeyRange] with too few arguments must throw TypeError 
+PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "bound(any, any, boolean, boolean)" with the proper type 
+PASS IDBKeyRange interface: calling bound(any, any, boolean, boolean) on [object IDBKeyRange] with too few arguments must throw TypeError 
+PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "includes(any)" with the proper type 
+PASS IDBKeyRange interface: calling includes(any) on [object IDBKeyRange] with too few arguments must throw TypeError 
 PASS IDBCursor interface: existence and properties of interface object 
 PASS IDBCursor interface object length 
 PASS IDBCursor interface object name 
diff --git a/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.any.js b/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.any.js
new file mode 100644 (file)
index 0000000..f1b2a99
--- /dev/null
@@ -0,0 +1,31 @@
+// META: script=/resources/WebIDLParser.js
+// META: script=/resources/idlharness.js
+
+promise_test(async t => {
+  const [html, dom, indexeddb] = await Promise.all([
+    '/interfaces/html.idl',
+    '/interfaces/dom.idl',
+    '/interfaces/IndexedDB.idl',
+  ].map(url => fetch(url).then(response => response.text())));
+
+  const idl_array = new IdlArray();
+  idl_array.add_untested_idls(html, { only: ['WindowOrWorkerGlobalScope'] });
+  idl_array.add_untested_idls(dom);
+  idl_array.add_idls(indexeddb);
+  idl_array.add_objects({
+    IDBCursor: [],
+    IDBCursorWithValue: [],
+    IDBDatabase: [],
+    IDBFactory: [self.indexedDB],
+    IDBIndex: [],
+    IDBKeyRange: [IDBKeyRange.only(0)],
+    IDBObjectStore: [],
+    IDBOpenDBRequest: [],
+    IDBRequest: [],
+    IDBTransaction: [],
+    IDBVersionChangeEvent: [new IDBVersionChangeEvent('')],
+    DOMStringList: [],
+  });
+
+  idl_array.test();
+}, 'Test driver');
diff --git a/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.any.worker-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.any.worker-expected.txt
new file mode 100644 (file)
index 0000000..3a37323
--- /dev/null
@@ -0,0 +1,290 @@
+
+PASS Test driver 
+PASS EventListener interface: existence and properties of interface object 
+PASS NodeList interface: existence and properties of interface object 
+PASS HTMLCollection interface: existence and properties of interface object 
+PASS MutationObserver interface: existence and properties of interface object 
+PASS MutationRecord interface: existence and properties of interface object 
+PASS Node interface: existence and properties of interface object 
+PASS Document interface: existence and properties of interface object 
+PASS XMLDocument interface: existence and properties of interface object 
+PASS DOMImplementation interface: existence and properties of interface object 
+PASS DocumentType interface: existence and properties of interface object 
+PASS DocumentFragment interface: existence and properties of interface object 
+PASS ShadowRoot interface: existence and properties of interface object 
+PASS Element interface: existence and properties of interface object 
+PASS NamedNodeMap interface: existence and properties of interface object 
+PASS Attr interface: existence and properties of interface object 
+PASS CharacterData interface: existence and properties of interface object 
+PASS Text interface: existence and properties of interface object 
+PASS CDATASection interface: existence and properties of interface object 
+PASS ProcessingInstruction interface: existence and properties of interface object 
+PASS Comment interface: existence and properties of interface object 
+PASS Range interface: existence and properties of interface object 
+PASS NodeIterator interface: existence and properties of interface object 
+PASS TreeWalker interface: existence and properties of interface object 
+PASS NodeFilter interface: existence and properties of interface object 
+PASS DOMTokenList interface: existence and properties of interface object 
+PASS IDBRequest interface: existence and properties of interface object 
+PASS IDBRequest interface object length 
+PASS IDBRequest interface object name 
+PASS IDBRequest interface: existence and properties of interface prototype object 
+PASS IDBRequest interface: existence and properties of interface prototype object's "constructor" property 
+PASS IDBRequest interface: existence and properties of interface prototype object's @@unscopables property 
+PASS IDBRequest interface: attribute result 
+PASS Unscopable handled correctly for result property on IDBRequest 
+PASS IDBRequest interface: attribute error 
+PASS Unscopable handled correctly for error property on IDBRequest 
+PASS IDBRequest interface: attribute source 
+PASS Unscopable handled correctly for source property on IDBRequest 
+PASS IDBRequest interface: attribute transaction 
+PASS Unscopable handled correctly for transaction property on IDBRequest 
+PASS IDBRequest interface: attribute readyState 
+PASS Unscopable handled correctly for readyState property on IDBRequest 
+PASS IDBRequest interface: attribute onsuccess 
+PASS Unscopable handled correctly for onsuccess property on IDBRequest 
+PASS IDBRequest interface: attribute onerror 
+PASS Unscopable handled correctly for onerror property on IDBRequest 
+PASS IDBOpenDBRequest interface: existence and properties of interface object 
+PASS IDBOpenDBRequest interface object length 
+PASS IDBOpenDBRequest interface object name 
+PASS IDBOpenDBRequest interface: existence and properties of interface prototype object 
+PASS IDBOpenDBRequest interface: existence and properties of interface prototype object's "constructor" property 
+PASS IDBOpenDBRequest interface: existence and properties of interface prototype object's @@unscopables property 
+PASS IDBOpenDBRequest interface: attribute onblocked 
+PASS Unscopable handled correctly for onblocked property on IDBOpenDBRequest 
+PASS IDBOpenDBRequest interface: attribute onupgradeneeded 
+PASS Unscopable handled correctly for onupgradeneeded property on IDBOpenDBRequest 
+PASS IDBVersionChangeEvent interface: existence and properties of interface object 
+PASS IDBVersionChangeEvent interface object length 
+PASS IDBVersionChangeEvent interface object name 
+PASS IDBVersionChangeEvent interface: existence and properties of interface prototype object 
+PASS IDBVersionChangeEvent interface: existence and properties of interface prototype object's "constructor" property 
+PASS IDBVersionChangeEvent interface: existence and properties of interface prototype object's @@unscopables property 
+PASS IDBVersionChangeEvent interface: attribute oldVersion 
+PASS Unscopable handled correctly for oldVersion property on IDBVersionChangeEvent 
+PASS IDBVersionChangeEvent interface: attribute newVersion 
+PASS Unscopable handled correctly for newVersion property on IDBVersionChangeEvent 
+PASS IDBVersionChangeEvent must be primary interface of [object IDBVersionChangeEvent] 
+PASS Stringification of [object IDBVersionChangeEvent] 
+PASS IDBVersionChangeEvent interface: [object IDBVersionChangeEvent] must inherit property "oldVersion" with the proper type 
+PASS IDBVersionChangeEvent interface: [object IDBVersionChangeEvent] must inherit property "newVersion" with the proper type 
+PASS IDBFactory interface: existence and properties of interface object 
+PASS IDBFactory interface object length 
+PASS IDBFactory interface object name 
+PASS IDBFactory interface: existence and properties of interface prototype object 
+PASS IDBFactory interface: existence and properties of interface prototype object's "constructor" property 
+PASS IDBFactory interface: existence and properties of interface prototype object's @@unscopables property 
+PASS IDBFactory interface: operation open(DOMString, unsigned long long) 
+PASS Unscopable handled correctly for open(DOMString, unsigned long long) on IDBFactory 
+PASS IDBFactory interface: operation deleteDatabase(DOMString) 
+PASS Unscopable handled correctly for deleteDatabase(DOMString) on IDBFactory 
+PASS IDBFactory interface: operation cmp(any, any) 
+PASS Unscopable handled correctly for cmp(any, any) on IDBFactory 
+PASS IDBFactory must be primary interface of [object IDBFactory] 
+PASS Stringification of [object IDBFactory] 
+PASS IDBFactory interface: [object IDBFactory] must inherit property "open(DOMString, unsigned long long)" with the proper type 
+PASS IDBFactory interface: calling open(DOMString, unsigned long long) on [object IDBFactory] with too few arguments must throw TypeError 
+PASS IDBFactory interface: [object IDBFactory] must inherit property "deleteDatabase(DOMString)" with the proper type 
+PASS IDBFactory interface: calling deleteDatabase(DOMString) on [object IDBFactory] with too few arguments must throw TypeError 
+PASS IDBFactory interface: [object IDBFactory] must inherit property "cmp(any, any)" with the proper type 
+PASS IDBFactory interface: calling cmp(any, any) on [object IDBFactory] with too few arguments must throw TypeError 
+PASS IDBDatabase interface: existence and properties of interface object 
+PASS IDBDatabase interface object length 
+PASS IDBDatabase interface object name 
+PASS IDBDatabase interface: existence and properties of interface prototype object 
+PASS IDBDatabase interface: existence and properties of interface prototype object's "constructor" property 
+PASS IDBDatabase interface: existence and properties of interface prototype object's @@unscopables property 
+PASS IDBDatabase interface: attribute name 
+PASS Unscopable handled correctly for name property on IDBDatabase 
+PASS IDBDatabase interface: attribute version 
+PASS Unscopable handled correctly for version property on IDBDatabase 
+PASS IDBDatabase interface: attribute objectStoreNames 
+PASS Unscopable handled correctly for objectStoreNames property on IDBDatabase 
+PASS IDBDatabase interface: operation transaction([object Object],[object Object], IDBTransactionMode) 
+PASS Unscopable handled correctly for transaction([object Object],[object Object], IDBTransactionMode) on IDBDatabase 
+PASS IDBDatabase interface: operation close() 
+PASS Unscopable handled correctly for close() on IDBDatabase 
+PASS IDBDatabase interface: operation createObjectStore(DOMString, IDBObjectStoreParameters) 
+PASS Unscopable handled correctly for createObjectStore(DOMString, IDBObjectStoreParameters) on IDBDatabase 
+PASS IDBDatabase interface: operation deleteObjectStore(DOMString) 
+PASS Unscopable handled correctly for deleteObjectStore(DOMString) on IDBDatabase 
+PASS IDBDatabase interface: attribute onabort 
+PASS Unscopable handled correctly for onabort property on IDBDatabase 
+PASS IDBDatabase interface: attribute onclose 
+PASS Unscopable handled correctly for onclose property on IDBDatabase 
+PASS IDBDatabase interface: attribute onerror 
+PASS Unscopable handled correctly for onerror property on IDBDatabase 
+PASS IDBDatabase interface: attribute onversionchange 
+PASS Unscopable handled correctly for onversionchange property on IDBDatabase 
+PASS IDBObjectStore interface: existence and properties of interface object 
+PASS IDBObjectStore interface object length 
+PASS IDBObjectStore interface object name 
+PASS IDBObjectStore interface: existence and properties of interface prototype object 
+PASS IDBObjectStore interface: existence and properties of interface prototype object's "constructor" property 
+PASS IDBObjectStore interface: existence and properties of interface prototype object's @@unscopables property 
+PASS IDBObjectStore interface: attribute name 
+PASS Unscopable handled correctly for name property on IDBObjectStore 
+PASS IDBObjectStore interface: attribute keyPath 
+PASS Unscopable handled correctly for keyPath property on IDBObjectStore 
+PASS IDBObjectStore interface: attribute indexNames 
+PASS Unscopable handled correctly for indexNames property on IDBObjectStore 
+PASS IDBObjectStore interface: attribute transaction 
+PASS Unscopable handled correctly for transaction property on IDBObjectStore 
+PASS IDBObjectStore interface: attribute autoIncrement 
+PASS Unscopable handled correctly for autoIncrement property on IDBObjectStore 
+PASS IDBObjectStore interface: operation put(any, any) 
+PASS Unscopable handled correctly for put(any, any) on IDBObjectStore 
+PASS IDBObjectStore interface: operation add(any, any) 
+PASS Unscopable handled correctly for add(any, any) on IDBObjectStore 
+PASS IDBObjectStore interface: operation delete(any) 
+PASS Unscopable handled correctly for delete(any) on IDBObjectStore 
+PASS IDBObjectStore interface: operation clear() 
+PASS Unscopable handled correctly for clear() on IDBObjectStore 
+PASS IDBObjectStore interface: operation get(any) 
+PASS Unscopable handled correctly for get(any) on IDBObjectStore 
+PASS IDBObjectStore interface: operation getKey(any) 
+PASS Unscopable handled correctly for getKey(any) on IDBObjectStore 
+PASS IDBObjectStore interface: operation getAll(any, unsigned long) 
+PASS Unscopable handled correctly for getAll(any, unsigned long) on IDBObjectStore 
+PASS IDBObjectStore interface: operation getAllKeys(any, unsigned long) 
+PASS Unscopable handled correctly for getAllKeys(any, unsigned long) on IDBObjectStore 
+PASS IDBObjectStore interface: operation count(any) 
+PASS Unscopable handled correctly for count(any) on IDBObjectStore 
+PASS IDBObjectStore interface: operation openCursor(any, IDBCursorDirection) 
+PASS Unscopable handled correctly for openCursor(any, IDBCursorDirection) on IDBObjectStore 
+PASS IDBObjectStore interface: operation openKeyCursor(any, IDBCursorDirection) 
+PASS Unscopable handled correctly for openKeyCursor(any, IDBCursorDirection) on IDBObjectStore 
+PASS IDBObjectStore interface: operation index(DOMString) 
+PASS Unscopable handled correctly for index(DOMString) on IDBObjectStore 
+PASS IDBObjectStore interface: operation createIndex(DOMString, [object Object],[object Object], IDBIndexParameters) 
+PASS Unscopable handled correctly for createIndex(DOMString, [object Object],[object Object], IDBIndexParameters) on IDBObjectStore 
+PASS IDBObjectStore interface: operation deleteIndex(DOMString) 
+PASS Unscopable handled correctly for deleteIndex(DOMString) on IDBObjectStore 
+PASS IDBIndex interface: existence and properties of interface object 
+PASS IDBIndex interface object length 
+PASS IDBIndex interface object name 
+PASS IDBIndex interface: existence and properties of interface prototype object 
+PASS IDBIndex interface: existence and properties of interface prototype object's "constructor" property 
+PASS IDBIndex interface: existence and properties of interface prototype object's @@unscopables property 
+PASS IDBIndex interface: attribute name 
+PASS Unscopable handled correctly for name property on IDBIndex 
+PASS IDBIndex interface: attribute objectStore 
+PASS Unscopable handled correctly for objectStore property on IDBIndex 
+PASS IDBIndex interface: attribute keyPath 
+PASS Unscopable handled correctly for keyPath property on IDBIndex 
+PASS IDBIndex interface: attribute multiEntry 
+PASS Unscopable handled correctly for multiEntry property on IDBIndex 
+PASS IDBIndex interface: attribute unique 
+PASS Unscopable handled correctly for unique property on IDBIndex 
+PASS IDBIndex interface: operation get(any) 
+PASS Unscopable handled correctly for get(any) on IDBIndex 
+PASS IDBIndex interface: operation getKey(any) 
+PASS Unscopable handled correctly for getKey(any) on IDBIndex 
+PASS IDBIndex interface: operation getAll(any, unsigned long) 
+PASS Unscopable handled correctly for getAll(any, unsigned long) on IDBIndex 
+PASS IDBIndex interface: operation getAllKeys(any, unsigned long) 
+PASS Unscopable handled correctly for getAllKeys(any, unsigned long) on IDBIndex 
+PASS IDBIndex interface: operation count(any) 
+PASS Unscopable handled correctly for count(any) on IDBIndex 
+PASS IDBIndex interface: operation openCursor(any, IDBCursorDirection) 
+PASS Unscopable handled correctly for openCursor(any, IDBCursorDirection) on IDBIndex 
+PASS IDBIndex interface: operation openKeyCursor(any, IDBCursorDirection) 
+PASS Unscopable handled correctly for openKeyCursor(any, IDBCursorDirection) on IDBIndex 
+PASS IDBKeyRange interface: existence and properties of interface object 
+PASS IDBKeyRange interface object length 
+PASS IDBKeyRange interface object name 
+PASS IDBKeyRange interface: existence and properties of interface prototype object 
+PASS IDBKeyRange interface: existence and properties of interface prototype object's "constructor" property 
+PASS IDBKeyRange interface: existence and properties of interface prototype object's @@unscopables property 
+PASS IDBKeyRange interface: attribute lower 
+PASS Unscopable handled correctly for lower property on IDBKeyRange 
+PASS IDBKeyRange interface: attribute upper 
+PASS Unscopable handled correctly for upper property on IDBKeyRange 
+PASS IDBKeyRange interface: attribute lowerOpen 
+PASS Unscopable handled correctly for lowerOpen property on IDBKeyRange 
+PASS IDBKeyRange interface: attribute upperOpen 
+PASS Unscopable handled correctly for upperOpen property on IDBKeyRange 
+PASS IDBKeyRange interface: operation only(any) 
+PASS Unscopable handled correctly for only(any) on IDBKeyRange 
+PASS IDBKeyRange interface: operation lowerBound(any, boolean) 
+PASS Unscopable handled correctly for lowerBound(any, boolean) on IDBKeyRange 
+PASS IDBKeyRange interface: operation upperBound(any, boolean) 
+PASS Unscopable handled correctly for upperBound(any, boolean) on IDBKeyRange 
+PASS IDBKeyRange interface: operation bound(any, any, boolean, boolean) 
+PASS Unscopable handled correctly for bound(any, any, boolean, boolean) on IDBKeyRange 
+PASS IDBKeyRange interface: operation includes(any) 
+PASS Unscopable handled correctly for includes(any) on IDBKeyRange 
+PASS IDBKeyRange must be primary interface of [object IDBKeyRange] 
+PASS Stringification of [object IDBKeyRange] 
+PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "lower" with the proper type 
+PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "upper" with the proper type 
+PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "lowerOpen" with the proper type 
+PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "upperOpen" with the proper type 
+PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "only(any)" with the proper type 
+PASS IDBKeyRange interface: calling only(any) on [object IDBKeyRange] with too few arguments must throw TypeError 
+PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "lowerBound(any, boolean)" with the proper type 
+PASS IDBKeyRange interface: calling lowerBound(any, boolean) on [object IDBKeyRange] with too few arguments must throw TypeError 
+PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "upperBound(any, boolean)" with the proper type 
+PASS IDBKeyRange interface: calling upperBound(any, boolean) on [object IDBKeyRange] with too few arguments must throw TypeError 
+PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "bound(any, any, boolean, boolean)" with the proper type 
+PASS IDBKeyRange interface: calling bound(any, any, boolean, boolean) on [object IDBKeyRange] with too few arguments must throw TypeError 
+PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "includes(any)" with the proper type 
+PASS IDBKeyRange interface: calling includes(any) on [object IDBKeyRange] with too few arguments must throw TypeError 
+PASS IDBCursor interface: existence and properties of interface object 
+PASS IDBCursor interface object length 
+PASS IDBCursor interface object name 
+PASS IDBCursor interface: existence and properties of interface prototype object 
+PASS IDBCursor interface: existence and properties of interface prototype object's "constructor" property 
+PASS IDBCursor interface: existence and properties of interface prototype object's @@unscopables property 
+PASS IDBCursor interface: attribute source 
+PASS Unscopable handled correctly for source property on IDBCursor 
+PASS IDBCursor interface: attribute direction 
+PASS Unscopable handled correctly for direction property on IDBCursor 
+PASS IDBCursor interface: attribute key 
+PASS Unscopable handled correctly for key property on IDBCursor 
+PASS IDBCursor interface: attribute primaryKey 
+PASS Unscopable handled correctly for primaryKey property on IDBCursor 
+PASS IDBCursor interface: operation advance(unsigned long) 
+PASS Unscopable handled correctly for advance(unsigned long) on IDBCursor 
+PASS IDBCursor interface: operation continue(any) 
+PASS Unscopable handled correctly for continue(any) on IDBCursor 
+PASS IDBCursor interface: operation continuePrimaryKey(any, any) 
+PASS Unscopable handled correctly for continuePrimaryKey(any, any) on IDBCursor 
+PASS IDBCursor interface: operation update(any) 
+PASS Unscopable handled correctly for update(any) on IDBCursor 
+PASS IDBCursor interface: operation delete() 
+PASS Unscopable handled correctly for delete() on IDBCursor 
+PASS IDBCursorWithValue interface: existence and properties of interface object 
+PASS IDBCursorWithValue interface object length 
+PASS IDBCursorWithValue interface object name 
+PASS IDBCursorWithValue interface: existence and properties of interface prototype object 
+PASS IDBCursorWithValue interface: existence and properties of interface prototype object's "constructor" property 
+PASS IDBCursorWithValue interface: existence and properties of interface prototype object's @@unscopables property 
+PASS IDBCursorWithValue interface: attribute value 
+PASS Unscopable handled correctly for value property on IDBCursorWithValue 
+PASS IDBTransaction interface: existence and properties of interface object 
+PASS IDBTransaction interface object length 
+PASS IDBTransaction interface object name 
+PASS IDBTransaction interface: existence and properties of interface prototype object 
+PASS IDBTransaction interface: existence and properties of interface prototype object's "constructor" property 
+PASS IDBTransaction interface: existence and properties of interface prototype object's @@unscopables property 
+PASS IDBTransaction interface: attribute objectStoreNames 
+PASS Unscopable handled correctly for objectStoreNames property on IDBTransaction 
+PASS IDBTransaction interface: attribute mode 
+PASS Unscopable handled correctly for mode property on IDBTransaction 
+PASS IDBTransaction interface: attribute db 
+PASS Unscopable handled correctly for db property on IDBTransaction 
+PASS IDBTransaction interface: attribute error 
+PASS Unscopable handled correctly for error property on IDBTransaction 
+PASS IDBTransaction interface: operation objectStore(DOMString) 
+PASS Unscopable handled correctly for objectStore(DOMString) on IDBTransaction 
+PASS IDBTransaction interface: operation abort() 
+PASS Unscopable handled correctly for abort() on IDBTransaction 
+PASS IDBTransaction interface: attribute onabort 
+PASS Unscopable handled correctly for onabort property on IDBTransaction 
+PASS IDBTransaction interface: attribute oncomplete 
+PASS Unscopable handled correctly for oncomplete property on IDBTransaction 
+PASS IDBTransaction interface: attribute onerror 
+PASS Unscopable handled correctly for onerror property on IDBTransaction 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.html b/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.html
deleted file mode 100644 (file)
index 6fb37f8..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-<!doctype html>
-<meta charset=utf-8>
-<title>IndexedDB IDL tests</title>
-<script src=/resources/testharness.js></script>
-<script src=/resources/testharnessreport.js></script>
-<script src=/resources/WebIDLParser.js></script>
-<script src=/resources/idlharness.js></script>
-
-<h1>IndexedDB IDL tests</h1>
-<div id=log></div>
-
-<script>
-"use strict";
-async_test(function(t) {
-  var request = new XMLHttpRequest();
-  request.open("GET", "interfaces.idl");
-  request.send();
-  request.onload = t.step_func(function() {
-    var idlArray = new IdlArray();
-    var idls = request.responseText;
-
-    // https://html.spec.whatwg.org/multipage/browsers.html#window
-    idlArray.add_untested_idls("[PrimaryGlobal] interface Window { };");
-
-    // https://html.spec.whatwg.org/multipage/webappapis.html#windoworworkerglobalscope-mixin
-    idlArray.add_untested_idls(`[NoInterfaceObject, Exposed=(Window,Worker)]
-                                interface WindowOrWorkerGlobalScope {};`);
-    idlArray.add_untested_idls("Window implements WindowOrWorkerGlobalScope;");
-
-    // https://dom.spec.whatwg.org/#interface-event
-    idlArray.add_untested_idls("[Exposed=(Window,Worker)] interface Event { };");
-
-    // https://dom.spec.whatwg.org/#interface-eventtarget
-    idlArray.add_untested_idls("[Exposed=(Window,Worker)] interface EventTarget { };");
-
-    // https://html.spec.whatwg.org/multipage/common-dom-interfaces.html#domstringlist
-    idlArray.add_untested_idls("[Exposed=(Window,Worker)] interface DOMStringList { };");
-
-    // From Indexed DB:
-    idlArray.add_idls(idls);
-
-    idlArray.add_objects({
-      IDBCursor: [],
-      IDBCursorWithValue: [],
-      IDBDatabase: [],
-      IDBFactory: ["window.indexedDB"],
-      IDBIndex: [],
-      IDBKeyRange: ["IDBKeyRange.only(0)"],
-      IDBObjectStore: [],
-      IDBOpenDBRequest: [],
-      IDBRequest: [],
-      IDBTransaction: [],
-      IDBVersionChangeEvent: ["new IDBVersionChangeEvent('foo')"],
-      DOMStringList: [],
-    });
-
-    idlArray.test();
-    t.done();
-  });
-});
-</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.idl b/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.idl
deleted file mode 100644 (file)
index 3c993c3..0000000
+++ /dev/null
@@ -1,203 +0,0 @@
-[Exposed=(Window,Worker)]
-interface IDBRequest : EventTarget {
-  readonly attribute any                                        result;
-  readonly attribute DOMException?                              error;
-  readonly attribute (IDBObjectStore or IDBIndex or IDBCursor)? source;
-  readonly attribute IDBTransaction?                            transaction;
-  readonly attribute IDBRequestReadyState                       readyState;
-
-  // Event handlers:
-  attribute EventHandler onsuccess;
-  attribute EventHandler onerror;
-};
-
-enum IDBRequestReadyState {
-  "pending",
-  "done"
-};
-
-[Exposed=(Window,Worker)]
-interface IDBOpenDBRequest : IDBRequest {
-  // Event handlers:
-  attribute EventHandler onblocked;
-  attribute EventHandler onupgradeneeded;
-};
-
-[Exposed=(Window,Worker),
- Constructor(DOMString type, optional IDBVersionChangeEventInit eventInitDict)]
-interface IDBVersionChangeEvent : Event {
-  readonly attribute unsigned long long  oldVersion;
-  readonly attribute unsigned long long? newVersion;
-};
-
-dictionary IDBVersionChangeEventInit : EventInit {
-  unsigned long long  oldVersion = 0;
-  unsigned long long? newVersion = null;
-};
-
-partial interface WindowOrWorkerGlobalScope {
-  [SameObject] readonly attribute IDBFactory indexedDB;
-};
-
-[Exposed=(Window,Worker)]
-interface IDBFactory {
-  IDBOpenDBRequest open(DOMString name,
-                        [EnforceRange] optional unsigned long long version);
-  IDBOpenDBRequest deleteDatabase(DOMString name);
-
-  short cmp(any first, any second);
-};
-
-[Exposed=(Window,Worker)]
-interface IDBDatabase : EventTarget {
-  readonly attribute DOMString          name;
-  readonly attribute unsigned long long version;
-  readonly attribute DOMStringList      objectStoreNames;
-
-  IDBTransaction transaction((DOMString or sequence<DOMString>) storeNames,
-                             optional IDBTransactionMode mode = "readonly");
-  void           close();
-
-  IDBObjectStore createObjectStore(DOMString name,
-                                   optional IDBObjectStoreParameters options);
-  void           deleteObjectStore(DOMString name);
-
-  // Event handlers:
-  attribute EventHandler onabort;
-  attribute EventHandler onclose;
-  attribute EventHandler onerror;
-  attribute EventHandler onversionchange;
-};
-
-dictionary IDBObjectStoreParameters {
-  (DOMString or sequence<DOMString>)? keyPath = null;
-  boolean                             autoIncrement = false;
-};
-
-[Exposed=(Window,Worker)]
-interface IDBObjectStore {
-           attribute DOMString      name;
-  readonly attribute any            keyPath;
-  readonly attribute DOMStringList  indexNames;
-  readonly attribute IDBTransaction transaction;
-  readonly attribute boolean        autoIncrement;
-
-  IDBRequest put(any value, optional any key);
-  IDBRequest add(any value, optional any key);
-  IDBRequest delete(any query);
-  IDBRequest clear();
-  IDBRequest get(any query);
-  IDBRequest getKey(any query);
-  IDBRequest getAll(optional any query,
-                    [EnforceRange] optional unsigned long count);
-  IDBRequest getAllKeys(optional any query,
-                        [EnforceRange] optional unsigned long count);
-  IDBRequest count(optional any query);
-
-  IDBRequest openCursor(optional any query,
-                        optional IDBCursorDirection direction = "next");
-  IDBRequest openKeyCursor(optional any query,
-                           optional IDBCursorDirection direction = "next");
-
-  IDBIndex   index(DOMString name);
-
-  IDBIndex   createIndex(DOMString name,
-                         (DOMString or sequence<DOMString>) keyPath,
-                         optional IDBIndexParameters options);
-  void       deleteIndex(DOMString indexName);
-};
-
-dictionary IDBIndexParameters {
-  boolean unique = false;
-  boolean multiEntry = false;
-};
-
-[Exposed=(Window,Worker)]
-interface IDBIndex {
-           attribute DOMString      name;
-  readonly attribute IDBObjectStore objectStore;
-  readonly attribute any            keyPath;
-  readonly attribute boolean        multiEntry;
-  readonly attribute boolean        unique;
-
-  IDBRequest get(any query);
-  IDBRequest getKey(any query);
-  IDBRequest getAll(optional any query,
-                    [EnforceRange] optional unsigned long count);
-  IDBRequest getAllKeys(optional any query,
-                        [EnforceRange] optional unsigned long count);
-  IDBRequest count(optional any query);
-
-  IDBRequest openCursor(optional any query,
-                        optional IDBCursorDirection direction = "next");
-  IDBRequest openKeyCursor(optional any query,
-                           optional IDBCursorDirection direction = "next");
-};
-
-[Exposed=(Window,Worker)]
-interface IDBKeyRange {
-  readonly attribute any     lower;
-  readonly attribute any     upper;
-  readonly attribute boolean lowerOpen;
-  readonly attribute boolean upperOpen;
-
-  // Static construction methods:
-  static IDBKeyRange only(any value);
-  static IDBKeyRange lowerBound(any lower, optional boolean open = false);
-  static IDBKeyRange upperBound(any upper, optional boolean open = false);
-  static IDBKeyRange bound(any lower,
-                           any upper,
-                           optional boolean lowerOpen = false,
-                           optional boolean upperOpen = false);
-
-  boolean includes(any key);
-};
-
-[Exposed=(Window,Worker)]
-interface IDBCursor {
-  readonly attribute (IDBObjectStore or IDBIndex) source;
-  readonly attribute IDBCursorDirection           direction;
-  readonly attribute any                          key;
-  readonly attribute any                          primaryKey;
-
-  void advance([EnforceRange] unsigned long count);
-  void continue(optional any key);
-  void continuePrimaryKey(any key, any primaryKey);
-
-  IDBRequest update(any value);
-  IDBRequest delete();
-};
-
-enum IDBCursorDirection {
-  "next",
-  "nextunique",
-  "prev",
-  "prevunique"
-};
-
-[Exposed=(Window,Worker)]
-interface IDBCursorWithValue : IDBCursor {
-  readonly attribute any value;
-};
-
-[Exposed=(Window,Worker)]
-interface IDBTransaction : EventTarget {
-  readonly attribute DOMStringList      objectStoreNames;
-  readonly attribute IDBTransactionMode mode;
-  readonly attribute IDBDatabase        db;
-  readonly attribute DOMException       error;
-
-  IDBObjectStore objectStore(DOMString name);
-  void           abort();
-
-  // Event handlers:
-  attribute EventHandler onabort;
-  attribute EventHandler oncomplete;
-  attribute EventHandler onerror;
-};
-
-enum IDBTransactionMode {
-  "readonly",
-  "readwrite",
-  "versionchange"
-};
diff --git a/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.worker.js b/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.worker.js
deleted file mode 100644 (file)
index 22aa386..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-"use strict";
-
-importScripts("/resources/testharness.js");
-importScripts("/resources/WebIDLParser.js", "/resources/idlharness.js");
-
-async_test(function(t) {
-  var request = new XMLHttpRequest();
-  request.open("GET", "interfaces.idl");
-  request.send();
-  request.onload = t.step_func(function() {
-    var idlArray = new IdlArray();
-    var idls = request.responseText;
-
-    // https://html.spec.whatwg.org/multipage/workers.html#workerglobalscope
-    idlArray.add_untested_idls("[Exposed=Worker] interface WorkerGlobalScope {};");
-
-    // https://html.spec.whatwg.org/multipage/webappapis.html#windoworworkerglobalscope-mixin
-    idlArray.add_untested_idls(`[NoInterfaceObject, Exposed=(Window,Worker)]
-                              interface WindowOrWorkerGlobalScope {};`);
-    idlArray.add_untested_idls("WorkerGlobalScope implements WindowOrWorkerGlobalScope;");
-
-    // https://dom.spec.whatwg.org/#interface-event
-    idlArray.add_untested_idls("[Exposed=(Window,Worker)] interface Event { };");
-
-    // https://dom.spec.whatwg.org/#interface-eventtarget
-    idlArray.add_untested_idls("[Exposed=(Window,Worker)] interface EventTarget { };");
-
-    // https://html.spec.whatwg.org/multipage/common-dom-interfaces.html#domstringlist
-    idlArray.add_untested_idls("[Exposed=(Window,Worker)] interface DOMStringList { };");
-
-    // From Indexed DB:
-    idlArray.add_idls(idls);
-
-    idlArray.add_objects({
-      IDBCursor: [],
-      IDBCursorWithValue: [],
-      IDBDatabase: [],
-      IDBFactory: ["self.indexedDB"],
-      IDBIndex: [],
-      IDBKeyRange: ["IDBKeyRange.only(0)"],
-      IDBObjectStore: [],
-      IDBOpenDBRequest: [],
-      IDBRequest: [],
-      IDBTransaction: [],
-      IDBVersionChangeEvent: ["new IDBVersionChangeEvent('foo')"],
-      DOMStringList: [],
-    });
-    idlArray.test();
-    t.done();
-  });
-});
-
-done();
diff --git a/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/WebCryptoAPI.idl b/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/WebCryptoAPI.idl
deleted file mode 100644 (file)
index 132c6d0..0000000
+++ /dev/null
@@ -1,277 +0,0 @@
-[NoInterfaceObject]
-interface GlobalCrypto {
-  readonly attribute Crypto crypto;
-};
-
-//Window implements GlobalCrypto;
-//WorkerGlobalScope implements GlobalCrypto;
-
-[Exposed=(Window,Worker)]
-interface Crypto {
-  readonly attribute SubtleCrypto subtle;
-  ArrayBufferView getRandomValues(ArrayBufferView array);
-};
-
-typedef (object or DOMString) AlgorithmIdentifier;
-
-typedef AlgorithmIdentifier HashAlgorithmIdentifier;
-
-dictionary Algorithm {
-  required DOMString name;
-};
-
-dictionary KeyAlgorithm {
-  required DOMString name;
-};
-
-enum KeyType { "public", "private", "secret" };
-
-enum KeyUsage { "encrypt", "decrypt", "sign", "verify", "deriveKey", "deriveBits", "wrapKey", "unwrapKey" };
-
-[Exposed=(Window,Worker)]
-interface CryptoKey {
-  readonly attribute KeyType type;
-  readonly attribute boolean extractable;
-  readonly attribute object algorithm;
-  readonly attribute object usages;
-};
-
-
-enum KeyFormat { "raw", "spki", "pkcs8", "jwk" };
-
-[Exposed=(Window,Worker)]
-interface SubtleCrypto {
-  Promise<any> encrypt(AlgorithmIdentifier algorithm,
-                       CryptoKey key,
-                       BufferSource data);
-  Promise<any> decrypt(AlgorithmIdentifier algorithm,
-                       CryptoKey key,
-                       BufferSource data);
-  Promise<any> sign(AlgorithmIdentifier algorithm,
-                    CryptoKey key,
-                    BufferSource data);
-  Promise<any> verify(AlgorithmIdentifier algorithm,
-                      CryptoKey key,
-                      BufferSource signature,
-                      BufferSource data);
-  Promise<any> digest(AlgorithmIdentifier algorithm,
-                      BufferSource data);
-
-  Promise<any> generateKey(AlgorithmIdentifier algorithm,
-                          boolean extractable,
-                          sequence<KeyUsage> keyUsages );
-  Promise<any> deriveKey(AlgorithmIdentifier algorithm,
-                         CryptoKey baseKey,
-                         AlgorithmIdentifier derivedKeyType,
-                         boolean extractable,
-                         sequence<KeyUsage> keyUsages );
-  Promise<any> deriveBits(AlgorithmIdentifier algorithm,
-                          CryptoKey baseKey,
-                          unsigned long length);
-
-  Promise<any> importKey(KeyFormat format,
-                         (BufferSource or JsonWebKey) keyData,
-                         AlgorithmIdentifier algorithm,
-                         boolean extractable,
-                         sequence<KeyUsage> keyUsages );
-  Promise<any> exportKey(KeyFormat format, CryptoKey key);
-
-  Promise<any> wrapKey(KeyFormat format,
-                       CryptoKey key,
-                       CryptoKey wrappingKey,
-                       AlgorithmIdentifier wrapAlgorithm);
-  Promise<any> unwrapKey(KeyFormat format,
-                         BufferSource wrappedKey,
-                         CryptoKey unwrappingKey,
-                         AlgorithmIdentifier unwrapAlgorithm,
-                         AlgorithmIdentifier unwrappedKeyAlgorithm,
-                         boolean extractable,
-                         sequence<KeyUsage> keyUsages );
-};
-
-dictionary RsaOtherPrimesInfo {
- // The following fields are defined in Section 6.3.2.7 of JSON Web Algorithms
-  DOMString r;
-  DOMString d;
-  DOMString t;
-};
-
-dictionary JsonWebKey {
-  // The following fields are defined in Section 3.1 of JSON Web Key
-  DOMString kty;
-  DOMString use;
-  sequence<DOMString> key_ops;
-  DOMString alg;
-
-  // The following fields are defined in JSON Web Key Parameters Registration
-  boolean ext;
-
-  // The following fields are defined in Section 6 of JSON Web Algorithms
-  DOMString crv;
-  DOMString x;
-  DOMString y;
-  DOMString d;
-  DOMString n;
-  DOMString e;
-  DOMString p;
-  DOMString q;
-  DOMString dp;
-  DOMString dq;
-  DOMString qi;
-  sequence<RsaOtherPrimesInfo> oth;
-  DOMString k;
-};
-
-typedef Uint8Array BigInteger;
-
-dictionary CryptoKeyPair {
-  CryptoKey publicKey;
-  CryptoKey privateKey;
-};
-
-dictionary RsaKeyGenParams : Algorithm {
-  // The length, in bits, of the RSA modulus
-  [EnforceRange] required unsigned long modulusLength;
-  // The RSA public exponent
-  required BigInteger publicExponent;
-};
-
-dictionary RsaHashedKeyGenParams : RsaKeyGenParams {
-  // The hash algorithm to use
-  required HashAlgorithmIdentifier hash;
-};
-
-dictionary RsaKeyAlgorithm : KeyAlgorithm {
-  // The length, in bits, of the RSA modulus
-  required unsigned long modulusLength;
-  // The RSA public exponent
-  required BigInteger publicExponent;
-};
-
-dictionary RsaHashedKeyAlgorithm : RsaKeyAlgorithm {
-  // The hash algorithm that is used with this key
-  required KeyAlgorithm hash;
-};
-
-dictionary RsaHashedImportParams {
-  // The hash algorithm to use
-  required HashAlgorithmIdentifier hash;
-};
-
-dictionary RsaPssParams : Algorithm {
-// The desired length of the random salt
-[EnforceRange] required unsigned long saltLength;
-};
-
-dictionary RsaOaepParams : Algorithm {
-// The optional label/application data to associate with the message
-BufferSource label;
-};
-
-dictionary EcdsaParams : Algorithm {
-// The hash algorithm to use
-required HashAlgorithmIdentifier hash;
-};
-
-typedef DOMString NamedCurve;
-
-dictionary EcKeyGenParams : Algorithm {
-// A named curve
-required NamedCurve namedCurve;
-};
-
-dictionary EcKeyAlgorithm : KeyAlgorithm {
-// The named curve that the key uses
-required NamedCurve namedCurve;
-};
-
-dictionary EcKeyImportParams : Algorithm {
-// A named curve
-required NamedCurve namedCurve;
-};
-
-dictionary EcdhKeyDeriveParams : Algorithm {
-// The peer's EC public key.
-required CryptoKey public;
-};
-
-dictionary AesCtrParams : Algorithm {
-// The initial value of the counter block. counter MUST be 16 bytes
-// (the AES block size). The counter bits are the rightmost length
-// bits of the counter block. The rest of the counter block is for
-// the nonce. The counter bits are incremented using the standard
-// incrementing function specified in NIST SP 800-38A Appendix B.1:
-// the counter bits are interpreted as a big-endian integer and
-// incremented by one.
-required BufferSource counter;
-// The length, in bits, of the rightmost part of the counter block
-// that is incremented.
-[EnforceRange] required octet length;
-};
-
-dictionary AesKeyAlgorithm : KeyAlgorithm {
-// The length, in bits, of the key.
-required unsigned short length;
-};
-
-dictionary AesKeyGenParams : Algorithm {
-// The length, in bits, of the key.
-[EnforceRange] required unsigned short length;
-};
-
-dictionary AesDerivedKeyParams : Algorithm {
-// The length, in bits, of the key.
-[EnforceRange] required unsigned short length;
-};
-
-dictionary AesCbcParams : Algorithm {
-// The initialization vector. MUST be 16 bytes.
-required BufferSource iv;
-};
-
-dictionary AesGcmParams : Algorithm {
-// The initialization vector to use. May be up to 2^64-1 bytes long.
-required BufferSource iv;
-// The additional authentication data to include.
-BufferSource additionalData;
-// The desired length of the authentication tag. May be 0 - 128.
-[EnforceRange] octet tagLength;
-};
-
-dictionary HmacImportParams : Algorithm {
-// The inner hash function to use.
-HashAlgorithmIdentifier hash;
-// The length (in bits) of the key.
-[EnforceRange] unsigned long length;
-};
-
-dictionary HmacKeyAlgorithm : KeyAlgorithm {
-// The inner hash function to use.
-required KeyAlgorithm hash;
-// The length (in bits) of the key.
-required unsigned long length;
-};
-
-dictionary HmacKeyGenParams : Algorithm {
-// The inner hash function to use.
-required HashAlgorithmIdentifier hash;
-// The length (in bits) of the key to generate. If unspecified, the
-// recommended length will be used, which is the size of the associated hash function's block
-// size.
-[EnforceRange] unsigned long length;
-};
-
-dictionary HkdfCtrParams : Algorithm {
-// The algorithm to use with HMAC (e.g.: SHA-256)
-required HashAlgorithmIdentifier hash;
-// A bit string that corresponds to the label that identifies the purpose for the derived keying material.
-required BufferSource label;
-// A bit string that corresponds to the context of the key derivation, as described in Section 5 of [NIST SP800-108]
-required BufferSource context;
-};
-
-dictionary Pbkdf2Params : Algorithm {
-required BufferSource salt;
-[EnforceRange] required unsigned long iterations;
-required HashAlgorithmIdentifier hash;
-};
diff --git a/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.html b/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.html
deleted file mode 100644 (file)
index 81e1e04..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-<!doctype html>
-<html>
-<head>
-<meta charset=utf-8>
-<title>IDL check of WebCrypto</title>
-<link rel="help" href="https://w3c.github.io/webcrypto/Overview.html#crypto-interface">
-
-<script src=/resources/testharness.js></script>
-<script src=/resources/testharnessreport.js></script>
-<script src=/resources/WebIDLParser.js></script>
-<script src=/resources/idlharness.js></script>
-</head>
-<body>
-
-<h1 class="instructions">Description</h1>
-
-<p class="instructions">This test verifies that the implementations of the WebCrypto API match with its WebIDL definition.</p>
-
-<div id='log'></div>
-
-<script>
-var file_input;
-setup(function() {
-    var idl_array = new IdlArray();
-
-    var request = new XMLHttpRequest();
-    request.open("GET", "WebCryptoAPI.idl");
-    request.send();
-    request.onload = function() {
-        var idls = request.responseText;
-
-        idl_array.add_untested_idls("[PrimaryGlobal] interface Window { };");
-
-        idl_array.add_untested_idls("interface ArrayBuffer {};");
-        idl_array.add_untested_idls("interface ArrayBufferView {};");
-
-        idl_array.add_idls(idls);
-
-        idl_array.add_objects({"Crypto":["crypto"], "SubtleCrypto":["crypto.subtle"]});
-
-        idl_array.test();
-        done();
-  };
-}, {explicit_done: true});
-</script>
index 81e1e04..c4fd0f3 100644 (file)
@@ -24,16 +24,11 @@ setup(function() {
     var idl_array = new IdlArray();
 
     var request = new XMLHttpRequest();
-    request.open("GET", "WebCryptoAPI.idl");
+    request.open("GET", "../interfaces/WebCryptoAPI.idl");
     request.send();
     request.onload = function() {
         var idls = request.responseText;
 
-        idl_array.add_untested_idls("[PrimaryGlobal] interface Window { };");
-
-        idl_array.add_untested_idls("interface ArrayBuffer {};");
-        idl_array.add_untested_idls("interface ArrayBufferView {};");
-
         idl_array.add_idls(idls);
 
         idl_array.add_objects({"Crypto":["crypto"], "SubtleCrypto":["crypto.subtle"]});
diff --git a/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.https.worker.html b/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.https.worker.html
new file mode 100644 (file)
index 0000000..2382913
--- /dev/null
@@ -0,0 +1 @@
+<!-- This file is required for WebKit test infrastructure to run the templated test -->
\ No newline at end of file
@@ -2,7 +2,7 @@ importScripts("/resources/testharness.js");
 importScripts("/resources/WebIDLParser.js", "/resources/idlharness.js");
 
 var request = new XMLHttpRequest();
-request.open("GET", "WebCryptoAPI.idl");
+request.open("GET", "../interfaces/WebCryptoAPI.idl");
 request.send();
 request.onload = function() {
     var idl_array = new IdlArray();
index 8712218..0a21590 100644 (file)
@@ -1,5 +1,5 @@
-CONSOLE MESSAGE: line 309: callback not yet supported
-CONSOLE MESSAGE: line 309: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
 
 PASS Test driver 
 PASS DOMException interface: existence and properties of interface object 
index a7754ed..ce1d969 100644 (file)
@@ -1,5 +1,5 @@
-CONSOLE MESSAGE: line 309: callback not yet supported
-CONSOLE MESSAGE: line 309: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
 XMLHttpRequest IDL tests
 
 
index 8f8377b..bf28b6a 100644 (file)
@@ -5,47 +5,68 @@ This test validates the WebIDL included in the Background Fetch API (Documents).
 
 PASS Exposed interfaces in a Document. 
 FAIL ServiceWorkerRegistration interface: attribute backgroundFetch assert_true: The prototype object must have a property "backgroundFetch" expected true got false
+PASS Unscopable handled correctly for backgroundFetch property on ServiceWorkerRegistration
 PASS ServiceWorkerGlobalScope interface: existence and properties of interface object 
 FAIL BackgroundFetchManager interface: existence and properties of interface object assert_own_property: self does not have own property "BackgroundFetchManager" expected property "BackgroundFetchManager" missing
 FAIL BackgroundFetchManager interface object length assert_own_property: self does not have own property "BackgroundFetchManager" expected property "BackgroundFetchManager" missing
 FAIL BackgroundFetchManager interface object name assert_own_property: self does not have own property "BackgroundFetchManager" expected property "BackgroundFetchManager" missing
 FAIL BackgroundFetchManager interface: existence and properties of interface prototype object assert_own_property: self does not have own property "BackgroundFetchManager" expected property "BackgroundFetchManager" missing
 FAIL BackgroundFetchManager interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "BackgroundFetchManager" expected property "BackgroundFetchManager" missing
+FAIL BackgroundFetchManager interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "BackgroundFetchManager" expected property "BackgroundFetchManager" missing
 FAIL BackgroundFetchManager interface: operation fetch(DOMString, [object Object],[object Object], BackgroundFetchOptions) assert_own_property: self does not have own property "BackgroundFetchManager" expected property "BackgroundFetchManager" missing
+PASS Unscopable handled correctly for fetch(DOMString, [object Object],[object Object], BackgroundFetchOptions) on BackgroundFetchManager
 FAIL BackgroundFetchManager interface: operation get(DOMString) assert_own_property: self does not have own property "BackgroundFetchManager" expected property "BackgroundFetchManager" missing
+PASS Unscopable handled correctly for get(DOMString) on BackgroundFetchManager
 FAIL BackgroundFetchManager interface: operation getIds() assert_own_property: self does not have own property "BackgroundFetchManager" expected property "BackgroundFetchManager" missing
+PASS Unscopable handled correctly for getIds() on BackgroundFetchManager
 FAIL BackgroundFetchRegistration interface: existence and properties of interface object assert_own_property: self does not have own property "BackgroundFetchRegistration" expected property "BackgroundFetchRegistration" missing
 FAIL BackgroundFetchRegistration interface object length assert_own_property: self does not have own property "BackgroundFetchRegistration" expected property "BackgroundFetchRegistration" missing
 FAIL BackgroundFetchRegistration interface object name assert_own_property: self does not have own property "BackgroundFetchRegistration" expected property "BackgroundFetchRegistration" missing
 FAIL BackgroundFetchRegistration interface: existence and properties of interface prototype object assert_own_property: self does not have own property "BackgroundFetchRegistration" expected property "BackgroundFetchRegistration" missing
 FAIL BackgroundFetchRegistration interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "BackgroundFetchRegistration" expected property "BackgroundFetchRegistration" missing
+FAIL BackgroundFetchRegistration interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "BackgroundFetchRegistration" expected property "BackgroundFetchRegistration" missing
 FAIL BackgroundFetchRegistration interface: attribute id assert_own_property: self does not have own property "BackgroundFetchRegistration" expected property "BackgroundFetchRegistration" missing
+PASS Unscopable handled correctly for id property on BackgroundFetchRegistration
 FAIL BackgroundFetchRegistration interface: attribute uploadTotal assert_own_property: self does not have own property "BackgroundFetchRegistration" expected property "BackgroundFetchRegistration" missing
+PASS Unscopable handled correctly for uploadTotal property on BackgroundFetchRegistration
 FAIL BackgroundFetchRegistration interface: attribute uploaded assert_own_property: self does not have own property "BackgroundFetchRegistration" expected property "BackgroundFetchRegistration" missing
+PASS Unscopable handled correctly for uploaded property on BackgroundFetchRegistration
 FAIL BackgroundFetchRegistration interface: attribute downloadTotal assert_own_property: self does not have own property "BackgroundFetchRegistration" expected property "BackgroundFetchRegistration" missing
+PASS Unscopable handled correctly for downloadTotal property on BackgroundFetchRegistration
 FAIL BackgroundFetchRegistration interface: attribute downloaded assert_own_property: self does not have own property "BackgroundFetchRegistration" expected property "BackgroundFetchRegistration" missing
+PASS Unscopable handled correctly for downloaded property on BackgroundFetchRegistration
 FAIL BackgroundFetchRegistration interface: attribute activeFetches assert_own_property: self does not have own property "BackgroundFetchRegistration" expected property "BackgroundFetchRegistration" missing
+PASS Unscopable handled correctly for activeFetches property on BackgroundFetchRegistration
 FAIL BackgroundFetchRegistration interface: attribute onprogress assert_own_property: self does not have own property "BackgroundFetchRegistration" expected property "BackgroundFetchRegistration" missing
+PASS Unscopable handled correctly for onprogress property on BackgroundFetchRegistration
 FAIL BackgroundFetchRegistration interface: operation abort() assert_own_property: self does not have own property "BackgroundFetchRegistration" expected property "BackgroundFetchRegistration" missing
+PASS Unscopable handled correctly for abort() on BackgroundFetchRegistration
 FAIL BackgroundFetchFetch interface: existence and properties of interface object assert_own_property: self does not have own property "BackgroundFetchFetch" expected property "BackgroundFetchFetch" missing
 FAIL BackgroundFetchFetch interface object length assert_own_property: self does not have own property "BackgroundFetchFetch" expected property "BackgroundFetchFetch" missing
 FAIL BackgroundFetchFetch interface object name assert_own_property: self does not have own property "BackgroundFetchFetch" expected property "BackgroundFetchFetch" missing
 FAIL BackgroundFetchFetch interface: existence and properties of interface prototype object assert_own_property: self does not have own property "BackgroundFetchFetch" expected property "BackgroundFetchFetch" missing
 FAIL BackgroundFetchFetch interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "BackgroundFetchFetch" expected property "BackgroundFetchFetch" missing
+FAIL BackgroundFetchFetch interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "BackgroundFetchFetch" expected property "BackgroundFetchFetch" missing
 FAIL BackgroundFetchFetch interface: attribute request assert_own_property: self does not have own property "BackgroundFetchFetch" expected property "BackgroundFetchFetch" missing
+PASS Unscopable handled correctly for request property on BackgroundFetchFetch
 FAIL BackgroundFetchActiveFetches interface: existence and properties of interface object assert_own_property: self does not have own property "BackgroundFetchActiveFetches" expected property "BackgroundFetchActiveFetches" missing
 FAIL BackgroundFetchActiveFetches interface object length assert_own_property: self does not have own property "BackgroundFetchActiveFetches" expected property "BackgroundFetchActiveFetches" missing
 FAIL BackgroundFetchActiveFetches interface object name assert_own_property: self does not have own property "BackgroundFetchActiveFetches" expected property "BackgroundFetchActiveFetches" missing
 FAIL BackgroundFetchActiveFetches interface: existence and properties of interface prototype object assert_own_property: self does not have own property "BackgroundFetchActiveFetches" expected property "BackgroundFetchActiveFetches" missing
 FAIL BackgroundFetchActiveFetches interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "BackgroundFetchActiveFetches" expected property "BackgroundFetchActiveFetches" missing
+FAIL BackgroundFetchActiveFetches interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "BackgroundFetchActiveFetches" expected property "BackgroundFetchActiveFetches" missing
 FAIL BackgroundFetchActiveFetches interface: operation match(RequestInfo) assert_own_property: self does not have own property "BackgroundFetchActiveFetches" expected property "BackgroundFetchActiveFetches" missing
+PASS Unscopable handled correctly for match(RequestInfo) on BackgroundFetchActiveFetches
 FAIL BackgroundFetchActiveFetches interface: operation values() assert_own_property: self does not have own property "BackgroundFetchActiveFetches" expected property "BackgroundFetchActiveFetches" missing
+PASS Unscopable handled correctly for values() on BackgroundFetchActiveFetches
 FAIL BackgroundFetchActiveFetch interface: existence and properties of interface object assert_own_property: self does not have own property "BackgroundFetchActiveFetch" expected property "BackgroundFetchActiveFetch" missing
 FAIL BackgroundFetchActiveFetch interface object length assert_own_property: self does not have own property "BackgroundFetchActiveFetch" expected property "BackgroundFetchActiveFetch" missing
 FAIL BackgroundFetchActiveFetch interface object name assert_own_property: self does not have own property "BackgroundFetchActiveFetch" expected property "BackgroundFetchActiveFetch" missing
 FAIL BackgroundFetchActiveFetch interface: existence and properties of interface prototype object assert_own_property: self does not have own property "BackgroundFetchActiveFetch" expected property "BackgroundFetchActiveFetch" missing
 FAIL BackgroundFetchActiveFetch interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "BackgroundFetchActiveFetch" expected property "BackgroundFetchActiveFetch" missing
+FAIL BackgroundFetchActiveFetch interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "BackgroundFetchActiveFetch" expected property "BackgroundFetchActiveFetch" missing
 FAIL BackgroundFetchActiveFetch interface: attribute responseReady assert_own_property: self does not have own property "BackgroundFetchActiveFetch" expected property "BackgroundFetchActiveFetch" missing
+PASS Unscopable handled correctly for responseReady property on BackgroundFetchActiveFetch
 PASS BackgroundFetchEvent interface: existence and properties of interface object 
 PASS BackgroundFetchSettledEvent interface: existence and properties of interface object 
 PASS BackgroundFetchSettledFetches interface: existence and properties of interface object 
index 0cd200f..f512e45 100644 (file)
@@ -13,7 +13,7 @@
 'use strict';
 
 promise_test(function() {
-  return fetch('interfaces.idl')
+  return fetch('/interfaces/background-fetch.idl')
     .then(response => response.text())
     .then(idls => {
       var idlArray = new IdlArray();
diff --git a/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces.idl b/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces.idl
deleted file mode 100644 (file)
index 77cdfff..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-// 4.1. Extensions to ServiceWorkerGlobalScope
-
-partial interface ServiceWorkerGlobalScope {
-  attribute EventHandler onbackgroundfetched;
-  attribute EventHandler onbackgroundfetchfail;
-  attribute EventHandler onbackgroundfetchabort;
-  attribute EventHandler onbackgroundfetchclick;
-};
-
-// 4.2. Extensions to ServiceWorkerRegistration
-
-partial interface ServiceWorkerRegistration {
-  readonly attribute BackgroundFetchManager backgroundFetch;
-};
-
-// 4.3. BackgroundFetchManager
-
-[Exposed=(Window,Worker)]
-interface BackgroundFetchManager {
-  Promise<BackgroundFetchRegistration> fetch(DOMString id, (RequestInfo or sequence<RequestInfo>) requests, optional BackgroundFetchOptions options);
-  Promise<BackgroundFetchRegistration?> get(DOMString id);
-  Promise<FrozenArray<DOMString>> getIds();
-  // TODO: in future this should become an async iterator for BackgroundFetchRegistration objects
-};
-
-dictionary BackgroundFetchOptions {
-  sequence<IconDefinition> icons;
-  DOMString title;
-  unsigned long long downloadTotal;
-};
-
-// This is taken from https://w3c.github.io/manifest/#icons-member.
-// This definition should probably be moved somewhere more general.
-dictionary IconDefinition {
-  DOMString src;
-  DOMString sizes;
-  DOMString type;
-};
-
-// 4.4. BackgroundFetchRegistration
-
-[Exposed=(Window,Worker)]
-interface BackgroundFetchRegistration : EventTarget {
-  readonly attribute DOMString id;
-  readonly attribute unsigned long long uploadTotal;
-  readonly attribute unsigned long long uploaded;
-  readonly attribute unsigned long long downloadTotal;
-  readonly attribute unsigned long long downloaded;
-  readonly attribute BackgroundFetchActiveFetches activeFetches;
-
-  attribute EventHandler onprogress;
-
-  Promise<boolean> abort();
-};
-
-[Exposed=(Window,Worker)]
-interface BackgroundFetchFetch {
-  readonly attribute Request request;
-};
-
-[Exposed=(Window,Worker)]
-interface BackgroundFetchActiveFetches {
-  Promise<BackgroundFetchActiveFetch> match(RequestInfo request);
-  Promise<FrozenArray<BackgroundFetchActiveFetch>> values();
-};
-
-[Exposed=(Window,Worker)]
-interface BackgroundFetchActiveFetch : BackgroundFetchFetch {
-  readonly attribute Promise<Response> responseReady;
-  // In future this will include a fetch observer
-};
-
-// 4.4.3. BackgroundFetchEvent
-
-[Constructor(DOMString type, BackgroundFetchEventInit init), Exposed=ServiceWorker]
-interface BackgroundFetchEvent : ExtendableEvent {
-  readonly attribute DOMString id;
-};
-
-dictionary BackgroundFetchEventInit : ExtendableEventInit {
-  required DOMString id;
-};
-
-// 4.4.4. BackgroundFetchSettledEvent
-
-[Constructor(DOMString type, BackgroundFetchSettledEventInit init), Exposed=ServiceWorker]
-interface BackgroundFetchSettledEvent : BackgroundFetchEvent {
-  readonly attribute BackgroundFetchSettledFetches fetches;
-};
-
-dictionary BackgroundFetchSettledEventInit : BackgroundFetchEventInit {
-  required BackgroundFetchSettledFetches fetches;
-};
-
-[Exposed=ServiceWorker]
-interface BackgroundFetchSettledFetches {
-  Promise<BackgroundFetchSettledFetch> match(RequestInfo request);
-  Promise<FrozenArray<BackgroundFetchSettledFetch>> values();
-};
-
-[Exposed=ServiceWorker]
-interface BackgroundFetchSettledFetch : BackgroundFetchFetch {
-  readonly attribute Response? response;
-};
-
-// 4.4.5. BackgroundFetchUpdateEvent
-
-[Constructor(DOMString type, BackgroundFetchSettledEventInit init), Exposed=ServiceWorker]
-interface BackgroundFetchUpdateEvent : BackgroundFetchSettledEvent {
-  Promise<void> updateUI(DOMString title);
-};
-
-// 4.4.6. BackgroundFetchClickEvent
-
-[Constructor(DOMString type, BackgroundFetchClickEventInit init), Exposed=ServiceWorker]
-interface BackgroundFetchClickEvent : BackgroundFetchEvent {
-  readonly attribute BackgroundFetchState state;
-};
-
-dictionary BackgroundFetchClickEventInit : BackgroundFetchEventInit {
-  required BackgroundFetchState state;
-};
-
-enum BackgroundFetchState { "pending", "succeeded", "failed" };
index a5fc4ed..89a7cb3 100644 (file)
@@ -4,7 +4,7 @@ importScripts('/resources/testharness.js');
 importScripts('/resources/WebIDLParser.js', '/resources/idlharness.js');
 
 promise_test(function() {
-  return fetch('interfaces.idl')
+  return fetch('/interfaces/background-fetch.idl')
     .then(response => response.text())
     .then(idls => {
       var idlArray = new IdlArray();
index 6029d3d..36ccef3 100644 (file)
@@ -1,4 +1,468 @@
-CONSOLE MESSAGE: line 7: TypeError: null is not an object (evaluating 'document.getElementById('log').getClientRects')
 
-FAIL Geometry APIs interface IDL tests TypeError: null is not an object (evaluating 'document.getElementById('log').getClientRects')
+PASS Test driver 
+PASS DOMPointReadOnly interface: existence and properties of interface object 
+PASS DOMPointReadOnly interface object length 
+PASS DOMPointReadOnly interface object name 
+PASS DOMPointReadOnly interface: existence and properties of interface prototype object 
+PASS DOMPointReadOnly interface: existence and properties of interface prototype object's "constructor" property 
+PASS DOMPointReadOnly interface: existence and properties of interface prototype object's @@unscopables property 
+PASS DOMPointReadOnly interface: operation fromPoint(DOMPointInit) 
+PASS Unscopable handled correctly for fromPoint(DOMPointInit) on DOMPointReadOnly 
+PASS DOMPointReadOnly interface: attribute x 
+PASS Unscopable handled correctly for x property on DOMPointReadOnly 
+PASS DOMPointReadOnly interface: attribute y 
+PASS Unscopable handled correctly for y property on DOMPointReadOnly 
+PASS DOMPointReadOnly interface: attribute z 
+PASS Unscopable handled correctly for z property on DOMPointReadOnly 
+PASS DOMPointReadOnly interface: attribute w 
+PASS Unscopable handled correctly for w property on DOMPointReadOnly 
+PASS DOMPointReadOnly interface: operation matrixTransform(DOMMatrixInit) 
+PASS Unscopable handled correctly for matrixTransform(DOMMatrixInit) on DOMPointReadOnly 
+PASS DOMPointReadOnly must be primary interface of new DOMPointReadOnly() 
+PASS Stringification of new DOMPointReadOnly() 
+PASS DOMPointReadOnly interface: new DOMPointReadOnly() must inherit property "fromPoint(DOMPointInit)" with the proper type 
+PASS DOMPointReadOnly interface: calling fromPoint(DOMPointInit) on new DOMPointReadOnly() with too few arguments must throw TypeError 
+PASS DOMPointReadOnly interface: new DOMPointReadOnly() must inherit property "x" with the proper type 
+PASS DOMPointReadOnly interface: new DOMPointReadOnly() must inherit property "y" with the proper type 
+PASS DOMPointReadOnly interface: new DOMPointReadOnly() must inherit property "z" with the proper type 
+PASS DOMPointReadOnly interface: new DOMPointReadOnly() must inherit property "w" with the proper type 
+PASS DOMPointReadOnly interface: new DOMPointReadOnly() must inherit property "matrixTransform(DOMMatrixInit)" with the proper type 
+PASS DOMPointReadOnly interface: calling matrixTransform(DOMMatrixInit) on new DOMPointReadOnly() with too few arguments must throw TypeError 
+PASS DOMPoint interface: existence and properties of interface object 
+PASS DOMPoint interface object length 
+PASS DOMPoint interface object name 
+FAIL DOMPoint interface: legacy window alias assert_equals: self.SVGPoint should be the same value as self.DOMPoint expected function "function DOMPoint() {
+    [native code]
+}" but got function "function SVGPoint() {
+    [native code]
+}"
+PASS DOMPoint interface: existence and properties of interface prototype object 
+PASS DOMPoint interface: existence and properties of interface prototype object's "constructor" property 
+PASS DOMPoint interface: existence and properties of interface prototype object's @@unscopables property 
+PASS DOMPoint interface: operation fromPoint(DOMPointInit) 
+PASS Unscopable handled correctly for fromPoint(DOMPointInit) on DOMPoint 
+PASS DOMPoint interface: attribute x 
+PASS Unscopable handled correctly for x property on DOMPoint 
+PASS DOMPoint interface: attribute y 
+PASS Unscopable handled correctly for y property on DOMPoint 
+PASS DOMPoint interface: attribute z 
+PASS Unscopable handled correctly for z property on DOMPoint 
+PASS DOMPoint interface: attribute w 
+PASS Unscopable handled correctly for w property on DOMPoint 
+PASS DOMPoint must be primary interface of new DOMPoint() 
+PASS Stringification of new DOMPoint() 
+PASS DOMPoint interface: new DOMPoint() must inherit property "fromPoint(DOMPointInit)" with the proper type 
+PASS DOMPoint interface: calling fromPoint(DOMPointInit) on new DOMPoint() with too few arguments must throw TypeError 
+PASS DOMPoint interface: new DOMPoint() must inherit property "x" with the proper type 
+PASS DOMPoint interface: new DOMPoint() must inherit property "y" with the proper type 
+PASS DOMPoint interface: new DOMPoint() must inherit property "z" with the proper type 
+PASS DOMPoint interface: new DOMPoint() must inherit property "w" with the proper type 
+PASS DOMPointReadOnly interface: new DOMPoint() must inherit property "fromPoint(DOMPointInit)" with the proper type 
+PASS DOMPointReadOnly interface: calling fromPoint(DOMPointInit) on new DOMPoint() with too few arguments must throw TypeError 
+PASS DOMPointReadOnly interface: new DOMPoint() must inherit property "x" with the proper type 
+PASS DOMPointReadOnly interface: new DOMPoint() must inherit property "y" with the proper type 
+PASS DOMPointReadOnly interface: new DOMPoint() must inherit property "z" with the proper type 
+PASS DOMPointReadOnly interface: new DOMPoint() must inherit property "w" with the proper type 
+PASS DOMPointReadOnly interface: new DOMPoint() must inherit property "matrixTransform(DOMMatrixInit)" with the proper type 
+PASS DOMPointReadOnly interface: calling matrixTransform(DOMMatrixInit) on new DOMPoint() with too few arguments must throw TypeError 
+PASS DOMRectReadOnly interface: existence and properties of interface object 
+PASS DOMRectReadOnly interface object length 
+PASS DOMRectReadOnly interface object name 
+PASS DOMRectReadOnly interface: existence and properties of interface prototype object 
+PASS DOMRectReadOnly interface: existence and properties of interface prototype object's "constructor" property 
+PASS DOMRectReadOnly interface: existence and properties of interface prototype object's @@unscopables property 
+PASS DOMRectReadOnly interface: operation fromRect(DOMRectInit) 
+PASS Unscopable handled correctly for fromRect(DOMRectInit) on DOMRectReadOnly 
+PASS DOMRectReadOnly interface: attribute x 
+PASS Unscopable handled correctly for x property on DOMRectReadOnly 
+PASS DOMRectReadOnly interface: attribute y 
+PASS Unscopable handled correctly for y property on DOMRectReadOnly 
+PASS DOMRectReadOnly interface: attribute width 
+PASS Unscopable handled correctly for width property on DOMRectReadOnly 
+PASS DOMRectReadOnly interface: attribute height 
+PASS Unscopable handled correctly for height property on DOMRectReadOnly 
+PASS DOMRectReadOnly interface: attribute top 
+PASS Unscopable handled correctly for top property on DOMRectReadOnly 
+PASS DOMRectReadOnly interface: attribute right 
+PASS Unscopable handled correctly for right property on DOMRectReadOnly 
+PASS DOMRectReadOnly interface: attribute bottom 
+PASS Unscopable handled correctly for bottom property on DOMRectReadOnly 
+PASS DOMRectReadOnly interface: attribute left 
+PASS Unscopable handled correctly for left property on DOMRectReadOnly 
+PASS DOMRectReadOnly must be primary interface of new DOMRectReadOnly() 
+PASS Stringification of new DOMRectReadOnly() 
+PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "fromRect(DOMRectInit)" with the proper type 
+PASS DOMRectReadOnly interface: calling fromRect(DOMRectInit) on new DOMRectReadOnly() with too few arguments must throw TypeError 
+PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "x" with the proper type 
+PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "y" with the proper type 
+PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "width" with the proper type 
+PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "height" with the proper type 
+PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "top" with the proper type 
+PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "right" with the proper type 
+PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "bottom" with the proper type 
+PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "left" with the proper type 
+PASS DOMRect interface: existence and properties of interface object 
+PASS DOMRect interface object length 
+PASS DOMRect interface object name 
+FAIL DOMRect interface: legacy window alias assert_equals: self.SVGRect should be the same value as self.DOMRect expected function "function DOMRect() {
+    [native code]
+}" but got function "function SVGRect() {
+    [native code]
+}"
+PASS DOMRect interface: existence and properties of interface prototype object 
+PASS DOMRect interface: existence and properties of interface prototype object's "constructor" property 
+PASS DOMRect interface: existence and properties of interface prototype object's @@unscopables property 
+PASS DOMRect interface: operation fromRect(DOMRectInit) 
+PASS Unscopable handled correctly for fromRect(DOMRectInit) on DOMRect 
+PASS DOMRect interface: attribute x 
+PASS Unscopable handled correctly for x property on DOMRect 
+PASS DOMRect interface: attribute y 
+PASS Unscopable handled correctly for y property on DOMRect 
+PASS DOMRect interface: attribute width 
+PASS Unscopable handled correctly for width property on DOMRect 
+PASS DOMRect interface: attribute height 
+PASS Unscopable handled correctly for height property on DOMRect 
+PASS DOMRect must be primary interface of new DOMRect() 
+PASS Stringification of new DOMRect() 
+PASS DOMRect interface: new DOMRect() must inherit property "fromRect(DOMRectInit)" with the proper type 
+PASS DOMRect interface: calling fromRect(DOMRectInit) on new DOMRect() with too few arguments must throw TypeError 
+PASS DOMRect interface: new DOMRect() must inherit property "x" with the proper type 
+PASS DOMRect interface: new DOMRect() must inherit property "y" with the proper type 
+PASS DOMRect interface: new DOMRect() must inherit property "width" with the proper type 
+PASS DOMRect interface: new DOMRect() must inherit property "height" with the proper type 
+PASS DOMRectReadOnly interface: new DOMRect() must inherit property "fromRect(DOMRectInit)" with the proper type 
+PASS DOMRectReadOnly interface: calling fromRect(DOMRectInit) on new DOMRect() with too few arguments must throw TypeError 
+PASS DOMRectReadOnly interface: new DOMRect() must inherit property "x" with the proper type 
+PASS DOMRectReadOnly interface: new DOMRect() must inherit property "y" with the proper type 
+PASS DOMRectReadOnly interface: new DOMRect() must inherit property "width" with the proper type 
+PASS DOMRectReadOnly interface: new DOMRect() must inherit property "height" with the proper type 
+PASS DOMRectReadOnly interface: new DOMRect() must inherit property "top" with the proper type 
+PASS DOMRectReadOnly interface: new DOMRect() must inherit property "right" with the proper type 
+PASS DOMRectReadOnly interface: new DOMRect() must inherit property "bottom" with the proper type 
+PASS DOMRectReadOnly interface: new DOMRect() must inherit property "left" with the proper type 
+PASS Stringification of [object DOMRectList] 
+PASS DOMRectList interface: [object DOMRectList] must inherit property "length" with the proper type 
+PASS DOMRectList interface: [object DOMRectList] must inherit property "item(unsigned long)" with the proper type 
+PASS DOMRectList interface: calling item(unsigned long) on [object DOMRectList] with too few arguments must throw TypeError 
+PASS DOMQuad interface: existence and properties of interface object 
+PASS DOMQuad interface object length 
+PASS DOMQuad interface object name 
+PASS DOMQuad interface: existence and properties of interface prototype object 
+PASS DOMQuad interface: existence and properties of interface prototype object's "constructor" property 
+PASS DOMQuad interface: existence and properties of interface prototype object's @@unscopables property 
+PASS DOMQuad interface: operation fromRect(DOMRectInit) 
+PASS Unscopable handled correctly for fromRect(DOMRectInit) on DOMQuad 
+PASS DOMQuad interface: operation fromQuad(DOMQuadInit) 
+PASS Unscopable handled correctly for fromQuad(DOMQuadInit) on DOMQuad 
+PASS DOMQuad interface: attribute p1 
+PASS Unscopable handled correctly for p1 property on DOMQuad 
+PASS DOMQuad interface: attribute p2 
+PASS Unscopable handled correctly for p2 property on DOMQuad 
+PASS DOMQuad interface: attribute p3 
+PASS Unscopable handled correctly for p3 property on DOMQuad 
+PASS DOMQuad interface: attribute p4 
+PASS Unscopable handled correctly for p4 property on DOMQuad 
+PASS DOMQuad interface: operation getBounds() 
+PASS Unscopable handled correctly for getBounds() on DOMQuad 
+PASS DOMQuad must be primary interface of new DOMQuad() 
+PASS Stringification of new DOMQuad() 
+PASS DOMQuad interface: new DOMQuad() must inherit property "fromRect(DOMRectInit)" with the proper type 
+PASS DOMQuad interface: calling fromRect(DOMRectInit) on new DOMQuad() with too few arguments must throw TypeError 
+PASS DOMQuad interface: new DOMQuad() must inherit property "fromQuad(DOMQuadInit)" with the proper type 
+PASS DOMQuad interface: calling fromQuad(DOMQuadInit) on new DOMQuad() with too few arguments must throw TypeError 
+PASS DOMQuad interface: new DOMQuad() must inherit property "p1" with the proper type 
+PASS DOMQuad interface: new DOMQuad() must inherit property "p2" with the proper type 
+PASS DOMQuad interface: new DOMQuad() must inherit property "p3" with the proper type 
+PASS DOMQuad interface: new DOMQuad() must inherit property "p4" with the proper type 
+PASS DOMQuad interface: new DOMQuad() must inherit property "getBounds()" with the proper type 
+PASS DOMMatrixReadOnly interface: existence and properties of interface object 
+PASS DOMMatrixReadOnly interface object length 
+PASS DOMMatrixReadOnly interface object name 
+PASS DOMMatrixReadOnly interface: existence and properties of interface prototype object 
+PASS DOMMatrixReadOnly interface: existence and properties of interface prototype object's "constructor" property 
+PASS DOMMatrixReadOnly interface: existence and properties of interface prototype object's @@unscopables property 
+PASS DOMMatrixReadOnly interface: operation fromMatrix(DOMMatrixInit) 
+PASS Unscopable handled correctly for fromMatrix(DOMMatrixInit) on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: operation fromFloat32Array(Float32Array) 
+PASS Unscopable handled correctly for fromFloat32Array(Float32Array) on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: operation fromFloat64Array(Float64Array) 
+PASS Unscopable handled correctly for fromFloat64Array(Float64Array) on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: attribute a 
+PASS Unscopable handled correctly for a property on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: attribute b 
+PASS Unscopable handled correctly for b property on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: attribute c 
+PASS Unscopable handled correctly for c property on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: attribute d 
+PASS Unscopable handled correctly for d property on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: attribute e 
+PASS Unscopable handled correctly for e property on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: attribute f 
+PASS Unscopable handled correctly for f property on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: attribute m11 
+PASS Unscopable handled correctly for m11 property on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: attribute m12 
+PASS Unscopable handled correctly for m12 property on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: attribute m13 
+PASS Unscopable handled correctly for m13 property on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: attribute m14 
+PASS Unscopable handled correctly for m14 property on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: attribute m21 
+PASS Unscopable handled correctly for m21 property on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: attribute m22 
+PASS Unscopable handled correctly for m22 property on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: attribute m23 
+PASS Unscopable handled correctly for m23 property on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: attribute m24 
+PASS Unscopable handled correctly for m24 property on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: attribute m31 
+PASS Unscopable handled correctly for m31 property on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: attribute m32 
+PASS Unscopable handled correctly for m32 property on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: attribute m33 
+PASS Unscopable handled correctly for m33 property on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: attribute m34 
+PASS Unscopable handled correctly for m34 property on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: attribute m41 
+PASS Unscopable handled correctly for m41 property on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: attribute m42 
+PASS Unscopable handled correctly for m42 property on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: attribute m43 
+PASS Unscopable handled correctly for m43 property on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: attribute m44 
+PASS Unscopable handled correctly for m44 property on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: attribute is2D 
+PASS Unscopable handled correctly for is2D property on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: attribute isIdentity 
+PASS Unscopable handled correctly for isIdentity property on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: operation translate(unrestricted double, unrestricted double, unrestricted double) 
+PASS Unscopable handled correctly for translate(unrestricted double, unrestricted double, unrestricted double) on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: operation scale(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) 
+PASS Unscopable handled correctly for scale(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: operation scale3d(unrestricted double, unrestricted double, unrestricted double, unrestricted double) 
+PASS Unscopable handled correctly for scale3d(unrestricted double, unrestricted double, unrestricted double, unrestricted double) on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: operation rotate(unrestricted double, unrestricted double, unrestricted double) 
+PASS Unscopable handled correctly for rotate(unrestricted double, unrestricted double, unrestricted double) on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: operation rotateFromVector(unrestricted double, unrestricted double) 
+PASS Unscopable handled correctly for rotateFromVector(unrestricted double, unrestricted double) on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: operation rotateAxisAngle(unrestricted double, unrestricted double, unrestricted double, unrestricted double) 
+PASS Unscopable handled correctly for rotateAxisAngle(unrestricted double, unrestricted double, unrestricted double, unrestricted double) on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: operation skewX(unrestricted double) 
+PASS Unscopable handled correctly for skewX(unrestricted double) on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: operation skewY(unrestricted double) 
+PASS Unscopable handled correctly for skewY(unrestricted double) on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: operation multiply(DOMMatrixInit) 
+PASS Unscopable handled correctly for multiply(DOMMatrixInit) on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: operation flipX() 
+PASS Unscopable handled correctly for flipX() on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: operation flipY() 
+PASS Unscopable handled correctly for flipY() on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: operation inverse() 
+PASS Unscopable handled correctly for inverse() on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: operation transformPoint(DOMPointInit) 
+PASS Unscopable handled correctly for transformPoint(DOMPointInit) on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: operation toFloat32Array() 
+PASS Unscopable handled correctly for toFloat32Array() on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: operation toFloat64Array() 
+PASS Unscopable handled correctly for toFloat64Array() on DOMMatrixReadOnly 
+PASS DOMMatrixReadOnly interface: stringifier 
+PASS DOMMatrixReadOnly must be primary interface of new DOMMatrixReadOnly() 
+PASS Stringification of new DOMMatrixReadOnly() 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "fromMatrix(DOMMatrixInit)" with the proper type 
+PASS DOMMatrixReadOnly interface: calling fromMatrix(DOMMatrixInit) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "fromFloat32Array(Float32Array)" with the proper type 
+PASS DOMMatrixReadOnly interface: calling fromFloat32Array(Float32Array) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "fromFloat64Array(Float64Array)" with the proper type 
+PASS DOMMatrixReadOnly interface: calling fromFloat64Array(Float64Array) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "a" with the proper type 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "b" with the proper type 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "c" with the proper type 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "d" with the proper type 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "e" with the proper type 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "f" with the proper type 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m11" with the proper type 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m12" with the proper type 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m13" with the proper type 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m14" with the proper type 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m21" with the proper type 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m22" with the proper type 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m23" with the proper type 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m24" with the proper type 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m31" with the proper type 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m32" with the proper type 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m33" with the proper type 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m34" with the proper type 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m41" with the proper type 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m42" with the proper type 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m43" with the proper type 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m44" with the proper type 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "is2D" with the proper type 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "isIdentity" with the proper type 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "translate(unrestricted double, unrestricted double, unrestricted double)" with the proper type 
+PASS DOMMatrixReadOnly interface: calling translate(unrestricted double, unrestricted double, unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "scale(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type 
+PASS DOMMatrixReadOnly interface: calling scale(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "scale3d(unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type 
+PASS DOMMatrixReadOnly interface: calling scale3d(unrestricted double, unrestricted double, unrestricted double, unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "rotate(unrestricted double, unrestricted double, unrestricted double)" with the proper type 
+PASS DOMMatrixReadOnly interface: calling rotate(unrestricted double, unrestricted double, unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "rotateFromVector(unrestricted double, unrestricted double)" with the proper type 
+PASS DOMMatrixReadOnly interface: calling rotateFromVector(unrestricted double, unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "rotateAxisAngle(unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type 
+PASS DOMMatrixReadOnly interface: calling rotateAxisAngle(unrestricted double, unrestricted double, unrestricted double, unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "skewX(unrestricted double)" with the proper type 
+PASS DOMMatrixReadOnly interface: calling skewX(unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "skewY(unrestricted double)" with the proper type 
+PASS DOMMatrixReadOnly interface: calling skewY(unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "multiply(DOMMatrixInit)" with the proper type 
+PASS DOMMatrixReadOnly interface: calling multiply(DOMMatrixInit) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "flipX()" with the proper type 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "flipY()" with the proper type 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "inverse()" with the proper type 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "transformPoint(DOMPointInit)" with the proper type 
+PASS DOMMatrixReadOnly interface: calling transformPoint(DOMPointInit) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "toFloat32Array()" with the proper type 
+PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "toFloat64Array()" with the proper type 
+PASS DOMMatrixReadOnly must be primary interface of DOMMatrixReadOnly.fromMatrix({is2D: false}) 
+PASS Stringification of DOMMatrixReadOnly.fromMatrix({is2D: false}) 
+PASS DOMMatrix interface: existence and properties of interface object 
+PASS DOMMatrix interface object length 
+PASS DOMMatrix interface object name 
+FAIL DOMMatrix interface: legacy window alias assert_equals: self.SVGMatrix should be the same value as self.DOMMatrix expected function "function DOMMatrix() {
+    [native code]
+}" but got function "function SVGMatrix() {
+    [native code]
+}"
+PASS DOMMatrix interface: existence and properties of interface prototype object 
+PASS DOMMatrix interface: existence and properties of interface prototype object's "constructor" property 
+PASS DOMMatrix interface: existence and properties of interface prototype object's @@unscopables property 
+PASS DOMMatrix interface: operation fromMatrix(DOMMatrixInit) 
+PASS Unscopable handled correctly for fromMatrix(DOMMatrixInit) on DOMMatrix 
+PASS DOMMatrix interface: operation fromFloat32Array(Float32Array) 
+PASS Unscopable handled correctly for fromFloat32Array(Float32Array) on DOMMatrix 
+PASS DOMMatrix interface: operation fromFloat64Array(Float64Array) 
+PASS Unscopable handled correctly for fromFloat64Array(Float64Array) on DOMMatrix 
+PASS DOMMatrix interface: attribute a 
+PASS Unscopable handled correctly for a property on DOMMatrix 
+PASS DOMMatrix interface: attribute b 
+PASS Unscopable handled correctly for b property on DOMMatrix 
+PASS DOMMatrix interface: attribute c 
+PASS Unscopable handled correctly for c property on DOMMatrix 
+PASS DOMMatrix interface: attribute d 
+PASS Unscopable handled correctly for d property on DOMMatrix 
+PASS DOMMatrix interface: attribute e 
+PASS Unscopable handled correctly for e property on DOMMatrix 
+PASS DOMMatrix interface: attribute f 
+PASS Unscopable handled correctly for f property on DOMMatrix 
+PASS DOMMatrix interface: attribute m11 
+PASS Unscopable handled correctly for m11 property on DOMMatrix 
+PASS DOMMatrix interface: attribute m12 
+PASS Unscopable handled correctly for m12 property on DOMMatrix 
+PASS DOMMatrix interface: attribute m13 
+PASS Unscopable handled correctly for m13 property on DOMMatrix 
+PASS DOMMatrix interface: attribute m14 
+PASS Unscopable handled correctly for m14 property on DOMMatrix 
+PASS DOMMatrix interface: attribute m21 
+PASS Unscopable handled correctly for m21 property on DOMMatrix 
+PASS DOMMatrix interface: attribute m22 
+PASS Unscopable handled correctly for m22 property on DOMMatrix 
+PASS DOMMatrix interface: attribute m23 
+PASS Unscopable handled correctly for m23 property on DOMMatrix 
+PASS DOMMatrix interface: attribute m24 
+PASS Unscopable handled correctly for m24 property on DOMMatrix 
+PASS DOMMatrix interface: attribute m31 
+PASS Unscopable handled correctly for m31 property on DOMMatrix 
+PASS DOMMatrix interface: attribute m32 
+PASS Unscopable handled correctly for m32 property on DOMMatrix 
+PASS DOMMatrix interface: attribute m33 
+PASS Unscopable handled correctly for m33 property on DOMMatrix 
+PASS DOMMatrix interface: attribute m34 
+PASS Unscopable handled correctly for m34 property on DOMMatrix 
+PASS DOMMatrix interface: attribute m41 
+PASS Unscopable handled correctly for m41 property on DOMMatrix 
+PASS DOMMatrix interface: attribute m42 
+PASS Unscopable handled correctly for m42 property on DOMMatrix 
+PASS DOMMatrix interface: attribute m43 
+PASS Unscopable handled correctly for m43 property on DOMMatrix 
+PASS DOMMatrix interface: attribute m44 
+PASS Unscopable handled correctly for m44 property on DOMMatrix 
+PASS DOMMatrix interface: operation multiplySelf(DOMMatrixInit) 
+PASS Unscopable handled correctly for multiplySelf(DOMMatrixInit) on DOMMatrix 
+PASS DOMMatrix interface: operation preMultiplySelf(DOMMatrixInit) 
+PASS Unscopable handled correctly for preMultiplySelf(DOMMatrixInit) on DOMMatrix 
+PASS DOMMatrix interface: operation translateSelf(unrestricted double, unrestricted double, unrestricted double) 
+PASS Unscopable handled correctly for translateSelf(unrestricted double, unrestricted double, unrestricted double) on DOMMatrix 
+PASS DOMMatrix interface: operation scaleSelf(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) 
+PASS Unscopable handled correctly for scaleSelf(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) on DOMMatrix 
+PASS DOMMatrix interface: operation scale3dSelf(unrestricted double, unrestricted double, unrestricted double, unrestricted double) 
+PASS Unscopable handled correctly for scale3dSelf(unrestricted double, unrestricted double, unrestricted double, unrestricted double) on DOMMatrix 
+PASS DOMMatrix interface: operation rotateSelf(unrestricted double, unrestricted double, unrestricted double) 
+PASS Unscopable handled correctly for rotateSelf(unrestricted double, unrestricted double, unrestricted double) on DOMMatrix 
+PASS DOMMatrix interface: operation rotateFromVectorSelf(unrestricted double, unrestricted double) 
+PASS Unscopable handled correctly for rotateFromVectorSelf(unrestricted double, unrestricted double) on DOMMatrix 
+PASS DOMMatrix interface: operation rotateAxisAngleSelf(unrestricted double, unrestricted double, unrestricted double, unrestricted double) 
+PASS Unscopable handled correctly for rotateAxisAngleSelf(unrestricted double, unrestricted double, unrestricted double, unrestricted double) on DOMMatrix 
+PASS DOMMatrix interface: operation skewXSelf(unrestricted double) 
+PASS Unscopable handled correctly for skewXSelf(unrestricted double) on DOMMatrix 
+PASS DOMMatrix interface: operation skewYSelf(unrestricted double) 
+PASS Unscopable handled correctly for skewYSelf(unrestricted double) on DOMMatrix 
+PASS DOMMatrix interface: operation invertSelf() 
+PASS Unscopable handled correctly for invertSelf() on DOMMatrix 
+PASS DOMMatrix interface: operation setMatrixValue(DOMString) 
+PASS Unscopable handled correctly for setMatrixValue(DOMString) on DOMMatrix 
+PASS DOMMatrix must be primary interface of new DOMMatrix() 
+PASS Stringification of new DOMMatrix() 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "fromMatrix(DOMMatrixInit)" with the proper type 
+PASS DOMMatrix interface: calling fromMatrix(DOMMatrixInit) on new DOMMatrix() with too few arguments must throw TypeError 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "fromFloat32Array(Float32Array)" with the proper type 
+PASS DOMMatrix interface: calling fromFloat32Array(Float32Array) on new DOMMatrix() with too few arguments must throw TypeError 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "fromFloat64Array(Float64Array)" with the proper type 
+PASS DOMMatrix interface: calling fromFloat64Array(Float64Array) on new DOMMatrix() with too few arguments must throw TypeError 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "a" with the proper type 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "b" with the proper type 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "c" with the proper type 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "d" with the proper type 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "e" with the proper type 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "f" with the proper type 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "m11" with the proper type 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "m12" with the proper type 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "m13" with the proper type 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "m14" with the proper type 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "m21" with the proper type 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "m22" with the proper type 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "m23" with the proper type 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "m24" with the proper type 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "m31" with the proper type 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "m32" with the proper type 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "m33" with the proper type 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "m34" with the proper type 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "m41" with the proper type 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "m42" with the proper type 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "m43" with the proper type 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "m44" with the proper type 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "multiplySelf(DOMMatrixInit)" with the proper type 
+PASS DOMMatrix interface: calling multiplySelf(DOMMatrixInit) on new DOMMatrix() with too few arguments must throw TypeError 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "preMultiplySelf(DOMMatrixInit)" with the proper type 
+PASS DOMMatrix interface: calling preMultiplySelf(DOMMatrixInit) on new DOMMatrix() with too few arguments must throw TypeError 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "translateSelf(unrestricted double, unrestricted double, unrestricted double)" with the proper type 
+PASS DOMMatrix interface: calling translateSelf(unrestricted double, unrestricted double, unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "scaleSelf(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type 
+PASS DOMMatrix interface: calling scaleSelf(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "scale3dSelf(unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type 
+PASS DOMMatrix interface: calling scale3dSelf(unrestricted double, unrestricted double, unrestricted double, unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "rotateSelf(unrestricted double, unrestricted double, unrestricted double)" with the proper type 
+PASS DOMMatrix interface: calling rotateSelf(unrestricted double, unrestricted double, unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "rotateFromVectorSelf(unrestricted double, unrestricted double)" with the proper type 
+PASS DOMMatrix interface: calling rotateFromVectorSelf(unrestricted double, unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "rotateAxisAngleSelf(unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type 
+PASS DOMMatrix interface: calling rotateAxisAngleSelf(unrestricted double, unrestricted double, unrestricted double, unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "skewXSelf(unrestricted double)" with the proper type 
+PASS DOMMatrix interface: calling skewXSelf(unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "skewYSelf(unrestricted double)" with the proper type 
+PASS DOMMatrix interface: calling skewYSelf(unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "invertSelf()" with the proper type 
+PASS DOMMatrix interface: new DOMMatrix() must inherit property "setMatrixValue(DOMString)" with the proper type 
+PASS DOMMatrix interface: calling setMatrixValue(DOMString) on new DOMMatrix() with too few arguments must throw TypeError 
+PASS DOMMatrix must be primary interface of DOMMatrix.fromMatrix({is2D: false}) 
+PASS Stringification of DOMMatrix.fromMatrix({is2D: false}) 
 
index 3e816fa..b120700 100644 (file)
@@ -9,4 +9,5 @@
 <script src=/resources/testharnessreport.js></script>
 <script src=/resources/WebIDLParser.js></script>
 <script src=/resources/idlharness.js></script>
+<div id=log></div>
 <script src=support/interfaces.js></script>
index 93f4821..a0fd733 100644 (file)
@@ -314,62 +314,6 @@ PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property
 PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must not have property "undefined" 
 PASS DOMMatrixReadOnly must be primary interface of DOMMatrixReadOnly.fromMatrix({is2D: false}) 
 PASS Stringification of DOMMatrixReadOnly.fromMatrix({is2D: false}) 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "fromMatrix(DOMMatrixInit)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling fromMatrix(DOMMatrixInit) on DOMMatrixReadOnly.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "fromFloat32Array(Float32Array)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling fromFloat32Array(Float32Array) on DOMMatrixReadOnly.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "fromFloat64Array(Float64Array)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling fromFloat64Array(Float64Array) on DOMMatrixReadOnly.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "a" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "b" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "c" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "d" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "e" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "f" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "m11" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "m12" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "m13" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "m14" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "m21" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "m22" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "m23" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "m24" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "m31" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "m32" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "m33" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "m34" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "m41" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "m42" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "m43" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "m44" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "is2D" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "isIdentity" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "translate(unrestricted double, unrestricted double, unrestricted double)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling translate(unrestricted double, unrestricted double, unrestricted double) on DOMMatrixReadOnly.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "scale(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling scale(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) on DOMMatrixReadOnly.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "scale3d(unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling scale3d(unrestricted double, unrestricted double, unrestricted double, unrestricted double) on DOMMatrixReadOnly.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "rotate(unrestricted double, unrestricted double, unrestricted double)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling rotate(unrestricted double, unrestricted double, unrestricted double) on DOMMatrixReadOnly.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "rotateFromVector(unrestricted double, unrestricted double)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling rotateFromVector(unrestricted double, unrestricted double) on DOMMatrixReadOnly.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "rotateAxisAngle(unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling rotateAxisAngle(unrestricted double, unrestricted double, unrestricted double, unrestricted double) on DOMMatrixReadOnly.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "skewX(unrestricted double)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling skewX(unrestricted double) on DOMMatrixReadOnly.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "skewY(unrestricted double)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling skewY(unrestricted double) on DOMMatrixReadOnly.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "multiply(DOMMatrixInit)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling multiply(DOMMatrixInit) on DOMMatrixReadOnly.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "flipX()" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "flipY()" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "inverse()" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "transformPoint(DOMPointInit)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling transformPoint(DOMPointInit) on DOMMatrixReadOnly.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "toFloat32Array()" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must inherit property "toFloat64Array()" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrixReadOnly.fromMatrix({is2D: false}) must not have property "undefined" 
 PASS DOMMatrix interface: existence and properties of interface object 
 PASS DOMMatrix interface object length 
 PASS DOMMatrix interface object name 
@@ -502,168 +446,6 @@ PASS DOMMatrix interface: new DOMMatrix() must inherit property "skewYSelf(unres
 PASS DOMMatrix interface: calling skewYSelf(unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
 PASS DOMMatrix interface: new DOMMatrix() must inherit property "invertSelf()" with the proper type 
 PASS DOMMatrix interface: new DOMMatrix() must not have property "setMatrixValue" 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "fromMatrix(DOMMatrixInit)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling fromMatrix(DOMMatrixInit) on new DOMMatrix() with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "fromFloat32Array(Float32Array)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling fromFloat32Array(Float32Array) on new DOMMatrix() with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "fromFloat64Array(Float64Array)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling fromFloat64Array(Float64Array) on new DOMMatrix() with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "a" with the proper type 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "b" with the proper type 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "c" with the proper type 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "d" with the proper type 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "e" with the proper type 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "f" with the proper type 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "m11" with the proper type 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "m12" with the proper type 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "m13" with the proper type 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "m14" with the proper type 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "m21" with the proper type 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "m22" with the proper type 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "m23" with the proper type 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "m24" with the proper type 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "m31" with the proper type 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "m32" with the proper type 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "m33" with the proper type 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "m34" with the proper type 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "m41" with the proper type 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "m42" with the proper type 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "m43" with the proper type 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "m44" with the proper type 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "is2D" with the proper type 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "isIdentity" with the proper type 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "translate(unrestricted double, unrestricted double, unrestricted double)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling translate(unrestricted double, unrestricted double, unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "scale(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling scale(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "scale3d(unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling scale3d(unrestricted double, unrestricted double, unrestricted double, unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "rotate(unrestricted double, unrestricted double, unrestricted double)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling rotate(unrestricted double, unrestricted double, unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "rotateFromVector(unrestricted double, unrestricted double)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling rotateFromVector(unrestricted double, unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "rotateAxisAngle(unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling rotateAxisAngle(unrestricted double, unrestricted double, unrestricted double, unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "skewX(unrestricted double)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling skewX(unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "skewY(unrestricted double)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling skewY(unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "multiply(DOMMatrixInit)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling multiply(DOMMatrixInit) on new DOMMatrix() with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "flipX()" with the proper type 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "flipY()" with the proper type 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "inverse()" with the proper type 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "transformPoint(DOMPointInit)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling transformPoint(DOMPointInit) on new DOMMatrix() with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "toFloat32Array()" with the proper type 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must inherit property "toFloat64Array()" with the proper type 
-PASS DOMMatrixReadOnly interface: new DOMMatrix() must not have property "undefined" 
 PASS DOMMatrix must be primary interface of DOMMatrix.fromMatrix({is2D: false}) 
 PASS Stringification of DOMMatrix.fromMatrix({is2D: false}) 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "fromMatrix(DOMMatrixInit)" with the proper type 
-PASS DOMMatrix interface: calling fromMatrix(DOMMatrixInit) on DOMMatrix.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "fromFloat32Array(Float32Array)" with the proper type 
-PASS DOMMatrix interface: calling fromFloat32Array(Float32Array) on DOMMatrix.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "fromFloat64Array(Float64Array)" with the proper type 
-PASS DOMMatrix interface: calling fromFloat64Array(Float64Array) on DOMMatrix.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "a" with the proper type 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "b" with the proper type 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "c" with the proper type 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "d" with the proper type 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "e" with the proper type 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "f" with the proper type 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "m11" with the proper type 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "m12" with the proper type 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "m13" with the proper type 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "m14" with the proper type 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "m21" with the proper type 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "m22" with the proper type 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "m23" with the proper type 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "m24" with the proper type 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "m31" with the proper type 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "m32" with the proper type 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "m33" with the proper type 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "m34" with the proper type 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "m41" with the proper type 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "m42" with the proper type 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "m43" with the proper type 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "m44" with the proper type 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "multiplySelf(DOMMatrixInit)" with the proper type 
-PASS DOMMatrix interface: calling multiplySelf(DOMMatrixInit) on DOMMatrix.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "preMultiplySelf(DOMMatrixInit)" with the proper type 
-PASS DOMMatrix interface: calling preMultiplySelf(DOMMatrixInit) on DOMMatrix.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "translateSelf(unrestricted double, unrestricted double, unrestricted double)" with the proper type 
-PASS DOMMatrix interface: calling translateSelf(unrestricted double, unrestricted double, unrestricted double) on DOMMatrix.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "scaleSelf(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type 
-PASS DOMMatrix interface: calling scaleSelf(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) on DOMMatrix.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "scale3dSelf(unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type 
-PASS DOMMatrix interface: calling scale3dSelf(unrestricted double, unrestricted double, unrestricted double, unrestricted double) on DOMMatrix.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "rotateSelf(unrestricted double, unrestricted double, unrestricted double)" with the proper type 
-PASS DOMMatrix interface: calling rotateSelf(unrestricted double, unrestricted double, unrestricted double) on DOMMatrix.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "rotateFromVectorSelf(unrestricted double, unrestricted double)" with the proper type 
-PASS DOMMatrix interface: calling rotateFromVectorSelf(unrestricted double, unrestricted double) on DOMMatrix.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "rotateAxisAngleSelf(unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type 
-PASS DOMMatrix interface: calling rotateAxisAngleSelf(unrestricted double, unrestricted double, unrestricted double, unrestricted double) on DOMMatrix.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "skewXSelf(unrestricted double)" with the proper type 
-PASS DOMMatrix interface: calling skewXSelf(unrestricted double) on DOMMatrix.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "skewYSelf(unrestricted double)" with the proper type 
-PASS DOMMatrix interface: calling skewYSelf(unrestricted double) on DOMMatrix.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "invertSelf()" with the proper type 
-PASS DOMMatrix interface: DOMMatrix.fromMatrix({is2D: false}) must not have property "setMatrixValue" 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "fromMatrix(DOMMatrixInit)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling fromMatrix(DOMMatrixInit) on DOMMatrix.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "fromFloat32Array(Float32Array)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling fromFloat32Array(Float32Array) on DOMMatrix.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "fromFloat64Array(Float64Array)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling fromFloat64Array(Float64Array) on DOMMatrix.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "a" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "b" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "c" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "d" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "e" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "f" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "m11" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "m12" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "m13" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "m14" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "m21" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "m22" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "m23" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "m24" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "m31" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "m32" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "m33" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "m34" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "m41" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "m42" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "m43" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "m44" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "is2D" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "isIdentity" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "translate(unrestricted double, unrestricted double, unrestricted double)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling translate(unrestricted double, unrestricted double, unrestricted double) on DOMMatrix.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "scale(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling scale(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) on DOMMatrix.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "scale3d(unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling scale3d(unrestricted double, unrestricted double, unrestricted double, unrestricted double) on DOMMatrix.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "rotate(unrestricted double, unrestricted double, unrestricted double)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling rotate(unrestricted double, unrestricted double, unrestricted double) on DOMMatrix.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "rotateFromVector(unrestricted double, unrestricted double)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling rotateFromVector(unrestricted double, unrestricted double) on DOMMatrix.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "rotateAxisAngle(unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling rotateAxisAngle(unrestricted double, unrestricted double, unrestricted double, unrestricted double) on DOMMatrix.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "skewX(unrestricted double)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling skewX(unrestricted double) on DOMMatrix.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "skewY(unrestricted double)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling skewY(unrestricted double) on DOMMatrix.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "multiply(DOMMatrixInit)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling multiply(DOMMatrixInit) on DOMMatrix.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "flipX()" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "flipY()" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "inverse()" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "transformPoint(DOMPointInit)" with the proper type 
-PASS DOMMatrixReadOnly interface: calling transformPoint(DOMPointInit) on DOMMatrix.fromMatrix({is2D: false}) with too few arguments must throw TypeError 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "toFloat32Array()" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must inherit property "toFloat64Array()" with the proper type 
-PASS DOMMatrixReadOnly interface: DOMMatrix.fromMatrix({is2D: false}) must not have property "undefined" 
 
index e5955d1..3dca695 100644 (file)
@@ -19,6 +19,8 @@ function doTest(idl) {
     DOMMatrixReadOnly: ["new DOMMatrixReadOnly()", "DOMMatrixReadOnly.fromMatrix({is2D: false})"],
     DOMMatrix: ["new DOMMatrix()", "DOMMatrix.fromMatrix({is2D: false})"],
   });
+  idlArray.prevent_multiple_testing("DOMMatrixReadOnly");
+  idlArray.prevent_multiple_testing("DOMMatrix");
   idlArray.test();
   done();
 }
index 5289650..d72fcda 100644 (file)
@@ -1,10 +1,10 @@
-CONSOLE MESSAGE: line 309: callback not yet supported
-CONSOLE MESSAGE: line 309: callback not yet supported
-CONSOLE MESSAGE: line 309: callback not yet supported
-CONSOLE MESSAGE: line 309: callback not yet supported
-CONSOLE MESSAGE: line 309: callback not yet supported
-CONSOLE MESSAGE: line 309: callback not yet supported
-CONSOLE MESSAGE: line 309: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
 
 CSSOM View IDL tests
 
index 0985e2f..f78c8c7 100644 (file)
@@ -1,10 +1,10 @@
-CONSOLE MESSAGE: line 309: callback not yet supported
-CONSOLE MESSAGE: line 309: callback not yet supported
-CONSOLE MESSAGE: line 309: callback not yet supported
-CONSOLE MESSAGE: line 309: callback not yet supported
-CONSOLE MESSAGE: line 309: callback not yet supported
-CONSOLE MESSAGE: line 309: callback not yet supported
-CONSOLE MESSAGE: line 309: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
 CSSOM IDL tests
 
 
index 2fe04af..877554e 100644 (file)
@@ -1,10 +1,10 @@
-CONSOLE MESSAGE: line 309: callback not yet supported
-CONSOLE MESSAGE: line 309: callback not yet supported
-CONSOLE MESSAGE: line 309: callback not yet supported
-CONSOLE MESSAGE: line 309: callback not yet supported
-CONSOLE MESSAGE: line 309: callback not yet supported
-CONSOLE MESSAGE: line 309: callback not yet supported
-CONSOLE MESSAGE: line 309: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
 DOM IDL tests
 
 
index 0552939..ecad449 100644 (file)
@@ -3,6 +3,7 @@ idlharness test
 This test validates the WebIDL included in the Encoding Living Standard.
 
 
+PASS Test driver 
 PASS TextDecoder interface: existence and properties of interface object 
 PASS TextDecoder interface object length 
 PASS TextDecoder interface object name 
index 3359744..03cec92 100644 (file)
 <h1>idlharness test</h1>
 <p>This test validates the WebIDL included in the Encoding Living Standard.</p>
 
-<script type="text/plain" class="untested-idl">
-interface Window {};
-</script>
-
-<script type="text/plain" class="idl">
-// 8.1 Interface TextDecoder
-
-dictionary TextDecoderOptions {
-  boolean fatal = false;
-  boolean ignoreBOM = false;
-};
-
-dictionary TextDecodeOptions {
-  boolean stream = false;
-};
-
-[Constructor(optional DOMString label = "utf-8", optional TextDecoderOptions options),
- Exposed=(Window,Worker)]
-interface TextDecoder {
-  readonly attribute DOMString encoding;
-  readonly attribute boolean fatal;
-  readonly attribute boolean ignoreBOM;
-  USVString decode(optional BufferSource input, optional TextDecodeOptions options);
-};
-
-// 8.2 Interface TextDecoder
-
-[Constructor,
- Exposed=(Window,Worker)]
-interface TextEncoder {
-  readonly attribute DOMString encoding;
-  [NewObject] Uint8Array encode(optional USVString input = "");
-};
-</script>
-
 <script>
-function select(selector) {
-  return [].slice.call(document.querySelectorAll(selector))
-    .map(function(e) { return e.textContent; })
-    .join('\n\n');
-}
-
-var idl = select('.idl')
-var untested = select('.untested-idl');
-var idl_array = new IdlArray();
-idl_array.add_untested_idls(untested);
-idl_array.add_idls(idl);
-idl_array.add_objects({
-  TextEncoder: ['new TextEncoder()'],
-  TextDecoder: ['new TextDecoder()']
-});
-idl_array.test();
+promise_test(async() => {
+  const text = await (await fetch('/interfaces/encoding.idl')).text();
+  const idl_array = new IdlArray();
+  idl_array.add_idls(text);
+  idl_array.add_objects({
+    TextEncoder: ['new TextEncoder()'],
+    TextDecoder: ['new TextDecoder()']
+  });
+  idl_array.test();
+}, 'Test driver');
 </script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/encrypted-media/EncryptedMediaExtensions.idl b/LayoutTests/imported/w3c/web-platform-tests/encrypted-media/EncryptedMediaExtensions.idl
deleted file mode 100644 (file)
index fbe898b..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-// Encrypted Media Extensions WebIDL
-//
-// NOTE: Please update the link below to the specification version from
-//       which this IDL was extracted.
-//
-// https://www.w3.org/TR/2016/WD-encrypted-media-20160610/
-//  + commit 5499821932391ae2c2e53756ae7ab9fae89d5863
-//
-
-partial interface Navigator {
-    Promise<MediaKeySystemAccess> requestMediaKeySystemAccess (DOMString keySystem, sequence<MediaKeySystemConfiguration> supportedConfigurations);
-};
-
-enum MediaKeysRequirement {
-    "required",
-    "optional",
-    "not-allowed"
-};
-
-dictionary MediaKeySystemConfiguration {
-             DOMString                               label = "";
-             sequence<DOMString>                     initDataTypes = [];
-             sequence<MediaKeySystemMediaCapability> audioCapabilities = [];
-             sequence<MediaKeySystemMediaCapability> videoCapabilities = [];
-             MediaKeysRequirement                    distinctiveIdentifier = "optional";
-             MediaKeysRequirement                    persistentState = "optional";
-             sequence<DOMString>                     sessionTypes;
-};
-
-dictionary MediaKeySystemMediaCapability {
-             DOMString contentType = "";
-             DOMString robustness = "";
-};
-
-interface MediaKeySystemAccess {
-    readonly        attribute DOMString keySystem;
-    MediaKeySystemConfiguration getConfiguration ();
-    Promise<MediaKeys>          createMediaKeys ();
-};
-
-enum MediaKeySessionType {
-    "temporary",
-    "persistent-usage-record",
-    "persistent-license"
-};
-
-interface MediaKeys {
-    MediaKeySession  createSession (optional MediaKeySessionType sessionType = "temporary");
-    Promise<boolean> setServerCertificate (BufferSource serverCertificate);
-};
-
-interface MediaKeySession : EventTarget {
-    readonly        attribute DOMString           sessionId;
-    readonly        attribute unrestricted double expiration;
-    readonly        attribute Promise<void>       closed;
-    readonly        attribute MediaKeyStatusMap   keyStatuses;
-                    attribute EventHandler        onkeystatuseschange;
-                    attribute EventHandler        onmessage;
-    Promise<void>    generateRequest (DOMString initDataType, BufferSource initData);
-    Promise<boolean> load (DOMString sessionId);
-    Promise<void>    update (BufferSource response);
-    Promise<void>    close ();
-    Promise<void>    remove ();
-};
-
-interface MediaKeyStatusMap {
-    iterable<BufferSource,MediaKeyStatus>;
-    readonly        attribute unsigned long size;
-    boolean has (BufferSource keyId);
-    any     get (BufferSource keyId);
-};
-
-enum MediaKeyStatus {
-    "usable",
-    "expired",
-    "released",
-    "output-restricted",
-    "output-downscaled",
-    "status-pending",
-    "internal-error"
-};
-
-enum MediaKeyMessageType {
-    "license-request",
-    "license-renewal",
-    "license-release",
-    "individualization-request"
-};
-
-[Constructor(DOMString type, MediaKeyMessageEventInit eventInitDict)]
-interface MediaKeyMessageEvent : Event {
-    readonly        attribute MediaKeyMessageType messageType;
-    readonly        attribute ArrayBuffer         message;
-};
-
-dictionary MediaKeyMessageEventInit : EventInit {
-             required MediaKeyMessageType messageType;
-             required ArrayBuffer         message;
-};
-
-// partial interface HTMLMediaElement : EventTarget {
-partial interface HTMLMediaElement {
-    readonly        attribute MediaKeys?   mediaKeys;
-                    attribute EventHandler onencrypted;
-                    attribute EventHandler onwaitingforkey;
-    Promise<void> setMediaKeys (MediaKeys? mediaKeys);
-};
-
-[Constructor(DOMString type, optional MediaEncryptedEventInit eventInitDict)]
-interface MediaEncryptedEvent : Event {
-    readonly        attribute DOMString    initDataType;
-    readonly        attribute ArrayBuffer? initData;
-};
-
-dictionary MediaEncryptedEventInit : EventInit {
-             DOMString    initDataType = "";
-             ArrayBuffer? initData = null;
-};
-
diff --git a/LayoutTests/imported/w3c/web-platform-tests/encrypted-media/idlharness.https-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/encrypted-media/idlharness.https-expected.txt
new file mode 100644 (file)
index 0000000..53d071b
--- /dev/null
@@ -0,0 +1,107 @@
+Description
+
+This test verifies that implementations of the Encrypted Media Extensions API match its WebIDL definition.
+
+
+PASS Navigator interface: operation requestMediaKeySystemAccess(DOMString, [object Object])
+PASS Unscopable handled correctly for requestMediaKeySystemAccess(DOMString, [object Object]) on Navigator
+PASS HTMLMediaElement interface: attribute mediaKeys
+PASS Unscopable handled correctly for mediaKeys property on HTMLMediaElement
+PASS HTMLMediaElement interface: attribute onencrypted
+PASS Unscopable handled correctly for onencrypted property on HTMLMediaElement
+PASS HTMLMediaElement interface: attribute onwaitingforkey
+PASS Unscopable handled correctly for onwaitingforkey property on HTMLMediaElement
+PASS HTMLMediaElement interface: operation setMediaKeys(MediaKeys)
+PASS Unscopable handled correctly for setMediaKeys(MediaKeys) on HTMLMediaElement
+PASS MediaKeySystemAccess interface: existence and properties of interface object
+PASS MediaKeySystemAccess interface object length
+PASS MediaKeySystemAccess interface object name
+PASS MediaKeySystemAccess interface: existence and properties of interface prototype object
+PASS MediaKeySystemAccess interface: existence and properties of interface prototype object's "constructor" property
+PASS MediaKeySystemAccess interface: existence and properties of interface prototype object's @@unscopables property
+PASS MediaKeySystemAccess interface: attribute keySystem
+PASS Unscopable handled correctly for keySystem property on MediaKeySystemAccess
+PASS MediaKeySystemAccess interface: operation getConfiguration()
+PASS Unscopable handled correctly for getConfiguration() on MediaKeySystemAccess
+PASS MediaKeySystemAccess interface: operation createMediaKeys()
+PASS Unscopable handled correctly for createMediaKeys() on MediaKeySystemAccess
+PASS MediaKeys interface: existence and properties of interface object
+PASS MediaKeys interface object length
+PASS MediaKeys interface object name
+PASS MediaKeys interface: existence and properties of interface prototype object
+PASS MediaKeys interface: existence and properties of interface prototype object's "constructor" property
+PASS MediaKeys interface: existence and properties of interface prototype object's @@unscopables property
+PASS MediaKeys interface: operation createSession(MediaKeySessionType)
+PASS Unscopable handled correctly for createSession(MediaKeySessionType) on MediaKeys
+PASS MediaKeys interface: operation setServerCertificate(BufferSource)
+PASS Unscopable handled correctly for setServerCertificate(BufferSource) on MediaKeys
+PASS MediaKeySession interface: existence and properties of interface object
+PASS MediaKeySession interface object length
+PASS MediaKeySession interface object name
+PASS MediaKeySession interface: existence and properties of interface prototype object
+PASS MediaKeySession interface: existence and properties of interface prototype object's "constructor" property
+PASS MediaKeySession interface: existence and properties of interface prototype object's @@unscopables property
+PASS MediaKeySession interface: attribute sessionId
+PASS Unscopable handled correctly for sessionId property on MediaKeySession
+PASS MediaKeySession interface: attribute expiration
+PASS Unscopable handled correctly for expiration property on MediaKeySession
+PASS MediaKeySession interface: attribute closed
+PASS Unscopable handled correctly for closed property on MediaKeySession
+PASS MediaKeySession interface: attribute keyStatuses
+PASS Unscopable handled correctly for keyStatuses property on MediaKeySession
+PASS MediaKeySession interface: attribute onkeystatuseschange
+PASS Unscopable handled correctly for onkeystatuseschange property on MediaKeySession
+PASS MediaKeySession interface: attribute onmessage
+PASS Unscopable handled correctly for onmessage property on MediaKeySession
+PASS MediaKeySession interface: operation generateRequest(DOMString, BufferSource)
+PASS Unscopable handled correctly for generateRequest(DOMString, BufferSource) on MediaKeySession
+PASS MediaKeySession interface: operation load(DOMString)
+PASS Unscopable handled correctly for load(DOMString) on MediaKeySession
+PASS MediaKeySession interface: operation update(BufferSource)
+PASS Unscopable handled correctly for update(BufferSource) on MediaKeySession
+PASS MediaKeySession interface: operation close()
+PASS Unscopable handled correctly for close() on MediaKeySession
+PASS MediaKeySession interface: operation remove()
+PASS Unscopable handled correctly for remove() on MediaKeySession
+PASS MediaKeyStatusMap interface: existence and properties of interface object
+PASS MediaKeyStatusMap interface object length
+PASS MediaKeyStatusMap interface object name
+PASS MediaKeyStatusMap interface: existence and properties of interface prototype object
+PASS MediaKeyStatusMap interface: existence and properties of interface prototype object's "constructor" property
+PASS MediaKeyStatusMap interface: existence and properties of interface prototype object's @@unscopables property
+PASS Testing Symbol.iterator property of iterable interface MediaKeyStatusMap
+PASS Testing pair iterable interface MediaKeyStatusMap
+PASS MediaKeyStatusMap interface: attribute size
+PASS Unscopable handled correctly for size property on MediaKeyStatusMap
+PASS MediaKeyStatusMap interface: operation has(BufferSource)
+PASS Unscopable handled correctly for has(BufferSource) on MediaKeyStatusMap
+PASS MediaKeyStatusMap interface: operation get(BufferSource)
+PASS Unscopable handled correctly for get(BufferSource) on MediaKeyStatusMap
+PASS MediaKeyStatusMap interface: operation entries()
+PASS Unscopable handled correctly for entries() on MediaKeyStatusMap
+PASS MediaKeyStatusMap interface: operation keys()
+PASS Unscopable handled correctly for keys() on MediaKeyStatusMap
+PASS MediaKeyStatusMap interface: operation values()
+PASS Unscopable handled correctly for values() on MediaKeyStatusMap
+PASS MediaKeyStatusMap interface: operation forEach(function, any)
+PASS Unscopable handled correctly for forEach(function, any) on MediaKeyStatusMap
+PASS MediaKeyMessageEvent interface: existence and properties of interface object
+PASS MediaKeyMessageEvent interface object length
+PASS MediaKeyMessageEvent interface object name
+PASS MediaKeyMessageEvent interface: existence and properties of interface prototype object
+PASS MediaKeyMessageEvent interface: existence and properties of interface prototype object's "constructor" property
+PASS MediaKeyMessageEvent interface: existence and properties of interface prototype object's @@unscopables property
+PASS MediaKeyMessageEvent interface: attribute messageType
+PASS Unscopable handled correctly for messageType property on MediaKeyMessageEvent
+PASS MediaKeyMessageEvent interface: attribute message
+PASS Unscopable handled correctly for message property on MediaKeyMessageEvent
+PASS MediaEncryptedEvent interface: existence and properties of interface object
+PASS MediaEncryptedEvent interface object length
+PASS MediaEncryptedEvent interface object name
+PASS MediaEncryptedEvent interface: existence and properties of interface prototype object
+PASS MediaEncryptedEvent interface: existence and properties of interface prototype object's "constructor" property
+PASS MediaEncryptedEvent interface: existence and properties of interface prototype object's @@unscopables property
+PASS MediaEncryptedEvent interface: attribute initDataType
+PASS Unscopable handled correctly for initDataType property on MediaEncryptedEvent
+PASS MediaEncryptedEvent interface: attribute initData
+PASS Unscopable handled correctly for initData property on MediaEncryptedEvent
@@ -22,7 +22,7 @@
     <script>
         setup(function() {
 
-            fetch( 'EncryptedMediaExtensions.idl')
+            fetch( '/interfaces/encrypted-media.idl' )
             .then( function( response ) {
                 if ( !response.ok ) throw new Error( 'IDL fetch failed' );
                 return response.text();
@@ -30,9 +30,7 @@
             .then( function( idls ) {
 
                 var idl_array = new IdlArray();
-                idl_array.add_untested_idls("[PrimaryGlobal] interface Window {};");
                 idl_array.add_untested_idls("interface Navigator {};");
-                idl_array.add_untested_idls("interface ArrayBuffer {};");
                 idl_array.add_untested_idls("interface HTMLMediaElement {};");
                 idl_array.add_untested_idls("interface Event {};");
                 idl_array.add_untested_idls("interface EventTarget {};");
index 117acab..08429b2 100644 (file)
@@ -1,4 +1,4 @@
-CONSOLE MESSAGE: line 309: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
 Blocked access to external URL http://foo/
 CONSOLE MESSAGE: EventSource cannot load http://foo/. 
 EventSource IDL tests
index 443d746..2935927 100644 (file)
@@ -9,7 +9,7 @@
 <div id=log></div>
 
 <script type=text/plain>
-[Exposed=(Window,Worker)]
+[Constructor(), Exposed=(Window,Worker)]
 interface EventTarget {
   void addEventListener(DOMString type, EventListener? listener, optional (AddEventListenerOptions or boolean) options);
   void removeEventListener(DOMString type, EventListener? listener, optional (EventListenerOptions or boolean) options);
index f78f0ca..f783377 100644 (file)
@@ -15,9 +15,7 @@
       typedef any JSON;
       typedef (Blob or BufferSource or FormData or URLSearchParams or USVString) BodyInit;
 
-      [NoInterfaceObject,
-      Exposed=(Window,Worker)]
-      interface Body {
+      interface mixin Body {
         readonly attribute ReadableStream? body;
         readonly attribute boolean bodyUsed;
         [NewObject] Promise<ArrayBuffer> arrayBuffer();
@@ -48,7 +46,7 @@
 
         [NewObject] Request clone();
       };
-      Request implements Body;
+      Request includes Body;
 
       dictionary RequestInit {
         ByteString method;
index 3bbf54e..bd265fa 100644 (file)
@@ -15,9 +15,7 @@
       typedef any JSON;
       typedef (Blob or BufferSource or FormData or URLSearchParams or USVString) BodyInit;
 
-      [NoInterfaceObject,
-      Exposed=(Window,Worker)]
-      interface Body {
+      interface mixin Body {
         readonly attribute ReadableStream? body;
         readonly attribute boolean bodyUsed;
         [NewObject] Promise<ArrayBuffer> arrayBuffer();
@@ -45,7 +43,7 @@
 
         [NewObject] Response clone();
       };
-      Response implements Body;
+      Response includes Body;
 
       dictionary ResponseInit {
         unsigned short status = 200;
index 45b0293..7302db2 100644 (file)
@@ -1,11 +1,15 @@
 High Resolution Time IDL tests
 
 
-PASS WindowOrWorkerGlobalScope interface: existence and properties of interface object 
-PASS Performance interface: existence and properties of interface object 
+FAIL Test driver promise_test: Unhandled rejection with value: object "Error: undefined EventTarget not found (inherited by Performance)"
+FAIL Performance interface: existence and properties of interface object undefined is not an object (evaluating 'this.array
+                     .members[this.base]
+                     .has_extended_attribute')
 PASS Performance interface object length 
 PASS Performance interface object name 
-PASS Performance interface: existence and properties of interface prototype object 
+FAIL Performance interface: existence and properties of interface prototype object undefined is not an object (evaluating 'this.array
+                         .members[inherit_interface]
+                         .has_extended_attribute')
 PASS Performance interface: existence and properties of interface prototype object's "constructor" property 
 PASS Performance interface: existence and properties of interface prototype object's @@unscopables property 
 PASS Performance interface: operation now() 
@@ -14,23 +18,9 @@ FAIL Performance interface: attribute timeOrigin assert_true: The prototype obje
 PASS Unscopable handled correctly for timeOrigin property on Performance 
 FAIL Performance interface: operation toJSON() assert_own_property: interface prototype object missing non-static operation expected property "toJSON" missing
 PASS Unscopable handled correctly for toJSON() on Performance 
-PASS Performance must be primary interface of [object Performance] 
-PASS Stringification of [object Performance] 
-PASS Performance interface: [object Performance] must inherit property "now()" with the proper type 
-FAIL Performance interface: [object Performance] must inherit property "timeOrigin" with the proper type assert_inherits: property "timeOrigin" not found in prototype chain
-FAIL Performance interface: [object Performance] must inherit property "toJSON()" with the proper type assert_inherits: property "toJSON" not found in prototype chain
-FAIL Test default toJSON operation of Performance memberHolderObject.toJSON is not a function. (In 'memberHolderObject.toJSON()', 'memberHolderObject.toJSON' is undefined)
-typedef double DOMHighResTimeStamp;
-
-[Exposed=(Window,Worker)]
-interface Performance : EventTarget {
-    DOMHighResTimeStamp now();
-    readonly attribute DOMHighResTimeStamp timeOrigin;
-    [Default] object              toJSON();
-};
-
-partial interface WindowOrWorkerGlobalScope {
-    [Replaceable]
-    readonly attribute Performance performance;
-};
+PASS Performance must be primary interface of window.performance 
+FAIL Stringification of window.performance undefined is not an object (evaluating 'this.array.members[this.base].has_stringifier')
+PASS Performance interface: window.performance must inherit property "now()" with the proper type 
+FAIL Performance interface: window.performance must inherit property "timeOrigin" with the proper type assert_inherits: property "timeOrigin" not found in prototype chain
+FAIL Performance interface: window.performance must inherit property "toJSON()" with the proper type assert_inherits: property "toJSON" not found in prototype chain
 
index d0c648c..4abaf60 100644 (file)
 <body>
 <h1>High Resolution Time IDL tests</h1>
 <div id="log"></div>
-
-<pre id='untested_idl' style='display:none'>
-[Exposed=Windows,Worker]
-interface WindowOrWorkerGlobalScope {
-};
-
-[Exposed=(Window,Worker)]
-interface EventTarget {
-};
-
-[Exposed=Window]
-interface PerformanceTiming {
-};
-
-[Exposed=Window]
-interface PerformanceNavigation {
-};
-
-// from nav-timing
-partial interface Performance {
-    [SameObject]
-    readonly attribute PerformanceTiming timing;
-    [SameObject]
-    readonly attribute PerformanceNavigation navigation;
-    [Default] object              toJSON();
-};
-</pre>
-
-<pre id='idl'>
-typedef double DOMHighResTimeStamp;
-
-[Exposed=(Window,Worker)]
-interface Performance : EventTarget {
-    DOMHighResTimeStamp now();
-    readonly attribute DOMHighResTimeStamp timeOrigin;
-    [Default] object              toJSON();
-};
-
-partial interface WindowOrWorkerGlobalScope {
-    [Replaceable]
-    readonly attribute Performance performance;
-};
-</pre>
-
 <script>
+'use strict';
 
-(function() {
+function doTest([html, hr_time]) {
   var idl_array = new IdlArray();
-
-  idl_array.add_untested_idls(document.getElementById("untested_idl").textContent);
-  idl_array.add_idls(document.getElementById("idl").textContent);
-
-  idl_array.add_objects({Performance: [window.performance]});
-
+  idl_array.add_untested_idls(html, { only: ['WindowOrWorkerGlobalScope'] });
+  idl_array.add_idls(hr_time);
+  idl_array.add_objects({
+    Performance: ["window.performance"],
+    Window: ["window"],
+  });
   idl_array.test();
-})();
+}
+
+function fetchText(url) {
+  return fetch(url).then((response) => response.text());
+}
 
+promise_test(() => {
+  return Promise.all(['/interfaces/html.idl',
+                      '/interfaces/hr-time.idl'].map(fetchText))
+                .then(doTest);
+}, 'Test driver');
 </script>
 </body>
 </html>
index a9f5bf2..41990aa 100644 (file)
@@ -1,4 +1,4 @@
-CONSOLE MESSAGE: line 309: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
 idlharness test
 
 This test validates the WebIDL included in the Timing control for script-based animations specification.
@@ -10,12 +10,12 @@ partial interface Window {
 
 callback FrameRequestCallback = void (DOMHighResTimeStamp time);
 
-FAIL Window interface: operation requestAnimationFrame(FrameRequestCallback) assert_own_property: interface prototype object missing non-static operation expected property "requestAnimationFrame" missing
+PASS Window interface: operation requestAnimationFrame(FrameRequestCallback) 
 PASS Unscopable handled correctly for requestAnimationFrame(FrameRequestCallback) on Window 
-FAIL Window interface: operation cancelAnimationFrame(long) assert_own_property: interface prototype object missing non-static operation expected property "cancelAnimationFrame" missing
+PASS Window interface: operation cancelAnimationFrame(long) 
 PASS Unscopable handled correctly for cancelAnimationFrame(long) on Window 
-FAIL Window interface: window must inherit property "requestAnimationFrame(FrameRequestCallback)" with the proper type assert_inherits: property "requestAnimationFrame" found on object expected in prototype chain
-FAIL Window interface: calling requestAnimationFrame(FrameRequestCallback) on window with too few arguments must throw TypeError assert_inherits: property "requestAnimationFrame" found on object expected in prototype chain
-FAIL Window interface: window must inherit property "cancelAnimationFrame(long)" with the proper type assert_inherits: property "cancelAnimationFrame" found on object expected in prototype chain
-FAIL Window interface: calling cancelAnimationFrame(long) on window with too few arguments must throw TypeError assert_inherits: property "cancelAnimationFrame" found on object expected in prototype chain
+PASS Window interface: window must inherit property "requestAnimationFrame(FrameRequestCallback)" with the proper type 
+PASS Window interface: calling requestAnimationFrame(FrameRequestCallback) on window with too few arguments must throw TypeError 
+PASS Window interface: window must inherit property "cancelAnimationFrame(long)" with the proper type 
+PASS Window interface: calling cancelAnimationFrame(long) on window with too few arguments must throw TypeError 
 
index acc6657..3a9d1d9 100644 (file)
@@ -15,7 +15,7 @@
 <p>This test validates the WebIDL included in the Timing control for script-based animations specification.</p>
 
 <pre id='untested_idl' style='display:none'>
-[PrimaryGlobal]
+[Global=Window, Exposed=Window]
 interface Window {
 };
 </pre>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/interfaces/encoding.idl b/LayoutTests/imported/w3c/web-platform-tests/interfaces/encoding.idl
new file mode 100644 (file)
index 0000000..8f4189b
--- /dev/null
@@ -0,0 +1,24 @@
+dictionary TextDecoderOptions {
+  boolean fatal = false;
+  boolean ignoreBOM = false;
+};
+
+dictionary TextDecodeOptions {
+  boolean stream = false;
+};
+
+[Constructor(optional DOMString label = "utf-8", optional TextDecoderOptions options),
+ Exposed=(Window,Worker)]
+interface TextDecoder {
+  readonly attribute DOMString encoding;
+  readonly attribute boolean fatal;
+  readonly attribute boolean ignoreBOM;
+  USVString decode(optional BufferSource input, optional TextDecodeOptions options);
+};
+
+[Constructor,
+ Exposed=(Window,Worker)]
+interface TextEncoder {
+  readonly attribute DOMString encoding;
+  [NewObject] Uint8Array encode(optional USVString input = "");
+};
index 5a67e0f..7ca324c 100644 (file)
@@ -1,5 +1,5 @@
-CONSOLE MESSAGE: line 309: callback not yet supported
-CONSOLE MESSAGE: line 309: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
 Description
 
 This test checks for the presence of the navigator.mediaDevices.getUserMedia method.
index a45b9af..06bb27a 100644 (file)
@@ -1,5 +1,5 @@
-CONSOLE MESSAGE: line 309: callback not yet supported
-CONSOLE MESSAGE: line 309: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
 Description
 
 This test checks for the presence of the navigator.mediaDevices.enumerateDevices() method.
index a9bb6e3..22b44fd 100644 (file)
@@ -1,5 +1,5 @@
-CONSOLE MESSAGE: line 309: callback not yet supported
-CONSOLE MESSAGE: line 309: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
 
 PASS Notification interface: existence and properties of interface object 
 PASS Notification interface object length 
@@ -11,6 +11,8 @@ PASS Notification interface: attribute permission
 PASS Unscopable handled correctly for permission property on Notification 
 PASS Notification interface: operation requestPermission(NotificationPermissionCallback) 
 PASS Unscopable handled correctly for requestPermission(NotificationPermissionCallback) on Notification 
+FAIL Notification interface: attribute maxActions assert_own_property: The interface object must have a property "maxActions" expected property "maxActions" missing
+PASS Unscopable handled correctly for maxActions property on Notification 
 PASS Notification interface: attribute onclick 
 PASS Unscopable handled correctly for onclick property on Notification 
 PASS Notification interface: attribute onshow 
@@ -29,8 +31,26 @@ PASS Notification interface: attribute body
 PASS Unscopable handled correctly for body property on Notification 
 PASS Notification interface: attribute tag 
 PASS Unscopable handled correctly for tag property on Notification 
+FAIL Notification interface: attribute image assert_true: The prototype object must have a property "image" expected true got false
+PASS Unscopable handled correctly for image property on Notification 
 PASS Notification interface: attribute icon 
 PASS Unscopable handled correctly for icon property on Notification 
+FAIL Notification interface: attribute badge assert_true: The prototype object must have a property "badge" expected true got false
+PASS Unscopable handled correctly for badge property on Notification 
+FAIL Notification interface: attribute vibrate assert_true: The prototype object must have a property "vibrate" expected true got false
+PASS Unscopable handled correctly for vibrate property on Notification 
+FAIL Notification interface: attribute timestamp assert_true: The prototype object must have a property "timestamp" expected true got false
+PASS Unscopable handled correctly for timestamp property on Notification 
+FAIL Notification interface: attribute renotify assert_true: The prototype object must have a property "renotify" expected true got false
+PASS Unscopable handled correctly for renotify property on Notification 
+FAIL Notification interface: attribute silent assert_true: The prototype object must have a property "silent" expected true got false
+PASS Unscopable handled correctly for silent property on Notification 
+FAIL Notification interface: attribute requireInteraction assert_true: The prototype object must have a property "requireInteraction" expected true got false
+PASS Unscopable handled correctly for requireInteraction property on Notification 
+FAIL Notification interface: attribute data assert_true: The prototype object must have a property "data" expected true got false
+PASS Unscopable handled correctly for data property on Notification 
+FAIL Notification interface: attribute actions assert_true: The prototype object must have a property "actions" expected true got false
+PASS Unscopable handled correctly for actions property on Notification 
 PASS Notification interface: operation close() 
 PASS Unscopable handled correctly for close() on Notification 
 PASS Notification must be primary interface of new Notification("Running idlharness.") 
@@ -38,6 +58,7 @@ PASS Stringification of new Notification("Running idlharness.")
 PASS Notification interface: new Notification("Running idlharness.") must inherit property "permission" with the proper type 
 PASS Notification interface: new Notification("Running idlharness.") must inherit property "requestPermission(NotificationPermissionCallback)" with the proper type 
 PASS Notification interface: calling requestPermission(NotificationPermissionCallback) on new Notification("Running idlharness.") with too few arguments must throw TypeError 
+PASS Notification interface: new Notification("Running idlharness.") must inherit property "maxActions" with the proper type 
 PASS Notification interface: new Notification("Running idlharness.") must inherit property "onclick" with the proper type 
 PASS Notification interface: new Notification("Running idlharness.") must inherit property "onshow" with the proper type 
 PASS Notification interface: new Notification("Running idlharness.") must inherit property "onerror" with the proper type 
@@ -47,6 +68,15 @@ PASS Notification interface: new Notification("Running idlharness.") must inheri
 PASS Notification interface: new Notification("Running idlharness.") must inherit property "lang" with the proper type 
 PASS Notification interface: new Notification("Running idlharness.") must inherit property "body" with the proper type 
 PASS Notification interface: new Notification("Running idlharness.") must inherit property "tag" with the proper type 
+FAIL Notification interface: new Notification("Running idlharness.") must inherit property "image" with the proper type assert_inherits: property "image" not found in prototype chain
 PASS Notification interface: new Notification("Running idlharness.") must inherit property "icon" with the proper type 
+FAIL Notification interface: new Notification("Running idlharness.") must inherit property "badge" with the proper type assert_inherits: property "badge" not found in prototype chain
+FAIL Notification interface: new Notification("Running idlharness.") must inherit property "vibrate" with the proper type assert_inherits: property "vibrate" not found in prototype chain
+FAIL Notification interface: new Notification("Running idlharness.") must inherit property "timestamp" with the proper type assert_inherits: property "timestamp" not found in prototype chain
+FAIL Notification interface: new Notification("Running idlharness.") must inherit property "renotify" with the proper type assert_inherits: property "renotify" not found in prototype chain
+FAIL Notification interface: new Notification("Running idlharness.") must inherit property "silent" with the proper type assert_inherits: property "silent" not found in prototype chain
+FAIL Notification interface: new Notification("Running idlharness.") must inherit property "requireInteraction" with the proper type assert_inherits: property "requireInteraction" not found in prototype chain
+FAIL Notification interface: new Notification("Running idlharness.") must inherit property "data" with the proper type assert_inherits: property "data" not found in prototype chain
+FAIL Notification interface: new Notification("Running idlharness.") must inherit property "actions" with the proper type assert_inherits: property "actions" not found in prototype chain
 PASS Notification interface: new Notification("Running idlharness.") must inherit property "close()" with the proper type 
 
index 95d648d..a348450 100644 (file)
@@ -17,10 +17,13 @@ callback EventHandlerNonNull = any (Event event);
 typedef EventHandlerNonNull? EventHandler;
 </script>
 <script type=text/plain>
-[Constructor(DOMString title, optional NotificationOptions options)]
+[Constructor(DOMString title, optional NotificationOptions options),
+ Exposed=(Window,Worker)]
 interface Notification : EventTarget {
   static readonly attribute NotificationPermission permission;
-  static Promise<NotificationPermission> requestPermission(optional NotificationPermissionCallback callback);
+  [Exposed=Window] static Promise<NotificationPermission> requestPermission(optional NotificationPermissionCallback deprecatedCallback);
+
+  static readonly attribute unsigned long maxActions;
 
   attribute EventHandler onclick;
   attribute EventHandler onshow;
@@ -32,7 +35,16 @@ interface Notification : EventTarget {
   readonly attribute DOMString lang;
   readonly attribute DOMString body;
   readonly attribute DOMString tag;
-  readonly attribute DOMString icon;
+  readonly attribute USVString image;
+  readonly attribute USVString icon;
+  readonly attribute USVString badge;
+  [SameObject] readonly attribute FrozenArray<unsigned long> vibrate;
+  readonly attribute DOMTimeStamp timestamp;
+  readonly attribute boolean renotify;
+  readonly attribute boolean silent;
+  readonly attribute boolean requireInteraction;
+  [SameObject] readonly attribute any data;
+  [SameObject] readonly attribute FrozenArray<NotificationAction> actions;
 
   void close();
 };
@@ -40,13 +52,18 @@ interface Notification : EventTarget {
 dictionary NotificationOptions {
   NotificationDirection dir = "auto";
   DOMString lang = "";
-  DOMString body;
-  DOMString tag;
-  DOMString icon;
-};
-
-dictionary GetNotificationsOptions {
-  DOMString tag;
+  DOMString body = "";
+  DOMString tag = "";
+  USVString image;
+  USVString icon;
+  USVString badge;
+  VibratePattern vibrate;
+  DOMTimeStamp timestamp;
+  boolean renotify = false;
+  boolean silent = false;
+  boolean requireInteraction = false;
+  any data = null;
+  sequence<NotificationAction> actions = [];
 };
 
 enum NotificationPermission {
@@ -55,13 +72,19 @@ enum NotificationPermission {
   "granted"
 };
 
-callback NotificationPermissionCallback = void (NotificationPermission permission);
-
 enum NotificationDirection {
   "auto",
   "ltr",
   "rtl"
 };
+
+dictionary NotificationAction {
+  required DOMString action;
+  required DOMString title;
+  USVString icon;
+};
+
+callback NotificationPermissionCallback = void (NotificationPermission permission);
 </script>
 <script>
 "use strict";
index df3d9e2..6aaf39d 100644 (file)
@@ -1,798 +1,7 @@
-CONSOLE MESSAGE: line 309: callback not yet supported
-CONSOLE MESSAGE: line 309: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
 
 PASS Setup for Payment Request API IDL tests. 
-PASS Event interface: existence and properties of interface object 
-PASS Event interface object length 
-PASS Event interface object name 
-PASS Event interface: existence and properties of interface prototype object 
-PASS Event interface: existence and properties of interface prototype object's "constructor" property 
-PASS Event interface: existence and properties of interface prototype object's @@unscopables property 
-PASS Event interface: attribute type 
-PASS Unscopable handled correctly for type property on Event 
-PASS Event interface: attribute target 
-PASS Unscopable handled correctly for target property on Event 
-PASS Event interface: attribute currentTarget 
-PASS Unscopable handled correctly for currentTarget property on Event 
-PASS Event interface: constant NONE on interface object 
-PASS Event interface: constant NONE on interface prototype object 
-PASS Event interface: constant CAPTURING_PHASE on interface object 
-PASS Event interface: constant CAPTURING_PHASE on interface prototype object 
-PASS Event interface: constant AT_TARGET on interface object 
-PASS Event interface: constant AT_TARGET on interface prototype object 
-PASS Event interface: constant BUBBLING_PHASE on interface object 
-PASS Event interface: constant BUBBLING_PHASE on interface prototype object 
-PASS Event interface: attribute eventPhase 
-PASS Unscopable handled correctly for eventPhase property on Event 
-PASS Event interface: operation stopPropagation() 
-PASS Unscopable handled correctly for stopPropagation() on Event 
-PASS Event interface: operation stopImmediatePropagation() 
-PASS Unscopable handled correctly for stopImmediatePropagation() on Event 
-PASS Event interface: attribute bubbles 
-PASS Unscopable handled correctly for bubbles property on Event 
-PASS Event interface: attribute cancelable 
-PASS Unscopable handled correctly for cancelable property on Event 
-PASS Event interface: operation preventDefault() 
-PASS Unscopable handled correctly for preventDefault() on Event 
-PASS Event interface: attribute defaultPrevented 
-PASS Unscopable handled correctly for defaultPrevented property on Event 
-PASS Event interface: attribute timeStamp 
-PASS Unscopable handled correctly for timeStamp property on Event 
-PASS Event interface: operation initEvent(DOMString, boolean, boolean) 
-PASS Unscopable handled correctly for initEvent(DOMString, boolean, boolean) on Event 
-PASS CustomEvent interface: existence and properties of interface object 
-PASS CustomEvent interface object length 
-PASS CustomEvent interface object name 
-PASS CustomEvent interface: existence and properties of interface prototype object 
-PASS CustomEvent interface: existence and properties of interface prototype object's "constructor" property 
-PASS CustomEvent interface: existence and properties of interface prototype object's @@unscopables property 
-PASS CustomEvent interface: attribute detail 
-PASS Unscopable handled correctly for detail property on CustomEvent 
-PASS CustomEvent interface: operation initCustomEvent(DOMString, boolean, boolean, any) 
-PASS Unscopable handled correctly for initCustomEvent(DOMString, boolean, boolean, any) on CustomEvent 
-PASS EventTarget interface: existence and properties of interface object 
-PASS EventTarget interface object length 
-PASS EventTarget interface object name 
-PASS EventTarget interface: existence and properties of interface prototype object 
-PASS EventTarget interface: existence and properties of interface prototype object's "constructor" property 
-PASS EventTarget interface: existence and properties of interface prototype object's @@unscopables property 
-PASS EventTarget interface: operation addEventListener(DOMString, EventListener, [object Object],[object Object]) 
-PASS Unscopable handled correctly for addEventListener(DOMString, EventListener, [object Object],[object Object]) on EventTarget 
-PASS EventTarget interface: operation removeEventListener(DOMString, EventListener, [object Object],[object Object]) 
-PASS Unscopable handled correctly for removeEventListener(DOMString, EventListener, [object Object],[object Object]) on EventTarget 
-PASS EventTarget interface: operation dispatchEvent(Event) 
-PASS Unscopable handled correctly for dispatchEvent(Event) on EventTarget 
-PASS EventListener interface: existence and properties of interface object 
-PASS EventListener interface: existence and properties of interface prototype object 
-PASS EventListener interface: existence and properties of interface prototype object's "constructor" property 
-PASS EventListener interface: existence and properties of interface prototype object's @@unscopables property 
-PASS EventListener interface: operation handleEvent(Event) 
-PASS Unscopable handled correctly for handleEvent(Event) on EventListener 
-PASS AbortController interface: existence and properties of interface object 
-PASS AbortController interface object length 
-PASS AbortController interface object name 
-PASS AbortController interface: existence and properties of interface prototype object 
-PASS AbortController interface: existence and properties of interface prototype object's "constructor" property 
-PASS AbortController interface: existence and properties of interface prototype object's @@unscopables property 
-PASS AbortController interface: attribute signal 
-PASS Unscopable handled correctly for signal property on AbortController 
-PASS AbortController interface: operation abort() 
-PASS Unscopable handled correctly for abort() on AbortController 
-PASS AbortSignal interface: existence and properties of interface object 
-PASS AbortSignal interface object length 
-PASS AbortSignal interface object name 
-PASS AbortSignal interface: existence and properties of interface prototype object 
-PASS AbortSignal interface: existence and properties of interface prototype object's "constructor" property 
-PASS AbortSignal interface: existence and properties of interface prototype object's @@unscopables property 
-PASS AbortSignal interface: attribute aborted 
-PASS Unscopable handled correctly for aborted property on AbortSignal 
-PASS AbortSignal interface: attribute onabort 
-PASS Unscopable handled correctly for onabort property on AbortSignal 
-PASS NodeList interface: existence and properties of interface object 
-PASS NodeList interface object length 
-PASS NodeList interface object name 
-PASS NodeList interface: existence and properties of interface prototype object 
-PASS NodeList interface: existence and properties of interface prototype object's "constructor" property 
-PASS NodeList interface: existence and properties of interface prototype object's @@unscopables property 
-PASS NodeList interface: operation item(unsigned long) 
-PASS Unscopable handled correctly for item(unsigned long) on NodeList 
-PASS NodeList interface: attribute length 
-PASS Unscopable handled correctly for length property on NodeList 
-PASS HTMLCollection interface: existence and properties of interface object 
-PASS HTMLCollection interface object length 
-PASS HTMLCollection interface object name 
-PASS HTMLCollection interface: existence and properties of interface prototype object 
-PASS HTMLCollection interface: existence and properties of interface prototype object's "constructor" property 
-PASS HTMLCollection interface: existence and properties of interface prototype object's @@unscopables property 
-PASS HTMLCollection interface: attribute length 
-PASS Unscopable handled correctly for length property on HTMLCollection 
-PASS HTMLCollection interface: operation item(unsigned long) 
-PASS Unscopable handled correctly for item(unsigned long) on HTMLCollection 
-PASS HTMLCollection interface: operation namedItem(DOMString) 
-PASS Unscopable handled correctly for namedItem(DOMString) on HTMLCollection 
-PASS MutationObserver interface: existence and properties of interface object 
-PASS MutationObserver interface object length 
-PASS MutationObserver interface object name 
-PASS MutationObserver interface: existence and properties of interface prototype object 
-PASS MutationObserver interface: existence and properties of interface prototype object's "constructor" property 
-PASS MutationObserver interface: existence and properties of interface prototype object's @@unscopables property 
-PASS MutationObserver interface: operation observe(Node, MutationObserverInit) 
-PASS Unscopable handled correctly for observe(Node, MutationObserverInit) on MutationObserver 
-PASS MutationObserver interface: operation disconnect() 
-PASS Unscopable handled correctly for disconnect() on MutationObserver 
-PASS MutationObserver interface: operation takeRecords() 
-PASS Unscopable handled correctly for takeRecords() on MutationObserver 
-PASS MutationRecord interface: existence and properties of interface object 
-PASS MutationRecord interface object length 
-PASS MutationRecord interface object name 
-PASS MutationRecord interface: existence and properties of interface prototype object 
-PASS MutationRecord interface: existence and properties of interface prototype object's "constructor" property 
-PASS MutationRecord interface: existence and properties of interface prototype object's @@unscopables property 
-PASS MutationRecord interface: attribute type 
-PASS Unscopable handled correctly for type property on MutationRecord 
-PASS MutationRecord interface: attribute target 
-PASS Unscopable handled correctly for target property on MutationRecord 
-PASS MutationRecord interface: attribute addedNodes 
-PASS Unscopable handled correctly for addedNodes property on MutationRecord 
-PASS MutationRecord interface: attribute removedNodes 
-PASS Unscopable handled correctly for removedNodes property on MutationRecord 
-PASS MutationRecord interface: attribute previousSibling 
-PASS Unscopable handled correctly for previousSibling property on MutationRecord 
-PASS MutationRecord interface: attribute nextSibling 
-PASS Unscopable handled correctly for nextSibling property on MutationRecord 
-PASS MutationRecord interface: attribute attributeName 
-PASS Unscopable handled correctly for attributeName property on MutationRecord 
-PASS MutationRecord interface: attribute attributeNamespace 
-PASS Unscopable handled correctly for attributeNamespace property on MutationRecord 
-PASS MutationRecord interface: attribute oldValue 
-PASS Unscopable handled correctly for oldValue property on MutationRecord 
-PASS Node interface: existence and properties of interface object 
-PASS Node interface object length 
-PASS Node interface object name 
-PASS Node interface: existence and properties of interface prototype object 
-PASS Node interface: existence and properties of interface prototype object's "constructor" property 
-PASS Node interface: existence and properties of interface prototype object's @@unscopables property 
-PASS Node interface: constant ELEMENT_NODE on interface object 
-PASS Node interface: constant ELEMENT_NODE on interface prototype object 
-PASS Node interface: constant ATTRIBUTE_NODE on interface object 
-PASS Node interface: constant ATTRIBUTE_NODE on interface prototype object 
-PASS Node interface: constant TEXT_NODE on interface object 
-PASS Node interface: constant TEXT_NODE on interface prototype object 
-PASS Node interface: constant CDATA_SECTION_NODE on interface object 
-PASS Node interface: constant CDATA_SECTION_NODE on interface prototype object 
-PASS Node interface: constant ENTITY_REFERENCE_NODE on interface object 
-PASS Node interface: constant ENTITY_REFERENCE_NODE on interface prototype object 
-PASS Node interface: constant ENTITY_NODE on interface object 
-PASS Node interface: constant ENTITY_NODE on interface prototype object 
-PASS Node interface: constant PROCESSING_INSTRUCTION_NODE on interface object 
-PASS Node interface: constant PROCESSING_INSTRUCTION_NODE on interface prototype object 
-PASS Node interface: constant COMMENT_NODE on interface object 
-PASS Node interface: constant COMMENT_NODE on interface prototype object 
-PASS Node interface: constant DOCUMENT_NODE on interface object 
-PASS Node interface: constant DOCUMENT_NODE on interface prototype object 
-PASS Node interface: constant DOCUMENT_TYPE_NODE on interface object 
-PASS Node interface: constant DOCUMENT_TYPE_NODE on interface prototype object 
-PASS Node interface: constant DOCUMENT_FRAGMENT_NODE on interface object 
-PASS Node interface: constant DOCUMENT_FRAGMENT_NODE on interface prototype object 
-PASS Node interface: constant NOTATION_NODE on interface object 
-PASS Node interface: constant NOTATION_NODE on interface prototype object 
-PASS Node interface: attribute nodeType 
-PASS Unscopable handled correctly for nodeType property on Node 
-PASS Node interface: attribute nodeName 
-PASS Unscopable handled correctly for nodeName property on Node 
-PASS Node interface: attribute baseURI 
-PASS Unscopable handled correctly for baseURI property on Node 
-PASS Node interface: attribute isConnected 
-PASS Unscopable handled correctly for isConnected property on Node 
-PASS Node interface: attribute ownerDocument 
-PASS Unscopable handled correctly for ownerDocument property on Node 
-PASS Node interface: operation getRootNode(GetRootNodeOptions) 
-PASS Unscopable handled correctly for getRootNode(GetRootNodeOptions) on Node 
-PASS Node interface: attribute parentNode 
-PASS Unscopable handled correctly for parentNode property on Node 
-PASS Node interface: attribute parentElement 
-PASS Unscopable handled correctly for parentElement property on Node 
-PASS Node interface: operation hasChildNodes() 
-PASS Unscopable handled correctly for hasChildNodes() on Node 
-PASS Node interface: attribute childNodes 
-PASS Unscopable handled correctly for childNodes property on Node 
-PASS Node interface: attribute firstChild 
-PASS Unscopable handled correctly for firstChild property on Node 
-PASS Node interface: attribute lastChild 
-PASS Unscopable handled correctly for lastChild property on Node 
-PASS Node interface: attribute previousSibling 
-PASS Unscopable handled correctly for previousSibling property on Node 
-PASS Node interface: attribute nextSibling 
-PASS Unscopable handled correctly for nextSibling property on Node 
-PASS Node interface: attribute nodeValue 
-PASS Unscopable handled correctly for nodeValue property on Node 
-PASS Node interface: attribute textContent 
-PASS Unscopable handled correctly for textContent property on Node 
-PASS Node interface: operation normalize() 
-PASS Unscopable handled correctly for normalize() on Node 
-PASS Node interface: operation cloneNode(boolean) 
-PASS Unscopable handled correctly for cloneNode(boolean) on Node 
-PASS Node interface: operation isEqualNode(Node) 
-PASS Unscopable handled correctly for isEqualNode(Node) on Node 
-PASS Node interface: operation isSameNode(Node) 
-PASS Unscopable handled correctly for isSameNode(Node) on Node 
-PASS Node interface: constant DOCUMENT_POSITION_DISCONNECTED on interface object 
-PASS Node interface: constant DOCUMENT_POSITION_DISCONNECTED on interface prototype object 
-PASS Node interface: constant DOCUMENT_POSITION_PRECEDING on interface object 
-PASS Node interface: constant DOCUMENT_POSITION_PRECEDING on interface prototype object 
-PASS Node interface: constant DOCUMENT_POSITION_FOLLOWING on interface object 
-PASS Node interface: constant DOCUMENT_POSITION_FOLLOWING on interface prototype object 
-PASS Node interface: constant DOCUMENT_POSITION_CONTAINS on interface object 
-PASS Node interface: constant DOCUMENT_POSITION_CONTAINS on interface prototype object 
-PASS Node interface: constant DOCUMENT_POSITION_CONTAINED_BY on interface object 
-PASS Node interface: constant DOCUMENT_POSITION_CONTAINED_BY on interface prototype object 
-PASS Node interface: constant DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC on interface object 
-PASS Node interface: constant DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC on interface prototype object 
-PASS Node interface: operation compareDocumentPosition(Node) 
-PASS Unscopable handled correctly for compareDocumentPosition(Node) on Node 
-PASS Node interface: operation contains(Node) 
-PASS Unscopable handled correctly for contains(Node) on Node 
-PASS Node interface: operation lookupPrefix(DOMString) 
-PASS Unscopable handled correctly for lookupPrefix(DOMString) on Node 
-PASS Node interface: operation lookupNamespaceURI(DOMString) 
-PASS Unscopable handled correctly for lookupNamespaceURI(DOMString) on Node 
-PASS Node interface: operation isDefaultNamespace(DOMString) 
-PASS Unscopable handled correctly for isDefaultNamespace(DOMString) on Node 
-PASS Node interface: operation insertBefore(Node, Node) 
-PASS Unscopable handled correctly for insertBefore(Node, Node) on Node 
-PASS Node interface: operation appendChild(Node) 
-PASS Unscopable handled correctly for appendChild(Node) on Node 
-PASS Node interface: operation replaceChild(Node, Node) 
-PASS Unscopable handled correctly for replaceChild(Node, Node) on Node 
-PASS Node interface: operation removeChild(Node) 
-PASS Unscopable handled correctly for removeChild(Node) on Node 
-PASS Document interface: existence and properties of interface object 
-PASS Document interface object length 
-PASS Document interface object name 
-PASS Document interface: existence and properties of interface prototype object 
-PASS Document interface: existence and properties of interface prototype object's "constructor" property 
-PASS Document interface: existence and properties of interface prototype object's @@unscopables property 
-PASS Document interface: attribute implementation 
-PASS Unscopable handled correctly for implementation property on Document 
-PASS Document interface: attribute URL 
-PASS Unscopable handled correctly for URL property on Document 
-PASS Document interface: attribute documentURI 
-PASS Unscopable handled correctly for documentURI property on Document 
-PASS Document interface: attribute origin 
-PASS Unscopable handled correctly for origin property on Document 
-PASS Document interface: attribute compatMode 
-PASS Unscopable handled correctly for compatMode property on Document 
-PASS Document interface: attribute characterSet 
-PASS Unscopable handled correctly for characterSet property on Document 
-PASS Document interface: attribute charset 
-PASS Unscopable handled correctly for charset property on Document 
-PASS Document interface: attribute inputEncoding 
-PASS Unscopable handled correctly for inputEncoding property on Document 
-PASS Document interface: attribute contentType 
-PASS Unscopable handled correctly for contentType property on Document 
-PASS Document interface: attribute doctype 
-PASS Unscopable handled correctly for doctype property on Document 
-PASS Document interface: attribute documentElement 
-PASS Unscopable handled correctly for documentElement property on Document 
-PASS Document interface: operation getElementsByTagName(DOMString) 
-PASS Unscopable handled correctly for getElementsByTagName(DOMString) on Document 
-PASS Document interface: operation getElementsByTagNameNS(DOMString, DOMString) 
-PASS Unscopable handled correctly for getElementsByTagNameNS(DOMString, DOMString) on Document 
-PASS Document interface: operation getElementsByClassName(DOMString) 
-PASS Unscopable handled correctly for getElementsByClassName(DOMString) on Document 
-PASS Document interface: operation createElement(DOMString, [object Object],[object Object]) 
-PASS Unscopable handled correctly for createElement(DOMString, [object Object],[object Object]) on Document 
-PASS Document interface: operation createElementNS(DOMString, DOMString, [object Object],[object Object]) 
-PASS Unscopable handled correctly for createElementNS(DOMString, DOMString, [object Object],[object Object]) on Document 
-PASS Document interface: operation createDocumentFragment() 
-PASS Unscopable handled correctly for createDocumentFragment() on Document 
-PASS Document interface: operation createTextNode(DOMString) 
-PASS Unscopable handled correctly for createTextNode(DOMString) on Document 
-PASS Document interface: operation createCDATASection(DOMString) 
-PASS Unscopable handled correctly for createCDATASection(DOMString) on Document 
-PASS Document interface: operation createComment(DOMString) 
-PASS Unscopable handled correctly for createComment(DOMString) on Document 
-PASS Document interface: operation createProcessingInstruction(DOMString, DOMString) 
-PASS Unscopable handled correctly for createProcessingInstruction(DOMString, DOMString) on Document 
-PASS Document interface: operation importNode(Node, boolean) 
-PASS Unscopable handled correctly for importNode(Node, boolean) on Document 
-PASS Document interface: operation adoptNode(Node) 
-PASS Unscopable handled correctly for adoptNode(Node) on Document 
-PASS Document interface: operation createAttribute(DOMString) 
-PASS Unscopable handled correctly for createAttribute(DOMString) on Document 
-PASS Document interface: operation createAttributeNS(DOMString, DOMString) 
-PASS Unscopable handled correctly for createAttributeNS(DOMString, DOMString) on Document 
-PASS Document interface: operation createEvent(DOMString) 
-PASS Unscopable handled correctly for createEvent(DOMString) on Document 
-PASS Document interface: operation createRange() 
-PASS Unscopable handled correctly for createRange() on Document 
-PASS Document interface: operation createNodeIterator(Node, unsigned long, NodeFilter) 
-PASS Unscopable handled correctly for createNodeIterator(Node, unsigned long, NodeFilter) on Document 
-PASS Document interface: operation createTreeWalker(Node, unsigned long, NodeFilter) 
-PASS Unscopable handled correctly for createTreeWalker(Node, unsigned long, NodeFilter) on Document 
-PASS Document interface: operation getElementById(DOMString) 
-PASS Unscopable handled correctly for getElementById(DOMString) on Document 
-PASS Document interface: attribute children 
-PASS Unscopable handled correctly for children property on Document 
-PASS Document interface: attribute firstElementChild 
-PASS Unscopable handled correctly for firstElementChild property on Document 
-PASS Document interface: attribute lastElementChild 
-PASS Unscopable handled correctly for lastElementChild property on Document 
-PASS Document interface: attribute childElementCount 
-PASS Unscopable handled correctly for childElementCount property on Document 
-PASS Document interface: operation prepend([object Object],[object Object]) 
-PASS Unscopable handled correctly for prepend([object Object],[object Object]) on Document 
-PASS Document interface: operation append([object Object],[object Object]) 
-PASS Unscopable handled correctly for append([object Object],[object Object]) on Document 
-PASS Document interface: operation querySelector(DOMString) 
-PASS Unscopable handled correctly for querySelector(DOMString) on Document 
-PASS Document interface: operation querySelectorAll(DOMString) 
-PASS Unscopable handled correctly for querySelectorAll(DOMString) on Document 
-PASS XMLDocument interface: existence and properties of interface object 
-PASS XMLDocument interface object length 
-PASS XMLDocument interface object name 
-PASS XMLDocument interface: existence and properties of interface prototype object 
-PASS XMLDocument interface: existence and properties of interface prototype object's "constructor" property 
-PASS XMLDocument interface: existence and properties of interface prototype object's @@unscopables property 
-PASS DOMImplementation interface: existence and properties of interface object 
-PASS DOMImplementation interface object length 
-PASS DOMImplementation interface object name 
-PASS DOMImplementation interface: existence and properties of interface prototype object 
-PASS DOMImplementation interface: existence and properties of interface prototype object's "constructor" property 
-PASS DOMImplementation interface: existence and properties of interface prototype object's @@unscopables property 
-PASS DOMImplementation interface: operation createDocumentType(DOMString, DOMString, DOMString) 
-PASS Unscopable handled correctly for createDocumentType(DOMString, DOMString, DOMString) on DOMImplementation 
-PASS DOMImplementation interface: operation createDocument(DOMString, DOMString, DocumentType) 
-PASS Unscopable handled correctly for createDocument(DOMString, DOMString, DocumentType) on DOMImplementation 
-PASS DOMImplementation interface: operation createHTMLDocument(DOMString) 
-PASS Unscopable handled correctly for createHTMLDocument(DOMString) on DOMImplementation 
-PASS DOMImplementation interface: operation hasFeature() 
-PASS Unscopable handled correctly for hasFeature() on DOMImplementation 
-PASS DocumentType interface: existence and properties of interface object 
-PASS DocumentType interface object length 
-PASS DocumentType interface object name 
-PASS DocumentType interface: existence and properties of interface prototype object 
-PASS DocumentType interface: existence and properties of interface prototype object's "constructor" property 
-PASS DocumentType interface: existence and properties of interface prototype object's @@unscopables property 
-PASS DocumentType interface: attribute name 
-PASS Unscopable handled correctly for name property on DocumentType 
-PASS DocumentType interface: attribute publicId 
-PASS Unscopable handled correctly for publicId property on DocumentType 
-PASS DocumentType interface: attribute systemId 
-PASS Unscopable handled correctly for systemId property on DocumentType 
-PASS DocumentType interface: operation before([object Object],[object Object]) 
-PASS Unscopable handled correctly for before([object Object],[object Object]) on DocumentType 
-PASS DocumentType interface: operation after([object Object],[object Object]) 
-PASS Unscopable handled correctly for after([object Object],[object Object]) on DocumentType 
-PASS DocumentType interface: operation replaceWith([object Object],[object Object]) 
-PASS Unscopable handled correctly for replaceWith([object Object],[object Object]) on DocumentType 
-PASS DocumentType interface: operation remove() 
-PASS Unscopable handled correctly for remove() on DocumentType 
-PASS DocumentFragment interface: existence and properties of interface object 
-PASS DocumentFragment interface object length 
-PASS DocumentFragment interface object name 
-PASS DocumentFragment interface: existence and properties of interface prototype object 
-PASS DocumentFragment interface: existence and properties of interface prototype object's "constructor" property 
-PASS DocumentFragment interface: existence and properties of interface prototype object's @@unscopables property 
-PASS DocumentFragment interface: operation getElementById(DOMString) 
-PASS Unscopable handled correctly for getElementById(DOMString) on DocumentFragment 
-PASS DocumentFragment interface: attribute children 
-PASS Unscopable handled correctly for children property on DocumentFragment 
-PASS DocumentFragment interface: attribute firstElementChild 
-PASS Unscopable handled correctly for firstElementChild property on DocumentFragment 
-PASS DocumentFragment interface: attribute lastElementChild 
-PASS Unscopable handled correctly for lastElementChild property on DocumentFragment 
-PASS DocumentFragment interface: attribute childElementCount 
-PASS Unscopable handled correctly for childElementCount property on DocumentFragment 
-PASS DocumentFragment interface: operation prepend([object Object],[object Object]) 
-PASS Unscopable handled correctly for prepend([object Object],[object Object]) on DocumentFragment 
-PASS DocumentFragment interface: operation append([object Object],[object Object]) 
-PASS Unscopable handled correctly for append([object Object],[object Object]) on DocumentFragment 
-PASS DocumentFragment interface: operation querySelector(DOMString) 
-PASS Unscopable handled correctly for querySelector(DOMString) on DocumentFragment 
-PASS DocumentFragment interface: operation querySelectorAll(DOMString) 
-PASS Unscopable handled correctly for querySelectorAll(DOMString) on DocumentFragment 
-PASS ShadowRoot interface: existence and properties of interface object 
-PASS ShadowRoot interface object length 
-PASS ShadowRoot interface object name 
-PASS ShadowRoot interface: existence and properties of interface prototype object 
-PASS ShadowRoot interface: existence and properties of interface prototype object's "constructor" property 
-PASS ShadowRoot interface: existence and properties of interface prototype object's @@unscopables property 
-PASS ShadowRoot interface: attribute mode 
-PASS Unscopable handled correctly for mode property on ShadowRoot 
-PASS ShadowRoot interface: attribute host 
-PASS Unscopable handled correctly for host property on ShadowRoot 
-PASS Element interface: existence and properties of interface object 
-PASS Element interface object length 
-PASS Element interface object name 
-PASS Element interface: existence and properties of interface prototype object 
-PASS Element interface: existence and properties of interface prototype object's "constructor" property 
-PASS Element interface: existence and properties of interface prototype object's @@unscopables property 
-PASS Element interface: attribute namespaceURI 
-PASS Unscopable handled correctly for namespaceURI property on Element 
-PASS Element interface: attribute prefix 
-PASS Unscopable handled correctly for prefix property on Element 
-PASS Element interface: attribute localName 
-PASS Unscopable handled correctly for localName property on Element 
-PASS Element interface: attribute tagName 
-PASS Unscopable handled correctly for tagName property on Element 
-PASS Element interface: attribute id 
-PASS Unscopable handled correctly for id property on Element 
-PASS Element interface: attribute className 
-PASS Unscopable handled correctly for className property on Element 
-PASS Element interface: attribute classList 
-PASS Unscopable handled correctly for classList property on Element 
-PASS Element interface: attribute slot 
-PASS Unscopable handled correctly for slot property on Element 
-PASS Element interface: operation hasAttributes() 
-PASS Unscopable handled correctly for hasAttributes() on Element 
-PASS Element interface: attribute attributes 
-PASS Unscopable handled correctly for attributes property on Element 
-PASS Element interface: operation getAttributeNames() 
-PASS Unscopable handled correctly for getAttributeNames() on Element 
-PASS Element interface: operation getAttribute(DOMString) 
-PASS Unscopable handled correctly for getAttribute(DOMString) on Element 
-PASS Element interface: operation getAttributeNS(DOMString, DOMString) 
-PASS Unscopable handled correctly for getAttributeNS(DOMString, DOMString) on Element 
-PASS Element interface: operation setAttribute(DOMString, DOMString) 
-PASS Unscopable handled correctly for setAttribute(DOMString, DOMString) on Element 
-PASS Element interface: operation setAttributeNS(DOMString, DOMString, DOMString) 
-PASS Unscopable handled correctly for setAttributeNS(DOMString, DOMString, DOMString) on Element 
-PASS Element interface: operation removeAttribute(DOMString) 
-PASS Unscopable handled correctly for removeAttribute(DOMString) on Element 
-PASS Element interface: operation removeAttributeNS(DOMString, DOMString) 
-PASS Unscopable handled correctly for removeAttributeNS(DOMString, DOMString) on Element 
-PASS Element interface: operation hasAttribute(DOMString) 
-PASS Unscopable handled correctly for hasAttribute(DOMString) on Element 
-PASS Element interface: operation hasAttributeNS(DOMString, DOMString) 
-PASS Unscopable handled correctly for hasAttributeNS(DOMString, DOMString) on Element 
-PASS Element interface: operation getAttributeNode(DOMString) 
-PASS Unscopable handled correctly for getAttributeNode(DOMString) on Element 
-PASS Element interface: operation getAttributeNodeNS(DOMString, DOMString) 
-PASS Unscopable handled correctly for getAttributeNodeNS(DOMString, DOMString) on Element 
-PASS Element interface: operation setAttributeNode(Attr) 
-PASS Unscopable handled correctly for setAttributeNode(Attr) on Element 
-PASS Element interface: operation setAttributeNodeNS(Attr) 
-PASS Unscopable handled correctly for setAttributeNodeNS(Attr) on Element 
-PASS Element interface: operation removeAttributeNode(Attr) 
-PASS Unscopable handled correctly for removeAttributeNode(Attr) on Element 
-PASS Element interface: operation attachShadow(ShadowRootInit) 
-PASS Unscopable handled correctly for attachShadow(ShadowRootInit) on Element 
-PASS Element interface: attribute shadowRoot 
-PASS Unscopable handled correctly for shadowRoot property on Element 
-PASS Element interface: operation closest(DOMString) 
-PASS Unscopable handled correctly for closest(DOMString) on Element 
-PASS Element interface: operation matches(DOMString) 
-PASS Unscopable handled correctly for matches(DOMString) on Element 
-PASS Element interface: operation webkitMatchesSelector(DOMString) 
-PASS Unscopable handled correctly for webkitMatchesSelector(DOMString) on Element 
-PASS Element interface: operation getElementsByTagName(DOMString) 
-PASS Unscopable handled correctly for getElementsByTagName(DOMString) on Element 
-PASS Element interface: operation getElementsByTagNameNS(DOMString, DOMString) 
-PASS Unscopable handled correctly for getElementsByTagNameNS(DOMString, DOMString) on Element 
-PASS Element interface: operation getElementsByClassName(DOMString) 
-PASS Unscopable handled correctly for getElementsByClassName(DOMString) on Element 
-PASS Element interface: operation insertAdjacentElement(DOMString, Element) 
-PASS Unscopable handled correctly for insertAdjacentElement(DOMString, Element) on Element 
-PASS Element interface: operation insertAdjacentText(DOMString, DOMString) 
-PASS Unscopable handled correctly for insertAdjacentText(DOMString, DOMString) on Element 
-PASS Element interface: attribute children 
-PASS Unscopable handled correctly for children property on Element 
-PASS Element interface: attribute firstElementChild 
-PASS Unscopable handled correctly for firstElementChild property on Element 
-PASS Element interface: attribute lastElementChild 
-PASS Unscopable handled correctly for lastElementChild property on Element 
-PASS Element interface: attribute childElementCount 
-PASS Unscopable handled correctly for childElementCount property on Element 
-PASS Element interface: operation prepend([object Object],[object Object]) 
-PASS Unscopable handled correctly for prepend([object Object],[object Object]) on Element 
-PASS Element interface: operation append([object Object],[object Object]) 
-PASS Unscopable handled correctly for append([object Object],[object Object]) on Element 
-PASS Element interface: operation querySelector(DOMString) 
-PASS Unscopable handled correctly for querySelector(DOMString) on Element 
-PASS Element interface: operation querySelectorAll(DOMString) 
-PASS Unscopable handled correctly for querySelectorAll(DOMString) on Element 
-PASS Element interface: attribute previousElementSibling 
-PASS Unscopable handled correctly for previousElementSibling property on Element 
-PASS Element interface: attribute nextElementSibling 
-PASS Unscopable handled correctly for nextElementSibling property on Element 
-PASS Element interface: operation before([object Object],[object Object]) 
-PASS Unscopable handled correctly for before([object Object],[object Object]) on Element 
-PASS Element interface: operation after([object Object],[object Object]) 
-PASS Unscopable handled correctly for after([object Object],[object Object]) on Element 
-PASS Element interface: operation replaceWith([object Object],[object Object]) 
-PASS Unscopable handled correctly for replaceWith([object Object],[object Object]) on Element 
-PASS Element interface: operation remove() 
-PASS Unscopable handled correctly for remove() on Element 
-PASS Element interface: attribute assignedSlot 
-PASS Unscopable handled correctly for assignedSlot property on Element 
-PASS NamedNodeMap interface: existence and properties of interface object 
-PASS NamedNodeMap interface object length 
-PASS NamedNodeMap interface object name 
-PASS NamedNodeMap interface: existence and properties of interface prototype object 
-PASS NamedNodeMap interface: existence and properties of interface prototype object's "constructor" property 
-PASS NamedNodeMap interface: existence and properties of interface prototype object's @@unscopables property 
-PASS NamedNodeMap interface: attribute length 
-PASS Unscopable handled correctly for length property on NamedNodeMap 
-PASS NamedNodeMap interface: operation item(unsigned long) 
-PASS Unscopable handled correctly for item(unsigned long) on NamedNodeMap 
-PASS NamedNodeMap interface: operation getNamedItem(DOMString) 
-PASS Unscopable handled correctly for getNamedItem(DOMString) on NamedNodeMap 
-PASS NamedNodeMap interface: operation getNamedItemNS(DOMString, DOMString) 
-PASS Unscopable handled correctly for getNamedItemNS(DOMString, DOMString) on NamedNodeMap 
-PASS NamedNodeMap interface: operation setNamedItem(Attr) 
-PASS Unscopable handled correctly for setNamedItem(Attr) on NamedNodeMap 
-PASS NamedNodeMap interface: operation setNamedItemNS(Attr) 
-PASS Unscopable handled correctly for setNamedItemNS(Attr) on NamedNodeMap 
-PASS NamedNodeMap interface: operation removeNamedItem(DOMString) 
-PASS Unscopable handled correctly for removeNamedItem(DOMString) on NamedNodeMap 
-PASS NamedNodeMap interface: operation removeNamedItemNS(DOMString, DOMString) 
-PASS Unscopable handled correctly for removeNamedItemNS(DOMString, DOMString) on NamedNodeMap 
-PASS Attr interface: existence and properties of interface object 
-PASS Attr interface object length 
-PASS Attr interface object name 
-PASS Attr interface: existence and properties of interface prototype object 
-PASS Attr interface: existence and properties of interface prototype object's "constructor" property 
-PASS Attr interface: existence and properties of interface prototype object's @@unscopables property 
-PASS Attr interface: attribute namespaceURI 
-PASS Unscopable handled correctly for namespaceURI property on Attr 
-PASS Attr interface: attribute prefix 
-PASS Unscopable handled correctly for prefix property on Attr 
-PASS Attr interface: attribute localName 
-PASS Unscopable handled correctly for localName property on Attr 
-PASS Attr interface: attribute name 
-PASS Unscopable handled correctly for name property on Attr 
-PASS Attr interface: attribute value 
-PASS Unscopable handled correctly for value property on Attr 
-PASS Attr interface: attribute ownerElement 
-PASS Unscopable handled correctly for ownerElement property on Attr 
-PASS Attr interface: attribute specified 
-PASS Unscopable handled correctly for specified property on Attr 
-PASS CharacterData interface: existence and properties of interface object 
-PASS CharacterData interface object length 
-PASS CharacterData interface object name 
-PASS CharacterData interface: existence and properties of interface prototype object 
-PASS CharacterData interface: existence and properties of interface prototype object's "constructor" property 
-PASS CharacterData interface: existence and properties of interface prototype object's @@unscopables property 
-PASS CharacterData interface: attribute data 
-PASS Unscopable handled correctly for data property on CharacterData 
-PASS CharacterData interface: attribute length 
-PASS Unscopable handled correctly for length property on CharacterData 
-PASS CharacterData interface: operation substringData(unsigned long, unsigned long) 
-PASS Unscopable handled correctly for substringData(unsigned long, unsigned long) on CharacterData 
-PASS CharacterData interface: operation appendData(DOMString) 
-PASS Unscopable handled correctly for appendData(DOMString) on CharacterData 
-PASS CharacterData interface: operation insertData(unsigned long, DOMString) 
-PASS Unscopable handled correctly for insertData(unsigned long, DOMString) on CharacterData 
-PASS CharacterData interface: operation deleteData(unsigned long, unsigned long) 
-PASS Unscopable handled correctly for deleteData(unsigned long, unsigned long) on CharacterData 
-PASS CharacterData interface: operation replaceData(unsigned long, unsigned long, DOMString) 
-PASS Unscopable handled correctly for replaceData(unsigned long, unsigned long, DOMString) on CharacterData 
-PASS CharacterData interface: attribute previousElementSibling 
-PASS Unscopable handled correctly for previousElementSibling property on CharacterData 
-PASS CharacterData interface: attribute nextElementSibling 
-PASS Unscopable handled correctly for nextElementSibling property on CharacterData 
-PASS CharacterData interface: operation before([object Object],[object Object]) 
-PASS Unscopable handled correctly for before([object Object],[object Object]) on CharacterData 
-PASS CharacterData interface: operation after([object Object],[object Object]) 
-PASS Unscopable handled correctly for after([object Object],[object Object]) on CharacterData 
-PASS CharacterData interface: operation replaceWith([object Object],[object Object]) 
-PASS Unscopable handled correctly for replaceWith([object Object],[object Object]) on CharacterData 
-PASS CharacterData interface: operation remove() 
-PASS Unscopable handled correctly for remove() on CharacterData 
-PASS Text interface: existence and properties of interface object 
-PASS Text interface object length 
-PASS Text interface object name 
-PASS Text interface: existence and properties of interface prototype object 
-PASS Text interface: existence and properties of interface prototype object's "constructor" property 
-PASS Text interface: existence and properties of interface prototype object's @@unscopables property 
-PASS Text interface: operation splitText(unsigned long) 
-PASS Unscopable handled correctly for splitText(unsigned long) on Text 
-PASS Text interface: attribute wholeText 
-PASS Unscopable handled correctly for wholeText property on Text 
-PASS Text interface: attribute assignedSlot 
-PASS Unscopable handled correctly for assignedSlot property on Text 
-PASS CDATASection interface: existence and properties of interface object 
-PASS CDATASection interface object length 
-PASS CDATASection interface object name 
-PASS CDATASection interface: existence and properties of interface prototype object 
-PASS CDATASection interface: existence and properties of interface prototype object's "constructor" property 
-PASS CDATASection interface: existence and properties of interface prototype object's @@unscopables property 
-PASS ProcessingInstruction interface: existence and properties of interface object 
-PASS ProcessingInstruction interface object length 
-PASS ProcessingInstruction interface object name 
-PASS ProcessingInstruction interface: existence and properties of interface prototype object 
-PASS ProcessingInstruction interface: existence and properties of interface prototype object's "constructor" property 
-PASS ProcessingInstruction interface: existence and properties of interface prototype object's @@unscopables property 
-PASS ProcessingInstruction interface: attribute target 
-PASS Unscopable handled correctly for target property on ProcessingInstruction 
-PASS Comment interface: existence and properties of interface object 
-PASS Comment interface object length 
-PASS Comment interface object name 
-PASS Comment interface: existence and properties of interface prototype object 
-PASS Comment interface: existence and properties of interface prototype object's "constructor" property 
-PASS Comment interface: existence and properties of interface prototype object's @@unscopables property 
-PASS Range interface: existence and properties of interface object 
-PASS Range interface object length 
-PASS Range interface object name 
-PASS Range interface: existence and properties of interface prototype object 
-PASS Range interface: existence and properties of interface prototype object's "constructor" property 
-PASS Range interface: existence and properties of interface prototype object's @@unscopables property 
-PASS Range interface: attribute startContainer 
-PASS Unscopable handled correctly for startContainer property on Range 
-PASS Range interface: attribute startOffset 
-PASS Unscopable handled correctly for startOffset property on Range 
-PASS Range interface: attribute endContainer 
-PASS Unscopable handled correctly for endContainer property on Range 
-PASS Range interface: attribute endOffset 
-PASS Unscopable handled correctly for endOffset property on Range 
-PASS Range interface: attribute collapsed 
-PASS Unscopable handled correctly for collapsed property on Range 
-PASS Range interface: attribute commonAncestorContainer 
-PASS Unscopable handled correctly for commonAncestorContainer property on Range 
-PASS Range interface: operation setStart(Node, unsigned long) 
-PASS Unscopable handled correctly for setStart(Node, unsigned long) on Range 
-PASS Range interface: operation setEnd(Node, unsigned long) 
-PASS Unscopable handled correctly for setEnd(Node, unsigned long) on Range 
-PASS Range interface: operation setStartBefore(Node) 
-PASS Unscopable handled correctly for setStartBefore(Node) on Range 
-PASS Range interface: operation setStartAfter(Node) 
-PASS Unscopable handled correctly for setStartAfter(Node) on Range 
-PASS Range interface: operation setEndBefore(Node) 
-PASS Unscopable handled correctly for setEndBefore(Node) on Range 
-PASS Range interface: operation setEndAfter(Node) 
-PASS Unscopable handled correctly for setEndAfter(Node) on Range 
-PASS Range interface: operation collapse(boolean) 
-PASS Unscopable handled correctly for collapse(boolean) on Range 
-PASS Range interface: operation selectNode(Node) 
-PASS Unscopable handled correctly for selectNode(Node) on Range 
-PASS Range interface: operation selectNodeContents(Node) 
-PASS Unscopable handled correctly for selectNodeContents(Node) on Range 
-PASS Range interface: constant START_TO_START on interface object 
-PASS Range interface: constant START_TO_START on interface prototype object 
-PASS Range interface: constant START_TO_END on interface object 
-PASS Range interface: constant START_TO_END on interface prototype object 
-PASS Range interface: constant END_TO_END on interface object 
-PASS Range interface: constant END_TO_END on interface prototype object 
-PASS Range interface: constant END_TO_START on interface object 
-PASS Range interface: constant END_TO_START on interface prototype object 
-PASS Range interface: operation compareBoundaryPoints(unsigned short, Range) 
-PASS Unscopable handled correctly for compareBoundaryPoints(unsigned short, Range) on Range 
-PASS Range interface: operation deleteContents() 
-PASS Unscopable handled correctly for deleteContents() on Range 
-PASS Range interface: operation extractContents() 
-PASS Unscopable handled correctly for extractContents() on Range 
-PASS Range interface: operation cloneContents() 
-PASS Unscopable handled correctly for cloneContents() on Range 
-PASS Range interface: operation insertNode(Node) 
-PASS Unscopable handled correctly for insertNode(Node) on Range 
-PASS Range interface: operation surroundContents(Node) 
-PASS Unscopable handled correctly for surroundContents(Node) on Range 
-PASS Range interface: operation cloneRange() 
-PASS Unscopable handled correctly for cloneRange() on Range 
-PASS Range interface: operation detach() 
-PASS Unscopable handled correctly for detach() on Range 
-PASS Range interface: operation isPointInRange(Node, unsigned long) 
-PASS Unscopable handled correctly for isPointInRange(Node, unsigned long) on Range 
-PASS Range interface: operation comparePoint(Node, unsigned long) 
-PASS Unscopable handled correctly for comparePoint(Node, unsigned long) on Range 
-PASS Range interface: operation intersectsNode(Node) 
-PASS Unscopable handled correctly for intersectsNode(Node) on Range 
-PASS Range interface: stringifier 
-PASS NodeIterator interface: existence and properties of interface object 
-PASS NodeIterator interface object length 
-PASS NodeIterator interface object name 
-PASS NodeIterator interface: existence and properties of interface prototype object 
-PASS NodeIterator interface: existence and properties of interface prototype object's "constructor" property 
-PASS NodeIterator interface: existence and properties of interface prototype object's @@unscopables property 
-PASS NodeIterator interface: attribute root 
-PASS Unscopable handled correctly for root property on NodeIterator 
-PASS NodeIterator interface: attribute referenceNode 
-PASS Unscopable handled correctly for referenceNode property on NodeIterator 
-PASS NodeIterator interface: attribute pointerBeforeReferenceNode 
-PASS Unscopable handled correctly for pointerBeforeReferenceNode property on NodeIterator 
-PASS NodeIterator interface: attribute whatToShow 
-PASS Unscopable handled correctly for whatToShow property on NodeIterator 
-PASS NodeIterator interface: attribute filter 
-PASS Unscopable handled correctly for filter property on NodeIterator 
-PASS NodeIterator interface: operation nextNode() 
-PASS Unscopable handled correctly for nextNode() on NodeIterator 
-PASS NodeIterator interface: operation previousNode() 
-PASS Unscopable handled correctly for previousNode() on NodeIterator 
-PASS NodeIterator interface: operation detach() 
-PASS Unscopable handled correctly for detach() on NodeIterator 
-PASS TreeWalker interface: existence and properties of interface object 
-PASS TreeWalker interface object length 
-PASS TreeWalker interface object name 
-PASS TreeWalker interface: existence and properties of interface prototype object 
-PASS TreeWalker interface: existence and properties of interface prototype object's "constructor" property 
-PASS TreeWalker interface: existence and properties of interface prototype object's @@unscopables property 
-PASS TreeWalker interface: attribute root 
-PASS Unscopable handled correctly for root property on TreeWalker 
-PASS TreeWalker interface: attribute whatToShow 
-PASS Unscopable handled correctly for whatToShow property on TreeWalker 
-PASS TreeWalker interface: attribute filter 
-PASS Unscopable handled correctly for filter property on TreeWalker 
-PASS TreeWalker interface: attribute currentNode 
-PASS Unscopable handled correctly for currentNode property on TreeWalker 
-PASS TreeWalker interface: operation parentNode() 
-PASS Unscopable handled correctly for parentNode() on TreeWalker 
-PASS TreeWalker interface: operation firstChild() 
-PASS Unscopable handled correctly for firstChild() on TreeWalker 
-PASS TreeWalker interface: operation lastChild() 
-PASS Unscopable handled correctly for lastChild() on TreeWalker 
-PASS TreeWalker interface: operation previousSibling() 
-PASS Unscopable handled correctly for previousSibling() on TreeWalker 
-PASS TreeWalker interface: operation nextSibling() 
-PASS Unscopable handled correctly for nextSibling() on TreeWalker 
-PASS TreeWalker interface: operation previousNode() 
-PASS Unscopable handled correctly for previousNode() on TreeWalker 
-PASS TreeWalker interface: operation nextNode() 
-PASS Unscopable handled correctly for nextNode() on TreeWalker 
-PASS NodeFilter interface: existence and properties of interface object 
-PASS NodeFilter interface object name 
-PASS NodeFilter interface: existence and properties of interface prototype object 
-PASS NodeFilter interface: existence and properties of interface prototype object's "constructor" property 
-PASS NodeFilter interface: existence and properties of interface prototype object's @@unscopables property 
-PASS NodeFilter interface: constant FILTER_ACCEPT on interface object 
-PASS NodeFilter interface: constant FILTER_ACCEPT on interface prototype object 
-PASS NodeFilter interface: constant FILTER_REJECT on interface object 
-PASS NodeFilter interface: constant FILTER_REJECT on interface prototype object 
-PASS NodeFilter interface: constant FILTER_SKIP on interface object 
-PASS NodeFilter interface: constant FILTER_SKIP on interface prototype object 
-PASS NodeFilter interface: constant SHOW_ALL on interface object 
-PASS NodeFilter interface: constant SHOW_ALL on interface prototype object 
-PASS NodeFilter interface: constant SHOW_ELEMENT on interface object 
-PASS NodeFilter interface: constant SHOW_ELEMENT on interface prototype object 
-PASS NodeFilter interface: constant SHOW_ATTRIBUTE on interface object 
-PASS NodeFilter interface: constant SHOW_ATTRIBUTE on interface prototype object 
-PASS NodeFilter interface: constant SHOW_TEXT on interface object 
-PASS NodeFilter interface: constant SHOW_TEXT on interface prototype object 
-PASS NodeFilter interface: constant SHOW_CDATA_SECTION on interface object 
-PASS NodeFilter interface: constant SHOW_CDATA_SECTION on interface prototype object 
-PASS NodeFilter interface: constant SHOW_ENTITY_REFERENCE on interface object 
-PASS NodeFilter interface: constant SHOW_ENTITY_REFERENCE on interface prototype object 
-PASS NodeFilter interface: constant SHOW_ENTITY on interface object 
-PASS NodeFilter interface: constant SHOW_ENTITY on interface prototype object 
-PASS NodeFilter interface: constant SHOW_PROCESSING_INSTRUCTION on interface object 
-PASS NodeFilter interface: constant SHOW_PROCESSING_INSTRUCTION on interface prototype object 
-PASS NodeFilter interface: constant SHOW_COMMENT on interface object 
-PASS NodeFilter interface: constant SHOW_COMMENT on interface prototype object 
-PASS NodeFilter interface: constant SHOW_DOCUMENT on interface object 
-PASS NodeFilter interface: constant SHOW_DOCUMENT on interface prototype object 
-PASS NodeFilter interface: constant SHOW_DOCUMENT_TYPE on interface object 
-PASS NodeFilter interface: constant SHOW_DOCUMENT_TYPE on interface prototype object 
-PASS NodeFilter interface: constant SHOW_DOCUMENT_FRAGMENT on interface object 
-PASS NodeFilter interface: constant SHOW_DOCUMENT_FRAGMENT on interface prototype object 
-PASS NodeFilter interface: constant SHOW_NOTATION on interface object 
-PASS NodeFilter interface: constant SHOW_NOTATION on interface prototype object 
-PASS NodeFilter interface: operation acceptNode(Node) 
-PASS Unscopable handled correctly for acceptNode(Node) on NodeFilter 
-PASS DOMTokenList interface: existence and properties of interface object 
-PASS DOMTokenList interface object length 
-PASS DOMTokenList interface object name 
-PASS DOMTokenList interface: existence and properties of interface prototype object 
-PASS DOMTokenList interface: existence and properties of interface prototype object's "constructor" property 
-PASS DOMTokenList interface: existence and properties of interface prototype object's @@unscopables property 
-PASS DOMTokenList interface: attribute length 
-PASS Unscopable handled correctly for length property on DOMTokenList 
-PASS DOMTokenList interface: operation item(unsigned long) 
-PASS Unscopable handled correctly for item(unsigned long) on DOMTokenList 
-PASS DOMTokenList interface: operation contains(DOMString) 
-PASS Unscopable handled correctly for contains(DOMString) on DOMTokenList 
-PASS DOMTokenList interface: operation add(DOMString) 
-PASS Unscopable handled correctly for add(DOMString) on DOMTokenList 
-PASS DOMTokenList interface: operation remove(DOMString) 
-PASS Unscopable handled correctly for remove(DOMString) on DOMTokenList 
-PASS DOMTokenList interface: operation toggle(DOMString, boolean) 
-PASS Unscopable handled correctly for toggle(DOMString, boolean) on DOMTokenList 
-PASS DOMTokenList interface: operation replace(DOMString, DOMString) 
-PASS Unscopable handled correctly for replace(DOMString, DOMString) on DOMTokenList 
-PASS DOMTokenList interface: operation supports(DOMString) 
-PASS Unscopable handled correctly for supports(DOMString) on DOMTokenList 
-PASS DOMTokenList interface: attribute value 
-PASS Unscopable handled correctly for value property on DOMTokenList 
-PASS DOMTokenList interface: stringifier 
 PASS PaymentRequest interface: existence and properties of interface object 
 PASS PaymentRequest interface object length 
 PASS PaymentRequest interface object name 
@@ -828,12 +37,6 @@ PASS PaymentRequest interface: new PaymentRequest([{supportedMethods: 'foo'}], {
 PASS PaymentRequest interface: new PaymentRequest([{supportedMethods: 'foo'}], {total: {label: 'bar', amount: {currency: 'USD', value: '0'}} }) must inherit property "shippingType" with the proper type 
 PASS PaymentRequest interface: new PaymentRequest([{supportedMethods: 'foo'}], {total: {label: 'bar', amount: {currency: 'USD', value: '0'}} }) must inherit property "onshippingaddresschange" with the proper type 
 PASS PaymentRequest interface: new PaymentRequest([{supportedMethods: 'foo'}], {total: {label: 'bar', amount: {currency: 'USD', value: '0'}} }) must inherit property "onshippingoptionchange" with the proper type 
-PASS EventTarget interface: new PaymentRequest([{supportedMethods: 'foo'}], {total: {label: 'bar', amount: {currency: 'USD', value: '0'}} }) must inherit property "addEventListener(DOMString, EventListener, [object Object],[object Object])" with the proper type 
-PASS EventTarget interface: calling addEventListener(DOMString, EventListener, [object Object],[object Object]) on new PaymentRequest([{supportedMethods: 'foo'}], {total: {label: 'bar', amount: {currency: 'USD', value: '0'}} }) with too few arguments must throw TypeError 
-PASS EventTarget interface: new PaymentRequest([{supportedMethods: 'foo'}], {total: {label: 'bar', amount: {currency: 'USD', value: '0'}} }) must inherit property "removeEventListener(DOMString, EventListener, [object Object],[object Object])" with the proper type 
-PASS EventTarget interface: calling removeEventListener(DOMString, EventListener, [object Object],[object Object]) on new PaymentRequest([{supportedMethods: 'foo'}], {total: {label: 'bar', amount: {currency: 'USD', value: '0'}} }) with too few arguments must throw TypeError 
-PASS EventTarget interface: new PaymentRequest([{supportedMethods: 'foo'}], {total: {label: 'bar', amount: {currency: 'USD', value: '0'}} }) must inherit property "dispatchEvent(Event)" with the proper type 
-PASS EventTarget interface: calling dispatchEvent(Event) on new PaymentRequest([{supportedMethods: 'foo'}], {total: {label: 'bar', amount: {currency: 'USD', value: '0'}} }) with too few arguments must throw TypeError 
 PASS PaymentAddress interface: existence and properties of interface object 
 PASS PaymentAddress interface object length 
 PASS PaymentAddress interface object name 
index bfbcad4..a7ec323 100644 (file)
@@ -7,12 +7,13 @@
 <script src=/resources/idlharness.js></script>
 <script>
 promise_test(async () => {
-  const idlURLs = ["/interfaces/dom.idl", "/interfaces/payment-request.idl"];
+  const urls =  ["/interfaces/dom.idl", "/interfaces/payment-request.idl"];
+  const [dom, payment_request] = await Promise.all(
+    urls.map(url => fetch(url).then(r => r.text())));
   const idlArray = new IdlArray();
-  for(const url of idlURLs){
-    const idlText = await fetch(url).then(r => r.text());
-    idlArray.add_idls(idlText);
-  }
+  idlArray.add_untested_idls(dom);
+  idlArray.add_idls(payment_request);
+
   // typedef EventHandler from HTML
   // https://html.spec.whatwg.org/#eventhandler
   idlArray.add_idls(`
index af17cee..c3045c4 100644 (file)
@@ -123,6 +123,28 @@ var fround =
 })();
 //@}
 
+/// IdlHarnessError ///
+// Entry point
+self.IdlHarnessError = function(message)
+//@{
+{
+    /**
+     * Message to be printed as the error's toString invocation.
+     */
+    this.message = message;
+};
+
+IdlHarnessError.prototype = Object.create(Error.prototype);
+
+//@}
+IdlHarnessError.prototype.toString = function()
+//@{
+{
+    return this.message;
+};
+
+//@}
+
 /// IdlArray ///
 // Entry point
 self.IdlArray = function()
@@ -177,7 +199,7 @@ IdlArray.prototype.add_idls = function(raw_idls, options)
 };
 
 //@}
-IdlArray.prototype.add_untested_idls = function(raw_idls)
+IdlArray.prototype.add_untested_idls = function(raw_idls, options)
 //@{
 {
     /** Entry point.  See documentation at beginning of file. */
@@ -193,7 +215,7 @@ IdlArray.prototype.add_untested_idls = function(raw_idls)
             }
         }
     }
-    this.internal_add_idls(parsed_idls);
+    this.internal_add_idls(parsed_idls, options);
 };
 
 //@}
@@ -217,7 +239,7 @@ IdlArray.prototype.internal_add_idls = function(parsed_idls, options)
 
     if (options && options.only && options.except)
     {
-        throw "The only and except options can't be used together."
+        throw new IdlHarnessError("The only and except options can't be used together.");
     }
 
     function should_skip(name)
@@ -235,7 +257,7 @@ IdlArray.prototype.internal_add_idls = function(parsed_idls, options)
 
     parsed_idls.forEach(function(parsed_idl)
     {
-        if (parsed_idl.type == "interface" && parsed_idl.partial)
+        if (parsed_idl.partial && ["interface", "dictionary"].includes(parsed_idl.type))
         {
             if (should_skip(parsed_idl.name))
             {
@@ -274,14 +296,14 @@ IdlArray.prototype.internal_add_idls = function(parsed_idls, options)
         }
 
         parsed_idl.array = this;
-        if (parsed_idl.name in this.members)
-        {
-            throw "Duplicate identifier " + parsed_idl.name;
-        }
         if (should_skip(parsed_idl.name))
         {
             return;
         }
+        if (parsed_idl.name in this.members)
+        {
+            throw new IdlHarnessError("Duplicate identifier " + parsed_idl.name);
+        }
         switch(parsed_idl.type)
         {
         case "interface":
@@ -374,7 +396,7 @@ IdlArray.prototype.recursively_get_implements = function(interface_name)
         ret = ret.concat(this.recursively_get_implements(ret[i]));
         if (ret.indexOf(ret[i]) != ret.lastIndexOf(ret[i]))
         {
-            throw "Circular implements statements involving " + ret[i];
+            throw new IdlHarnessError("Circular implements statements involving " + ret[i]);
         }
     }
     return ret;
@@ -404,7 +426,7 @@ IdlArray.prototype.recursively_get_includes = function(interface_name)
         ret = ret.concat(this.recursively_get_includes(ret[i]));
         if (ret.indexOf(ret[i]) != ret.lastIndexOf(ret[i]))
         {
-            throw "Circular includes statements involving " + ret[i];
+            throw new IdlHarnessError("Circular includes statements involving " + ret[i]);
         }
     }
     return ret;
@@ -533,7 +555,7 @@ IdlArray.prototype.is_json_type = function(type)
 function exposure_set(object, default_set) {
     var exposed = object.extAttrs.filter(function(a) { return a.name == "Exposed" });
     if (exposed.length > 1 || exposed.length < 0) {
-        throw "Unexpected Exposed extended attributes on " + memberName + ": " + exposed;
+        throw new IdlHarnessError("Unexpected Exposed extended attributes on " + memberName + ": " + exposed);
     }
 
     if (exposed.length === 0) {
@@ -567,7 +589,34 @@ function exposed_in(globals) {
         return globals.indexOf("Worker") >= 0 ||
                globals.indexOf("ServiceWorker") >= 0;
     }
-    throw "Unexpected global object";
+    throw new IdlHarnessError("Unexpected global object");
+}
+
+//@}
+/**
+ * Asserts that the given error message is thrown for the given function.
+ * @param {string|IdlHarnessError} error Expected Error message.
+ * @param {Function} idlArrayFunc Function operating on an IdlArray that should throw.
+ */
+IdlArray.prototype.assert_throws = function(error, idlArrayFunc)
+//@{
+{
+    try {
+        idlArrayFunc.call(this, this);
+    } catch (e) {
+        if (e instanceof AssertionError) {
+            throw e;
+        }
+        // Assertions for behaviour of the idlharness.js engine.
+        if (error instanceof IdlHarnessError) {
+            error = error.message;
+        }
+        if (e.message !== error) {
+            throw new IdlHarnessError(`${idlArrayFunc} threw "${e}", not the expected IdlHarnessError "${error}"`);
+        }
+        return;
+    }
+    throw new IdlHarnessError(`${idlArrayFunc} did not throw the expected IdlHarnessError`);
 }
 
 //@}
@@ -581,9 +630,10 @@ IdlArray.prototype.test = function()
     this.partials.forEach(function(parsed_idl)
     {
         if (!(parsed_idl.name in this.members)
-        || !(this.members[parsed_idl.name] instanceof IdlInterface))
+            || !(this.members[parsed_idl.name] instanceof IdlInterface
+                 || this.members[parsed_idl.name] instanceof IdlDictionary))
         {
-            throw "Partial interface " + parsed_idl.name + " with no original interface";
+            throw new IdlHarnessError(`Partial ${parsed_idl.type} ${parsed_idl.name} with no original ${parsed_idl.type}`);
         }
         if (parsed_idl.extAttrs)
         {
@@ -848,7 +898,7 @@ IdlArray.prototype.assert_type_is = function(value, type)
 
     if (!(type in this.members))
     {
-        throw "Unrecognized type " + type;
+        throw new IdlHarnessError("Unrecognized type " + type);
     }
 
     if (this.members[type] instanceof IdlInterface)
@@ -876,7 +926,7 @@ IdlArray.prototype.assert_type_is = function(value, type)
     }
     else
     {
-        throw "Type " + type + " isn't an interface or dictionary";
+        throw new IdlHarnessError("Type " + type + " isn't an interface or dictionary");
     }
 };
 //@}
@@ -1345,13 +1395,13 @@ IdlInterface.prototype.test_self = function()
         {
             var aliasAttrs = this.extAttrs.filter(function(o) { return o.name === "LegacyWindowAlias"; });
             if (aliasAttrs.length > 1) {
-                throw "Invalid IDL: multiple LegacyWindowAlias extended attributes on " + this.name;
+                throw new IdlHarnessError("Invalid IDL: multiple LegacyWindowAlias extended attributes on " + this.name);
             }
             if (this.is_callback()) {
-                throw "Invalid IDL: LegacyWindowAlias extended attribute on non-interface " + this.name;
+                throw new IdlHarnessError("Invalid IDL: LegacyWindowAlias extended attribute on non-interface " + this.name);
             }
             if (this.exposureSet.indexOf("Window") === -1) {
-                throw "Invalid IDL: LegacyWindowAlias extended attribute on " + this.name + " which is not exposed in Window";
+                throw new IdlHarnessError("Invalid IDL: LegacyWindowAlias extended attribute on " + this.name + " which is not exposed in Window");
             }
             // TODO: when testing of [NoInterfaceObject] interfaces is supported,
             // check that it's not specified together with LegacyWindowAlias.
@@ -1360,7 +1410,7 @@ IdlInterface.prototype.test_self = function()
 
             var rhs = aliasAttrs[0].rhs;
             if (!rhs) {
-                throw "Invalid IDL: LegacyWindowAlias extended attribute on " + this.name + " without identifier";
+                throw new IdlHarnessError("Invalid IDL: LegacyWindowAlias extended attribute on " + this.name + " without identifier");
             }
             var aliases;
             if (rhs.type === "identifier-list") {
@@ -1733,7 +1783,7 @@ IdlInterface.prototype.test_member_const = function(member)
 //@{
 {
     if (!this.has_constants()) {
-        throw "Internal error: test_member_const called without any constants";
+        throw new IdlHarnessError("Internal error: test_member_const called without any constants");
     }
 
     test(function()
@@ -2069,6 +2119,7 @@ IdlInterface.prototype.add_iterable_members = function(member)
 };
 
 IdlInterface.prototype.test_to_json_operation = function(memberHolderObject, member) {
+    var instanceName = memberHolderObject.constructor.name;
     if (member.has_extended_attribute("Default")) {
         var map = this.default_to_json_operation();
         test(function() {
@@ -2082,12 +2133,12 @@ IdlInterface.prototype.test_to_json_operation = function(memberHolderObject, mem
                 this.array.assert_type_is(json[k], type);
                 delete json[k];
             }, this);
-        }.bind(this), "Test default toJSON operation of " + this.name);
+        }.bind(this), "Test default toJSON operation of " + instanceName);
     } else {
         test(function() {
-            assert_true(this.array.is_json_type(member.idlType), JSON.stringify(member.idlType) + " is not an appropriate return value for the toJSON operation of " + this.name);
+            assert_true(this.array.is_json_type(member.idlType), JSON.stringify(member.idlType) + " is not an appropriate return value for the toJSON operation of " + instanceName);
             this.array.assert_type_is(memberHolderObject.toJSON(), member.idlType);
-        }.bind(this), "Test toJSON operation of " + this.name);
+        }.bind(this), "Test toJSON operation of " + instanceName);
     }
 };
 
@@ -2288,7 +2339,7 @@ IdlInterface.prototype.test_object = function(desc)
     {
         if (!(current_interface.name in this.array.members))
         {
-            throw "Interface " + current_interface.name + " not found (inherited by " + this.name + ")";
+            throw new IdlHarnessError("Interface " + current_interface.name + " not found (inherited by " + this.name + ")");
         }
         if (current_interface.prevent_multiple_testing && current_interface.already_tested)
         {
index b85bf73..ddc9706 100644 (file)
@@ -1,4 +1,4 @@
-CONSOLE MESSAGE: line 309: callback not yet supported
+CONSOLE MESSAGE: line 331: callback not yet supported
 
 PASS test setup (worker registration) 
 PASS WorkerGlobalScope interface: existence and properties of interface object 
index c4104a8..7c0a1b6 100644 (file)
@@ -1,4 +1,5 @@
 
+PASS Test driver 
 PASS URL interface: existence and properties of interface object 
 PASS URL interface object length 
 PASS URL interface object name 
index aa5d5c8..dbbbca4 100644 (file)
@@ -1,51 +1,15 @@
 // META: script=/resources/WebIDLParser.js
 // META: script=/resources/idlharness.js
 
-let idlArray,
-    idl = `[Constructor(USVString url, optional USVString base),
- Exposed=(Window,Worker),
- LegacyWindowAlias=webkitURL]
-interface URL {
-  stringifier attribute USVString href;
-  readonly attribute USVString origin;
-           attribute USVString protocol;
-           attribute USVString username;
-           attribute USVString password;
-           attribute USVString host;
-           attribute USVString hostname;
-           attribute USVString port;
-           attribute USVString pathname;
-           attribute USVString search;
-  [SameObject] readonly attribute URLSearchParams searchParams;
-           attribute USVString hash;
-
-  USVString toJSON();
-};
-
-[Constructor(optional (sequence<sequence<USVString>> or record<USVString, USVString> or USVString) init = ""),
- Exposed=(Window,Worker)]
-interface URLSearchParams {
-  void append(USVString name, USVString value);
-  void delete(USVString name);
-  USVString? get(USVString name);
-  sequence<USVString> getAll(USVString name);
-  boolean has(USVString name);
-  void set(USVString name, USVString value);
-
-  void sort();
-
-  iterable<USVString, USVString>;
-  stringifier;
-};`;
-setup(function() {
-  idlArray = new IdlArray();
-  idlArray.add_idls(idl);
-}, {explicit_done:true});
-
-idlArray.add_objects({
-  URL: ['new URL("http://foo")'],
-  URLSearchParams: ['new URLSearchParams("hi=there&thank=you")']
-});
-idlArray.test();
-
-done();
+promise_test(async() => {
+  const text = await fetch('/interfaces/url.idl')
+    .then(response => response.text());
+  const idlArray = new IdlArray();
+  idlArray.add_idls(text);
+  idlArray.add_objects({
+    URL: ['new URL("http://foo")'],
+    URLSearchParams: ['new URLSearchParams("hi=there&thank=you")']
+  });
+  idlArray.test();
+  done();
+}, 'Test driver');
index c4104a8..7c0a1b6 100644 (file)
@@ -1,4 +1,5 @@
 
+PASS Test driver 
 PASS URL interface: existence and properties of interface object 
 PASS URL interface object length 
 PASS URL interface object name 
diff --git a/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-idl-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-idl-expected.txt
deleted file mode 100644 (file)
index d5e13ff..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-Description
-
-This test verifies the availability of the RTCPeerConnection interface.
-
-
-PASS EventTarget interface: existence and properties of interface object 
-PASS EventTarget interface object length 
-PASS EventTarget interface object name 
-PASS EventTarget interface: existence and properties of interface prototype object 
-PASS EventTarget interface: existence and properties of interface prototype object's "constructor" property 
-PASS RTCPeerConnection interface: existence and properties of interface object 
-PASS RTCPeerConnection interface object length 
-PASS RTCPeerConnection interface object name 
-PASS RTCPeerConnection interface: existence and properties of interface prototype object 
-PASS RTCPeerConnection interface: existence and properties of interface prototype object's "constructor" property 
-PASS RTCPeerConnection interface: operation createOffer(RTCOfferOptions) 
-PASS RTCPeerConnection interface: operation createAnswer(RTCAnswerOptions) 
-FAIL RTCPeerConnection interface: operation setLocalDescription(RTCSessionDescription) assert_equals: property has wrong .length expected 1 but got 0
-PASS RTCPeerConnection interface: attribute localDescription 
-PASS RTCPeerConnection interface: attribute currentLocalDescription 
-PASS RTCPeerConnection interface: attribute pendingLocalDescription 
-FAIL RTCPeerConnection interface: operation setRemoteDescription(RTCSessionDescription) assert_equals: property has wrong .length expected 1 but got 0
-PASS RTCPeerConnection interface: attribute remoteDescription 
-PASS RTCPeerConnection interface: attribute currentRemoteDescription 
-PASS RTCPeerConnection interface: attribute pendingRemoteDescription 
-PASS RTCPeerConnection interface: operation addIceCandidate(RTCIceCandidate) 
-PASS RTCPeerConnection interface: attribute signalingState 
-PASS RTCPeerConnection interface: attribute iceGatheringState 
-PASS RTCPeerConnection interface: attribute iceConnectionState 
-FAIL RTCPeerConnection interface: attribute canTrickleIceCandidates assert_true: The prototype object must have a property "canTrickleIceCandidates" expected true got false
-PASS RTCPeerConnection interface: operation getConfiguration() 
-PASS RTCPeerConnection interface: operation setConfiguration(RTCConfiguration) 
-PASS RTCPeerConnection interface: operation close() 
-PASS RTCPeerConnection interface: attribute onnegotiationneeded 
-PASS RTCPeerConnection interface: attribute onicecandidate 
-PASS RTCPeerConnection interface: attribute onsignalingstatechange 
-PASS RTCPeerConnection interface: attribute oniceconnectionstatechange 
-PASS RTCPeerConnection interface: attribute onicegatheringstatechange 
-FAIL RTCPeerConnection interface: operation createOffer(RTCSessionDescriptionCallback, RTCPeerConnectionErrorCallback, RTCOfferOptions) assert_throws: calling operation with this = null didn't throw TypeError function "function () {
-            fn.apply(obj, args);
-        }" did not throw
-FAIL RTCPeerConnection interface: operation setLocalDescription(RTCSessionDescription, VoidFunction, RTCPeerConnectionErrorCallback) assert_equals: property has wrong .length expected 1 but got 0
-FAIL RTCPeerConnection interface: operation createAnswer(RTCSessionDescriptionCallback, RTCPeerConnectionErrorCallback) assert_throws: calling operation with this = null didn't throw TypeError function "function () {
-            fn.apply(obj, args);
-        }" did not throw
-FAIL RTCPeerConnection interface: operation setRemoteDescription(RTCSessionDescription, VoidFunction, RTCPeerConnectionErrorCallback) assert_equals: property has wrong .length expected 1 but got 0
-FAIL RTCPeerConnection interface: operation addIceCandidate(RTCIceCandidate, VoidFunction, RTCPeerConnectionErrorCallback) assert_throws: calling operation with this = null didn't throw TypeError function "function () {
-            fn.apply(obj, args);
-        }" did not throw
-FAIL RTCPeerConnection interface: operation getStats(MediaStreamTrack, RTCStatsCallback, RTCPeerConnectionErrorCallback) assert_throws: calling operation with this = null didn't throw TypeError function "function () {
-            fn.apply(obj, args);
-        }" did not throw
-FAIL RTCPeerConnection interface: operation generateCertificate(AlgorithmIdentifier) assert_own_property: interface object missing static operation expected property "generateCertificate" missing
-PASS RTCPeerConnection interface: operation getSenders() 
-PASS RTCPeerConnection interface: operation getReceivers() 
-PASS RTCPeerConnection interface: operation addTrack(MediaStreamTrack, MediaStream) 
-PASS RTCPeerConnection interface: operation removeTrack(RTCRtpSender) 
-PASS RTCPeerConnection interface: attribute ontrack 
-PASS RTCPeerConnection interface: operation createDataChannel(DOMString, RTCDataChannelInit) 
-PASS RTCPeerConnection interface: attribute ondatachannel 
-FAIL RTCPeerConnection interface: attribute dtmf assert_true: The prototype object must have a property "dtmf" expected true got false
-PASS RTCPeerConnection interface: operation getStats(MediaStreamTrack) 
-FAIL RTCPeerConnection interface: operation setIdentityProvider(DOMString, DOMString, DOMString) assert_own_property: interface prototype object missing non-static operation expected property "setIdentityProvider" missing
-FAIL RTCPeerConnection interface: operation getIdentityAssertion() assert_own_property: interface prototype object missing non-static operation expected property "getIdentityAssertion" missing
-FAIL RTCPeerConnection interface: attribute peerIdentity assert_true: The prototype object must have a property "peerIdentity" expected true got false
-FAIL RTCPeerConnection interface: attribute idpLoginUrl assert_true: The prototype object must have a property "idpLoginUrl" expected true got false
-PASS RTCPeerConnection must be primary interface of pc 
-PASS Stringification of pc 
-PASS RTCPeerConnection interface: pc must inherit property "createOffer(RTCOfferOptions)" with the proper type 
-PASS RTCPeerConnection interface: calling createOffer(RTCOfferOptions) on pc with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: pc must inherit property "createAnswer(RTCAnswerOptions)" with the proper type 
-PASS RTCPeerConnection interface: calling createAnswer(RTCAnswerOptions) on pc with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: pc must inherit property "setLocalDescription(RTCSessionDescription)" with the proper type 
-PASS RTCPeerConnection interface: calling setLocalDescription(RTCSessionDescription) on pc with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: pc must inherit property "localDescription" with the proper type 
-PASS RTCPeerConnection interface: pc must inherit property "currentLocalDescription" with the proper type 
-PASS RTCPeerConnection interface: pc must inherit property "pendingLocalDescription" with the proper type 
-PASS RTCPeerConnection interface: pc must inherit property "setRemoteDescription(RTCSessionDescription)" with the proper type 
-PASS RTCPeerConnection interface: calling setRemoteDescription(RTCSessionDescription) on pc with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: pc must inherit property "remoteDescription" with the proper type 
-PASS RTCPeerConnection interface: pc must inherit property "currentRemoteDescription" with the proper type 
-PASS RTCPeerConnection interface: pc must inherit property "pendingRemoteDescription" with the proper type 
-PASS RTCPeerConnection interface: pc must inherit property "addIceCandidate(RTCIceCandidate)" with the proper type 
-PASS RTCPeerConnection interface: calling addIceCandidate(RTCIceCandidate) on pc with too few arguments must throw TypeError 
-FAIL RTCPeerConnection interface: pc must inherit property "signalingState" with the proper type Unrecognized type RTCSignalingState
-FAIL RTCPeerConnection interface: pc must inherit property "iceGatheringState" with the proper type Unrecognized type RTCIceGatheringState
-FAIL RTCPeerConnection interface: pc must inherit property "iceConnectionState" with the proper type Unrecognized type RTCIceConnectionState
-FAIL RTCPeerConnection interface: pc must inherit property "canTrickleIceCandidates" with the proper type assert_inherits: property "canTrickleIceCandidates" not found in prototype chain
-PASS RTCPeerConnection interface: pc must inherit property "getConfiguration()" with the proper type 
-PASS RTCPeerConnection interface: pc must inherit property "setConfiguration(RTCConfiguration)" with the proper type 
-PASS RTCPeerConnection interface: calling setConfiguration(RTCConfiguration) on pc with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: pc must inherit property "close()" with the proper type 
-FAIL RTCPeerConnection interface: pc must inherit property "onnegotiationneeded" with the proper type Unrecognized type EventHandler
-FAIL RTCPeerConnection interface: pc must inherit property "onicecandidate" with the proper type Unrecognized type EventHandler
-FAIL RTCPeerConnection interface: pc must inherit property "onsignalingstatechange" with the proper type Unrecognized type EventHandler
-FAIL RTCPeerConnection interface: pc must inherit property "oniceconnectionstatechange" with the proper type Unrecognized type EventHandler
-FAIL RTCPeerConnection interface: pc must inherit property "onicegatheringstatechange" with the proper type Unrecognized type EventHandler
-PASS RTCPeerConnection interface: pc must inherit property "createOffer(RTCSessionDescriptionCallback, RTCPeerConnectionErrorCallback, RTCOfferOptions)" with the proper type 
-PASS RTCPeerConnection interface: calling createOffer(RTCSessionDescriptionCallback, RTCPeerConnectionErrorCallback, RTCOfferOptions) on pc with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: pc must inherit property "setLocalDescription(RTCSessionDescription, VoidFunction, RTCPeerConnectionErrorCallback)" with the proper type 
-FAIL RTCPeerConnection interface: calling setLocalDescription(RTCSessionDescription, VoidFunction, RTCPeerConnectionErrorCallback) on pc with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-            fn.apply(obj, args);
-        }" did not throw
-PASS RTCPeerConnection interface: pc must inherit property "createAnswer(RTCSessionDescriptionCallback, RTCPeerConnectionErrorCallback)" with the proper type 
-PASS RTCPeerConnection interface: calling createAnswer(RTCSessionDescriptionCallback, RTCPeerConnectionErrorCallback) on pc with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: pc must inherit property "setRemoteDescription(RTCSessionDescription, VoidFunction, RTCPeerConnectionErrorCallback)" with the proper type 
-FAIL RTCPeerConnection interface: calling setRemoteDescription(RTCSessionDescription, VoidFunction, RTCPeerConnectionErrorCallback) on pc with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-            fn.apply(obj, args);
-        }" did not throw
-PASS RTCPeerConnection interface: pc must inherit property "addIceCandidate(RTCIceCandidate, VoidFunction, RTCPeerConnectionErrorCallback)" with the proper type 
-FAIL RTCPeerConnection interface: calling addIceCandidate(RTCIceCandidate, VoidFunction, RTCPeerConnectionErrorCallback) on pc with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-            fn.apply(obj, args);
-        }" did not throw
-PASS RTCPeerConnection interface: pc must inherit property "getStats(MediaStreamTrack, RTCStatsCallback, RTCPeerConnectionErrorCallback)" with the proper type 
-PASS RTCPeerConnection interface: calling getStats(MediaStreamTrack, RTCStatsCallback, RTCPeerConnectionErrorCallback) on pc with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: pc must inherit property "generateCertificate(AlgorithmIdentifier)" with the proper type 
-FAIL RTCPeerConnection interface: calling generateCertificate(AlgorithmIdentifier) on pc with too few arguments must throw TypeError assert_own_property: interface object must have static operation as own property expected property "generateCertificate" missing
-PASS RTCPeerConnection interface: pc must inherit property "getSenders()" with the proper type 
-PASS RTCPeerConnection interface: pc must inherit property "getReceivers()" with the proper type 
-PASS RTCPeerConnection interface: pc must inherit property "addTrack(MediaStreamTrack, MediaStream)" with the proper type 
-PASS RTCPeerConnection interface: calling addTrack(MediaStreamTrack, MediaStream) on pc with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: pc must inherit property "removeTrack(RTCRtpSender)" with the proper type 
-PASS RTCPeerConnection interface: calling removeTrack(RTCRtpSender) on pc with too few arguments must throw TypeError 
-FAIL RTCPeerConnection interface: pc must inherit property "ontrack" with the proper type Unrecognized type EventHandler
-PASS RTCPeerConnection interface: pc must inherit property "createDataChannel(DOMString, RTCDataChannelInit)" with the proper type 
-PASS RTCPeerConnection interface: calling createDataChannel(DOMString, RTCDataChannelInit) on pc with too few arguments must throw TypeError 
-FAIL RTCPeerConnection interface: pc must inherit property "ondatachannel" with the proper type Unrecognized type EventHandler
-FAIL RTCPeerConnection interface: pc must inherit property "dtmf" with the proper type assert_inherits: property "dtmf" not found in prototype chain
-PASS RTCPeerConnection interface: pc must inherit property "getStats(MediaStreamTrack)" with the proper type 
-PASS RTCPeerConnection interface: calling getStats(MediaStreamTrack) on pc with too few arguments must throw TypeError 
-FAIL RTCPeerConnection interface: pc must inherit property "setIdentityProvider(DOMString, DOMString, DOMString)" with the proper type assert_inherits: property "setIdentityProvider" not found in prototype chain
-FAIL RTCPeerConnection interface: calling setIdentityProvider(DOMString, DOMString, DOMString) on pc with too few arguments must throw TypeError assert_inherits: property "setIdentityProvider" not found in prototype chain
-FAIL RTCPeerConnection interface: pc must inherit property "getIdentityAssertion()" with the proper type assert_inherits: property "getIdentityAssertion" not found in prototype chain
-FAIL RTCPeerConnection interface: pc must inherit property "peerIdentity" with the proper type assert_inherits: property "peerIdentity" not found in prototype chain
-FAIL RTCPeerConnection interface: pc must inherit property "idpLoginUrl" with the proper type assert_inherits: property "idpLoginUrl" not found in prototype chain
-
diff --git a/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-idl.html b/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-idl.html
deleted file mode 100644 (file)
index 298cfb5..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-<!doctype html>
-<html>
-<head>
-<meta charset=utf-8>
-<title>IDL check of RTCPeerConnection</title>
-<link rel="author" title="Harald Alvestrand" href="mailto:hta@google.com"/>
-<link rel="help" href="http://w3c.github.io/webrtc-pc/#rtcpeerconnection-interface">
-</head>
-<body>
-
-<h1 class="instructions">Description</h1>
-<p class="instructions">This test verifies the availability of the RTCPeerConnection interface.</p>
-<div id='log'></div>
-<script src=/resources/testharness.js></script>
-<script src=/resources/testharnessreport.js></script>
-<script src=/resources/WebIDLParser.js></script>
-<script src=/resources/idlharness.js></script>
-
-<!-- The IDL is copied from the 22 September 2015 editors' draft. -->
-<script type="text/plain">
-interface EventTarget {
-    // Only a dummy definition is needed here.
-};
-[ Constructor (optional RTCConfiguration configuration)]
-interface RTCPeerConnection : EventTarget  {
-    Promise<RTCSessionDescription> createOffer (optional RTCOfferOptions options);
-    Promise<RTCSessionDescription> createAnswer (optional RTCAnswerOptions options);
-    Promise<void>                  setLocalDescription (RTCSessionDescription description);
-    readonly    attribute RTCSessionDescription? localDescription;
-    readonly    attribute RTCSessionDescription? currentLocalDescription;
-    readonly    attribute RTCSessionDescription? pendingLocalDescription;
-    Promise<void>                  setRemoteDescription (RTCSessionDescription description);
-    readonly    attribute RTCSessionDescription? remoteDescription;
-    readonly    attribute RTCSessionDescription? currentRemoteDescription;
-    readonly    attribute RTCSessionDescription? pendingRemoteDescription;
-    Promise<void>                  addIceCandidate (RTCIceCandidate candidate);
-    readonly    attribute RTCSignalingState      signalingState;
-    readonly    attribute RTCIceGatheringState   iceGatheringState;
-    readonly    attribute RTCIceConnectionState  iceConnectionState;
-    readonly    attribute boolean?               canTrickleIceCandidates;
-    RTCConfiguration               getConfiguration ();
-    void                           setConfiguration (RTCConfiguration configuration);
-    void                           close ();
-                attribute EventHandler           onnegotiationneeded;
-                attribute EventHandler           onicecandidate;
-                attribute EventHandler           onsignalingstatechange;
-                attribute EventHandler           oniceconnectionstatechange;
-                attribute EventHandler           onicegatheringstatechange;
-};
-
-partial interface RTCPeerConnection {
-    void createOffer (RTCSessionDescriptionCallback successCallback, RTCPeerConnectionErrorCallback failureCallback, optional RTCOfferOptions options);
-    void setLocalDescription (RTCSessionDescription description, VoidFunction successCallback, RTCPeerConnectionErrorCallback failureCallback);
-    void createAnswer (RTCSessionDescriptionCallback successCallback, RTCPeerConnectionErrorCallback failureCallback);
-    void setRemoteDescription (RTCSessionDescription description, VoidFunction successCallback, RTCPeerConnectionErrorCallback failureCallback);
-    void addIceCandidate (RTCIceCandidate candidate, VoidFunction successCallback, RTCPeerConnectionErrorCallback failureCallback);
-    void getStats (MediaStreamTrack? selector, RTCStatsCallback successCallback, RTCPeerConnectionErrorCallback failureCallback);
-};
-
-partial interface RTCPeerConnection {
-    static Promise<RTCCertificate> generateCertificate (AlgorithmIdentifier keygenAlgorithm);
-};
-
-partial interface RTCPeerConnection {
-    sequence<RTCRtpSender>   getSenders ();
-    sequence<RTCRtpReceiver> getReceivers ();
-    RTCRtpSender             addTrack (MediaStreamTrack track, MediaStream... streams);
-    void                     removeTrack (RTCRtpSender sender);
-                attribute EventHandler ontrack;
-};
-
-partial interface RTCPeerConnection {
-    RTCDataChannel createDataChannel ([TreatNullAs=EmptyString] DOMString label, optional RTCDataChannelInit dataChannelDict);
-                attribute EventHandler ondatachannel;
-};
-
-partial interface RTCPeerConnection {
-    readonly    attribute RTCDTMFSender? dtmf;
-};
-
-partial interface RTCPeerConnection {
-    Promise<RTCStatsReport> getStats (optional MediaStreamTrack? selector);
-};
-
-partial interface RTCPeerConnection {
-    void               setIdentityProvider (DOMString provider, optional DOMString protocol, optional DOMString usernameHint);
-    Promise<DOMString> getIdentityAssertion ();
-    readonly    attribute Promise<RTCIdentityAssertion> peerIdentity;
-    readonly    attribute DOMString?                    idpLoginUrl;
-};
-
-</script>
-<script>
-(function() {
-  var idl_array = new IdlArray();
-  [].forEach.call(document.querySelectorAll("script[type=text\\/plain]"),
-                  function(node) {
-                    idl_array.add_idls(node.textContent);
-                  });
-  window.pc = new RTCPeerConnection(null);
-  idl_array.add_objects({"RTCPeerConnection": ["pc"]});
-  idl_array.test();
-  done();
-})();
-</script>
-</body>
-</html>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/webrtc/datachannel-idlharness-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/webrtc/datachannel-idlharness-expected.txt
deleted file mode 100644 (file)
index 5346462..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-
-FAIL RTCDataChannel interface: existence and properties of interface object undefined is not an object (evaluating 'this.array
-                     .members[this.base]
-                     .has_extended_attribute')
-PASS RTCDataChannel interface object length 
-PASS RTCDataChannel interface object name 
-FAIL RTCDataChannel interface: existence and properties of interface prototype object undefined is not an object (evaluating 'this.array
-                         .members[inherit_interface]
-                         .has_extended_attribute')
-PASS RTCDataChannel interface: existence and properties of interface prototype object's "constructor" property 
-PASS RTCDataChannel interface: existence and properties of interface prototype object's @@unscopables property 
-PASS RTCDataChannel interface: attribute label 
-PASS Unscopable handled correctly for label property on RTCDataChannel 
-PASS RTCDataChannel interface: attribute ordered 
-PASS Unscopable handled correctly for ordered property on RTCDataChannel 
-PASS RTCDataChannel interface: attribute maxPacketLifeTime 
-PASS Unscopable handled correctly for maxPacketLifeTime property on RTCDataChannel 
-PASS RTCDataChannel interface: attribute maxRetransmits 
-PASS Unscopable handled correctly for maxRetransmits property on RTCDataChannel 
-PASS RTCDataChannel interface: attribute protocol 
-PASS Unscopable handled correctly for protocol property on RTCDataChannel 
-PASS RTCDataChannel interface: attribute negotiated 
-PASS Unscopable handled correctly for negotiated property on RTCDataChannel 
-PASS RTCDataChannel interface: attribute id 
-PASS Unscopable handled correctly for id property on RTCDataChannel 
-FAIL RTCDataChannel interface: attribute priority assert_true: The prototype object must have a property "priority" expected true got false
-PASS Unscopable handled correctly for priority property on RTCDataChannel 
-PASS RTCDataChannel interface: attribute readyState 
-PASS Unscopable handled correctly for readyState property on RTCDataChannel 
-PASS RTCDataChannel interface: attribute bufferedAmount 
-PASS Unscopable handled correctly for bufferedAmount property on RTCDataChannel 
-PASS RTCDataChannel interface: attribute bufferedAmountLowThreshold 
-PASS Unscopable handled correctly for bufferedAmountLowThreshold property on RTCDataChannel 
-PASS RTCDataChannel interface: attribute onopen 
-PASS Unscopable handled correctly for onopen property on RTCDataChannel 
-PASS RTCDataChannel interface: attribute onbufferedamountlow 
-PASS Unscopable handled correctly for onbufferedamountlow property on RTCDataChannel 
-PASS RTCDataChannel interface: attribute onerror 
-PASS Unscopable handled correctly for onerror property on RTCDataChannel 
-PASS RTCDataChannel interface: attribute onclose 
-PASS Unscopable handled correctly for onclose property on RTCDataChannel 
-PASS RTCDataChannel interface: operation close() 
-PASS Unscopable handled correctly for close() on RTCDataChannel 
-PASS RTCDataChannel interface: attribute onmessage 
-PASS Unscopable handled correctly for onmessage property on RTCDataChannel 
-PASS RTCDataChannel interface: attribute binaryType 
-PASS Unscopable handled correctly for binaryType property on RTCDataChannel 
-PASS RTCDataChannel interface: operation send(USVString) 
-PASS Unscopable handled correctly for send(USVString) on RTCDataChannel 
-PASS RTCDataChannel interface: operation send(Blob) 
-PASS Unscopable handled correctly for send(Blob) on RTCDataChannel 
-PASS RTCDataChannel interface: operation send(ArrayBuffer) 
-PASS Unscopable handled correctly for send(ArrayBuffer) on RTCDataChannel 
-PASS RTCDataChannel interface: operation send(ArrayBufferView) 
-PASS Unscopable handled correctly for send(ArrayBufferView) on RTCDataChannel 
-PASS RTCDataChannel must be primary interface of channel 
-FAIL Stringification of channel undefined is not an object (evaluating 'this.array.members[this.base].has_stringifier')
-PASS RTCDataChannel interface: channel must inherit property "label" with the proper type 
-PASS RTCDataChannel interface: channel must inherit property "ordered" with the proper type 
-PASS RTCDataChannel interface: channel must inherit property "maxPacketLifeTime" with the proper type 
-PASS RTCDataChannel interface: channel must inherit property "maxRetransmits" with the proper type 
-PASS RTCDataChannel interface: channel must inherit property "protocol" with the proper type 
-PASS RTCDataChannel interface: channel must inherit property "negotiated" with the proper type 
-FAIL RTCDataChannel interface: channel must inherit property "id" with the proper type assert_equals: expected "number" but got "object"
-FAIL RTCDataChannel interface: channel must inherit property "priority" with the proper type assert_inherits: property "priority" not found in prototype chain
-PASS RTCDataChannel interface: channel must inherit property "readyState" with the proper type 
-PASS RTCDataChannel interface: channel must inherit property "bufferedAmount" with the proper type 
-PASS RTCDataChannel interface: channel must inherit property "bufferedAmountLowThreshold" with the proper type 
-FAIL RTCDataChannel interface: channel must inherit property "onopen" with the proper type Unrecognized type EventHandler
-FAIL RTCDataChannel interface: channel must inherit property "onbufferedamountlow" with the proper type Unrecognized type EventHandler
-FAIL RTCDataChannel interface: channel must inherit property "onerror" with the proper type Unrecognized type EventHandler
-FAIL RTCDataChannel interface: channel must inherit property "onclose" with the proper type Unrecognized type EventHandler
-PASS RTCDataChannel interface: channel must inherit property "close()" with the proper type 
-FAIL RTCDataChannel interface: channel must inherit property "onmessage" with the proper type Unrecognized type EventHandler
-PASS RTCDataChannel interface: channel must inherit property "binaryType" with the proper type 
-PASS RTCDataChannel interface: channel must inherit property "send(USVString)" with the proper type 
-PASS RTCDataChannel interface: calling send(USVString) on channel with too few arguments must throw TypeError 
-PASS RTCDataChannel interface: channel must inherit property "send(Blob)" with the proper type 
-PASS RTCDataChannel interface: calling send(Blob) on channel with too few arguments must throw TypeError 
-PASS RTCDataChannel interface: channel must inherit property "send(ArrayBuffer)" with the proper type 
-PASS RTCDataChannel interface: calling send(ArrayBuffer) on channel with too few arguments must throw TypeError 
-PASS RTCDataChannel interface: channel must inherit property "send(ArrayBufferView)" with the proper type 
-PASS RTCDataChannel interface: calling send(ArrayBufferView) on channel with too few arguments must throw TypeError 
-
diff --git a/LayoutTests/imported/w3c/web-platform-tests/webrtc/datachannel-idlharness.html b/LayoutTests/imported/w3c/web-platform-tests/webrtc/datachannel-idlharness.html
deleted file mode 100644 (file)
index ea2dd2a..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-<!doctype html>
-<!--
-This test creates a data channel object and compares it with the WebIDL defined interface
--->
-
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-  <title>RTCPeerConnection Data Channel Empty String Test</title>
-  <link rel="author" title="Dominique Hazael-Massieux" href="mailto:dom@w3.org"/>
-  <link rel="help" href="http://w3c.github.io/webrtc-pc/#rtcdatachannel">
-</head>
-<body>
-  <div id="log"></div>
-  <!-- These files are in place when executing on W3C. -->
-  <script src="/resources/testharness.js"></script>
-  <script src="/resources/testharnessreport.js"></script>
-  <script src=/resources/WebIDLParser.js></script>
-  <script src=/resources/idlharness.js></script>
-  <!-- The IDL is copied from https://w3c.github.io/webrtc-pc/archives/20161219/webrtc.html -->
-  <script type="text/plain">
-interface RTCDataChannel : EventTarget {
-    readonly attribute USVString           label;
-    readonly attribute boolean             ordered;
-    readonly attribute unsigned short?     maxPacketLifeTime;
-    readonly attribute unsigned short?     maxRetransmits;
-    readonly attribute USVString           protocol;
-    readonly attribute boolean             negotiated;
-    readonly attribute unsigned short      id;
-    readonly attribute RTCPriorityType     priority;
-    readonly attribute RTCDataChannelState readyState;
-    readonly attribute unsigned long       bufferedAmount;
-             attribute unsigned long       bufferedAmountLowThreshold;
-             attribute EventHandler        onopen;
-             attribute EventHandler        onbufferedamountlow;
-             attribute EventHandler        onerror;
-             attribute EventHandler        onclose;
-    void close();
-             attribute EventHandler        onmessage;
-             attribute DOMString           binaryType;
-    void send(USVString data);
-    void send(Blob data);
-    void send(ArrayBuffer data);
-    void send(ArrayBufferView data);
-};
-enum RTCPriorityType {
-    "very-low",
-    "low",
-    "medium",
-    "high"
-};
-enum RTCDataChannelState {
-    "connecting",
-    "open",
-    "closing",
-    "closed"
-};
-</script>
-  <script type="text/javascript">
-    (function() {
-  var idl_array = new IdlArray();
-  [].forEach.call(document.querySelectorAll("script[type=text\\/plain]"),
-                  function(node) {
-                    idl_array.add_idls(node.textContent);
-                  });
-    pc = new RTCPeerConnection(null);
-    window.channel = pc.createDataChannel("test");
-  idl_array.add_objects({"RTCDataChannel": ["channel"]});
-  idl_array.test();
-  done();
-})();
-</script>
-</body>
-</html>
-
index 87cbe0e..1d4cc64 100644 (file)
-CONSOLE MESSAGE: line 309: callback not yet supported
-CONSOLE MESSAGE: line 309: callback not yet supported
-CONSOLE MESSAGE: line 309: callback not yet supported
-CONSOLE MESSAGE: line 309: callback not yet supported
 
 PASS Main test driver 
 FAIL Test driver for asyncInitCertificate undefined is not a function (near '...RTCPeerConnection.generateCertificate...')
 FAIL Test driver for asyncInitTransports assert_unreached: Failed to run asyncInitTransports: ReferenceError: Can't find variable: RTCSctpTransport Reached unreachable code
 PASS Test driver for asyncInitMediaStreamTrack 
-FAIL MediaStreamTrack interface: existence and properties of interface object undefined is not an object (evaluating 'this.array
-                     .members[this.base]
-                     .has_extended_attribute')
+PASS EventTarget interface: existence and properties of interface object 
+PASS EventTarget interface object length 
+PASS EventTarget interface object name 
+PASS EventTarget interface: existence and properties of interface prototype object 
+PASS EventTarget interface: existence and properties of interface prototype object's "constructor" property 
+PASS EventTarget interface: existence and properties of interface prototype object's @@unscopables property 
+PASS MediaStreamTrack interface: existence and properties of interface object 
 PASS MediaStreamTrack interface object length 
 PASS MediaStreamTrack interface object name 
-FAIL MediaStreamTrack interface: existence and properties of interface prototype object undefined is not an object (evaluating 'this.array
-                         .members[inherit_interface]
-                         .has_extended_attribute')
+PASS MediaStreamTrack interface: existence and properties of interface prototype object 
 PASS MediaStreamTrack interface: existence and properties of interface prototype object's "constructor" property 
 PASS MediaStreamTrack interface: existence and properties of interface prototype object's @@unscopables property 
-FAIL MediaStreamTrack interface: attribute isolated assert_true: The prototype object must have a property "isolated" expected true got false
-PASS Unscopable handled correctly for isolated property on MediaStreamTrack 
-FAIL MediaStreamTrack interface: attribute onisolationchange assert_true: The prototype object must have a property "onisolationchange" expected true got false
-PASS Unscopable handled correctly for onisolationchange property on MediaStreamTrack 
 PASS MediaStreamTrack must be primary interface of idlTestObjects.mediaStreamTrack 
-FAIL Stringification of idlTestObjects.mediaStreamTrack undefined is not an object (evaluating 'this.array.members[this.base].has_stringifier')
-FAIL MediaStreamTrack interface: idlTestObjects.mediaStreamTrack must inherit property "isolated" with the proper type assert_inherits: property "isolated" not found in prototype chain
-FAIL MediaStreamTrack interface: idlTestObjects.mediaStreamTrack must inherit property "onisolationchange" with the proper type assert_inherits: property "onisolationchange" not found in prototype chain
+PASS Stringification of idlTestObjects.mediaStreamTrack 
 PASS MediaStreamTrack must be primary interface of generateMediaStreamTrack('audio') 
-FAIL Stringification of generateMediaStreamTrack('audio') undefined is not an object (evaluating 'this.array.members[this.base].has_stringifier')
-FAIL MediaStreamTrack interface: generateMediaStreamTrack('audio') must inherit property "isolated" with the proper type assert_inherits: property "isolated" not found in prototype chain
-FAIL MediaStreamTrack interface: generateMediaStreamTrack('audio') must inherit property "onisolationchange" with the proper type assert_inherits: property "onisolationchange" not found in prototype chain
-FAIL RTCPeerConnection interface: existence and properties of interface object undefined is not an object (evaluating 'this.array
-                     .members[this.base]
-                     .has_extended_attribute')
-PASS RTCPeerConnection interface object length 
-PASS RTCPeerConnection interface object name 
-FAIL RTCPeerConnection interface: existence and properties of interface prototype object undefined is not an object (evaluating 'this.array
-                         .members[inherit_interface]
-                         .has_extended_attribute')
-PASS RTCPeerConnection interface: existence and properties of interface prototype object's "constructor" property 
-PASS RTCPeerConnection interface: existence and properties of interface prototype object's @@unscopables property 
-PASS RTCPeerConnection interface: operation createOffer(RTCOfferOptions) 
-PASS Unscopable handled correctly for createOffer(RTCOfferOptions) on RTCPeerConnection 
-PASS RTCPeerConnection interface: operation createAnswer(RTCAnswerOptions) 
-PASS Unscopable handled correctly for createAnswer(RTCAnswerOptions) on RTCPeerConnection 
-FAIL RTCPeerConnection interface: operation setLocalDescription(RTCSessionDescriptionInit) assert_equals: property has wrong .length expected 1 but got 0
-PASS Unscopable handled correctly for setLocalDescription(RTCSessionDescriptionInit) on RTCPeerConnection 
-PASS RTCPeerConnection interface: attribute localDescription 
-PASS Unscopable handled correctly for localDescription property on RTCPeerConnection 
-PASS RTCPeerConnection interface: attribute currentLocalDescription 
-PASS Unscopable handled correctly for currentLocalDescription property on RTCPeerConnection 
-PASS RTCPeerConnection interface: attribute pendingLocalDescription 
-PASS Unscopable handled correctly for pendingLocalDescription property on RTCPeerConnection 
-FAIL RTCPeerConnection interface: operation setRemoteDescription(RTCSessionDescriptionInit) assert_equals: property has wrong .length expected 1 but got 0
-PASS Unscopable handled correctly for setRemoteDescription(RTCSessionDescriptionInit) on RTCPeerConnection 
-PASS RTCPeerConnection interface: attribute remoteDescription 
-PASS Unscopable handled correctly for remoteDescription property on RTCPeerConnection 
-PASS RTCPeerConnection interface: attribute currentRemoteDescription 
-PASS Unscopable handled correctly for currentRemoteDescription property on RTCPeerConnection 
-PASS RTCPeerConnection interface: attribute pendingRemoteDescription 
-PASS Unscopable handled correctly for pendingRemoteDescription property on RTCPeerConnection 
-PASS RTCPeerConnection interface: operation addIceCandidate([object Object],[object Object]) 
-PASS Unscopable handled correctly for addIceCandidate([object Object],[object Object]) on RTCPeerConnection 
-PASS RTCPeerConnection interface: attribute signalingState 
-PASS Unscopable handled correctly for signalingState property on RTCPeerConnection 
-PASS RTCPeerConnection interface: attribute iceGatheringState 
-PASS Unscopable handled correctly for iceGatheringState property on RTCPeerConnection 
-PASS RTCPeerConnection interface: attribute iceConnectionState 
-PASS Unscopable handled correctly for iceConnectionState property on RTCPeerConnection 
-PASS RTCPeerConnection interface: attribute connectionState 
-PASS Unscopable handled correctly for connectionState property on RTCPeerConnection 
-FAIL RTCPeerConnection interface: attribute canTrickleIceCandidates assert_true: The prototype object must have a property "canTrickleIceCandidates" expected true got false
-PASS Unscopable handled correctly for canTrickleIceCandidates property on RTCPeerConnection 
-FAIL RTCPeerConnection interface: operation getDefaultIceServers() assert_own_property: interface object missing static operation expected property "getDefaultIceServers" missing
-PASS Unscopable handled correctly for getDefaultIceServers() on RTCPeerConnection 
-PASS RTCPeerConnection interface: operation getConfiguration() 
-PASS Unscopable handled correctly for getConfiguration() on RTCPeerConnection 
-PASS RTCPeerConnection interface: operation setConfiguration(RTCConfiguration) 
-PASS Unscopable handled correctly for setConfiguration(RTCConfiguration) on RTCPeerConnection 
-PASS RTCPeerConnection interface: operation close() 
-PASS Unscopable handled correctly for close() on RTCPeerConnection 
-PASS RTCPeerConnection interface: attribute onnegotiationneeded 
-PASS Unscopable handled correctly for onnegotiationneeded property on RTCPeerConnection 
-PASS RTCPeerConnection interface: attribute onicecandidate 
-PASS Unscopable handled correctly for onicecandidate property on RTCPeerConnection 
-FAIL RTCPeerConnection interface: attribute onicecandidateerror assert_true: The prototype object must have a property "onicecandidateerror" expected true got false
-PASS Unscopable handled correctly for onicecandidateerror property on RTCPeerConnection 
-PASS RTCPeerConnection interface: attribute onsignalingstatechange 
-PASS Unscopable handled correctly for onsignalingstatechange property on RTCPeerConnection 
-PASS RTCPeerConnection interface: attribute oniceconnectionstatechange 
-PASS Unscopable handled correctly for oniceconnectionstatechange property on RTCPeerConnection 
-PASS RTCPeerConnection interface: attribute onicegatheringstatechange 
-PASS Unscopable handled correctly for onicegatheringstatechange property on RTCPeerConnection 
-PASS RTCPeerConnection interface: attribute onconnectionstatechange 
-PASS Unscopable handled correctly for onconnectionstatechange property on RTCPeerConnection 
-FAIL RTCPeerConnection interface: attribute onfingerprintfailure assert_true: The prototype object must have a property "onfingerprintfailure" expected true got false
-PASS Unscopable handled correctly for onfingerprintfailure property on RTCPeerConnection 
-PASS RTCPeerConnection interface: operation createOffer(RTCSessionDescriptionCallback, RTCPeerConnectionErrorCallback, RTCOfferOptions) 
-PASS Unscopable handled correctly for createOffer(RTCSessionDescriptionCallback, RTCPeerConnectionErrorCallback, RTCOfferOptions) on RTCPeerConnection 
-FAIL RTCPeerConnection interface: operation setLocalDescription(RTCSessionDescriptionInit, VoidFunction, RTCPeerConnectionErrorCallback) assert_equals: property has wrong .length expected 1 but got 0
-PASS Unscopable handled correctly for setLocalDescription(RTCSessionDescriptionInit, VoidFunction, RTCPeerConnectionErrorCallback) on RTCPeerConnection 
-PASS RTCPeerConnection interface: operation createAnswer(RTCSessionDescriptionCallback, RTCPeerConnectionErrorCallback) 
-PASS Unscopable handled correctly for createAnswer(RTCSessionDescriptionCallback, RTCPeerConnectionErrorCallback) on RTCPeerConnection 
-FAIL RTCPeerConnection interface: operation setRemoteDescription(RTCSessionDescriptionInit, VoidFunction, RTCPeerConnectionErrorCallback) assert_equals: property has wrong .length expected 1 but got 0
-PASS Unscopable handled correctly for setRemoteDescription(RTCSessionDescriptionInit, VoidFunction, RTCPeerConnectionErrorCallback) on RTCPeerConnection 
-PASS RTCPeerConnection interface: operation addIceCandidate([object Object],[object Object], VoidFunction, RTCPeerConnectionErrorCallback) 
-PASS Unscopable handled correctly for addIceCandidate([object Object],[object Object], VoidFunction, RTCPeerConnectionErrorCallback) on RTCPeerConnection 
-FAIL RTCPeerConnection interface: operation generateCertificate(AlgorithmIdentifier) assert_own_property: interface object missing static operation expected property "generateCertificate" missing
-PASS Unscopable handled correctly for generateCertificate(AlgorithmIdentifier) on RTCPeerConnection 
-PASS RTCPeerConnection interface: operation getSenders() 
-PASS Unscopable handled correctly for getSenders() on RTCPeerConnection 
-PASS RTCPeerConnection interface: operation getReceivers() 
-PASS Unscopable handled correctly for getReceivers() on RTCPeerConnection 
-PASS RTCPeerConnection interface: operation getTransceivers() 
-PASS Unscopable handled correctly for getTransceivers() on RTCPeerConnection 
-PASS RTCPeerConnection interface: operation addTrack(MediaStreamTrack, MediaStream) 
-PASS Unscopable handled correctly for addTrack(MediaStreamTrack, MediaStream) on RTCPeerConnection 
-PASS RTCPeerConnection interface: operation removeTrack(RTCRtpSender) 
-PASS Unscopable handled correctly for removeTrack(RTCRtpSender) on RTCPeerConnection 
-PASS RTCPeerConnection interface: operation addTransceiver([object Object],[object Object], RTCRtpTransceiverInit) 
-PASS Unscopable handled correctly for addTransceiver([object Object],[object Object], RTCRtpTransceiverInit) on RTCPeerConnection 
-PASS RTCPeerConnection interface: attribute ontrack 
-PASS Unscopable handled correctly for ontrack property on RTCPeerConnection 
-FAIL RTCPeerConnection interface: attribute sctp assert_true: The prototype object must have a property "sctp" expected true got false
-PASS Unscopable handled correctly for sctp property on RTCPeerConnection 
-PASS RTCPeerConnection interface: operation createDataChannel(USVString, RTCDataChannelInit) 
-PASS Unscopable handled correctly for createDataChannel(USVString, RTCDataChannelInit) on RTCPeerConnection 
-PASS RTCPeerConnection interface: attribute ondatachannel 
-PASS Unscopable handled correctly for ondatachannel property on RTCPeerConnection 
-PASS RTCPeerConnection interface: operation getStats(MediaStreamTrack) 
-PASS Unscopable handled correctly for getStats(MediaStreamTrack) on RTCPeerConnection 
-FAIL RTCPeerConnection interface: operation setIdentityProvider(DOMString, RTCIdentityProviderOptions) assert_own_property: interface prototype object missing non-static operation expected property "setIdentityProvider" missing
-PASS Unscopable handled correctly for setIdentityProvider(DOMString, RTCIdentityProviderOptions) on RTCPeerConnection 
-FAIL RTCPeerConnection interface: operation getIdentityAssertion() assert_own_property: interface prototype object missing non-static operation expected property "getIdentityAssertion" missing
-PASS Unscopable handled correctly for getIdentityAssertion() on RTCPeerConnection 
-FAIL RTCPeerConnection interface: attribute peerIdentity assert_true: The prototype object must have a property "peerIdentity" expected true got false
-PASS Unscopable handled correctly for peerIdentity property on RTCPeerConnection 
-FAIL RTCPeerConnection interface: attribute idpLoginUrl assert_true: The prototype object must have a property "idpLoginUrl" expected true got false
-PASS Unscopable handled correctly for idpLoginUrl property on RTCPeerConnection 
-FAIL RTCPeerConnection interface: attribute idpErrorInfo assert_true: The prototype object must have a property "idpErrorInfo" expected true got false
-PASS Unscopable handled correctly for idpErrorInfo property on RTCPeerConnection 
-PASS RTCPeerConnection must be primary interface of new RTCPeerConnection() 
-FAIL Stringification of new RTCPeerConnection() undefined is not an object (evaluating 'this.array.members[this.base].has_stringifier')
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "createOffer(RTCOfferOptions)" with the proper type 
-PASS RTCPeerConnection interface: calling createOffer(RTCOfferOptions) on new RTCPeerConnection() with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "createAnswer(RTCAnswerOptions)" with the proper type 
-PASS RTCPeerConnection interface: calling createAnswer(RTCAnswerOptions) on new RTCPeerConnection() with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "setLocalDescription(RTCSessionDescriptionInit)" with the proper type 
-PASS RTCPeerConnection interface: calling setLocalDescription(RTCSessionDescriptionInit) on new RTCPeerConnection() with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "localDescription" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "currentLocalDescription" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "pendingLocalDescription" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "setRemoteDescription(RTCSessionDescriptionInit)" with the proper type 
-PASS RTCPeerConnection interface: calling setRemoteDescription(RTCSessionDescriptionInit) on new RTCPeerConnection() with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "remoteDescription" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "currentRemoteDescription" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "pendingRemoteDescription" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "addIceCandidate([object Object],[object Object])" with the proper type 
-PASS RTCPeerConnection interface: calling addIceCandidate([object Object],[object Object]) on new RTCPeerConnection() with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "signalingState" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "iceGatheringState" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "iceConnectionState" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "connectionState" with the proper type 
-FAIL RTCPeerConnection interface: new RTCPeerConnection() must inherit property "canTrickleIceCandidates" with the proper type assert_inherits: property "canTrickleIceCandidates" not found in prototype chain
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "getDefaultIceServers()" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "getConfiguration()" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "setConfiguration(RTCConfiguration)" with the proper type 
-PASS RTCPeerConnection interface: calling setConfiguration(RTCConfiguration) on new RTCPeerConnection() with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "close()" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "onnegotiationneeded" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "onicecandidate" with the proper type 
-FAIL RTCPeerConnection interface: new RTCPeerConnection() must inherit property "onicecandidateerror" with the proper type assert_inherits: property "onicecandidateerror" not found in prototype chain
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "onsignalingstatechange" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "oniceconnectionstatechange" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "onicegatheringstatechange" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "onconnectionstatechange" with the proper type 
-FAIL RTCPeerConnection interface: new RTCPeerConnection() must inherit property "onfingerprintfailure" with the proper type assert_inherits: property "onfingerprintfailure" not found in prototype chain
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "createOffer(RTCSessionDescriptionCallback, RTCPeerConnectionErrorCallback, RTCOfferOptions)" with the proper type 
-PASS RTCPeerConnection interface: calling createOffer(RTCSessionDescriptionCallback, RTCPeerConnectionErrorCallback, RTCOfferOptions) on new RTCPeerConnection() with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "setLocalDescription(RTCSessionDescriptionInit, VoidFunction, RTCPeerConnectionErrorCallback)" with the proper type 
-PASS RTCPeerConnection interface: calling setLocalDescription(RTCSessionDescriptionInit, VoidFunction, RTCPeerConnectionErrorCallback) on new RTCPeerConnection() with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "createAnswer(RTCSessionDescriptionCallback, RTCPeerConnectionErrorCallback)" with the proper type 
-PASS RTCPeerConnection interface: calling createAnswer(RTCSessionDescriptionCallback, RTCPeerConnectionErrorCallback) on new RTCPeerConnection() with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "setRemoteDescription(RTCSessionDescriptionInit, VoidFunction, RTCPeerConnectionErrorCallback)" with the proper type 
-PASS RTCPeerConnection interface: calling setRemoteDescription(RTCSessionDescriptionInit, VoidFunction, RTCPeerConnectionErrorCallback) on new RTCPeerConnection() with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "addIceCandidate([object Object],[object Object], VoidFunction, RTCPeerConnectionErrorCallback)" with the proper type 
-PASS RTCPeerConnection interface: calling addIceCandidate([object Object],[object Object], VoidFunction, RTCPeerConnectionErrorCallback) on new RTCPeerConnection() with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "generateCertificate(AlgorithmIdentifier)" with the proper type 
-FAIL RTCPeerConnection interface: calling generateCertificate(AlgorithmIdentifier) on new RTCPeerConnection() with too few arguments must throw TypeError assert_own_property: interface object must have static operation as own property expected property "generateCertificate" missing
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "getSenders()" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "getReceivers()" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "getTransceivers()" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "addTrack(MediaStreamTrack, MediaStream)" with the proper type 
-PASS RTCPeerConnection interface: calling addTrack(MediaStreamTrack, MediaStream) on new RTCPeerConnection() with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "removeTrack(RTCRtpSender)" with the proper type 
-PASS RTCPeerConnection interface: calling removeTrack(RTCRtpSender) on new RTCPeerConnection() with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "addTransceiver([object Object],[object Object], RTCRtpTransceiverInit)" with the proper type 
-PASS RTCPeerConnection interface: calling addTransceiver([object Object],[object Object], RTCRtpTransceiverInit) on new RTCPeerConnection() with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "ontrack" with the proper type 
-FAIL RTCPeerConnection interface: new RTCPeerConnection() must inherit property "sctp" with the proper type assert_inherits: property "sctp" not found in prototype chain
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "createDataChannel(USVString, RTCDataChannelInit)" with the proper type 
-PASS RTCPeerConnection interface: calling createDataChannel(USVString, RTCDataChannelInit) on new RTCPeerConnection() with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "ondatachannel" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "getStats(MediaStreamTrack)" with the proper type 
-PASS RTCPeerConnection interface: calling getStats(MediaStreamTrack) on new RTCPeerConnection() with too few arguments must throw TypeError 
-FAIL RTCPeerConnection interface: new RTCPeerConnection() must inherit property "setIdentityProvider(DOMString, RTCIdentityProviderOptions)" with the proper type assert_inherits: property "setIdentityProvider" not found in prototype chain
-FAIL RTCPeerConnection interface: calling setIdentityProvider(DOMString, RTCIdentityProviderOptions) on new RTCPeerConnection() with too few arguments must throw TypeError assert_inherits: property "setIdentityProvider" not found in prototype chain
-FAIL RTCPeerConnection interface: new RTCPeerConnection() must inherit property "getIdentityAssertion()" with the proper type assert_inherits: property "getIdentityAssertion" not found in prototype chain
-FAIL RTCPeerConnection interface: new RTCPeerConnection() must inherit property "peerIdentity" with the proper type assert_inherits: property "peerIdentity" not found in prototype chain
-FAIL RTCPeerConnection interface: new RTCPeerConnection() must inherit property "idpLoginUrl" with the proper type assert_inherits: property "idpLoginUrl" not found in prototype chain
-FAIL RTCPeerConnection interface: new RTCPeerConnection() must inherit property "idpErrorInfo" with the proper type assert_inherits: property "idpErrorInfo" not found in prototype chain
-PASS RTCSessionDescription interface: existence and properties of interface object 
-PASS RTCSessionDescription interface object length 
-PASS RTCSessionDescription interface object name 
-PASS RTCSessionDescription interface: existence and properties of interface prototype object 
-PASS RTCSessionDescription interface: existence and properties of interface prototype object's "constructor" property 
-PASS RTCSessionDescription interface: existence and properties of interface prototype object's @@unscopables property 
-PASS RTCSessionDescription interface: attribute type 
-PASS Unscopable handled correctly for type property on RTCSessionDescription 
-PASS RTCSessionDescription interface: attribute sdp 
-PASS Unscopable handled correctly for sdp property on RTCSessionDescription 
-PASS RTCSessionDescription interface: operation toJSON() 
-PASS Unscopable handled correctly for toJSON() on RTCSessionDescription 
-PASS RTCSessionDescription must be primary interface of new RTCSessionDescription({ type: 'offer' }) 
-PASS Stringification of new RTCSessionDescription({ type: 'offer' }) 
-PASS RTCSessionDescription interface: new RTCSessionDescription({ type: 'offer' }) must inherit property "type" with the proper type 
-PASS RTCSessionDescription interface: new RTCSessionDescription({ type: 'offer' }) must inherit property "sdp" with the proper type 
-PASS RTCSessionDescription interface: new RTCSessionDescription({ type: 'offer' }) must inherit property "toJSON()" with the proper type 
-PASS Test default toJSON operation of RTCSessionDescription 
-PASS RTCIceCandidate interface: existence and properties of interface object 
-FAIL RTCIceCandidate interface object length assert_equals: wrong value for RTCIceCandidate.length expected 0 but got 1
-PASS RTCIceCandidate interface object name 
-PASS RTCIceCandidate interface: existence and properties of interface prototype object 
-PASS RTCIceCandidate interface: existence and properties of interface prototype object's "constructor" property 
-PASS RTCIceCandidate interface: existence and properties of interface prototype object's @@unscopables property 
-PASS RTCIceCandidate interface: attribute candidate 
-PASS Unscopable handled correctly for candidate property on RTCIceCandidate 
-PASS RTCIceCandidate interface: attribute sdpMid 
-PASS Unscopable handled correctly for sdpMid property on RTCIceCandidate 
-PASS RTCIceCandidate interface: attribute sdpMLineIndex 
-PASS Unscopable handled correctly for sdpMLineIndex property on RTCIceCandidate 
-FAIL RTCIceCandidate interface: attribute foundation assert_true: The prototype object must have a property "foundation" expected true got false
-PASS Unscopable handled correctly for foundation property on RTCIceCandidate 
-FAIL RTCIceCandidate interface: attribute component assert_true: The prototype object must have a property "component" expected true got false
-PASS Unscopable handled correctly for component property on RTCIceCandidate 
-FAIL RTCIceCandidate interface: attribute priority assert_true: The prototype object must have a property "priority" expected true got false
-PASS Unscopable handled correctly for priority property on RTCIceCandidate 
-FAIL RTCIceCandidate interface: attribute ip assert_true: The prototype object must have a property "ip" expected true got false
-PASS Unscopable handled correctly for ip property on RTCIceCandidate 
-FAIL RTCIceCandidate interface: attribute protocol assert_true: The prototype object must have a property "protocol" expected true got false
-PASS Unscopable handled correctly for protocol property on RTCIceCandidate 
-FAIL RTCIceCandidate interface: attribute port assert_true: The prototype object must have a property "port" expected true got false
-PASS Unscopable handled correctly for port property on RTCIceCandidate 
-FAIL RTCIceCandidate interface: attribute type assert_true: The prototype object must have a property "type" expected true got false
-PASS Unscopable handled correctly for type property on RTCIceCandidate 
-FAIL RTCIceCandidate interface: attribute tcpType assert_true: The prototype object must have a property "tcpType" expected true got false
-PASS Unscopable handled correctly for tcpType property on RTCIceCandidate 
-FAIL RTCIceCandidate interface: attribute relatedAddress assert_true: The prototype object must have a property "relatedAddress" expected true got false
-PASS Unscopable handled correctly for relatedAddress property on RTCIceCandidate 
-FAIL RTCIceCandidate interface: attribute relatedPort assert_true: The prototype object must have a property "relatedPort" expected true got false
-PASS Unscopable handled correctly for relatedPort property on RTCIceCandidate 
-FAIL RTCIceCandidate interface: attribute usernameFragment assert_true: The prototype object must have a property "usernameFragment" expected true got false
-PASS Unscopable handled correctly for usernameFragment property on RTCIceCandidate 
-PASS RTCIceCandidate interface: operation toJSON() 
-PASS Unscopable handled correctly for toJSON() on RTCIceCandidate 
-PASS RTCIceCandidate must be primary interface of new RTCIceCandidate({ sdpMid: 1 }) 
-PASS Stringification of new RTCIceCandidate({ sdpMid: 1 }) 
-PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "candidate" with the proper type 
-PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "sdpMid" with the proper type 
-PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "sdpMLineIndex" with the proper type 
-FAIL RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "foundation" with the proper type assert_inherits: property "foundation" not found in prototype chain
-FAIL RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "component" with the proper type assert_inherits: property "component" not found in prototype chain
-FAIL RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "priority" with the proper type assert_inherits: property "priority" not found in prototype chain
-FAIL RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "ip" with the proper type assert_inherits: property "ip" not found in prototype chain
-FAIL RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "protocol" with the proper type assert_inherits: property "protocol" not found in prototype chain
-FAIL RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "port" with the proper type assert_inherits: property "port" not found in prototype chain
-FAIL RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "type" with the proper type assert_inherits: property "type" not found in prototype chain
-FAIL RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "tcpType" with the proper type assert_inherits: property "tcpType" not found in prototype chain
-FAIL RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "relatedAddress" with the proper type assert_inherits: property "relatedAddress" not found in prototype chain
-FAIL RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "relatedPort" with the proper type assert_inherits: property "relatedPort" not found in prototype chain
-FAIL RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "usernameFragment" with the proper type assert_inherits: property "usernameFragment" not found in prototype chain
-PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "toJSON()" with the proper type 
-PASS Test toJSON operation of RTCIceCandidate 
-FAIL RTCPeerConnectionIceEvent interface: existence and properties of interface object assert_own_property: self does not have own property "RTCPeerConnectionIceEvent" expected property "RTCPeerConnectionIceEvent" missing
-FAIL RTCPeerConnectionIceEvent interface object length assert_own_property: self does not have own property "RTCPeerConnectionIceEvent" expected property "RTCPeerConnectionIceEvent" missing
-FAIL RTCPeerConnectionIceEvent interface object name assert_own_property: self does not have own property "RTCPeerConnectionIceEvent" expected property "RTCPeerConnectionIceEvent" missing
-FAIL RTCPeerConnectionIceEvent interface: existence and properties of interface prototype object assert_own_property: self does not have own property "RTCPeerConnectionIceEvent" expected property "RTCPeerConnectionIceEvent" missing
-FAIL RTCPeerConnectionIceEvent interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "RTCPeerConnectionIceEvent" expected property "RTCPeerConnectionIceEvent" missing
-FAIL RTCPeerConnectionIceEvent interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "RTCPeerConnectionIceEvent" expected property "RTCPeerConnectionIceEvent" missing
-FAIL RTCPeerConnectionIceEvent interface: attribute candidate assert_own_property: self does not have own property "RTCPeerConnectionIceEvent" expected property "RTCPeerConnectionIceEvent" missing
-PASS Unscopable handled correctly for candidate property on RTCPeerConnectionIceEvent 
-FAIL RTCPeerConnectionIceEvent interface: attribute url assert_own_property: self does not have own property "RTCPeerConnectionIceEvent" expected property "RTCPeerConnectionIceEvent" missing
-PASS Unscopable handled correctly for url property on RTCPeerConnectionIceEvent 
-FAIL RTCPeerConnectionIceEvent must be primary interface of new RTCPeerConnectionIceEvent('ice') assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: RTCPeerConnectionIceEvent"
-FAIL Stringification of new RTCPeerConnectionIceEvent('ice') assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: RTCPeerConnectionIceEvent"
-FAIL RTCPeerConnectionIceEvent interface: new RTCPeerConnectionIceEvent('ice') must inherit property "candidate" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: RTCPeerConnectionIceEvent"
-FAIL RTCPeerConnectionIceEvent interface: new RTCPeerConnectionIceEvent('ice') must inherit property "url" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: RTCPeerConnectionIceEvent"
-FAIL RTCPeerConnectionIceErrorEvent interface: existence and properties of interface object assert_own_property: self does not have own property "RTCPeerConnectionIceErrorEvent" expected property "RTCPeerConnectionIceErrorEvent" missing
-FAIL RTCPeerConnectionIceErrorEvent interface object length assert_own_property: self does not have own property "RTCPeerConnectionIceErrorEvent" expected property "RTCPeerConnectionIceErrorEvent" missing
-FAIL RTCPeerConnectionIceErrorEvent interface object name assert_own_property: self does not have own property "RTCPeerConnectionIceErrorEvent" expected property "RTCPeerConnectionIceErrorEvent" missing
-FAIL RTCPeerConnectionIceErrorEvent interface: existence and properties of interface prototype object assert_own_property: self does not have own property "RTCPeerConnectionIceErrorEvent" expected property "RTCPeerConnectionIceErrorEvent" missing
-FAIL RTCPeerConnectionIceErrorEvent interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "RTCPeerConnectionIceErrorEvent" expected property "RTCPeerConnectionIceErrorEvent" missing
-FAIL RTCPeerConnectionIceErrorEvent interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "RTCPeerConnectionIceErrorEvent" expected property "RTCPeerConnectionIceErrorEvent" missing
-FAIL RTCPeerConnectionIceErrorEvent interface: attribute hostCandidate assert_own_property: self does not have own property "RTCPeerConnectionIceErrorEvent" expected property "RTCPeerConnectionIceErrorEvent" missing
-PASS Unscopable handled correctly for hostCandidate property on RTCPeerConnectionIceErrorEvent 
-FAIL RTCPeerConnectionIceErrorEvent interface: attribute url assert_own_property: self does not have own property "RTCPeerConnectionIceErrorEvent" expected property "RTCPeerConnectionIceErrorEvent" missing
-PASS Unscopable handled correctly for url property on RTCPeerConnectionIceErrorEvent 
-FAIL RTCPeerConnectionIceErrorEvent interface: attribute errorCode assert_own_property: self does not have own property "RTCPeerConnectionIceErrorEvent" expected property "RTCPeerConnectionIceErrorEvent" missing
-PASS Unscopable handled correctly for errorCode property on RTCPeerConnectionIceErrorEvent 
-FAIL RTCPeerConnectionIceErrorEvent interface: attribute errorText assert_own_property: self does not have own property "RTCPeerConnectionIceErrorEvent" expected property "RTCPeerConnectionIceErrorEvent" missing
-PASS Unscopable handled correctly for errorText property on RTCPeerConnectionIceErrorEvent 
-FAIL RTCPeerConnectionIceErrorEvent must be primary interface of new RTCPeerConnectionIceErrorEvent('ice-error', { errorCode: 701 }); assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: RTCPeerConnectionIceErrorEvent"
-FAIL Stringification of new RTCPeerConnectionIceErrorEvent('ice-error', { errorCode: 701 }); assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: RTCPeerConnectionIceErrorEvent"
-FAIL RTCPeerConnectionIceErrorEvent interface: new RTCPeerConnectionIceErrorEvent('ice-error', { errorCode: 701 }); must inherit property "hostCandidate" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: RTCPeerConnectionIceErrorEvent"
-FAIL RTCPeerConnectionIceErrorEvent interface: new RTCPeerConnectionIceErrorEvent('ice-error', { errorCode: 701 }); must inherit property "url" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: RTCPeerConnectionIceErrorEvent"
-FAIL RTCPeerConnectionIceErrorEvent interface: new RTCPeerConnectionIceErrorEvent('ice-error', { errorCode: 701 }); must inherit property "errorCode" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: RTCPeerConnectionIceErrorEvent"
-FAIL RTCPeerConnectionIceErrorEvent interface: new RTCPeerConnectionIceErrorEvent('ice-error', { errorCode: 701 }); must inherit property "errorText" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: RTCPeerConnectionIceErrorEvent"
-FAIL RTCCertificate interface: existence and properties of interface object assert_own_property: self does not have own property "RTCCertificate" expected property "RTCCertificate" missing
-FAIL RTCCertificate interface object length assert_own_property: self does not have own property "RTCCertificate" expected property "RTCCertificate" missing
-FAIL RTCCertificate interface object name assert_own_property: self does not have own property "RTCCertificate" expected property "RTCCertificate" missing
-FAIL RTCCertificate interface: existence and properties of interface prototype object assert_own_property: self does not have own property "RTCCertificate" expected property "RTCCertificate" missing
-FAIL RTCCertificate interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "RTCCertificate" expected property "RTCCertificate" missing
-FAIL RTCCertificate interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "RTCCertificate" expected property "RTCCertificate" missing
-FAIL RTCCertificate interface: attribute expires assert_own_property: self does not have own property "RTCCertificate" expected property "RTCCertificate" missing
-PASS Unscopable handled correctly for expires property on RTCCertificate 
-FAIL RTCCertificate interface: operation getFingerprints() assert_own_property: self does not have own property "RTCCertificate" expected property "RTCCertificate" missing
-PASS Unscopable handled correctly for getFingerprints() on RTCCertificate 
-FAIL RTCCertificate interface: operation getAlgorithm() assert_own_property: self does not have own property "RTCCertificate" expected property "RTCCertificate" missing
-PASS Unscopable handled correctly for getAlgorithm() on RTCCertificate 
-FAIL RTCCertificate must be primary interface of idlTestObjects.certificate assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL Stringification of idlTestObjects.certificate assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCCertificate interface: idlTestObjects.certificate must inherit property "expires" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCCertificate interface: idlTestObjects.certificate must inherit property "getFingerprints()" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCCertificate interface: idlTestObjects.certificate must inherit property "getAlgorithm()" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-PASS RTCRtpSender interface: existence and properties of interface object 
-PASS RTCRtpSender interface object length 
-PASS RTCRtpSender interface object name 
-PASS RTCRtpSender interface: existence and properties of interface prototype object 
-PASS RTCRtpSender interface: existence and properties of interface prototype object's "constructor" property 
-PASS RTCRtpSender interface: existence and properties of interface prototype object's @@unscopables property 
-PASS RTCRtpSender interface: attribute track 
-PASS Unscopable handled correctly for track property on RTCRtpSender 
-FAIL RTCRtpSender interface: attribute transport assert_true: The prototype object must have a property "transport" expected true got false
-PASS Unscopable handled correctly for transport property on RTCRtpSender 
-FAIL RTCRtpSender interface: attribute rtcpTransport assert_true: The prototype object must have a property "rtcpTransport" expected true got false
-PASS Unscopable handled correctly for rtcpTransport property on RTCRtpSender 
-FAIL RTCRtpSender interface: operation getCapabilities(DOMString) assert_own_property: interface object missing static operation expected property "getCapabilities" missing
-PASS Unscopable handled correctly for getCapabilities(DOMString) on RTCRtpSender 
-FAIL RTCRtpSender interface: operation setParameters(RTCRtpParameters) assert_own_property: interface prototype object missing non-static operation expected property "setParameters" missing
-PASS Unscopable handled correctly for setParameters(RTCRtpParameters) on RTCRtpSender 
-PASS RTCRtpSender interface: operation getParameters() 
-PASS Unscopable handled correctly for getParameters() on RTCRtpSender 
-PASS RTCRtpSender interface: operation replaceTrack(MediaStreamTrack) 
-PASS Unscopable handled correctly for replaceTrack(MediaStreamTrack) on RTCRtpSender 
-FAIL RTCRtpSender interface: operation getStats() assert_own_property: interface prototype object missing non-static operation expected property "getStats" missing
-PASS Unscopable handled correctly for getStats() on RTCRtpSender 
-FAIL RTCRtpSender interface: attribute dtmf assert_true: The prototype object must have a property "dtmf" expected true got false
-PASS Unscopable handled correctly for dtmf property on RTCRtpSender 
-PASS RTCRtpSender must be primary interface of new RTCPeerConnection().addTransceiver('audio').sender 
-PASS Stringification of new RTCPeerConnection().addTransceiver('audio').sender 
-PASS RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "track" with the proper type 
-FAIL RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "transport" with the proper type assert_inherits: property "transport" not found in prototype chain
-FAIL RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "rtcpTransport" with the proper type assert_inherits: property "rtcpTransport" not found in prototype chain
-PASS RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "getCapabilities(DOMString)" with the proper type 
-FAIL RTCRtpSender interface: calling getCapabilities(DOMString) on new RTCPeerConnection().addTransceiver('audio').sender with too few arguments must throw TypeError assert_own_property: interface object must have static operation as own property expected property "getCapabilities" missing
-FAIL RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "setParameters(RTCRtpParameters)" with the proper type assert_inherits: property "setParameters" not found in prototype chain
-FAIL RTCRtpSender interface: calling setParameters(RTCRtpParameters) on new RTCPeerConnection().addTransceiver('audio').sender with too few arguments must throw TypeError assert_inherits: property "setParameters" not found in prototype chain
-PASS RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "getParameters()" with the proper type 
-PASS RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "replaceTrack(MediaStreamTrack)" with the proper type 
-PASS RTCRtpSender interface: calling replaceTrack(MediaStreamTrack) on new RTCPeerConnection().addTransceiver('audio').sender with too few arguments must throw TypeError 
-FAIL RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "getStats()" with the proper type assert_inherits: property "getStats" not found in prototype chain
-FAIL RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "dtmf" with the proper type assert_inherits: property "dtmf" not found in prototype chain
-PASS RTCRtpReceiver interface: existence and properties of interface object 
-PASS RTCRtpReceiver interface object length 
-PASS RTCRtpReceiver interface object name 
-PASS RTCRtpReceiver interface: existence and properties of interface prototype object 
-PASS RTCRtpReceiver interface: existence and properties of interface prototype object's "constructor" property 
-PASS RTCRtpReceiver interface: existence and properties of interface prototype object's @@unscopables property 
-PASS RTCRtpReceiver interface: attribute track 
-PASS Unscopable handled correctly for track property on RTCRtpReceiver 
-FAIL RTCRtpReceiver interface: attribute transport assert_true: The prototype object must have a property "transport" expected true got false
-PASS Unscopable handled correctly for transport property on RTCRtpReceiver 
-FAIL RTCRtpReceiver interface: attribute rtcpTransport assert_true: The prototype object must have a property "rtcpTransport" expected true got false
-PASS Unscopable handled correctly for rtcpTransport property on RTCRtpReceiver 
-FAIL RTCRtpReceiver interface: operation getCapabilities(DOMString) assert_own_property: interface object missing static operation expected property "getCapabilities" missing
-PASS Unscopable handled correctly for getCapabilities(DOMString) on RTCRtpReceiver 
-PASS RTCRtpReceiver interface: operation getParameters() 
-PASS Unscopable handled correctly for getParameters() on RTCRtpReceiver 
-FAIL RTCRtpReceiver interface: operation getContributingSources() assert_own_property: interface prototype object missing non-static operation expected property "getContributingSources" missing
-PASS Unscopable handled correctly for getContributingSources() on RTCRtpReceiver 
-FAIL RTCRtpReceiver interface: operation getSynchronizationSources() assert_own_property: interface prototype object missing non-static operation expected property "getSynchronizationSources" missing
-PASS Unscopable handled correctly for getSynchronizationSources() on RTCRtpReceiver 
-FAIL RTCRtpReceiver interface: operation getStats() assert_own_property: interface prototype object missing non-static operation expected property "getStats" missing
-PASS Unscopable handled correctly for getStats() on RTCRtpReceiver 
-PASS RTCRtpReceiver must be primary interface of new RTCPeerConnection().addTransceiver('audio').receiver 
-PASS Stringification of new RTCPeerConnection().addTransceiver('audio').receiver 
-PASS RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "track" with the proper type 
-FAIL RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "transport" with the proper type assert_inherits: property "transport" not found in prototype chain
-FAIL RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "rtcpTransport" with the proper type assert_inherits: property "rtcpTransport" not found in prototype chain
-PASS RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "getCapabilities(DOMString)" with the proper type 
-FAIL RTCRtpReceiver interface: calling getCapabilities(DOMString) on new RTCPeerConnection().addTransceiver('audio').receiver with too few arguments must throw TypeError assert_own_property: interface object must have static operation as own property expected property "getCapabilities" missing
-PASS RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "getParameters()" with the proper type 
-FAIL RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "getContributingSources()" with the proper type assert_inherits: property "getContributingSources" not found in prototype chain
-FAIL RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "getSynchronizationSources()" with the proper type assert_inherits: property "getSynchronizationSources" not found in prototype chain
-FAIL RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "getStats()" with the proper type assert_inherits: property "getStats" not found in prototype chain
-FAIL RTCRtpContributingSource interface: existence and properties of interface object assert_own_property: self does not have own property "RTCRtpContributingSource" expected property "RTCRtpContributingSource" missing
-FAIL RTCRtpContributingSource interface object length assert_own_property: self does not have own property "RTCRtpContributingSource" expected property "RTCRtpContributingSource" missing
-FAIL RTCRtpContributingSource interface object name assert_own_property: self does not have own property "RTCRtpContributingSource" expected property "RTCRtpContributingSource" missing
-FAIL RTCRtpContributingSource interface: existence and properties of interface prototype object assert_own_property: self does not have own property "RTCRtpContributingSource" expected property "RTCRtpContributingSource" missing
-FAIL RTCRtpContributingSource interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "RTCRtpContributingSource" expected property "RTCRtpContributingSource" missing
-FAIL RTCRtpContributingSource interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "RTCRtpContributingSource" expected property "RTCRtpContributingSource" missing
-FAIL RTCRtpContributingSource interface: attribute timestamp assert_own_property: self does not have own property "RTCRtpContributingSource" expected property "RTCRtpContributingSource" missing
-PASS Unscopable handled correctly for timestamp property on RTCRtpContributingSource 
-FAIL RTCRtpContributingSource interface: attribute source assert_own_property: self does not have own property "RTCRtpContributingSource" expected property "RTCRtpContributingSource" missing
-PASS Unscopable handled correctly for source property on RTCRtpContributingSource 
-FAIL RTCRtpContributingSource interface: attribute audioLevel assert_own_property: self does not have own property "RTCRtpContributingSource" expected property "RTCRtpContributingSource" missing
-PASS Unscopable handled correctly for audioLevel property on RTCRtpContributingSource 
-FAIL RTCRtpSynchronizationSource interface: existence and properties of interface object assert_own_property: self does not have own property "RTCRtpSynchronizationSource" expected property "RTCRtpSynchronizationSource" missing
-FAIL RTCRtpSynchronizationSource interface object length assert_own_property: self does not have own property "RTCRtpSynchronizationSource" expected property "RTCRtpSynchronizationSource" missing
-FAIL RTCRtpSynchronizationSource interface object name assert_own_property: self does not have own property "RTCRtpSynchronizationSource" expected property "RTCRtpSynchronizationSource" missing
-FAIL RTCRtpSynchronizationSource interface: existence and properties of interface prototype object assert_own_property: self does not have own property "RTCRtpSynchronizationSource" expected property "RTCRtpSynchronizationSource" missing
-FAIL RTCRtpSynchronizationSource interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "RTCRtpSynchronizationSource" expected property "RTCRtpSynchronizationSource" missing
-FAIL RTCRtpSynchronizationSource interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "RTCRtpSynchronizationSource" expected property "RTCRtpSynchronizationSource" missing
-FAIL RTCRtpSynchronizationSource interface: attribute timestamp assert_own_property: self does not have own property "RTCRtpSynchronizationSource" expected property "RTCRtpSynchronizationSource" missing
-PASS Unscopable handled correctly for timestamp property on RTCRtpSynchronizationSource 
-FAIL RTCRtpSynchronizationSource interface: attribute source assert_own_property: self does not have own property "RTCRtpSynchronizationSource" expected property "RTCRtpSynchronizationSource" missing
-PASS Unscopable handled correctly for source property on RTCRtpSynchronizationSource 
-FAIL RTCRtpSynchronizationSource interface: attribute audioLevel assert_own_property: self does not have own property "RTCRtpSynchronizationSource" expected property "RTCRtpSynchronizationSource" missing
-PASS Unscopable handled correctly for audioLevel property on RTCRtpSynchronizationSource 
-FAIL RTCRtpSynchronizationSource interface: attribute voiceActivityFlag assert_own_property: self does not have own property "RTCRtpSynchronizationSource" expected property "RTCRtpSynchronizationSource" missing
-PASS Unscopable handled correctly for voiceActivityFlag property on RTCRtpSynchronizationSource 
-PASS RTCRtpTransceiver interface: existence and properties of interface object 
-PASS RTCRtpTransceiver interface object length 
-PASS RTCRtpTransceiver interface object name 
-PASS RTCRtpTransceiver interface: existence and properties of interface prototype object 
-PASS RTCRtpTransceiver interface: existence and properties of interface prototype object's "constructor" property 
-PASS RTCRtpTransceiver interface: existence and properties of interface prototype object's @@unscopables property 
-PASS RTCRtpTransceiver interface: attribute mid 
-PASS Unscopable handled correctly for mid property on RTCRtpTransceiver 
-PASS RTCRtpTransceiver interface: attribute sender 
-PASS Unscopable handled correctly for sender property on RTCRtpTransceiver 
-PASS RTCRtpTransceiver interface: attribute receiver 
-PASS Unscopable handled correctly for receiver property on RTCRtpTransceiver 
-PASS RTCRtpTransceiver interface: attribute stopped 
-PASS Unscopable handled correctly for stopped property on RTCRtpTransceiver 
-PASS RTCRtpTransceiver interface: attribute direction 
-PASS Unscopable handled correctly for direction property on RTCRtpTransceiver 
-FAIL RTCRtpTransceiver interface: attribute currentDirection assert_true: The prototype object must have a property "currentDirection" expected true got false
-PASS Unscopable handled correctly for currentDirection property on RTCRtpTransceiver 
-PASS RTCRtpTransceiver interface: operation setDirection(RTCRtpTransceiverDirection) 
-PASS Unscopable handled correctly for setDirection(RTCRtpTransceiverDirection) on RTCRtpTransceiver 
-PASS RTCRtpTransceiver interface: operation stop() 
-PASS Unscopable handled correctly for stop() on RTCRtpTransceiver 
-FAIL RTCRtpTransceiver interface: operation setCodecPreferences([object Object]) assert_own_property: interface prototype object missing non-static operation expected property "setCodecPreferences" missing
-PASS Unscopable handled correctly for setCodecPreferences([object Object]) on RTCRtpTransceiver 
-PASS RTCRtpTransceiver must be primary interface of new RTCPeerConnection().addTransceiver('audio') 
-PASS Stringification of new RTCPeerConnection().addTransceiver('audio') 
-PASS RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "mid" with the proper type 
-PASS RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "sender" with the proper type 
-PASS RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "receiver" with the proper type 
-PASS RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "stopped" with the proper type 
-PASS RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "direction" with the proper type 
-FAIL RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "currentDirection" with the proper type assert_inherits: property "currentDirection" not found in prototype chain
-PASS RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "setDirection(RTCRtpTransceiverDirection)" with the proper type 
-PASS RTCRtpTransceiver interface: calling setDirection(RTCRtpTransceiverDirection) on new RTCPeerConnection().addTransceiver('audio') with too few arguments must throw TypeError 
-PASS RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "stop()" with the proper type 
-FAIL RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "setCodecPreferences([object Object])" with the proper type assert_inherits: property "setCodecPreferences" not found in prototype chain
-FAIL RTCRtpTransceiver interface: calling setCodecPreferences([object Object]) on new RTCPeerConnection().addTransceiver('audio') with too few arguments must throw TypeError assert_inherits: property "setCodecPreferences" not found in prototype chain
-FAIL RTCDtlsTransport interface: existence and properties of interface object assert_own_property: self does not have own property "RTCDtlsTransport" expected property "RTCDtlsTransport" missing
-FAIL RTCDtlsTransport interface object length assert_own_property: self does not have own property "RTCDtlsTransport" expected property "RTCDtlsTransport" missing
-FAIL RTCDtlsTransport interface object name assert_own_property: self does not have own property "RTCDtlsTransport" expected property "RTCDtlsTransport" missing
-FAIL RTCDtlsTransport interface: existence and properties of interface prototype object assert_own_property: self does not have own property "RTCDtlsTransport" expected property "RTCDtlsTransport" missing
-FAIL RTCDtlsTransport interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "RTCDtlsTransport" expected property "RTCDtlsTransport" missing
-FAIL RTCDtlsTransport interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "RTCDtlsTransport" expected property "RTCDtlsTransport" missing
-FAIL RTCDtlsTransport interface: attribute transport assert_own_property: self does not have own property "RTCDtlsTransport" expected property "RTCDtlsTransport" missing
-PASS Unscopable handled correctly for transport property on RTCDtlsTransport 
-FAIL RTCDtlsTransport interface: attribute state assert_own_property: self does not have own property "RTCDtlsTransport" expected property "RTCDtlsTransport" missing
-PASS Unscopable handled correctly for state property on RTCDtlsTransport 
-FAIL RTCDtlsTransport interface: operation getRemoteCertificates() assert_own_property: self does not have own property "RTCDtlsTransport" expected property "RTCDtlsTransport" missing
-PASS Unscopable handled correctly for getRemoteCertificates() on RTCDtlsTransport 
-FAIL RTCDtlsTransport interface: attribute onstatechange assert_own_property: self does not have own property "RTCDtlsTransport" expected property "RTCDtlsTransport" missing
-PASS Unscopable handled correctly for onstatechange property on RTCDtlsTransport 
-FAIL RTCDtlsTransport must be primary interface of idlTestObjects.dtlsTransport assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL Stringification of idlTestObjects.dtlsTransport assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCDtlsTransport interface: idlTestObjects.dtlsTransport must inherit property "transport" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCDtlsTransport interface: idlTestObjects.dtlsTransport must inherit property "state" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCDtlsTransport interface: idlTestObjects.dtlsTransport must inherit property "getRemoteCertificates()" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCDtlsTransport interface: idlTestObjects.dtlsTransport must inherit property "onstatechange" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-PASS RTCIceTransport interface: existence and properties of interface object 
-PASS RTCIceTransport interface object length 
-PASS RTCIceTransport interface object name 
-PASS RTCIceTransport interface: existence and properties of interface prototype object 
-PASS RTCIceTransport interface: existence and properties of interface prototype object's "constructor" property 
-PASS RTCIceTransport interface: existence and properties of interface prototype object's @@unscopables property 
-FAIL RTCIceTransport interface: attribute role assert_true: The prototype object must have a property "role" expected true got false
-PASS Unscopable handled correctly for role property on RTCIceTransport 
-FAIL RTCIceTransport interface: attribute component assert_true: The prototype object must have a property "component" expected true got false
-PASS Unscopable handled correctly for component property on RTCIceTransport 
-PASS RTCIceTransport interface: attribute state 
-PASS Unscopable handled correctly for state property on RTCIceTransport 
-PASS RTCIceTransport interface: attribute gatheringState 
-PASS Unscopable handled correctly for gatheringState property on RTCIceTransport 
-FAIL RTCIceTransport interface: operation getLocalCandidates() assert_own_property: interface prototype object missing non-static operation expected property "getLocalCandidates" missing
-PASS Unscopable handled correctly for getLocalCandidates() on RTCIceTransport 
-FAIL RTCIceTransport interface: operation getRemoteCandidates() assert_own_property: interface prototype object missing non-static operation expected property "getRemoteCandidates" missing
-PASS Unscopable handled correctly for getRemoteCandidates() on RTCIceTransport 
-FAIL RTCIceTransport interface: operation getSelectedCandidatePair() assert_own_property: interface prototype object missing non-static operation expected property "getSelectedCandidatePair" missing
-PASS Unscopable handled correctly for getSelectedCandidatePair() on RTCIceTransport 
-FAIL RTCIceTransport interface: operation getLocalParameters() assert_own_property: interface prototype object missing non-static operation expected property "getLocalParameters" missing
-PASS Unscopable handled correctly for getLocalParameters() on RTCIceTransport 
-FAIL RTCIceTransport interface: operation getRemoteParameters() assert_own_property: interface prototype object missing non-static operation expected property "getRemoteParameters" missing
-PASS Unscopable handled correctly for getRemoteParameters() on RTCIceTransport 
-FAIL RTCIceTransport interface: attribute onstatechange assert_true: The prototype object must have a property "onstatechange" expected true got false
-PASS Unscopable handled correctly for onstatechange property on RTCIceTransport 
-FAIL RTCIceTransport interface: attribute ongatheringstatechange assert_true: The prototype object must have a property "ongatheringstatechange" expected true got false
-PASS Unscopable handled correctly for ongatheringstatechange property on RTCIceTransport 
-FAIL RTCIceTransport interface: attribute onselectedcandidatepairchange assert_true: The prototype object must have a property "onselectedcandidatepairchange" expected true got false
-PASS Unscopable handled correctly for onselectedcandidatepairchange property on RTCIceTransport 
-FAIL RTCIceTransport must be primary interface of idlTestObjects.iceTransport assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL Stringification of idlTestObjects.iceTransport assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "role" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "component" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "state" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "gatheringState" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "getLocalCandidates()" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "getRemoteCandidates()" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "getSelectedCandidatePair()" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "getLocalParameters()" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "getRemoteParameters()" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "onstatechange" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "ongatheringstatechange" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "onselectedcandidatepairchange" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCTrackEvent interface: existence and properties of interface object undefined is not an object (evaluating 'this.array
-                     .members[this.base]
-                     .has_extended_attribute')
-PASS RTCTrackEvent interface object length 
-PASS RTCTrackEvent interface object name 
-FAIL RTCTrackEvent interface: existence and properties of interface prototype object undefined is not an object (evaluating 'this.array
-                         .members[inherit_interface]
-                         .has_extended_attribute')
-PASS RTCTrackEvent interface: existence and properties of interface prototype object's "constructor" property 
-PASS RTCTrackEvent interface: existence and properties of interface prototype object's @@unscopables property 
-PASS RTCTrackEvent interface: attribute receiver 
-PASS Unscopable handled correctly for receiver property on RTCTrackEvent 
-PASS RTCTrackEvent interface: attribute track 
-PASS Unscopable handled correctly for track property on RTCTrackEvent 
-PASS RTCTrackEvent interface: attribute streams 
-PASS Unscopable handled correctly for streams property on RTCTrackEvent 
-PASS RTCTrackEvent interface: attribute transceiver 
-PASS Unscopable handled correctly for transceiver property on RTCTrackEvent 
-PASS RTCTrackEvent must be primary interface of initTrackEvent() 
-FAIL Stringification of initTrackEvent() undefined is not an object (evaluating 'this.array.members[this.base].has_stringifier')
-PASS RTCTrackEvent interface: initTrackEvent() must inherit property "receiver" with the proper type 
-PASS RTCTrackEvent interface: initTrackEvent() must inherit property "track" with the proper type 
-PASS RTCTrackEvent interface: initTrackEvent() must inherit property "streams" with the proper type 
-PASS RTCTrackEvent interface: initTrackEvent() must inherit property "transceiver" with the proper type 
-FAIL RTCSctpTransport interface: existence and properties of interface object assert_own_property: self does not have own property "RTCSctpTransport" expected property "RTCSctpTransport" missing
-FAIL RTCSctpTransport interface object length assert_own_property: self does not have own property "RTCSctpTransport" expected property "RTCSctpTransport" missing
-FAIL RTCSctpTransport interface object name assert_own_property: self does not have own property "RTCSctpTransport" expected property "RTCSctpTransport" missing
-FAIL RTCSctpTransport interface: existence and properties of interface prototype object assert_own_property: self does not have own property "RTCSctpTransport" expected property "RTCSctpTransport" missing
-FAIL RTCSctpTransport interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "RTCSctpTransport" expected property "RTCSctpTransport" missing
-FAIL RTCSctpTransport interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "RTCSctpTransport" expected property "RTCSctpTransport" missing
-FAIL RTCSctpTransport interface: attribute transport assert_own_property: self does not have own property "RTCSctpTransport" expected property "RTCSctpTransport" missing
-PASS Unscopable handled correctly for transport property on RTCSctpTransport 
-FAIL RTCSctpTransport interface: attribute maxMessageSize assert_own_property: self does not have own property "RTCSctpTransport" expected property "RTCSctpTransport" missing
-PASS Unscopable handled correctly for maxMessageSize property on RTCSctpTransport 
-FAIL RTCSctpTransport must be primary interface of idlTestObjects.sctpTransport assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL Stringification of idlTestObjects.sctpTransport assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCSctpTransport interface: idlTestObjects.sctpTransport must inherit property "transport" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCSctpTransport interface: idlTestObjects.sctpTransport must inherit property "maxMessageSize" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCDataChannel interface: existence and properties of interface object undefined is not an object (evaluating 'this.array
-                     .members[this.base]
-                     .has_extended_attribute')
-PASS RTCDataChannel interface object length 
-PASS RTCDataChannel interface object name 
-FAIL RTCDataChannel interface: existence and properties of interface prototype object undefined is not an object (evaluating 'this.array
-                         .members[inherit_interface]
-                         .has_extended_attribute')
-PASS RTCDataChannel interface: existence and properties of interface prototype object's "constructor" property 
-PASS RTCDataChannel interface: existence and properties of interface prototype object's @@unscopables property 
-PASS RTCDataChannel interface: attribute label 
-PASS Unscopable handled correctly for label property on RTCDataChannel 
-PASS RTCDataChannel interface: attribute ordered 
-PASS Unscopable handled correctly for ordered property on RTCDataChannel 
-PASS RTCDataChannel interface: attribute maxPacketLifeTime 
-PASS Unscopable handled correctly for maxPacketLifeTime property on RTCDataChannel 
-PASS RTCDataChannel interface: attribute maxRetransmits 
-PASS Unscopable handled correctly for maxRetransmits property on RTCDataChannel 
-PASS RTCDataChannel interface: attribute protocol 
-PASS Unscopable handled correctly for protocol property on RTCDataChannel 
-PASS RTCDataChannel interface: attribute negotiated 
-PASS Unscopable handled correctly for negotiated property on RTCDataChannel 
-PASS RTCDataChannel interface: attribute id 
-PASS Unscopable handled correctly for id property on RTCDataChannel 
-FAIL RTCDataChannel interface: attribute priority assert_true: The prototype object must have a property "priority" expected true got false
-PASS Unscopable handled correctly for priority property on RTCDataChannel 
-PASS RTCDataChannel interface: attribute readyState 
-PASS Unscopable handled correctly for readyState property on RTCDataChannel 
-PASS RTCDataChannel interface: attribute bufferedAmount 
-PASS Unscopable handled correctly for bufferedAmount property on RTCDataChannel 
-PASS RTCDataChannel interface: attribute bufferedAmountLowThreshold 
-PASS Unscopable handled correctly for bufferedAmountLowThreshold property on RTCDataChannel 
-PASS RTCDataChannel interface: attribute onopen 
-PASS Unscopable handled correctly for onopen property on RTCDataChannel 
-PASS RTCDataChannel interface: attribute onbufferedamountlow 
-PASS Unscopable handled correctly for onbufferedamountlow property on RTCDataChannel 
-PASS RTCDataChannel interface: attribute onerror 
-PASS Unscopable handled correctly for onerror property on RTCDataChannel 
-PASS RTCDataChannel interface: attribute onclose 
-PASS Unscopable handled correctly for onclose property on RTCDataChannel 
-PASS RTCDataChannel interface: operation close() 
-PASS Unscopable handled correctly for close() on RTCDataChannel 
-PASS RTCDataChannel interface: attribute onmessage 
-PASS Unscopable handled correctly for onmessage property on RTCDataChannel 
-PASS RTCDataChannel interface: attribute binaryType 
-PASS Unscopable handled correctly for binaryType property on RTCDataChannel 
-PASS RTCDataChannel interface: operation send(USVString) 
-PASS Unscopable handled correctly for send(USVString) on RTCDataChannel 
-PASS RTCDataChannel interface: operation send(Blob) 
-PASS Unscopable handled correctly for send(Blob) on RTCDataChannel 
-PASS RTCDataChannel interface: operation send(ArrayBuffer) 
-PASS Unscopable handled correctly for send(ArrayBuffer) on RTCDataChannel 
-PASS RTCDataChannel interface: operation send(ArrayBufferView) 
-PASS Unscopable handled correctly for send(ArrayBufferView) on RTCDataChannel 
-PASS RTCDataChannel must be primary interface of new RTCPeerConnection().createDataChannel('') 
-FAIL Stringification of new RTCPeerConnection().createDataChannel('') undefined is not an object (evaluating 'this.array.members[this.base].has_stringifier')
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "label" with the proper type 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "ordered" with the proper type 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "maxPacketLifeTime" with the proper type 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "maxRetransmits" with the proper type 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "protocol" with the proper type 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "negotiated" with the proper type 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "id" with the proper type 
-FAIL RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "priority" with the proper type assert_inherits: property "priority" not found in prototype chain
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "readyState" with the proper type 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "bufferedAmount" with the proper type 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "bufferedAmountLowThreshold" with the proper type 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "onopen" with the proper type 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "onbufferedamountlow" with the proper type 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "onerror" with the proper type 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "onclose" with the proper type 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "close()" with the proper type 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "onmessage" with the proper type 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "binaryType" with the proper type 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "send(USVString)" with the proper type 
-PASS RTCDataChannel interface: calling send(USVString) on new RTCPeerConnection().createDataChannel('') with too few arguments must throw TypeError 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "send(Blob)" with the proper type 
-PASS RTCDataChannel interface: calling send(Blob) on new RTCPeerConnection().createDataChannel('') with too few arguments must throw TypeError 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "send(ArrayBuffer)" with the proper type 
-PASS RTCDataChannel interface: calling send(ArrayBuffer) on new RTCPeerConnection().createDataChannel('') with too few arguments must throw TypeError 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "send(ArrayBufferView)" with the proper type 
-PASS RTCDataChannel interface: calling send(ArrayBufferView) on new RTCPeerConnection().createDataChannel('') with too few arguments must throw TypeError 
-FAIL RTCDataChannelEvent interface: existence and properties of interface object undefined is not an object (evaluating 'this.array
-                     .members[this.base]
-                     .has_extended_attribute')
-PASS RTCDataChannelEvent interface object length 
-PASS RTCDataChannelEvent interface object name 
-FAIL RTCDataChannelEvent interface: existence and properties of interface prototype object undefined is not an object (evaluating 'this.array
-                         .members[inherit_interface]
-                         .has_extended_attribute')
-PASS RTCDataChannelEvent interface: existence and properties of interface prototype object's "constructor" property 
-PASS RTCDataChannelEvent interface: existence and properties of interface prototype object's @@unscopables property 
-PASS RTCDataChannelEvent interface: attribute channel 
-PASS Unscopable handled correctly for channel property on RTCDataChannelEvent 
-PASS RTCDataChannelEvent must be primary interface of new RTCDataChannelEvent('channel',
-        { channel: new RTCPeerConnection().createDataChannel('') }) 
-FAIL Stringification of new RTCDataChannelEvent('channel',
-        { channel: new RTCPeerConnection().createDataChannel('') }) undefined is not an object (evaluating 'this.array.members[this.base].has_stringifier')
-PASS RTCDataChannelEvent interface: new RTCDataChannelEvent('channel',
-        { channel: new RTCPeerConnection().createDataChannel('') }) must inherit property "channel" with the proper type 
-FAIL RTCDTMFSender interface: existence and properties of interface object assert_own_property: self does not have own property "RTCDTMFSender" expected property "RTCDTMFSender" missing
-FAIL RTCDTMFSender interface object length assert_own_property: self does not have own property "RTCDTMFSender" expected property "RTCDTMFSender" missing
-FAIL RTCDTMFSender interface object name assert_own_property: self does not have own property "RTCDTMFSender" expected property "RTCDTMFSender" missing
-FAIL RTCDTMFSender interface: existence and properties of interface prototype object assert_own_property: self does not have own property "RTCDTMFSender" expected property "RTCDTMFSender" missing
-FAIL RTCDTMFSender interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "RTCDTMFSender" expected property "RTCDTMFSender" missing
-FAIL RTCDTMFSender interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "RTCDTMFSender" expected property "RTCDTMFSender" missing
-FAIL RTCDTMFSender interface: operation insertDTMF(DOMString, unsigned long, unsigned long) assert_own_property: self does not have own property "RTCDTMFSender" expected property "RTCDTMFSender" missing
-PASS Unscopable handled correctly for insertDTMF(DOMString, unsigned long, unsigned long) on RTCDTMFSender 
-FAIL RTCDTMFSender interface: attribute ontonechange assert_own_property: self does not have own property "RTCDTMFSender" expected property "RTCDTMFSender" missing
-PASS Unscopable handled correctly for ontonechange property on RTCDTMFSender 
-FAIL RTCDTMFSender interface: attribute toneBuffer assert_own_property: self does not have own property "RTCDTMFSender" expected property "RTCDTMFSender" missing
-PASS Unscopable handled correctly for toneBuffer property on RTCDTMFSender 
-FAIL RTCDTMFToneChangeEvent interface: existence and properties of interface object assert_own_property: self does not have own property "RTCDTMFToneChangeEvent" expected property "RTCDTMFToneChangeEvent" missing
-FAIL RTCDTMFToneChangeEvent interface object length assert_own_property: self does not have own property "RTCDTMFToneChangeEvent" expected property "RTCDTMFToneChangeEvent" missing
-FAIL RTCDTMFToneChangeEvent interface object name assert_own_property: self does not have own property "RTCDTMFToneChangeEvent" expected property "RTCDTMFToneChangeEvent" missing
-FAIL RTCDTMFToneChangeEvent interface: existence and properties of interface prototype object assert_own_property: self does not have own property "RTCDTMFToneChangeEvent" expected property "RTCDTMFToneChangeEvent" missing
-FAIL RTCDTMFToneChangeEvent interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "RTCDTMFToneChangeEvent" expected property "RTCDTMFToneChangeEvent" missing
-FAIL RTCDTMFToneChangeEvent interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "RTCDTMFToneChangeEvent" expected property "RTCDTMFToneChangeEvent" missing
-FAIL RTCDTMFToneChangeEvent interface: attribute tone assert_own_property: self does not have own property "RTCDTMFToneChangeEvent" expected property "RTCDTMFToneChangeEvent" missing
-PASS Unscopable handled correctly for tone property on RTCDTMFToneChangeEvent 
-PASS RTCStatsReport interface: existence and properties of interface object 
-PASS RTCStatsReport interface object length 
-PASS RTCStatsReport interface object name 
-PASS RTCStatsReport interface: existence and properties of interface prototype object 
-PASS RTCStatsReport interface: existence and properties of interface prototype object's "constructor" property 
-PASS RTCStatsReport interface: existence and properties of interface prototype object's @@unscopables property 
-PASS RTCIdentityProviderGlobalScope interface: existence and properties of interface object 
-PASS RTCIdentityProviderRegistrar interface: existence and properties of interface object 
-FAIL RTCIdentityAssertion interface: existence and properties of interface object assert_own_property: self does not have own property "RTCIdentityAssertion" expected property "RTCIdentityAssertion" missing
-FAIL RTCIdentityAssertion interface object length assert_own_property: self does not have own property "RTCIdentityAssertion" expected property "RTCIdentityAssertion" missing
-FAIL RTCIdentityAssertion interface object name assert_own_property: self does not have own property "RTCIdentityAssertion" expected property "RTCIdentityAssertion" missing
-FAIL RTCIdentityAssertion interface: existence and properties of interface prototype object assert_own_property: self does not have own property "RTCIdentityAssertion" expected property "RTCIdentityAssertion" missing
-FAIL RTCIdentityAssertion interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "RTCIdentityAssertion" expected property "RTCIdentityAssertion" missing
-FAIL RTCIdentityAssertion interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "RTCIdentityAssertion" expected property "RTCIdentityAssertion" missing
-FAIL RTCIdentityAssertion interface: attribute idp assert_own_property: self does not have own property "RTCIdentityAssertion" expected property "RTCIdentityAssertion" missing
-PASS Unscopable handled correctly for idp property on RTCIdentityAssertion 
-FAIL RTCIdentityAssertion interface: attribute name assert_own_property: self does not have own property "RTCIdentityAssertion" expected property "RTCIdentityAssertion" missing
-PASS Unscopable handled correctly for name property on RTCIdentityAssertion 
-FAIL RTCErrorEvent interface: existence and properties of interface object assert_own_property: self does not have own property "RTCErrorEvent" expected property "RTCErrorEvent" missing
-FAIL RTCErrorEvent interface object length assert_own_property: self does not have own property "RTCErrorEvent" expected property "RTCErrorEvent" missing
-FAIL RTCErrorEvent interface object name assert_own_property: self does not have own property "RTCErrorEvent" expected property "RTCErrorEvent" missing
-FAIL RTCErrorEvent interface: existence and properties of interface prototype object assert_own_property: self does not have own property "RTCErrorEvent" expected property "RTCErrorEvent" missing
-FAIL RTCErrorEvent interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "RTCErrorEvent" expected property "RTCErrorEvent" missing
-FAIL RTCErrorEvent interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "RTCErrorEvent" expected property "RTCErrorEvent" missing
-FAIL RTCErrorEvent interface: attribute error assert_own_property: self does not have own property "RTCErrorEvent" expected property "RTCErrorEvent" missing
-PASS Unscopable handled correctly for error property on RTCErrorEvent 
-FAIL RTCErrorEvent must be primary interface of new RTCErrorEvent('error') assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: RTCErrorEvent"
-FAIL Stringification of new RTCErrorEvent('error') assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: RTCErrorEvent"
-FAIL RTCErrorEvent interface: new RTCErrorEvent('error') must inherit property "error" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: RTCErrorEvent"
+PASS Stringification of generateMediaStreamTrack('audio') 
 
index e6e6846..2cb1ecf 100644 (file)
       }));
   }
 
-  // Main function to do the IDL test, using fetched IDL text
-  function doIdlTest(idlText) {
+  promise_test(async t => {
+    await asyncInit();
+
     const idlArray = new IdlArray();
 
+    let webrtcIdl = fetch('/interfaces/webrtc-pc.idl').then(r => r.text());
+    let mediacaptureMainIdl = fetch('/interfaces/mediacapture-main.idl').then(r => r.text());
+
+    idlArray.add_untested_idls(mediacaptureMainIdl, { only: ['MediaStreamConstraints'] });
+    idlArray.add_idls(webrtcIdl);
+
     idlArray.add_untested_idls('interface EventHandler {};');
+    idlArray.add_idls('interface EventTarget {};');
     idlArray.add_idls('interface MediaStreamTrack : EventTarget {};');
-    idlArray.add_idls(idlText);
 
     idlArray.add_objects({
       'RTCPeerConnection': [`new RTCPeerConnection()`],
     });
 
     idlArray.test();
-  }
-
-  promise_test(t => {
-    return asyncInit()
-    .then(() => fetch('/interfaces/webrtc-pc.idl'))
-    .then(response => response.text())
-    .then(doIdlTest);
   }, 'Main test driver');
 
   /*
index 8a26542..0b8fea0 100644 (file)
@@ -3098,7 +3098,6 @@ imported/w3c/web-platform-tests/XMLHttpRequest/send-blob-with-no-mime-type.html
 http/tests/websocket/tests/hybi/deflate-frame-parameter.html [ Failure ]
 
 # <rdar://problem/34051745>
-imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-idl.html [ Failure ]
 imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription.html [ Failure ]
 imported/w3c/web-platform-tests/webrtc/getstats.html [ Failure ]
 imported/w3c/web-platform-tests/webrtc/rtcpeerconnection/rtcpeerconnection-idl.html [ Failure ]
index 5d153be..c2d30b2 100644 (file)
@@ -1375,6 +1375,10 @@ webkit.org/b/168415 [ ElCapitan ] http/wpt/resource-timing/rt-cors.worker.html [
 [ Sierra+ ] imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location-worker.html [ Failure ]
 [ Sierra+ ] imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location.html [ Failure ]
 
+[ Debug ] imported/w3c/web-platform-tests/IndexedDB/interfaces.any.html [ Slow ]
+[ Debug ] imported/w3c/web-platform-tests/IndexedDB/interfaces.any.worker.html [ Slow ]
+[ Debug ] imported/w3c/web-platform-tests/hr-time/idlharness.html [ Slow ]
+
 webkit.org/b/168503 editing/pasteboard/drag-drop-copy-content.html [ Failure ]
 
 webkit.org/b/168936 imported/w3c/web-platform-tests/IndexedDB/idbdatabase-deleteObjectStore-exception-order.htm [ Pass Failure ]