Title: [207175] trunk
Revision
207175
Author
[email protected]
Date
2016-10-11 16:11:49 -0700 (Tue, 11 Oct 2016)

Log Message

Update MediaStream events to stop using legacy [ConstructorTemplate=Event]
https://bugs.webkit.org/show_bug.cgi?id=163289

Reviewed by Sam Weinig.

Source/WebCore:

Update MediaStream events to stop using legacy [ConstructorTemplate=Event]
and use regular constructors instead.

* Modules/mediastream/MediaStreamEvent.cpp:
(WebCore::MediaStreamEvent::create):
(WebCore::MediaStreamEvent::MediaStreamEvent):
* Modules/mediastream/MediaStreamEvent.h:
* Modules/mediastream/MediaStreamEvent.idl:
* Modules/mediastream/MediaStreamTrackEvent.cpp:
(WebCore::MediaStreamTrackEvent::create):
(WebCore::MediaStreamTrackEvent::MediaStreamTrackEvent):
* Modules/mediastream/MediaStreamTrackEvent.h:
* Modules/mediastream/MediaStreamTrackEvent.idl:
* Modules/mediastream/OverconstrainedErrorEvent.h:
(WebCore::OverconstrainedErrorEvent::create):
(WebCore::OverconstrainedErrorEvent::OverconstrainedErrorEvent):
(WebCore::OverconstrainedErrorEvent::~OverconstrainedErrorEvent): Deleted.
* Modules/mediastream/OverconstrainedErrorEvent.idl:
* Modules/mediastream/RTCDTMFToneChangeEvent.cpp:
(WebCore::RTCDTMFToneChangeEvent::create):
(WebCore::RTCDTMFToneChangeEvent::RTCDTMFToneChangeEvent):
* Modules/mediastream/RTCDTMFToneChangeEvent.h:
* Modules/mediastream/RTCDTMFToneChangeEvent.idl:
* Modules/mediastream/RTCTrackEvent.cpp:
(WebCore::RTCTrackEvent::create):
(WebCore::RTCTrackEvent::RTCTrackEvent):
* Modules/mediastream/RTCTrackEvent.h:
* Modules/mediastream/RTCTrackEvent.idl:

LayoutTests:

Update existing test cases now that we throw more exceptions on bad input.

* fast/events/constructors/overconstrained-error-event-constructor-expected.txt:
* fast/events/constructors/overconstrained-error-event-constructor.html:
* fast/mediastream/MediaStreamTrackEvent-constructor-expected.txt:
* fast/mediastream/MediaStreamTrackEvent-constructor.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (207174 => 207175)


--- trunk/LayoutTests/ChangeLog	2016-10-11 23:07:35 UTC (rev 207174)
+++ trunk/LayoutTests/ChangeLog	2016-10-11 23:11:49 UTC (rev 207175)
@@ -1,3 +1,17 @@
+2016-10-11  Chris Dumez  <[email protected]>
+
+        Update MediaStream events to stop using legacy [ConstructorTemplate=Event]
+        https://bugs.webkit.org/show_bug.cgi?id=163289
+
+        Reviewed by Sam Weinig.
+
+        Update existing test cases now that we throw more exceptions on bad input.
+
+        * fast/events/constructors/overconstrained-error-event-constructor-expected.txt:
+        * fast/events/constructors/overconstrained-error-event-constructor.html:
+        * fast/mediastream/MediaStreamTrackEvent-constructor-expected.txt:
+        * fast/mediastream/MediaStreamTrackEvent-constructor.html:
+
 2016-10-11  Dean Jackson  <[email protected]>
 
         Implement prefers-reduced-motion media query

Modified: trunk/LayoutTests/fast/events/constructors/overconstrained-error-event-constructor-expected.txt (207174 => 207175)


--- trunk/LayoutTests/fast/events/constructors/overconstrained-error-event-constructor-expected.txt	2016-10-11 23:07:35 UTC (rev 207174)
+++ trunk/LayoutTests/fast/events/constructors/overconstrained-error-event-constructor-expected.txt	2016-10-11 23:11:49 UTC (rev 207175)
@@ -15,8 +15,8 @@
 PASS new OverconstrainedErrorEvent('eventType', { error: new OverconstrainedError('width') }).error.constraint is "width"
 PASS new OverconstrainedErrorEvent('eventType', { error: new OverconstrainedError('fred', 'unsupported constraint') }).error.message is "unsupported constraint"
 PASS new OverconstrainedErrorEvent('eventType', { error: null }).reason is undefined.
