Title: [134976] trunk/Source
Revision
134976
Author
tom...@google.com
Date
2012-11-16 11:36:26 -0800 (Fri, 16 Nov 2012)

Log Message

MediaStream API: Update RTCPeerConnection states to match the latest editors draft
https://bugs.webkit.org/show_bug.cgi?id=102382

Reviewed by Adam Barth.

Source/Platform:

Adding a callback for the new RTCPeerConnection::iceGatheringState.

* chromium/public/WebRTCPeerConnectionHandlerClient.h:
(WebKit::WebRTCPeerConnectionHandlerClient::didChangeICEGatheringState):

Source/WebCore:

Updating readyState & iceState, and adding iceGatheringState.
Also safeguarding the event timer callback.

Patch covered by existing tests.

* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::RTCPeerConnection):
(WebCore::RTCPeerConnection::createOffer):
(WebCore::RTCPeerConnection::createAnswer):
(WebCore::RTCPeerConnection::setLocalDescription):
(WebCore::RTCPeerConnection::localDescription):
(WebCore::RTCPeerConnection::setRemoteDescription):
(WebCore::RTCPeerConnection::remoteDescription):
(WebCore::RTCPeerConnection::updateIce):
(WebCore::RTCPeerConnection::addIceCandidate):
(WebCore::RTCPeerConnection::readyState):
(WebCore::RTCPeerConnection::iceGatheringState):
(WebCore):
(WebCore::RTCPeerConnection::iceState):
(WebCore::RTCPeerConnection::addStream):
(WebCore::RTCPeerConnection::close):
(WebCore::RTCPeerConnection::didChangeIceGatheringState):
(WebCore::RTCPeerConnection::stop):
(WebCore::RTCPeerConnection::changeReadyState):
(WebCore::RTCPeerConnection::scheduledEventTimerFired):
* Modules/mediastream/RTCPeerConnection.h:
(RTCPeerConnection):
* Modules/mediastream/RTCPeerConnection.idl:
* dom/EventNames.h:
(WebCore):
* platform/mediastream/RTCPeerConnectionHandlerClient.h:
(RTCPeerConnectionHandlerClient):
* platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
(WebCore::RTCPeerConnectionHandlerChromium::didChangeICEGatheringState):
(WebCore):
* platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
(RTCPeerConnectionHandlerChromium):

Source/WebKit/chromium:

Updating readyState & iceState, and adding iceGatheringState.

* src/AssertMatchingEnums.cpp:

Modified Paths

Diff

Modified: trunk/Source/Platform/ChangeLog (134975 => 134976)


--- trunk/Source/Platform/ChangeLog	2012-11-16 19:27:50 UTC (rev 134975)
+++ trunk/Source/Platform/ChangeLog	2012-11-16 19:36:26 UTC (rev 134976)
@@ -1,5 +1,17 @@
 2012-11-16  Tommy Widenflycht  <tom...@google.com>
 
+        MediaStream API: Update RTCPeerConnection states to match the latest editors draft
+        https://bugs.webkit.org/show_bug.cgi?id=102382
+
+        Reviewed by Adam Barth.
+
+        Adding a callback for the new RTCPeerConnection::iceGatheringState.
+
+        * chromium/public/WebRTCPeerConnectionHandlerClient.h:
+        (WebKit::WebRTCPeerConnectionHandlerClient::didChangeICEGatheringState):
+
+2012-11-16  Tommy Widenflycht  <tom...@google.com>
+
         [chromium] MediaStream API: Add missing WebRTCPeerConnectionHandlerClient::didAddRemoteDataChannel
         https://bugs.webkit.org/show_bug.cgi?id=102386
 

Modified: trunk/Source/Platform/chromium/public/WebRTCPeerConnectionHandlerClient.h (134975 => 134976)


