Changeset 127365 in webkit


Ignore:
Timestamp:
Sep 1, 2012 12:54:31 AM (12 years ago)
Author:
tommyw@google.com
Message:

MediaStream API: Add MediaStream management to RTCPeerConnection
https://bugs.webkit.org/show_bug.cgi?id=95543

Reviewed by Adam Barth.

Source/Platform:

  • chromium/public/WebMediaStreamCenter.h:

(WebMediaStreamCenter):

  • chromium/public/WebRTCPeerConnectionHandler.h:

(WebKit):
(WebRTCPeerConnectionHandler):

  • chromium/public/WebRTCPeerConnectionHandlerClient.h:

(WebKit):
(WebRTCPeerConnectionHandlerClient):

Source/WebCore:

This includes addStream/removeStream to RTCPeerConnection,
as well as didAddRemoteStream/didRemoveRemoteStream to RTCPeerConnectionHandlerClient.

Test: fast/mediastream/RTCPeerConnection-AddRemoveStream.html

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::parseConfiguration):
(WebCore::RTCPeerConnection::RTCPeerConnection):
(WebCore::RTCPeerConnection::addStream):
(WebCore):
(WebCore::RTCPeerConnection::removeStream):
(WebCore::RTCPeerConnection::localStreams):
(WebCore::RTCPeerConnection::remoteStreams):
(WebCore::RTCPeerConnection::didAddRemoteStream):
(WebCore::RTCPeerConnection::didRemoveRemoteStream):

  • Modules/mediastream/RTCPeerConnection.h:

(RTCPeerConnection):

  • Modules/mediastream/RTCPeerConnection.idl:
  • bindings/js/Dictionary.cpp:

(WebCore::Dictionary::getOwnPropertiesAsStringHashMap):
(WebCore::Dictionary::getOwnPropertyNames):

  • bindings/v8/Dictionary.cpp:

(WebCore::Dictionary::getOwnPropertiesAsStringHashMap):
(WebCore::Dictionary::getOwnPropertyNames):

  • bindings/v8/Dictionary.h:

(Dictionary):

  • platform/mediastream/RTCPeerConnectionHandler.cpp:

(RTCPeerConnectionHandlerDummy):
(WebCore::RTCPeerConnectionHandlerDummy::addStream):
(WebCore):
(WebCore::RTCPeerConnectionHandlerDummy::removeStream):

  • platform/mediastream/RTCPeerConnectionHandler.h:

(RTCPeerConnectionHandler):

  • platform/mediastream/RTCPeerConnectionHandlerClient.h:

(WebCore):
(RTCPeerConnectionHandlerClient):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:

(WebCore::RTCPeerConnectionHandlerChromium::addStream):
(WebCore):
(WebCore::RTCPeerConnectionHandlerChromium::removeStream):
(WebCore::RTCPeerConnectionHandlerChromium::didAddRemoteStream):
(WebCore::RTCPeerConnectionHandlerChromium::didRemoveRemoteStream):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:

(WebKit):
(RTCPeerConnectionHandlerChromium):

Source/WebKit/chromium:

  • src/AssertMatchingEnums.cpp:

Tools:

Extending MockWebRTCPeerConnectionHandler to handle addStream/removeStream.

  • DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp:

(MockWebRTCPeerConnectionHandler::MockWebRTCPeerConnectionHandler):
(MockWebRTCPeerConnectionHandler::addStream):
(MockWebRTCPeerConnectionHandler::removeStream):

  • DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.h:

(MockWebRTCPeerConnectionHandler):

LayoutTests:

  • fast/mediastream/RTCPeerConnection-AddRemoveStream-expected.txt: Added.
  • fast/mediastream/RTCPeerConnection-AddRemoveStream.html: Added.