-PASS new OverconstrainedErrorEvent('eventType', { error: 'fake error' }).error is null
-PASS new OverconstrainedErrorEvent('eventType', { error: [] }).error is null
+PASS new OverconstrainedErrorEvent('eventType', { error: 'fake error' }) threw exception TypeError: Type error.
+PASS new OverconstrainedErrorEvent('eventType', { error: [] }) threw exception TypeError: Type error.
 PASS new OverconstrainedErrorEvent('eventType', { bubbles: true, cancelable: true, error: new OverconstrainedError() }).bubbles is true
 PASS new OverconstrainedErrorEvent('eventType', { bubbles: true, cancelable: true, error: new OverconstrainedError() }).cancelable is true
 PASS new OverconstrainedErrorEvent('eventType', { bubbles: true, cancelable: true, error: new OverconstrainedError('bogus') }).error.constraint is "bogus"

Modified: trunk/LayoutTests/fast/events/constructors/overconstrained-error-event-constructor.html (207174 => 207175)


--- trunk/LayoutTests/fast/events/constructors/overconstrained-error-event-constructor.html	2016-10-11 23:07:35 UTC (rev 207174)
+++ trunk/LayoutTests/fast/events/constructors/overconstrained-error-event-constructor.html	2016-10-11 23:11:49 UTC (rev 207175)
@@ -35,8 +35,8 @@
         shouldBeEqualToString("new OverconstrainedErrorEvent('eventType', { error: new OverconstrainedError('fred', 'unsupported constraint') }).error.message", "unsupported constraint");
 
         shouldBeUndefined("new OverconstrainedErrorEvent('eventType', { error: null }).reason");
-        shouldBeNull("new OverconstrainedErrorEvent('eventType', { error: 'fake error' }).error", null);
-        shouldBeNull("new OverconstrainedErrorEvent('eventType', { error: [] }).error", null);
+        shouldThrowErrorName("new OverconstrainedErrorEvent('eventType', { error: 'fake error' })", "TypeError");
+        shouldThrowErrorName("new OverconstrainedErrorEvent('eventType', { error: [] })", "TypeError");
 
         // All initializers are passed.
         shouldBe("new OverconstrainedErrorEvent('eventType', { bubbles: true, cancelable: true, error: new OverconstrainedError() }).bubbles", "true");

Modified: trunk/LayoutTests/fast/mediastream/MediaStreamTrackEvent-constructor-expected.txt (207174 => 207175)


--- trunk/LayoutTests/fast/mediastream/MediaStreamTrackEvent-constructor-expected.txt	2016-10-11 23:07:35 UTC (rev 207174)
+++ trunk/LayoutTests/fast/mediastream/MediaStreamTrackEvent-constructor-expected.txt	2016-10-11 23:11:49 UTC (rev 207175)
@@ -19,15 +19,13 @@
 PASS new MediaStreamTrackEvent('MediaStreamTrackEvent', { bubbles: true, cancelable: true }).track is null
 
 *** Bubbles and cancelable true, invalid track ***
-PASS new MediaStreamTrackEvent('MediaStreamTrackEvent', { bubbles: true, cancelable: true, track: MediaStreamTrack }).bubbles is true
-PASS new MediaStreamTrackEvent('MediaStreamTrackEvent', { bubbles: true, cancelable: true, track: MediaStreamTrack }).cancelable is true
-PASS new MediaStreamTrackEvent('MediaStreamTrackEvent', { bubbles: true, cancelable: true, track: MediaStreamTrack }).track is null
+PASS new MediaStreamTrackEvent('MediaStreamTrackEvent', { bubbles: true, cancelable: true, track: MediaStreamTrack }) threw exception TypeError: Type error.
 
 *** Initialize 'track' with a invalid values ***
-PASS new MediaStreamTrackEvent('MediaStreamTrackEvent', { track: 10 }).track is null
-PASS new MediaStreamTrackEvent('MediaStreamTrackEvent', { track: 'string' }).track is null
-PASS new MediaStreamTrackEvent('MediaStreamTrackEvent', { track: emptyObject }).track is null
-PASS new MediaStreamTrackEvent('MediaStreamTrackEvent', { track: document }).track is null
+PASS new MediaStreamTrackEvent('MediaStreamTrackEvent', { track: 10 }) threw exception TypeError: Type error.
+PASS new MediaStreamTrackEvent('MediaStreamTrackEvent', { track: 'string' }) threw exception TypeError: Type error.
+PASS new MediaStreamTrackEvent('MediaStreamTrackEvent', { track: emptyObject }) threw exception TypeError: Type error.
+PASS new MediaStreamTrackEvent('MediaStreamTrackEvent', { track: document }) threw exception TypeError: Type error.
 
 *** Bubbles and cancelable true, valid track ***
 PASS new MediaStreamTrackEvent('MediaStreamTrackEvent', { bubbles: true, cancelable: true, track: mediaStreamTrack }).bubbles is true

