Title: [207895] trunk
Revision
207895
Author
[email protected]
Date
2016-10-26 05:54:46 -0700 (Wed, 26 Oct 2016)

Log Message

WebRTC: The RTCTrackEventInit dictionary needs required members
https://bugs.webkit.org/show_bug.cgi?id=158536

Source/WebCore:

Reviewed by Chris Dumez.

Update RTCTrackEvent IDL as per specification.

No additional test required, rebase existing tests.

* Modules/mediastream/RTCTrackEvent.idl:

LayoutTests:

Update RTCTrackEvent IDL as per specification. Rebase existing tests.

Reviewed by Chris Dumez.

* fast/mediastream/RTCTrackEvent-constructor-expected.txt:
* fast/mediastream/RTCTrackEvent-constructor.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (207894 => 207895)


--- trunk/LayoutTests/ChangeLog	2016-10-26 10:09:01 UTC (rev 207894)
+++ trunk/LayoutTests/ChangeLog	2016-10-26 12:54:46 UTC (rev 207895)
@@ -1,3 +1,14 @@
+2016-10-26  Nael Ouedraogo  <[email protected]>
+        WebRTC: The RTCTrackEventInit dictionary needs required members
+        https://bugs.webkit.org/show_bug.cgi?id=158536
+
+        Update RTCTrackEvent IDL as per specification. Rebase existing tests.
+
+        Reviewed by Chris Dumez.
+
+        * fast/mediastream/RTCTrackEvent-constructor-expected.txt:
+        * fast/mediastream/RTCTrackEvent-constructor.html:
+
 2016-10-25  Ryosuke Niwa  <[email protected]>
 
         Updating attribute by textContent must create a single mutation record and custom element reaction

Modified: trunk/LayoutTests/fast/mediastream/RTCTrackEvent-constructor-expected.txt (207894 => 207895)


--- trunk/LayoutTests/fast/mediastream/RTCTrackEvent-constructor-expected.txt	2016-10-26 10:09:01 UTC (rev 207894)
+++ trunk/LayoutTests/fast/mediastream/RTCTrackEvent-constructor-expected.txt	2016-10-26 12:54:46 UTC (rev 207895)
@@ -20,14 +20,14 @@
 PASS new RTCTrackEvent('eventType', { receiver: track, track: track, streams: [1], transceiver: transceiver}) threw exception TypeError: Type error.
 
 Dictionary members receiver, track and transceiver are not nullable
-FAIL new RTCTrackEvent('eventType', { receiver: null, track: track, transceiver: transceiver}) should throw an exception. Was [object RTCTrackEvent].
-FAIL new RTCTrackEvent('eventType', { receiver: receiver, track: null, transceiver: transceiver}) should throw an exception. Was [object RTCTrackEvent].
-FAIL new RTCTrackEvent('eventType', { receiver: receiver, track: track, transceiver: null}) should throw an exception. Was [object RTCTrackEvent].
+PASS new RTCTrackEvent('eventType', { receiver: null, track: track, transceiver: transceiver}) threw exception TypeError: Type error.
+PASS new RTCTrackEvent('eventType', { receiver: receiver, track: null, transceiver: transceiver}) threw exception TypeError: Type error.
+PASS new RTCTrackEvent('eventType', { receiver: receiver, track: track, transceiver: null}) threw exception TypeError: Type error.
 
 Dictionary members receiver, track and transceiver are required
-FAIL new RTCTrackEvent('eventType', { track: track, transceiver: transceiver}) should throw an exception. Was [object RTCTrackEvent].
-FAIL new RTCTrackEvent('eventType', { receiver: receiver, transceiver: transceiver}) should throw an exception. Was [object RTCTrackEvent].
-FAIL new RTCTrackEvent('eventType', { receiver: receiver, track: track}) should throw an exception. Was [object RTCTrackEvent].
+PASS new RTCTrackEvent('eventType', { track: track, transceiver: transceiver}) threw exception TypeError: Member RTCTrackEventInit.receiver is required and must be an instance of RTCRtpReceiver.
+PASS new RTCTrackEvent('eventType', { receiver: receiver, transceiver: transceiver}) threw exception TypeError: Member RTCTrackEventInit.track is required and must be an instance of MediaStreamTrack.
+PASS new RTCTrackEvent('eventType', { receiver: receiver, track: track}) threw exception TypeError: Member RTCTrackEventInit.transceiver is required and must be an instance of RTCRtpTransceiver.
 
 PASS successfullyParsed is true
 

Modified: trunk/LayoutTests/fast/mediastream/RTCTrackEvent-constructor.html (207894 => 207895)


--- trunk/LayoutTests/fast/mediastream/RTCTrackEvent-constructor.html	2016-10-26 10:09:01 UTC (rev 207894)
+++ trunk/LayoutTests/fast/mediastream/RTCTrackEvent-constructor.html	2016-10-26 12:54:46 UTC (rev 207895)
@@ -45,23 +45,22 @@
                 shouldBe("new RTCTrackEvent('eventType', { receiver: receiver, track: track, streams: [stream], transceiver: transceiver}).streams", "[stream]");
                 debug("");
 