--- trunk/Source/Platform/chromium/public/WebRTCPeerConnectionHandlerClient.h	2012-11-16 19:27:50 UTC (rev 134975)
+++ trunk/Source/Platform/chromium/public/WebRTCPeerConnectionHandlerClient.h	2012-11-16 19:36:26 UTC (rev 134976)
@@ -40,28 +40,44 @@
 public:
     enum ReadyState {
         ReadyStateNew = 1,
-        ReadyStateOpening = 2,
-        ReadyStateActive = 3,
-        ReadyStateClosing = 4,
-        ReadyStateClosed = 5
+        ReadyStateHaveLocalOffer = 2,
+        ReadyStateHaveLocalPrAnswer = 3,
+        ReadyStateHaveRemotePrAnswer = 4,
+        ReadyStateActive = 5,
+        ReadyStateClosed = 6,
+
+        // DEPRECATED
+        ReadyStateClosing = 7,
+        ReadyStateOpening = 8
     };
 
     enum ICEState {
-        ICEStateNew = 1,
-        ICEStateGathering = 2,
-        ICEStateWaiting = 3,
-        ICEStateChecking = 4,
-        ICEStateConnected = 5,
-        ICEStateCompleted = 6,
-        ICEStateFailed = 7,
-        ICEStateClosed = 8
+        ICEStateStarting = 1,
+        ICEStateChecking = 2,
+        ICEStateConnected = 3,
+        ICEStateCompleted = 4,
+        ICEStateFailed = 5,
+        ICEStateDisconnected = 6,
+        ICEStateClosed = 7,
+
+        // DEPRECATED
+        ICEStateNew = 8,
+        ICEStateGathering = 9,
+        ICEStateWaiting = 10
     };
 
+    enum ICEGatheringState {
+        ICEGatheringStateNew = 1,
+        ICEGatheringStateGathering = 2,
+        ICEGatheringStateComplete = 3
+    };
+
     virtual ~WebRTCPeerConnectionHandlerClient() { }
 
     virtual void negotiationNeeded() = 0;
     virtual void didGenerateICECandidate(const WebRTCICECandidate&) = 0;
     virtual void didChangeReadyState(ReadyState) = 0;
+    virtual void didChangeICEGatheringState(ICEGatheringState) { }
     virtual void didChangeICEState(ICEState) = 0;
     virtual void didAddRemoteStream(const WebMediaStreamDescriptor&) = 0;
     virtual void didRemoveRemoteStream(const WebMediaStreamDescriptor&) = 0;

Modified: trunk/Source/WebCore/ChangeLog (134975 => 134976)


--- trunk/Source/WebCore/ChangeLog	2012-11-16 19:27:50 UTC (rev 134975)
+++ trunk/Source/WebCore/ChangeLog	2012-11-16 19:36:26 UTC (rev 134976)
@@ -1,3 +1,48 @@
+2012-11-16  Tommy Widenflycht  <tom...@google.com>
+
+        MediaStream API: Update RTCPeerConnection states to match the latest editors draft
+        https://bugs.webkit.org/show_bug.cgi?id=102382
+
+        Reviewed by Adam Barth.
+
+        Updating readyState & iceState, and adding iceGatheringState.
+        Also safeguarding the event timer callback.
+
+        Patch covered by existing tests.
+
+        * Modules/mediastream/RTCPeerConnection.cpp:
+        (WebCore::RTCPeerConnection::RTCPeerConnection):
+        (WebCore::RTCPeerConnection::createOffer):
+        (WebCore::RTCPeerConnection::createAnswer):
+        (WebCore::RTCPeerConnection::setLocalDescription):
+        (WebCore::RTCPeerConnection::localDescription):
+        (WebCore::RTCPeerConnection::setRemoteDescription):
+        (WebCore::RTCPeerConnection::remoteDescription):
+        (WebCore::RTCPeerConnection::updateIce):
+        (WebCore::RTCPeerConnection::addIceCandidate):
+        (WebCore::RTCPeerConnection::readyState):
+        (WebCore::RTCPeerConnection::iceGatheringState):
+        (WebCore):
+        (WebCore::RTCPeerConnection::iceState):
+        (WebCore::RTCPeerConnection::addStream):
+        (WebCore::RTCPeerConnection::close):
+        (WebCore::RTCPeerConnection::didChangeIceGatheringState):
+        (WebCore::RTCPeerConnection::stop):
+        (WebCore::RTCPeerConnection::changeReadyState):
+        (WebCore::RTCPeerConnection::scheduledEventTimerFired):
+        * Modules/mediastream/RTCPeerConnection.h:
+        (RTCPeerConnection):
+        * Modules/mediastream/RTCPeerConnection.idl:
+        * dom/EventNames.h:
+        (WebCore):
+        * platform/mediastream/RTCPeerConnectionHandlerClient.h:
+        (RTCPeerConnectionHandlerClient):
+        * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
+        (WebCore::RTCPeerConnectionHandlerChromium::didChangeICEGatheringState):
+        (WebCore):
+        * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
+        (RTCPeerConnectionHandlerChromium):
+
 2012-11-16  Dimitri Glazkov  <dglaz...@chromium.org>
 
         Unreviewed, rolling out r134973.