Modified: trunk/LayoutTests/fast/mediastream/MediaStreamTrackEvent-constructor.html (207174 => 207175)


--- trunk/LayoutTests/fast/mediastream/MediaStreamTrackEvent-constructor.html	2016-10-11 23:07:35 UTC (rev 207174)
+++ trunk/LayoutTests/fast/mediastream/MediaStreamTrackEvent-constructor.html	2016-10-11 23:11:49 UTC (rev 207175)
@@ -33,16 +33,14 @@
                 shouldBeNull("new MediaStreamTrackEvent('MediaStreamTrackEvent', { bubbles: true, cancelable: true }).track");
     
                 debug("<br>*** Bubbles and cancelable true, invalid track ***");
-                shouldBe("new MediaStreamTrackEvent('MediaStreamTrackEvent', { bubbles: true, cancelable: true, track: MediaStreamTrack }).bubbles", "true");
-                shouldBe("new MediaStreamTrackEvent('MediaStreamTrackEvent', { bubbles: true, cancelable: true, track: MediaStreamTrack }).cancelable", "true");
-                shouldBeNull("new MediaStreamTrackEvent('MediaStreamTrackEvent', { bubbles: true, cancelable: true, track: MediaStreamTrack }).track");
+                shouldThrowErrorName("new MediaStreamTrackEvent('MediaStreamTrackEvent', { bubbles: true, cancelable: true, track: MediaStreamTrack })", "TypeError");
     
                 debug("<br>*** Initialize 'track' with a invalid values ***");
-                shouldBeNull("new MediaStreamTrackEvent('MediaStreamTrackEvent', { track: 10 }).track");
-                shouldBeNull("new MediaStreamTrackEvent('MediaStreamTrackEvent', { track: \'string\' }).track");
+                shouldThrowErrorName("new MediaStreamTrackEvent('MediaStreamTrackEvent', { track: 10 })", "TypeError");
+                shouldThrowErrorName("new MediaStreamTrackEvent('MediaStreamTrackEvent', { track: \'string\' })", "TypeError");
                 emptyObject = { };
-                shouldBeNull("new MediaStreamTrackEvent('MediaStreamTrackEvent', { track: emptyObject }).track");
-                shouldBeNull("new MediaStreamTrackEvent('MediaStreamTrackEvent', { track: document }).track");
+                shouldThrowErrorName("new MediaStreamTrackEvent('MediaStreamTrackEvent', { track: emptyObject })", "TypeError");
+                shouldThrowErrorName("new MediaStreamTrackEvent('MediaStreamTrackEvent', { track: document })", "TypeError");
 
                 debug("<br>*** Bubbles and cancelable true, valid track ***");
                 shouldBe("new MediaStreamTrackEvent('MediaStreamTrackEvent', { bubbles: true, cancelable: true, track: mediaStreamTrack }).bubbles", "true");

Modified: trunk/Source/WebCore/ChangeLog (207174 => 207175)


--- trunk/Source/WebCore/ChangeLog	2016-10-11 23:07:35 UTC (rev 207174)
+++ trunk/Source/WebCore/ChangeLog	2016-10-11 23:11:49 UTC (rev 207175)
@@ -1,5 +1,41 @@
 2016-10-11  Chris Dumez  <[email protected]>
 
+        Update MediaStream events to stop using legacy [ConstructorTemplate=Event]
+        https://bugs.webkit.org/show_bug.cgi?id=163289
+
+        Reviewed by Sam Weinig.
+
+        Update MediaStream events to stop using legacy [ConstructorTemplate=Event]
+        and use regular constructors instead.
+
+        * Modules/mediastream/MediaStreamEvent.cpp:
+        (WebCore::MediaStreamEvent::create):
+        (WebCore::MediaStreamEvent::MediaStreamEvent):
+        * Modules/mediastream/MediaStreamEvent.h:
+        * Modules/mediastream/MediaStreamEvent.idl:
+        * Modules/mediastream/MediaStreamTrackEvent.cpp:
+        (WebCore::MediaStreamTrackEvent::create):
+        (WebCore::MediaStreamTrackEvent::MediaStreamTrackEvent):
+        * Modules/mediastream/MediaStreamTrackEvent.h:
+        * Modules/mediastream/MediaStreamTrackEvent.idl:
+        * Modules/mediastream/OverconstrainedErrorEvent.h:
+        (WebCore::OverconstrainedErrorEvent::create):
+        (WebCore::OverconstrainedErrorEvent::OverconstrainedErrorEvent):
+        (WebCore::OverconstrainedErrorEvent::~OverconstrainedErrorEvent): Deleted.
+        * Modules/mediastream/OverconstrainedErrorEvent.idl:
+        * Modules/mediastream/RTCDTMFToneChangeEvent.cpp:
+        (WebCore::RTCDTMFToneChangeEvent::create):
+        (WebCore::RTCDTMFToneChangeEvent::RTCDTMFToneChangeEvent):
+        * Modules/mediastream/RTCDTMFToneChangeEvent.h:
+        * Modules/mediastream/RTCDTMFToneChangeEvent.idl:
+        * Modules/mediastream/RTCTrackEvent.cpp:
+        (WebCore::RTCTrackEvent::create):
+        (WebCore::RTCTrackEvent::RTCTrackEvent):
+        * Modules/mediastream/RTCTrackEvent.h:
+        * Modules/mediastream/RTCTrackEvent.idl:
+
+2016-10-11  Chris Dumez  <[email protected]>
+
         Update UIRequestEvent to stop using legacy [ConstructorTemplate=Event]
         https://bugs.webkit.org/show_bug.cgi?id=163288
 