-                shouldThrow("new RTCTrackEvent('eventType', { receiver: track, track: track, streams: [stream, null], transceiver: transceiver})");
-                shouldThrow("new RTCTrackEvent('eventType', { receiver: track, track: track, streams: [null], transceiver: transceiver})");
-                shouldThrow("new RTCTrackEvent('eventType', { receiver: track, track: track, streams: [{}], transceiver: transceiver})");
-                shouldThrow("new RTCTrackEvent('eventType', { receiver: track, track: track, streams: [1], transceiver: transceiver})");
+                shouldThrowErrorName("new RTCTrackEvent('eventType', { receiver: track, track: track, streams: [stream, null], transceiver: transceiver})", "TypeError");
+                shouldThrowErrorName("new RTCTrackEvent('eventType', { receiver: track, track: track, streams: [null], transceiver: transceiver})", "TypeError");
+                shouldThrowErrorName("new RTCTrackEvent('eventType', { receiver: track, track: track, streams: [{}], transceiver: transceiver})", "TypeError");
+                shouldThrowErrorName("new RTCTrackEvent('eventType', { receiver: track, track: track, streams: [1], transceiver: transceiver})", "TypeError");
                 debug("");
 
-                // The tests below are expected to fail (bug: webkit.org/b/158536)
                 debug("Dictionary members receiver, track and transceiver are not nullable");
-                shouldThrow("new RTCTrackEvent('eventType', { receiver: null, track: track, transceiver: transceiver})");
-                shouldThrow("new RTCTrackEvent('eventType', { receiver: receiver, track: null, transceiver: transceiver})");
-                shouldThrow("new RTCTrackEvent('eventType', { receiver: receiver, track: track, transceiver: null})");
+                shouldThrowErrorName("new RTCTrackEvent('eventType', { receiver: null, track: track, transceiver: transceiver})", "TypeError");
+                shouldThrowErrorName("new RTCTrackEvent('eventType', { receiver: receiver, track: null, transceiver: transceiver})", "TypeError");
+                shouldThrowErrorName("new RTCTrackEvent('eventType', { receiver: receiver, track: track, transceiver: null})", "TypeError");
                 debug("");
 
                 debug("Dictionary members receiver, track and transceiver are required");
-                shouldThrow("new RTCTrackEvent('eventType', { track: track, transceiver: transceiver})");
-                shouldThrow("new RTCTrackEvent('eventType', { receiver: receiver, transceiver: transceiver})");
-                shouldThrow("new RTCTrackEvent('eventType', { receiver: receiver, track: track})");
+                shouldThrowErrorName("new RTCTrackEvent('eventType', { track: track, transceiver: transceiver})", "TypeError");
+                shouldThrowErrorName("new RTCTrackEvent('eventType', { receiver: receiver, transceiver: transceiver})", "TypeError");
+                shouldThrowErrorName("new RTCTrackEvent('eventType', { receiver: receiver, track: track})", "TypeError");
                 debug("");
 
                 finishJSTest();

Modified: trunk/Source/WebCore/ChangeLog (207894 => 207895)


--- trunk/Source/WebCore/ChangeLog	2016-10-26 10:09:01 UTC (rev 207894)
+++ trunk/Source/WebCore/ChangeLog	2016-10-26 12:54:46 UTC (rev 207895)
@@ -1,3 +1,16 @@
+2016-10-26  Nael Ouedraogo  <[email protected]>
+
+        WebRTC: The RTCTrackEventInit dictionary needs required members
+        https://bugs.webkit.org/show_bug.cgi?id=158536
+
+        Reviewed by Chris Dumez.
+
+        Update RTCTrackEvent IDL as per specification.
+
+        No additional test required, rebase existing tests.
+
+        * Modules/mediastream/RTCTrackEvent.idl:
+
 2016-10-26  Enrique Ocaña González  <[email protected]>
 
         [GStreamer][GTK+][MSE] Unreviewed debug build fix.

Modified: trunk/Source/WebCore/Modules/mediastream/RTCTrackEvent.idl (207894 => 207895)


--- trunk/Source/WebCore/Modules/mediastream/RTCTrackEvent.idl	2016-10-26 10:09:01 UTC (rev 207894)
+++ trunk/Source/WebCore/Modules/mediastream/RTCTrackEvent.idl	2016-10-26 12:54:46 UTC (rev 207895)
@@ -30,19 +30,17 @@
 
 [
     Conditional=WEB_RTC,
-    Constructor(DOMString type, optional RTCTrackEventInit eventInitDict),
+    Constructor(DOMString type, RTCTrackEventInit eventInitDict),
 ] interface RTCTrackEvent : Event {
-   readonly attribute RTCRtpReceiver? receiver;
-   readonly attribute MediaStreamTrack? track;
-   readonly attribute sequence<MediaStream> streams;
-   readonly attribute RTCRtpTransceiver? transceiver;
+    readonly attribute RTCRtpReceiver receiver;
+    readonly attribute MediaStreamTrack track;
+    readonly attribute FrozenArray<MediaStream> streams;
+    readonly attribute RTCRtpTransceiver transceiver;
 };
 
 dictionary RTCTrackEventInit : EventInit {
+    required RTCRtpReceiver receiver;
+    required MediaStreamTrack track;
     sequence<MediaStream> streams = [];
-
-    // FIXME: The specification says that these members should be required and non-nullable.
-    RTCRtpReceiver? receiver = null;
-    MediaStreamTrack? track = null;
-    RTCRtpTransceiver? transceiver = null;
+    required RTCRtpTransceiver transceiver;
 };
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to