Location:
trunk
Files:
2 added
22 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r127364 r127365  
     12012-09-01  Tommy Widenflycht  <tommyw@google.com>
     2
     3        MediaStream API: Add MediaStream management to RTCPeerConnection
     4        https://bugs.webkit.org/show_bug.cgi?id=95543
     5
     6        Reviewed by Adam Barth.
     7
     8        * fast/mediastream/RTCPeerConnection-AddRemoveStream-expected.txt: Added.
     9        * fast/mediastream/RTCPeerConnection-AddRemoveStream.html: Added.
     10
    1112012-08-31  Jon Lee  <jonlee@apple.com>
    212
  • trunk/Source/Platform/ChangeLog

    r127225 r127365  
     12012-09-01  Tommy Widenflycht  <tommyw@google.com>
     2
     3        MediaStream API: Add MediaStream management to RTCPeerConnection
     4        https://bugs.webkit.org/show_bug.cgi?id=95543
     5
     6        Reviewed by Adam Barth.
     7
     8        * chromium/public/WebMediaStreamCenter.h:
     9        (WebMediaStreamCenter):
     10        * chromium/public/WebRTCPeerConnectionHandler.h:
     11        (WebKit):
     12        (WebRTCPeerConnectionHandler):
     13        * chromium/public/WebRTCPeerConnectionHandlerClient.h:
     14        (WebKit):
     15        (WebRTCPeerConnectionHandlerClient):
     16
    1172012-08-30  James Robinson  <jamesr@chromium.org>
    218
  • trunk/Source/Platform/chromium/public/WebMediaStreamCenter.h

    r116321 r127365  
    4949    virtual void didDisableMediaStreamTrack(const WebMediaStreamDescriptor&, const WebMediaStreamComponent&) = 0;
    5050    virtual void didStopLocalMediaStream(const WebMediaStreamDescriptor&) = 0;
    51     virtual void didCreateMediaStream(WebMediaStreamDescriptor&) { }
    52 
    53     // DEPRECATED
    54     virtual void didConstructMediaStream(const WebMediaStreamDescriptor&) { }
    55 
     51    virtual void didCreateMediaStream(WebMediaStreamDescriptor&) = 0;
    5652    virtual WebString constructSDP(const WebICECandidateDescriptor&) = 0;
    5753    virtual WebString constructSDP(const WebSessionDescriptionDescriptor&) = 0;
  • trunk/Source/Platform/chromium/public/WebRTCPeerConnectionHandler.h

    r127165 r127365  
    3434namespace WebKit {
    3535class WebMediaConstraints;
     36class WebMediaStreamDescriptor;
    3637class WebRTCConfiguration;
    3738class WebRTCPeerConnectionHandlerClient;
     
    4243
    4344    virtual bool initialize(const WebRTCConfiguration&, const WebMediaConstraints&) = 0;
     45
     46    virtual bool addStream(const WebMediaStreamDescriptor&, const WebMediaConstraints&) = 0;
     47    virtual void removeStream(const WebMediaStreamDescriptor&) = 0;
    4448    virtual void stop() = 0;
    4549};
  • trunk/Source/Platform/chromium/public/WebRTCPeerConnectionHandlerClient.h

    r126586 r127365  
    3333
    3434namespace WebKit {
     35class WebMediaStreamDescriptor;
    3536
    3637class WebRTCPeerConnectionHandlerClient {
     
    4748
    4849    virtual void didChangeReadyState(ReadyState) = 0;
     50    virtual void didAddRemoteStream(const WebMediaStreamDescriptor&) = 0;
     51    virtual void didRemoveRemoteStream(const WebMediaStreamDescriptor&) = 0;
    4952};
    5053
  • trunk/Source/WebCore/ChangeLog

    r127361 r127365  
     12012-09-01  Tommy Widenflycht  <tommyw@google.com>
     2
     3        MediaStream API: Add MediaStream management to RTCPeerConnection
     4        https://bugs.webkit.org/show_bug.cgi?id=95543
     5
     6        Reviewed by Adam Barth.
     7
     8        This includes addStream/removeStream to RTCPeerConnection,
     9        as well as didAddRemoteStream/didRemoveRemoteStream to RTCPeerConnectionHandlerClient.
     10
     11        Test: fast/mediastream/RTCPeerConnection-AddRemoveStream.html
     12
     13        * Modules/mediastream/RTCPeerConnection.cpp:
     14        (WebCore::RTCPeerConnection::parseConfiguration):
     15        (WebCore::RTCPeerConnection::RTCPeerConnection):
     16        (WebCore::RTCPeerConnection::addStream):
     17        (WebCore):
     18        (WebCore::RTCPeerConnection::removeStream):
     19        (WebCore::RTCPeerConnection::localStreams):
     20        (WebCore::RTCPeerConnection::remoteStreams):
     21        (WebCore::RTCPeerConnection::didAddRemoteStream):
     22        (WebCore::RTCPeerConnection::didRemoveRemoteStream):
     23        * Modules/mediastream/RTCPeerConnection.h:
     24        (RTCPeerConnection):
     25        * Modules/mediastream/RTCPeerConnection.idl:
     26        * bindings/js/Dictionary.cpp:
     27        (WebCore::Dictionary::getOwnPropertiesAsStringHashMap):
     28        (WebCore::Dictionary::getOwnPropertyNames):
     29        * bindings/v8/Dictionary.cpp:
     30        (WebCore::Dictionary::getOwnPropertiesAsStringHashMap):
     31        (WebCore::Dictionary::getOwnPropertyNames):
     32        * bindings/v8/Dictionary.h:
     33        (Dictionary):
     34        * platform/mediastream/RTCPeerConnectionHandler.cpp:
     35        (RTCPeerConnectionHandlerDummy):
     36        (WebCore::RTCPeerConnectionHandlerDummy::addStream):
     37        (WebCore):
     38        (WebCore::RTCPeerConnectionHandlerDummy::removeStream):
     39        * platform/mediastream/RTCPeerConnectionHandler.h:
     40        (RTCPeerConnectionHandler):
     41        * platform/mediastream/RTCPeerConnectionHandlerClient.h:
     42        (WebCore):
     43        (RTCPeerConnectionHandlerClient):
     44        * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
     45        (WebCore::RTCPeerConnectionHandlerChromium::addStream):
     46        (WebCore):
     47        (WebCore::RTCPeerConnectionHandlerChromium::removeStream):
     48        (WebCore::RTCPeerConnectionHandlerChromium::didAddRemoteStream):
     49        (WebCore::RTCPeerConnectionHandlerChromium::didRemoveRemoteStream):
     50        * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
     51        (WebKit):
     52        (RTCPeerConnectionHandlerChromium):
     53
    1542012-09-01  Kent Tamura  <tkent@chromium.org>
    255
  • trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp

    r127165 r127365  
    3939#include "ExceptionCode.h"
    4040#include "MediaConstraintsImpl.h"
     41#include "MediaStreamEvent.h"
    4142#include "RTCConfiguration.h"
    4243#include "ScriptExecutionContext.h"
     
    8990        rtcConfiguration->appendServer(RTCIceServer::create(url, credential));
    9091    }
     92
    9193    return rtcConfiguration.release();
    9294}
     
    113115    : ActiveDOMObject(context, this)
    114116    , m_readyState(ReadyStateNew)
     117    , m_localStreams(MediaStreamList::create())
     118    , m_remoteStreams(MediaStreamList::create())
    115119{
    116120    m_peerHandler = RTCPeerConnectionHandler::create(this);
     
    142146}
    143147
    144 void RTCPeerConnection::close(ExceptionCode& ec)
     148void RTCPeerConnection::addStream(PassRefPtr<MediaStream> prpStream, const Dictionary& mediaConstraints, ExceptionCode& ec)
    145149{
    146150    if (m_readyState == ReadyStateClosing || m_readyState == ReadyStateClosed) {
     
    149153    }
    150154
     155    RefPtr<MediaStream> stream = prpStream;
     156    if (!stream) {
     157        ec =  TYPE_MISMATCH_ERR;
     158        return;
     159    }
     160
     161    RefPtr<MediaConstraints> constraints = MediaConstraintsImpl::create(mediaConstraints, ec);
     162    if (ec)
     163        return;
     164
     165    if (m_localStreams->contains(stream.get()))
     166        return;
     167
     168    m_localStreams->append(stream);
     169
     170    bool valid = m_peerHandler->addStream(stream->descriptor(), constraints);
     171    if (!valid)
     172        ec = SYNTAX_ERR;
     173}
     174
     175void RTCPeerConnection::removeStream(MediaStream* stream, ExceptionCode& ec)
     176{
     177    if (m_readyState == ReadyStateClosed) {
     178        ec = INVALID_STATE_ERR;
     179        return;
     180    }
     181
     182    if (!stream) {
     183        ec = TYPE_MISMATCH_ERR;
     184        return;
     185    }
     186
     187    if (!m_localStreams->contains(stream))
     188        return;
     189
     190    m_localStreams->remove(stream);
     191
     192    m_peerHandler->removeStream(stream->descriptor());
     193}
     194
     195MediaStreamList* RTCPeerConnection::localStreams() const
     196{
     197    return m_localStreams.get();
     198}
     199
     200MediaStreamList* RTCPeerConnection::remoteStreams() const
     201{
     202    return m_remoteStreams.get();
     203}
     204
     205void RTCPeerConnection::close(ExceptionCode& ec)
     206{
     207    if (m_readyState == ReadyStateClosing || m_readyState == ReadyStateClosed) {
     208        ec = INVALID_STATE_ERR;
     209        return;
     210    }
     211
    151212    changeReadyState(ReadyStateClosed);
    152213    stop();
     
    157218    ASSERT(scriptExecutionContext()->isContextThread());
    158219    changeReadyState(newState);
     220}
     221
     222void RTCPeerConnection::didAddRemoteStream(PassRefPtr<MediaStreamDescriptor> streamDescriptor)
     223{
     224    ASSERT(scriptExecutionContext()->isContextThread());
     225
     226    if (m_readyState == ReadyStateClosed)
     227        return;
     228
     229    RefPtr<MediaStream> stream = MediaStream::create(scriptExecutionContext(), streamDescriptor);
     230    m_remoteStreams->append(stream);
     231
     232    dispatchEvent(MediaStreamEvent::create(eventNames().addstreamEvent, false, false, stream.release()));
     233}
     234
     235void RTCPeerConnection::didRemoveRemoteStream(MediaStreamDescriptor* streamDescriptor)
     236{
     237    ASSERT(scriptExecutionContext()->isContextThread());
     238    ASSERT(streamDescriptor->owner());
     239
     240    RefPtr<MediaStream> stream = static_cast<MediaStream*>(streamDescriptor->owner());
     241    stream->streamEnded();
     242
     243    if (m_readyState == ReadyStateClosed)
     244        return;
     245
     246    ASSERT(m_remoteStreams->contains(stream.get()));
     247    m_remoteStreams->remove(stream.get());
     248
     249    dispatchEvent(MediaStreamEvent::create(eventNames().removestreamEvent, false, false, stream.release()));
    159250}
    160251
  • trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.h

    r127165 r127365  
    3838#include "EventTarget.h"
    3939#include "ExceptionBase.h"
     40#include "MediaStream.h"
     41#include "MediaStreamList.h"
    4042#include "RTCPeerConnectionHandler.h"
    4143#include "RTCPeerConnectionHandlerClient.h"
     
    5456    String readyState() const;
    5557
     58    MediaStreamList* localStreams() const;
     59    MediaStreamList* remoteStreams() const;
     60    void addStream(const PassRefPtr<MediaStream>, const Dictionary& mediaConstraints, ExceptionCode&);
     61    void removeStream(MediaStream*, ExceptionCode&);
     62
    5663    void close(ExceptionCode&);
    5764
    5865    DEFINE_ATTRIBUTE_EVENT_LISTENER(open);
    5966    DEFINE_ATTRIBUTE_EVENT_LISTENER(statechange);
     67    DEFINE_ATTRIBUTE_EVENT_LISTENER(addstream);
     68    DEFINE_ATTRIBUTE_EVENT_LISTENER(removestream);
    6069
    6170    // RTCPeerConnectionHandlerClient
    6271    virtual void didChangeReadyState(ReadyState) OVERRIDE;
     72    virtual void didAddRemoteStream(PassRefPtr<MediaStreamDescriptor>) OVERRIDE;
     73    virtual void didRemoveRemoteStream(MediaStreamDescriptor*) OVERRIDE;
    6374
    6475    // EventTarget
     
    8899    ReadyState m_readyState;
    89100
     101    RefPtr<MediaStreamList> m_localStreams;
     102    RefPtr<MediaStreamList> m_remoteStreams;
     103
    90104    OwnPtr<RTCPeerConnectionHandler> m_peerHandler;
    91105};
  • trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl

    r126586 r127365  
    4141        readonly attribute DOMString readyState;
    4242
     43        readonly attribute MediaStreamList localStreams;
     44        readonly attribute MediaStreamList remoteStreams;
     45
     46        [StrictTypeChecking] void addStream(in MediaStream stream, in [Optional=DefaultIsUndefined] Dictionary mediaConstraints)
     47            raises(DOMException);
     48        [StrictTypeChecking] void removeStream(in MediaStream stream)
     49            raises(DOMException);
     50
    4351        void close()
    4452            raises(DOMException);
     
    4654        attribute EventListener onopen;
    4755        attribute EventListener onstatechange;
     56        attribute EventListener onaddstream;
     57        attribute EventListener onremovestream;
    4858
    4959        // EventTarget interface
  • trunk/Source/WebCore/bindings/js/Dictionary.cpp

    r127191 r127365  
    5555#endif
    5656
    57 bool Dictionary::getOwnPropertiesAsStringHashMap(WTF::HashMap<String, String>& map) const
     57bool Dictionary::getOwnPropertiesAsStringHashMap(HashMap<String, String>& map) const
    5858{
    5959    if (!m_dictionary.isValid())
     
    8080}
    8181
    82 bool Dictionary::getOwnPropertyNames(WTF::Vector<String>& names) const
     82bool Dictionary::getOwnPropertyNames(Vector<String>& names) const
    8383{
    8484    if (!m_dictionary.isValid())
  • trunk/Source/WebCore/bindings/v8/Dictionary.cpp

    r127165 r127365  
    468468}
    469469
    470 bool Dictionary::getOwnPropertiesAsStringHashMap(WTF::HashMap<String, String>& hashMap) const
     470bool Dictionary::getOwnPropertiesAsStringHashMap(HashMap<String, String>& hashMap) const
    471471{
    472472    if (!isObject())
     
    495495}
    496496
    497 bool Dictionary::getOwnPropertyNames(WTF::Vector<String>& names) const
     497bool Dictionary::getOwnPropertyNames(Vector<String>& names) const
    498498{
    499499    if (!isObject())
  • trunk/Source/WebCore/bindings/v8/Dictionary.h

    r127165 r127365  
    9090    bool get(const String&, ArrayValue&) const;
    9191
    92     bool getOwnPropertiesAsStringHashMap(WTF::HashMap<String, String>&) const;
    93     bool getOwnPropertyNames(WTF::Vector<String>&) const;
     92    bool getOwnPropertiesAsStringHashMap(HashMap<String, String>&) const;
     93    bool getOwnPropertyNames(Vector<String>&) const;
    9494
    9595    bool getWithUndefinedOrNullCheck(const String&, String&) const;
  • trunk/Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.cpp

    r127165 r127365  
    4848
    4949    virtual bool initialize(PassRefPtr<RTCConfiguration>, PassRefPtr<MediaConstraints>) OVERRIDE;
     50
     51    virtual bool addStream(PassRefPtr<MediaStreamDescriptor>, PassRefPtr<MediaConstraints>) OVERRIDE;
     52    virtual void removeStream(PassRefPtr<MediaStreamDescriptor>) OVERRIDE;
    5053    virtual void stop() OVERRIDE;
    5154
     
    7477}
    7578
     79bool RTCPeerConnectionHandlerDummy::addStream(PassRefPtr<MediaStreamDescriptor>, PassRefPtr<MediaConstraints>)
     80{
     81    return false;
     82}
     83
     84void RTCPeerConnectionHandlerDummy::removeStream(PassRefPtr<MediaStreamDescriptor>)
     85{
     86}
     87
    7688void RTCPeerConnectionHandlerDummy::stop()
    7789{
  • trunk/Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h

    r127165 r127365  
    3434#if ENABLE(MEDIA_STREAM)
    3535
     36#include "MediaStreamDescriptor.h"
    3637#include <wtf/PassOwnPtr.h>
    3738#include <wtf/PassRefPtr.h>
     
    4950
    5051    virtual bool initialize(PassRefPtr<RTCConfiguration>, PassRefPtr<MediaConstraints>) = 0;
     52
     53    virtual bool addStream(PassRefPtr<MediaStreamDescriptor>, PassRefPtr<MediaConstraints>) = 0;
     54    virtual void removeStream(PassRefPtr<MediaStreamDescriptor>) = 0;
    5155    virtual void stop() = 0;
    5256
  • trunk/Source/WebCore/platform/mediastream/RTCPeerConnectionHandlerClient.h

    r126586 r127365  
    3434#if ENABLE(MEDIA_STREAM)
    3535
     36#include <wtf/PassRefPtr.h>
     37
    3638namespace WebCore {
     39
     40class MediaStreamDescriptor;
    3741
    3842class RTCPeerConnectionHandlerClient {
     
    4953
    5054    virtual void didChangeReadyState(ReadyState) = 0;
     55    virtual void didAddRemoteStream(PassRefPtr<MediaStreamDescriptor>) = 0;
     56    virtual void didRemoveRemoteStream(MediaStreamDescriptor*) = 0;
    5157};
    5258
  • trunk/Source/WebCore/platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp

    r127165 r127365  
    4040#include <public/Platform.h>
    4141#include <public/WebMediaConstraints.h>
     42#include <public/WebMediaStreamDescriptor.h>
    4243#include <public/WebRTCConfiguration.h>
    4344#include <wtf/PassOwnPtr.h>
     
    6667}
    6768
     69bool RTCPeerConnectionHandlerChromium::addStream(PassRefPtr<MediaStreamDescriptor> mediaStream, PassRefPtr<MediaConstraints> constraints)
     70{
     71    if (!m_webHandler)
     72        return false;
     73
     74    return m_webHandler->addStream(mediaStream, constraints);
     75}
     76
     77void RTCPeerConnectionHandlerChromium::removeStream(PassRefPtr<MediaStreamDescriptor> mediaStream)
     78{
     79    if (!m_webHandler)
     80        return;
     81
     82    m_webHandler->removeStream(mediaStream);
     83}
     84
    6885void RTCPeerConnectionHandlerChromium::stop()
    6986{
     
    7996}
    8097
     98void RTCPeerConnectionHandlerChromium::didAddRemoteStream(const WebKit::WebMediaStreamDescriptor& webMediaStreamDescriptor)
     99{
     100    m_client->didAddRemoteStream(webMediaStreamDescriptor);
     101}
     102
     103void RTCPeerConnectionHandlerChromium::didRemoveRemoteStream(const WebKit::WebMediaStreamDescriptor& webMediaStreamDescriptor)
     104{
     105    m_client->didRemoveRemoteStream(webMediaStreamDescriptor);
     106}
     107
    81108} // namespace WebCore
    82109
  • trunk/Source/WebCore/platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h

    r127165 r127365  
    3434#if ENABLE(MEDIA_STREAM)
    3535
     36#include "MediaStreamDescriptor.h"
    3637#include "RTCPeerConnectionHandler.h"
    3738#include <public/WebRTCPeerConnectionHandler.h>
     
    3940#include <wtf/OwnPtr.h>
    4041#include <wtf/PassRefPtr.h>
     42
     43namespace WebKit {
     44class WebMediaStreamDescriptor;
     45}
    4146
    4247namespace WebCore {
     
    4853
    4954    virtual bool initialize(PassRefPtr<RTCConfiguration>, PassRefPtr<MediaConstraints>) OVERRIDE;
     55
     56    virtual bool addStream(PassRefPtr<MediaStreamDescriptor>, PassRefPtr<MediaConstraints>) OVERRIDE;
     57    virtual void removeStream(PassRefPtr<MediaStreamDescriptor>) OVERRIDE;
    5058    virtual void stop() OVERRIDE;
    5159
    5260    // WebKit::WebRTCPeerConnectionHandlerClient implementation.
    5361    virtual void didChangeReadyState(WebKit::WebRTCPeerConnectionHandlerClient::ReadyState) OVERRIDE;
     62    virtual void didAddRemoteStream(const WebKit::WebMediaStreamDescriptor&) OVERRIDE;
     63    virtual void didRemoveRemoteStream(const WebKit::WebMediaStreamDescriptor&) OVERRIDE;
    5464
    5565private:
  • trunk/Source/WebKit/chromium/ChangeLog

    r127354 r127365  
     12012-09-01  Tommy Widenflycht  <tommyw@google.com>
     2
     3        MediaStream API: Add MediaStream management to RTCPeerConnection
     4        https://bugs.webkit.org/show_bug.cgi?id=95543
     5
     6        Reviewed by Adam Barth.
     7
     8        * src/AssertMatchingEnums.cpp:
     9
    1102012-08-31  Koji Ishii  <kojiishi@gmail.com>
    211
  • trunk/Source/WebKit/chromium/src/AssertMatchingEnums.cpp

    r127084 r127365  
    110110#include "WebTextCheckingType.h"
    111111#include "WebView.h"
    112 #include "platform/WebICEOptions.h"
    113 #include "platform/WebMediaStreamSource.h"
    114 #include "platform/WebPeerConnection00Handler.h"
    115 #include "platform/WebPeerConnection00HandlerClient.h"
    116112#include <public/WebClipboard.h>
    117113#include <public/WebFileSystem.h>
    118114#include <public/WebFilterOperation.h>
     115#include <public/WebICEOptions.h>
     116#include <public/WebMediaStreamSource.h>
     117#include <public/WebPeerConnection00Handler.h>
     118#include <public/WebPeerConnection00HandlerClient.h>
    119119#include <public/WebRTCPeerConnectionHandler.h>
    120120#include <public/WebRTCPeerConnectionHandlerClient.h>
  • trunk/Tools/ChangeLog

    r127318 r127365  
     12012-09-01  Tommy Widenflycht  <tommyw@google.com>
     2
     3        MediaStream API: Add MediaStream management to RTCPeerConnection
     4        https://bugs.webkit.org/show_bug.cgi?id=95543
     5
     6        Reviewed by Adam Barth.
     7
     8        Extending MockWebRTCPeerConnectionHandler to handle addStream/removeStream.
     9
     10        * DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp:
     11        (MockWebRTCPeerConnectionHandler::MockWebRTCPeerConnectionHandler):
     12        (MockWebRTCPeerConnectionHandler::addStream):
     13        (MockWebRTCPeerConnectionHandler::removeStream):
     14        * DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.h:
     15        (MockWebRTCPeerConnectionHandler):
     16
    1172012-08-31  Tony Chang  <tony@chromium.org>
    218
  • trunk/Tools/DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp

    r127165 r127365  
    4242
    4343MockWebRTCPeerConnectionHandler::MockWebRTCPeerConnectionHandler(WebRTCPeerConnectionHandlerClient* client)
     44    : m_client(client)
    4445{
    4546}
     
    8687}
    8788
     89bool MockWebRTCPeerConnectionHandler::addStream(const WebMediaStreamDescriptor& stream, const WebMediaConstraints&)
     90{
     91    m_client->didAddRemoteStream(stream);
     92    return true;
     93}
     94
     95void MockWebRTCPeerConnectionHandler::removeStream(const WebMediaStreamDescriptor& stream)
     96{
     97    m_client->didRemoveRemoteStream(stream);
     98}
     99
    88100void MockWebRTCPeerConnectionHandler::stop()
    89101{
  • trunk/Tools/DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.h

    r127165 r127365  
    4545    virtual bool initialize(const WebKit::WebRTCConfiguration&, const WebKit::WebMediaConstraints&) OVERRIDE;
    4646
     47    virtual bool addStream(const WebKit::WebMediaStreamDescriptor&, const WebKit::WebMediaConstraints&) OVERRIDE;
     48    virtual void removeStream(const WebKit::WebMediaStreamDescriptor&) OVERRIDE;
    4749    virtual void stop() OVERRIDE;
    4850
    4951private:
    5052    MockWebRTCPeerConnectionHandler() { }
     53
     54    WebKit::WebRTCPeerConnectionHandlerClient* m_client;
    5155};
    5256
Note: See TracChangeset for help on using the changeset viewer.