Modified: trunk/Source/WebCore/Modules/mediastream/MediaStreamEvent.cpp (207174 => 207175)


--- trunk/Source/WebCore/Modules/mediastream/MediaStreamEvent.cpp	2016-10-11 23:07:35 UTC (rev 207174)
+++ trunk/Source/WebCore/Modules/mediastream/MediaStreamEvent.cpp	2016-10-11 23:11:49 UTC (rev 207175)
@@ -37,9 +37,9 @@
     return adoptRef(*new MediaStreamEvent(type, canBubble, cancelable, WTFMove(stream)));
 }
 
-Ref<MediaStreamEvent> MediaStreamEvent::createForBindings(const AtomicString& type, const MediaStreamEventInit& initializer)
+Ref<MediaStreamEvent> MediaStreamEvent::create(const AtomicString& type, const Init& initializer, IsTrusted isTrusted)
 {
-    return adoptRef(*new MediaStreamEvent(type, initializer));
+    return adoptRef(*new MediaStreamEvent(type, initializer, isTrusted));
 }
 
 MediaStreamEvent::MediaStreamEvent(const AtomicString& type, bool canBubble, bool cancelable, RefPtr<MediaStream>&& stream)
@@ -48,8 +48,8 @@
 {
 }
 
-MediaStreamEvent::MediaStreamEvent(const AtomicString& type, const MediaStreamEventInit& initializer)
-    : Event(type, initializer)
+MediaStreamEvent::MediaStreamEvent(const AtomicString& type, const Init& initializer, IsTrusted isTrusted)
+    : Event(type, initializer, isTrusted)
     , m_stream(initializer.stream)
 {
 }

Modified: trunk/Source/WebCore/Modules/mediastream/MediaStreamEvent.h (207174 => 207175)


--- trunk/Source/WebCore/Modules/mediastream/MediaStreamEvent.h	2016-10-11 23:07:35 UTC (rev 207174)
+++ trunk/Source/WebCore/Modules/mediastream/MediaStreamEvent.h	2016-10-11 23:11:49 UTC (rev 207175)
@@ -33,17 +33,17 @@
 
 namespace WebCore {
 
-struct MediaStreamEventInit : public EventInit {
-    RefPtr<MediaStream> stream;
-};
-
 class MediaStreamEvent : public Event {
 public:
     virtual ~MediaStreamEvent();
 
     static Ref<MediaStreamEvent> create(const AtomicString& type, bool canBubble, bool cancelable, RefPtr<MediaStream>&&);
-    static Ref<MediaStreamEvent> createForBindings(const AtomicString& type, const MediaStreamEventInit& initializer);
 
+    struct Init : EventInit {
+        RefPtr<MediaStream> stream;
+    };
+    static Ref<MediaStreamEvent> create(const AtomicString& type, const Init& initializer, IsTrusted = IsTrusted::No);
+
     MediaStream* stream() const;
 
     virtual EventInterface eventInterface() const;
@@ -50,7 +50,7 @@
 
 private:
     MediaStreamEvent(const AtomicString& type, bool canBubble, bool cancelable, RefPtr<MediaStream>&&);
-    MediaStreamEvent(const AtomicString& type, const MediaStreamEventInit&);
+    MediaStreamEvent(const AtomicString& type, const Init&, IsTrusted);
 
     RefPtr<MediaStream> m_stream;
 };

Modified: trunk/Source/WebCore/Modules/mediastream/MediaStreamEvent.idl (207174 => 207175)


--- trunk/Source/WebCore/Modules/mediastream/MediaStreamEvent.idl	2016-10-11 23:07:35 UTC (rev 207174)
+++ trunk/Source/WebCore/Modules/mediastream/MediaStreamEvent.idl	2016-10-11 23:11:49 UTC (rev 207175)
@@ -24,8 +24,11 @@
 
 [
     Conditional=WEB_RTC,
-    ConstructorTemplate=Event
+    Constructor(DOMString type, MediaStreamEventInit eventInitDict),
 ] interface MediaStreamEvent : Event {
-   [InitializedByEventConstructor] readonly attribute MediaStream stream;
+    readonly attribute MediaStream? stream;
 };
 
+dictionary MediaStreamEventInit : EventInit {
+    MediaStream? stream = null;
+};

Modified: trunk/Source/WebCore/Modules/mediastream/MediaStreamTrackEvent.cpp (207174 => 207175)


--- trunk/Source/WebCore/Modules/mediastream/MediaStreamTrackEvent.cpp	2016-10-11 23:07:35 UTC (rev 207174)
+++ trunk/Source/WebCore/Modules/mediastream/MediaStreamTrackEvent.cpp	2016-10-11 23:11:49 UTC (rev 207175)
@@ -37,9 +37,9 @@
     return adoptRef(*new MediaStreamTrackEvent(type, canBubble, cancelable, WTFMove(track)));
 }
 