Modified: trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp (134975 => 134976)


--- trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp	2012-11-16 19:27:50 UTC (rev 134975)
+++ trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp	2012-11-16 19:36:26 UTC (rev 134976)
@@ -131,10 +131,12 @@
 RTCPeerConnection::RTCPeerConnection(ScriptExecutionContext* context, PassRefPtr<RTCConfiguration> configuration, PassRefPtr<MediaConstraints> constraints, ExceptionCode& ec)
     : ActiveDOMObject(context, this)
     , m_readyState(ReadyStateNew)
-    , m_iceState(IceStateClosed)
+    , m_iceGatheringState(IceGatheringStateNew)
+    , m_iceState(IceStateStarting)
     , m_localStreams(MediaStreamList::create())
     , m_remoteStreams(MediaStreamList::create())
     , m_scheduledEventTimer(this, &RTCPeerConnection::scheduledEventTimerFired)
+    , m_stopped(false)
 {
     ASSERT(m_scriptExecutionContext->isDocument());
     Document* document = static_cast<Document*>(m_scriptExecutionContext);
@@ -164,7 +166,7 @@
 
 void RTCPeerConnection::createOffer(PassRefPtr<RTCSessionDescriptionCallback> successCallback, PassRefPtr<RTCErrorCallback> errorCallback, const Dictionary& mediaConstraints, ExceptionCode& ec)
 {
-    if (m_readyState == ReadyStateClosing || m_readyState == ReadyStateClosed) {
+    if (m_readyState == ReadyStateClosed) {
         ec = INVALID_STATE_ERR;
         return;
     }
@@ -184,7 +186,7 @@
 
 void RTCPeerConnection::createAnswer(PassRefPtr<RTCSessionDescriptionCallback> successCallback, PassRefPtr<RTCErrorCallback> errorCallback, const Dictionary& mediaConstraints, ExceptionCode& ec)
 {
-    if (m_readyState == ReadyStateClosing || m_readyState == ReadyStateClosed) {
+    if (m_readyState == ReadyStateClosed) {
         ec = INVALID_STATE_ERR;
         return;
     }
@@ -204,7 +206,7 @@
 
 void RTCPeerConnection::setLocalDescription(PassRefPtr<RTCSessionDescription> prpSessionDescription, PassRefPtr<VoidCallback> successCallback, PassRefPtr<RTCErrorCallback> errorCallback, ExceptionCode& ec)
 {
-    if (m_readyState == ReadyStateClosing || m_readyState == ReadyStateClosed) {
+    if (m_readyState == ReadyStateClosed) {
         ec = INVALID_STATE_ERR;
         return;
     }
@@ -221,7 +223,7 @@
 
 PassRefPtr<RTCSessionDescription> RTCPeerConnection::localDescription(ExceptionCode& ec)
 {
-    if (m_readyState == ReadyStateClosing || m_readyState == ReadyStateClosed) {
+    if (m_readyState == ReadyStateClosed) {
         ec = INVALID_STATE_ERR;
         return 0;
     }
@@ -236,7 +238,7 @@
 
 void RTCPeerConnection::setRemoteDescription(PassRefPtr<RTCSessionDescription> prpSessionDescription, PassRefPtr<VoidCallback> successCallback, PassRefPtr<RTCErrorCallback> errorCallback, ExceptionCode& ec)
 {
-    if (m_readyState == ReadyStateClosing || m_readyState == ReadyStateClosed) {
+    if (m_readyState == ReadyStateClosed) {
         ec = INVALID_STATE_ERR;
         return;
     }
@@ -253,7 +255,7 @@
 
 PassRefPtr<RTCSessionDescription> RTCPeerConnection::remoteDescription(ExceptionCode& ec)
 {
-    if (m_readyState == ReadyStateClosing || m_readyState == ReadyStateClosed) {
+    if (m_readyState == ReadyStateClosed) {
         ec = INVALID_STATE_ERR;
         return 0;
     }
@@ -268,7 +270,7 @@
 
 void RTCPeerConnection::updateIce(const Dictionary& rtcConfiguration, const Dictionary& mediaConstraints, ExceptionCode& ec)
 {
-    if (m_readyState == ReadyStateClosing || m_readyState == ReadyStateClosed) {
+    if (m_readyState == ReadyStateClosed) {
         ec = INVALID_STATE_ERR;
         return;
     }
@@ -288,7 +290,7 @@
 
 void RTCPeerConnection::addIceCandidate(RTCIceCandidate* iceCandidate, ExceptionCode& ec)
 {
-    if (m_readyState == ReadyStateClosing || m_readyState == ReadyStateClosed) {
+    if (m_readyState == ReadyStateClosed) {
         ec = INVALID_STATE_ERR;
         return;
     }
@@ -308,29 +310,48 @@
     switch (m_readyState) {
     case ReadyStateNew:
         return ASCIILiteral("new");
+    case ReadyStateHaveLocalOffer:
+        return ASCIILiteral("have-local-offer");
+    case ReadyStateHaveLocalPrAnswer:
+        return ASCIILiteral("have-local-pranswer");
+    case ReadyStateHaveRemotePrAnswer:
+        return ASCIILiteral("have-remote-pranswer");
+    case ReadyStateActive:
+        return ASCIILiteral("active");
+    case ReadyStateClosed:
+        return ASCIILiteral("closed");
+
+    // DEPRECATED
     case ReadyStateOpening:
         return ASCIILiteral("opening");
-    case ReadyStateActive:
-        return ASCIILiteral("active");
     case ReadyStateClosing:
         return ASCIILiteral("closing");
-    case ReadyStateClosed:
-        return ASCIILiteral("closed");
     }
 
     ASSERT_NOT_REACHED();
-    return ASCIILiteral("");
+    return String();
 }
 
+String RTCPeerConnection::iceGatheringState() const
+{
+    switch (m_iceGatheringState) {
+    case IceGatheringStateNew:
+        return ASCIILiteral("new");
+    case IceGatheringStateGathering:
+        return ASCIILiteral("gathering");
+    case IceGatheringStateComplete:
+        return ASCIILiteral("complete");
+    }
+
+    ASSERT_NOT_REACHED();
+    return String();
+}
+
 String RTCPeerConnection::iceState() const
 {
     switch (m_iceState) {
-    case IceStateNew:
-        return ASCIILiteral("new");
-    case IceStateGathering:
-        return ASCIILiteral("gathering");
-    case IceStateWaiting:
-        return ASCIILiteral("waiting");
+    case IceStateStarting:
+        return ASCIILiteral("starting");
     case IceStateChecking:
         return ASCIILiteral("checking");
     case IceStateConnected:
@@ -339,8 +360,18 @@
         return ASCIILiteral("completed");
     case IceStateFailed:
         return ASCIILiteral("failed");
+    case IceStateDisconnected:
+        return ASCIILiteral("disconnected");
     case IceStateClosed:
         return ASCIILiteral("closed");
+
+    // DEPRECATED
+    case IceStateNew:
+        return ASCIILiteral("new");
+    case IceStateGathering:
+        return ASCIILiteral("gathering");
+    case IceStateWaiting:
+        return ASCIILiteral("waiting");
     }
 
     ASSERT_NOT_REACHED();
@@ -349,7 +380,7 @@
 
 void RTCPeerConnection::addStream(PassRefPtr<MediaStream> prpStream, const Dictionary& mediaConstraints, ExceptionCode& ec)
 {
-    if (m_readyState == ReadyStateClosing || m_readyState == ReadyStateClosed) {
+    if (m_readyState == ReadyStateClosed) {
         ec = INVALID_STATE_ERR;
         return;
     }
@@ -429,7 +460,7 @@
 
 void RTCPeerConnection::close(ExceptionCode& ec)
 {
-    if (m_readyState == ReadyStateClosing || m_readyState == ReadyStateClosed) {
+    if (m_readyState == ReadyStateClosed) {
         ec = INVALID_STATE_ERR;
         return;
     }
@@ -462,6 +493,16 @@
     changeReadyState(newState);
 }
 
+void RTCPeerConnection::didChangeIceGatheringState(IceGatheringState newState)
+{
+    ASSERT(scriptExecutionContext()->isContextThread());
+    if (newState == m_iceGatheringState || m_readyState == ReadyStateClosed)
+        return;
+
+    m_iceGatheringState = newState;
+    scheduleDispatchEvent(Event::create(eventNames().gatheringchangeEvent, false, false));
+}
+
 void RTCPeerConnection::didChangeIceState(IceState newState)
 {
     ASSERT(scriptExecutionContext()->isContextThread());
@@ -523,6 +564,7 @@
 
 void RTCPeerConnection::stop()
 {
+    m_stopped = true;
     m_iceState = IceStateClosed;
     m_readyState = ReadyStateClosed;
 
@@ -543,24 +585,18 @@
 
 void RTCPeerConnection::changeReadyState(ReadyState readyState)
 {
+    if (readyState == ReadyStateNew) {
+        ASSERT_NOT_REACHED();
+        return;
+    }
+
     if (readyState == m_readyState || m_readyState == ReadyStateClosed)
         return;
 
     m_readyState = readyState;
 
-    switch (m_readyState) {
-    case ReadyStateOpening:
-        break;
-    case ReadyStateActive:
+    if (m_readyState == ReadyStateActive)
         scheduleDispatchEvent(Event::create(eventNames().openEvent, false, false));
-        break;
-    case ReadyStateClosing:
-    case ReadyStateClosed:
-        break;
-    case ReadyStateNew:
-        ASSERT_NOT_REACHED();
-        break;
-    }
 
     scheduleDispatchEvent(Event::create(eventNames().statechangeEvent, false, false));
 }
@@ -584,6 +620,9 @@
 
 void RTCPeerConnection::scheduledEventTimerFired(Timer<RTCPeerConnection>*)
 {
+    if (m_stopped)
+        return;
+
     Vector<RefPtr<Event> > events;
     events.swap(m_scheduledEvents);
 

Modified: trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.h (134975 => 134976)


--- trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.h	2012-11-16 19:27:50 UTC (rev 134975)
+++ trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.h	2012-11-16 19:36:26 UTC (rev 134976)
@@ -78,6 +78,8 @@
 
     void addIceCandidate(RTCIceCandidate*, ExceptionCode&);
 
+    String iceGatheringState() const;
+
     String iceState() const;
 
     MediaStreamList* localStreams() const;
@@ -100,6 +102,7 @@
     DEFINE_ATTRIBUTE_EVENT_LISTENER(statechange);
     DEFINE_ATTRIBUTE_EVENT_LISTENER(addstream);
     DEFINE_ATTRIBUTE_EVENT_LISTENER(removestream);
+    DEFINE_ATTRIBUTE_EVENT_LISTENER(gatheringchange);
     DEFINE_ATTRIBUTE_EVENT_LISTENER(icechange);
     DEFINE_ATTRIBUTE_EVENT_LISTENER(datachannel);
 
@@ -107,6 +110,7 @@
     virtual void negotiationNeeded() OVERRIDE;
     virtual void didGenerateIceCandidate(PassRefPtr<RTCIceCandidateDescriptor>) OVERRIDE;
     virtual void didChangeReadyState(ReadyState) OVERRIDE;
+    virtual void didChangeIceGatheringState(IceGatheringState) OVERRIDE;
     virtual void didChangeIceState(IceState) OVERRIDE;
     virtual void didAddRemoteStream(PassRefPtr<MediaStreamDescriptor>) OVERRIDE;
     virtual void didRemoveRemoteStream(MediaStreamDescriptor*) OVERRIDE;
@@ -140,6 +144,7 @@
     void changeIceState(IceState);
 
     ReadyState m_readyState;
+    IceGatheringState m_iceGatheringState;
     IceState m_iceState;
 
     RefPtr<MediaStreamList> m_localStreams;
@@ -151,6 +156,8 @@
 
     Timer<RTCPeerConnection> m_scheduledEventTimer;
     Vector<RefPtr<Event> > m_scheduledEvents;
+
+    bool m_stopped;
 };
 
 } // namespace WebCore

Modified: trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl (134975 => 134976)


--- trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl	2012-11-16 19:27:50 UTC (rev 134975)
+++ trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl	2012-11-16 19:36:26 UTC (rev 134976)
@@ -60,6 +60,7 @@
     void addIceCandidate(in RTCIceCandidate candidate)
         raises(DOMException);
 
+    readonly attribute DOMString iceGatheringState;
     readonly attribute DOMString iceState;
 
     readonly attribute MediaStreamList localStreams;
@@ -84,6 +85,7 @@
     attribute EventListener onstatechange;
     attribute EventListener onaddstream;
     attribute EventListener onremovestream;
+    attribute EventListener ongatheringchange;
     attribute EventListener onicechange;
     attribute EventListener ondatachannel;
 

Modified: trunk/Source/WebCore/dom/EventNames.h (134975 => 134976)


--- trunk/Source/WebCore/dom/EventNames.h	2012-11-16 19:27:50 UTC (rev 134975)
+++ trunk/Source/WebCore/dom/EventNames.h	2012-11-16 19:36:26 UTC (rev 134976)
@@ -229,6 +229,7 @@
     macro(icecandidate) \
     macro(negotiationneeded) \
     macro(datachannel) \
+    macro(gatheringchange) \
     \
     macro(show) \
     \

Modified: trunk/Source/WebCore/platform/mediastream/RTCPeerConnectionHandlerClient.h (134975 => 134976)


--- trunk/Source/WebCore/platform/mediastream/RTCPeerConnectionHandlerClient.h	2012-11-16 19:27:50 UTC (rev 134975)
+++ trunk/Source/WebCore/platform/mediastream/RTCPeerConnectionHandlerClient.h	2012-11-16 19:36:26 UTC (rev 134976)
@@ -45,28 +45,44 @@
 public:
     enum ReadyState {
         ReadyStateNew = 1,
-        ReadyStateOpening = 2,
-        ReadyStateActive = 3,
-        ReadyStateClosing = 4,
-        ReadyStateClosed = 5
+        ReadyStateHaveLocalOffer = 2,
+        ReadyStateHaveLocalPrAnswer = 3,
+        ReadyStateHaveRemotePrAnswer = 4,
+        ReadyStateActive = 5,
+        ReadyStateClosed = 6,
+
+        // DEPRECATED
+        ReadyStateClosing = 7,
+        ReadyStateOpening = 8
     };
 
     enum IceState {
-        IceStateNew = 1,
-        IceStateGathering = 2,
-        IceStateWaiting = 3,
-        IceStateChecking = 4,
-        IceStateConnected = 5,
-        IceStateCompleted = 6,
-        IceStateFailed = 7,
-        IceStateClosed = 8
+        IceStateStarting = 1,
+        IceStateChecking = 2,
+        IceStateConnected = 3,
+        IceStateCompleted = 4,
+        IceStateFailed = 5,
+        IceStateDisconnected = 6,
+        IceStateClosed = 7,
+
+        // DEPRECATED
+        IceStateNew = 8,
+        IceStateGathering = 9,
+        IceStateWaiting = 10
     };
 
+    enum IceGatheringState {
+        IceGatheringStateNew = 1,
+        IceGatheringStateGathering = 2,
+        IceGatheringStateComplete = 3
+    };
+
     virtual ~RTCPeerConnectionHandlerClient() { }
 
     virtual void negotiationNeeded() = 0;
     virtual void didGenerateIceCandidate(PassRefPtr<RTCIceCandidateDescriptor>) = 0;
     virtual void didChangeReadyState(ReadyState) = 0;
+    virtual void didChangeIceGatheringState(IceGatheringState) = 0;
     virtual void didChangeIceState(IceState) = 0;
     virtual void didAddRemoteStream(PassRefPtr<MediaStreamDescriptor>) = 0;
     virtual void didRemoveRemoteStream(MediaStreamDescriptor*) = 0;

Modified: trunk/Source/WebCore/platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp (134975 => 134976)


--- trunk/Source/WebCore/platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp	2012-11-16 19:27:50 UTC (rev 134975)
+++ trunk/Source/WebCore/platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp	2012-11-16 19:36:26 UTC (rev 134976)
@@ -188,6 +188,11 @@
     m_client->didChangeReadyState(static_cast<RTCPeerConnectionHandlerClient::ReadyState>(state));
 }
 
+void RTCPeerConnectionHandlerChromium::didChangeICEGatheringState(WebKit::WebRTCPeerConnectionHandlerClient::ICEGatheringState state)
+{
+    m_client->didChangeIceGatheringState(static_cast<RTCPeerConnectionHandlerClient::IceGatheringState>(state));
+}
+
 void RTCPeerConnectionHandlerChromium::didChangeICEState(WebKit::WebRTCPeerConnectionHandlerClient::ICEState state)
 {
     m_client->didChangeIceState(static_cast<RTCPeerConnectionHandlerClient::IceState>(state));

Modified: trunk/Source/WebCore/platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h (134975 => 134976)


--- trunk/Source/WebCore/platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h	2012-11-16 19:27:50 UTC (rev 134975)
+++ trunk/Source/WebCore/platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h	2012-11-16 19:36:26 UTC (rev 134976)
@@ -79,6 +79,7 @@
     virtual void negotiationNeeded() OVERRIDE;
     virtual void didGenerateICECandidate(const WebKit::WebRTCICECandidate&) OVERRIDE;
     virtual void didChangeReadyState(WebKit::WebRTCPeerConnectionHandlerClient::ReadyState) OVERRIDE;
+    virtual void didChangeICEGatheringState(WebKit::WebRTCPeerConnectionHandlerClient::ICEGatheringState) OVERRIDE;
     virtual void didChangeICEState(WebKit::WebRTCPeerConnectionHandlerClient::ICEState) OVERRIDE;
     virtual void didAddRemoteStream(const WebKit::WebMediaStreamDescriptor&) OVERRIDE;
     virtual void didRemoveRemoteStream(const WebKit::WebMediaStreamDescriptor&) OVERRIDE;

Modified: trunk/Source/WebKit/chromium/ChangeLog (134975 => 134976)


--- trunk/Source/WebKit/chromium/ChangeLog	2012-11-16 19:27:50 UTC (rev 134975)
+++ trunk/Source/WebKit/chromium/ChangeLog	2012-11-16 19:36:26 UTC (rev 134976)
@@ -1,3 +1,14 @@
+2012-11-16  Tommy Widenflycht  <tom...@google.com>
+
+        MediaStream API: Update RTCPeerConnection states to match the latest editors draft
+        https://bugs.webkit.org/show_bug.cgi?id=102382
+
+        Reviewed by Adam Barth.
+
+        Updating readyState & iceState, and adding iceGatheringState.
+
+        * src/AssertMatchingEnums.cpp:
+
 2012-11-16  Dimitri Glazkov  <dglaz...@chromium.org>
 
         Unreviewed, rolling out r134973.

Modified: trunk/Source/WebKit/chromium/src/AssertMatchingEnums.cpp (134975 => 134976)


--- trunk/Source/WebKit/chromium/src/AssertMatchingEnums.cpp	2012-11-16 19:27:50 UTC (rev 134975)
+++ trunk/Source/WebKit/chromium/src/AssertMatchingEnums.cpp	2012-11-16 19:36:26 UTC (rev 134976)
@@ -563,20 +563,30 @@
 COMPILE_ASSERT_MATCHING_ENUM(WebMediaStreamSource::ReadyStateEnded, MediaStreamSource::ReadyStateEnded);
 
 COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ReadyStateNew, RTCPeerConnectionHandlerClient::ReadyStateNew);
-COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ReadyStateOpening, RTCPeerConnectionHandlerClient::ReadyStateOpening);
+COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ReadyStateHaveLocalOffer, RTCPeerConnectionHandlerClient::ReadyStateHaveLocalOffer);
+COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ReadyStateHaveLocalPrAnswer, RTCPeerConnectionHandlerClient::ReadyStateHaveLocalPrAnswer);
+COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ReadyStateHaveRemotePrAnswer, RTCPeerConnectionHandlerClient::ReadyStateHaveRemotePrAnswer);
 COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ReadyStateActive, RTCPeerConnectionHandlerClient::ReadyStateActive);
-COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ReadyStateClosing, RTCPeerConnectionHandlerClient::ReadyStateClosing);
 COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ReadyStateClosed, RTCPeerConnectionHandlerClient::ReadyStateClosed);
 
-COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ICEStateNew, RTCPeerConnectionHandlerClient::IceStateNew);
-COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ICEStateGathering, RTCPeerConnectionHandlerClient::IceStateGathering);
-COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ICEStateWaiting, RTCPeerConnectionHandlerClient::IceStateWaiting);
+// DEPRECATED
+COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ReadyStateOpening, RTCPeerConnectionHandlerClient::ReadyStateOpening);
+COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ReadyStateClosing, RTCPeerConnectionHandlerClient::ReadyStateClosing);
+
+
+COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ICEStateStarting, RTCPeerConnectionHandlerClient::IceStateStarting);
 COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ICEStateChecking, RTCPeerConnectionHandlerClient::IceStateChecking);
 COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ICEStateConnected, RTCPeerConnectionHandlerClient::IceStateConnected);
 COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ICEStateCompleted, RTCPeerConnectionHandlerClient::IceStateCompleted);
 COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ICEStateFailed, RTCPeerConnectionHandlerClient::IceStateFailed);
+COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ICEStateDisconnected, RTCPeerConnectionHandlerClient::IceStateDisconnected);
 COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ICEStateClosed, RTCPeerConnectionHandlerClient::IceStateClosed);
 
+// DEPRECATED
+COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ICEStateNew, RTCPeerConnectionHandlerClient::IceStateNew);
+COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ICEStateGathering, RTCPeerConnectionHandlerClient::IceStateGathering);
+COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ICEStateWaiting, RTCPeerConnectionHandlerClient::IceStateWaiting);
+
 COMPILE_ASSERT_MATCHING_ENUM(WebRTCDataChannel::ReadyStateConnecting, RTCDataChannelDescriptor::ReadyStateConnecting);
 COMPILE_ASSERT_MATCHING_ENUM(WebRTCDataChannel::ReadyStateOpen, RTCDataChannelDescriptor::ReadyStateOpen);
 COMPILE_ASSERT_MATCHING_ENUM(WebRTCDataChannel::ReadyStateClosing, RTCDataChannelDescriptor::ReadyStateClosing);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to