-Ref<MediaStreamTrackEvent> MediaStreamTrackEvent::createForBindings(const AtomicString& type, const MediaStreamTrackEventInit& initializer)
+Ref<MediaStreamTrackEvent> MediaStreamTrackEvent::create(const AtomicString& type, const Init& initializer, IsTrusted isTrusted)
 {
-    return adoptRef(*new MediaStreamTrackEvent(type, initializer));
+    return adoptRef(*new MediaStreamTrackEvent(type, initializer, isTrusted));
 }
 
 MediaStreamTrackEvent::MediaStreamTrackEvent(const AtomicString& type, bool canBubble, bool cancelable, RefPtr<MediaStreamTrack>&& track)
@@ -48,8 +48,8 @@
 {
 }
 
-MediaStreamTrackEvent::MediaStreamTrackEvent(const AtomicString& type, const MediaStreamTrackEventInit& initializer)
-    : Event(type, initializer)
+MediaStreamTrackEvent::MediaStreamTrackEvent(const AtomicString& type, const Init& initializer, IsTrusted isTrusted)
+    : Event(type, initializer, isTrusted)
     , m_track(initializer.track)
 {
 }

Modified: trunk/Source/WebCore/Modules/mediastream/MediaStreamTrackEvent.h (207174 => 207175)


--- trunk/Source/WebCore/Modules/mediastream/MediaStreamTrackEvent.h	2016-10-11 23:07:35 UTC (rev 207174)
+++ trunk/Source/WebCore/Modules/mediastream/MediaStreamTrackEvent.h	2016-10-11 23:11:49 UTC (rev 207175)
@@ -34,17 +34,17 @@
 
 class MediaStreamTrack;
 
-struct MediaStreamTrackEventInit : public EventInit {
-    RefPtr<MediaStreamTrack> track;
-};
-
 class MediaStreamTrackEvent : public Event {
 public:
     virtual ~MediaStreamTrackEvent();
 
     static Ref<MediaStreamTrackEvent> create(const AtomicString& type, bool canBubble, bool cancelable, RefPtr<MediaStreamTrack>&&);
-    static Ref<MediaStreamTrackEvent> createForBindings(const AtomicString& type, const MediaStreamTrackEventInit& initializer);
 
+    struct Init : EventInit {
+        RefPtr<MediaStreamTrack> track;
+    };
+    static Ref<MediaStreamTrackEvent> create(const AtomicString& type, const Init&, IsTrusted = IsTrusted::No);
+
     MediaStreamTrack* track() const;
 
     // Event
@@ -52,7 +52,7 @@
 
 private:
     MediaStreamTrackEvent(const AtomicString& type, bool canBubble, bool cancelable, RefPtr<MediaStreamTrack>&&);
-    MediaStreamTrackEvent(const AtomicString& type, const MediaStreamTrackEventInit&);
+    MediaStreamTrackEvent(const AtomicString& type, const Init&, IsTrusted);
 
     RefPtr<MediaStreamTrack> m_track;
 };

Modified: trunk/Source/WebCore/Modules/mediastream/MediaStreamTrackEvent.idl (207174 => 207175)


--- trunk/Source/WebCore/Modules/mediastream/MediaStreamTrackEvent.idl	2016-10-11 23:07:35 UTC (rev 207174)
+++ trunk/Source/WebCore/Modules/mediastream/MediaStreamTrackEvent.idl	2016-10-11 23:11:49 UTC (rev 207175)
@@ -24,8 +24,12 @@
 
 [
     Conditional=MEDIA_STREAM,
-    ConstructorTemplate=Event
+    Constructor(DOMString type, optional MediaStreamTrackEventInit eventInitDict),
 ] interface MediaStreamTrackEvent : Event {
-   [InitializedByEventConstructor] readonly attribute MediaStreamTrack track;
+    readonly attribute MediaStreamTrack? track;
 };
 
+dictionary MediaStreamTrackEventInit : EventInit {
+    // FIXME: The specification says that this member should be required and non-nullable.
+    MediaStreamTrack? track = null;
+};

Modified: trunk/Source/WebCore/Modules/mediastream/OverconstrainedErrorEvent.h (207174 => 207175)


--- trunk/Source/WebCore/Modules/mediastream/OverconstrainedErrorEvent.h	2016-10-11 23:07:35 UTC (rev 207174)
+++ trunk/Source/WebCore/Modules/mediastream/OverconstrainedErrorEvent.h	2016-10-11 23:11:49 UTC (rev 207175)
@@ -36,10 +36,6 @@
 
 namespace WebCore {
 
-struct OverconstrainedErrorEventInit : public EventInit {
-    RefPtr<OverconstrainedError> error;
-};
-
 class OverconstrainedErrorEvent : public Event {
 public:
     virtual ~OverconstrainedErrorEvent() { }
@@ -49,9 +45,13 @@
         return adoptRef(*new OverconstrainedErrorEvent(type, canBubble, cancelable, error));
     }
 
-    static Ref<OverconstrainedErrorEvent> createForBindings(const AtomicString& type, const OverconstrainedErrorEventInit& initializer)
+    struct Init : EventInit {
+        RefPtr<OverconstrainedError> error;
+    };
+
+    static Ref<OverconstrainedErrorEvent> create(const AtomicString& type, const Init& initializer, IsTrusted isTrusted = IsTrusted::No)
     {
-        return adoptRef(*new OverconstrainedErrorEvent(type, initializer));
+        return adoptRef(*new OverconstrainedErrorEvent(type, initializer, isTrusted));
     }
 
     OverconstrainedError* error() const { return m_error.get(); }
@@ -63,8 +63,8 @@
         , m_error(error)
     {
     }
-    OverconstrainedErrorEvent(const AtomicString& type, const OverconstrainedErrorEventInit& initializer)
-        : Event(type, initializer)
+    OverconstrainedErrorEvent(const AtomicString& type, const Init& initializer, IsTrusted isTrusted)
+        : Event(type, initializer, isTrusted)
         , m_error(initializer.error)
     {
     }

Modified: trunk/Source/WebCore/Modules/mediastream/OverconstrainedErrorEvent.idl (207174 => 207175)


--- trunk/Source/WebCore/Modules/mediastream/OverconstrainedErrorEvent.idl	2016-10-11 23:07:35 UTC (rev 207174)
+++ trunk/Source/WebCore/Modules/mediastream/OverconstrainedErrorEvent.idl	2016-10-11 23:11:49 UTC (rev 207175)
@@ -28,8 +28,11 @@
 
 [
     Conditional=MEDIA_STREAM,
-    ConstructorTemplate=Event,
+    Constructor(DOMString type, optional OverconstrainedErrorEventInit eventInitDict),
 ] interface OverconstrainedErrorEvent : Event {
-   [InitializedByEventConstructor] readonly attribute OverconstrainedError? error;
+    readonly attribute OverconstrainedError? error;
 };
 
+dictionary OverconstrainedErrorEventInit : EventInit {
+    OverconstrainedError? error = null;
+};

Modified: trunk/Source/WebCore/Modules/mediastream/RTCDTMFToneChangeEvent.cpp (207174 => 207175)


--- trunk/Source/WebCore/Modules/mediastream/RTCDTMFToneChangeEvent.cpp	2016-10-11 23:07:35 UTC (rev 207174)
+++ trunk/Source/WebCore/Modules/mediastream/RTCDTMFToneChangeEvent.cpp	2016-10-11 23:11:49 UTC (rev 207175)
@@ -37,10 +37,9 @@
     return adoptRef(*new RTCDTMFToneChangeEvent(tone));
 }
 
-Ref<RTCDTMFToneChangeEvent> RTCDTMFToneChangeEvent::createForBindings(const AtomicString& type, const RTCDTMFToneChangeEventInit& initializer)
+Ref<RTCDTMFToneChangeEvent> RTCDTMFToneChangeEvent::create(const AtomicString& type, const Init& initializer, IsTrusted isTrusted)
 {
-    ASSERT_UNUSED(type, type == eventNames().tonechangeEvent);
-    return adoptRef(*new RTCDTMFToneChangeEvent(initializer));
+    return adoptRef(*new RTCDTMFToneChangeEvent(type, initializer, isTrusted));
 }
 
 RTCDTMFToneChangeEvent::RTCDTMFToneChangeEvent(const String& tone)
@@ -49,8 +48,8 @@
 {
 }
 
-RTCDTMFToneChangeEvent::RTCDTMFToneChangeEvent(const RTCDTMFToneChangeEventInit& initializer)
-    : Event(eventNames().tonechangeEvent, initializer)
+RTCDTMFToneChangeEvent::RTCDTMFToneChangeEvent(const AtomicString& type, const Init& initializer, IsTrusted isTrusted)
+    : Event(type, initializer, isTrusted)
     , m_tone(initializer.tone)
 {
 }

Modified: trunk/Source/WebCore/Modules/mediastream/RTCDTMFToneChangeEvent.h (207174 => 207175)


--- trunk/Source/WebCore/Modules/mediastream/RTCDTMFToneChangeEvent.h	2016-10-11 23:07:35 UTC (rev 207174)
+++ trunk/Source/WebCore/Modules/mediastream/RTCDTMFToneChangeEvent.h	2016-10-11 23:11:49 UTC (rev 207175)
@@ -33,17 +33,18 @@
 
 namespace WebCore {
 
-struct RTCDTMFToneChangeEventInit : public EventInit {
-    String tone;
-};
-
 class RTCDTMFToneChangeEvent : public Event {
 public:
     virtual ~RTCDTMFToneChangeEvent();
 
     static Ref<RTCDTMFToneChangeEvent> create(const String& tone);
-    static Ref<RTCDTMFToneChangeEvent> createForBindings(const AtomicString& type, const RTCDTMFToneChangeEventInit& initializer);
 
+    struct Init : EventInit {
+        String tone;
+    };
+
+    static Ref<RTCDTMFToneChangeEvent> create(const AtomicString& type, const Init&, IsTrusted = IsTrusted::No);
+
     const String& tone() const;
 
     virtual EventInterface eventInterface() const;
@@ -50,7 +51,7 @@
 
 private:
     explicit RTCDTMFToneChangeEvent(const String& tone);
-    explicit RTCDTMFToneChangeEvent(const RTCDTMFToneChangeEventInit&);
+    RTCDTMFToneChangeEvent(const AtomicString& type, const Init&, IsTrusted);
 
     String m_tone;
 };

Modified: trunk/Source/WebCore/Modules/mediastream/RTCDTMFToneChangeEvent.idl (207174 => 207175)


--- trunk/Source/WebCore/Modules/mediastream/RTCDTMFToneChangeEvent.idl	2016-10-11 23:07:35 UTC (rev 207174)
+++ trunk/Source/WebCore/Modules/mediastream/RTCDTMFToneChangeEvent.idl	2016-10-11 23:11:49 UTC (rev 207175)
@@ -24,9 +24,12 @@
  */
 
 [
-    NoInterfaceObject,
     Conditional=WEB_RTC,
-    ConstructorTemplate=Event
+    Constructor(DOMString type, optional RTCDTMFToneChangeEventInit eventInitDict),
 ] interface RTCDTMFToneChangeEvent : Event {
-    [InitializedByEventConstructor] readonly attribute DOMString tone;
+    readonly attribute DOMString tone;
 };
+
+dictionary RTCDTMFToneChangeEventInit : EventInit {
+    DOMString tone = "";
+};

Modified: trunk/Source/WebCore/Modules/mediastream/RTCTrackEvent.cpp (207174 => 207175)


--- trunk/Source/WebCore/Modules/mediastream/RTCTrackEvent.cpp	2016-10-11 23:07:35 UTC (rev 207174)
+++ trunk/Source/WebCore/Modules/mediastream/RTCTrackEvent.cpp	2016-10-11 23:11:49 UTC (rev 207175)
@@ -45,9 +45,9 @@
     return adoptRef(*new RTCTrackEvent(type, canBubble, cancelable, WTFMove(receiver), WTFMove(track), WTFMove(streams), WTFMove(transceiver)));
 }
 
-Ref<RTCTrackEvent> RTCTrackEvent::createForBindings(const AtomicString& type, const RTCTrackEventInit& initializer)
+Ref<RTCTrackEvent> RTCTrackEvent::create(const AtomicString& type, const Init& initializer, IsTrusted isTrusted)
 {
-    return adoptRef(*new RTCTrackEvent(type, initializer));
+    return adoptRef(*new RTCTrackEvent(type, initializer, isTrusted));
 }
 
 RTCTrackEvent::RTCTrackEvent(const AtomicString& type, bool canBubble, bool cancelable, RefPtr<RTCRtpReceiver>&& receiver, RefPtr<MediaStreamTrack>&& track, Vector<RefPtr<MediaStream>>&& streams, RefPtr<RTCRtpTransceiver>&& transceiver)
@@ -59,8 +59,8 @@
 {
 }
 
-RTCTrackEvent::RTCTrackEvent(const AtomicString& type, const RTCTrackEventInit& initializer)
-    : Event(type, initializer)
+RTCTrackEvent::RTCTrackEvent(const AtomicString& type, const Init& initializer, IsTrusted isTrusted)
+    : Event(type, initializer, isTrusted)
     , m_receiver(initializer.receiver)
     , m_track(initializer.track)
     , m_streams(initializer.streams)

Modified: trunk/Source/WebCore/Modules/mediastream/RTCTrackEvent.h (207174 => 207175)


--- trunk/Source/WebCore/Modules/mediastream/RTCTrackEvent.h	2016-10-11 23:07:35 UTC (rev 207174)
+++ trunk/Source/WebCore/Modules/mediastream/RTCTrackEvent.h	2016-10-11 23:11:49 UTC (rev 207175)
@@ -45,18 +45,18 @@
 
 typedef Vector<RefPtr<MediaStream>> MediaStreamArray;
 
-struct RTCTrackEventInit : public EventInit {
-    RefPtr<RTCRtpReceiver> receiver;
-    RefPtr<MediaStreamTrack> track;
-    MediaStreamArray streams;
-    RefPtr<RTCRtpTransceiver> transceiver;
-};
-
 class RTCTrackEvent : public Event {
 public:
     static Ref<RTCTrackEvent> create(const AtomicString& type, bool canBubble, bool cancelable, RefPtr<RTCRtpReceiver>&&, RefPtr<MediaStreamTrack>&&, MediaStreamArray&&, RefPtr<RTCRtpTransceiver>&&);
-    static Ref<RTCTrackEvent> createForBindings(const AtomicString& type, const RTCTrackEventInit&);
 
+    struct Init : EventInit {
+        RefPtr<RTCRtpReceiver> receiver;
+        RefPtr<MediaStreamTrack> track;
+        MediaStreamArray streams;
+        RefPtr<RTCRtpTransceiver> transceiver;
+    };
+    static Ref<RTCTrackEvent> create(const AtomicString& type, const Init&, IsTrusted = IsTrusted::No);
+
     RTCRtpReceiver* receiver() const { return m_receiver.get(); }
     MediaStreamTrack* track() const  { return m_track.get(); }
     const MediaStreamArray& streams() const  { return m_streams; }
@@ -66,7 +66,7 @@
 
 private:
     RTCTrackEvent(const AtomicString& type, bool canBubble, bool cancelable, RefPtr<RTCRtpReceiver>&&, RefPtr<MediaStreamTrack>&&, MediaStreamArray&&, RefPtr<RTCRtpTransceiver>&&);
-    RTCTrackEvent(const AtomicString& type, const RTCTrackEventInit&);
+    RTCTrackEvent(const AtomicString& type, const Init&, IsTrusted);
 
     RefPtr<RTCRtpReceiver> m_receiver;
     RefPtr<MediaStreamTrack> m_track;

Modified: trunk/Source/WebCore/Modules/mediastream/RTCTrackEvent.idl (207174 => 207175)


--- trunk/Source/WebCore/Modules/mediastream/RTCTrackEvent.idl	2016-10-11 23:07:35 UTC (rev 207174)
+++ trunk/Source/WebCore/Modules/mediastream/RTCTrackEvent.idl	2016-10-11 23:11:49 UTC (rev 207175)
@@ -30,10 +30,19 @@
 
 [
     Conditional=WEB_RTC,
-    ConstructorTemplate=Event
+    Constructor(DOMString type, optional RTCTrackEventInit eventInitDict),
 ] interface RTCTrackEvent : Event {
-   [InitializedByEventConstructor] readonly attribute RTCRtpReceiver receiver;
-   [InitializedByEventConstructor] readonly attribute MediaStreamTrack track;
+   [InitializedByEventConstructor] readonly attribute RTCRtpReceiver? receiver;
+   [InitializedByEventConstructor] readonly attribute MediaStreamTrack? track;
    [InitializedByEventConstructor] readonly attribute sequence<MediaStream> streams;
-   [InitializedByEventConstructor] readonly attribute RTCRtpTransceiver transceiver;
+   [InitializedByEventConstructor] readonly attribute RTCRtpTransceiver? transceiver;
 };
+
+dictionary RTCTrackEventInit : EventInit {
+    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;
+};
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to