Changeset 107054 in webkit


Ignore:
Timestamp:
Feb 8, 2012 1:52:17 AM (12 years ago)
Author:
tommyw@google.com
Message:

MediaStream API: Adding the onstatechange callback to PeerConnection
https://bugs.webkit.org/show_bug.cgi?id=77954

When readyState changes a callback should be triggered.

Reviewed by Adam Barth.

Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.

  • dom/EventNames.h:

(WebCore):

  • mediastream/PeerConnection.cpp:

(WebCore::PeerConnection::changeReadyState):

  • mediastream/PeerConnection.h:

(PeerConnection):
(WebCore::PeerConnection::didChangeState):

  • mediastream/PeerConnection.idl:
  • platform/mediastream/PeerConnectionHandlerClient.h:

(PeerConnectionHandlerClient):

Location:
trunk/Source/WebCore
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r107051 r107054  
     12012-02-08  Tommy Widenflycht  <tommyw@google.com>
     2
     3        MediaStream API: Adding the onstatechange callback to PeerConnection
     4        https://bugs.webkit.org/show_bug.cgi?id=77954
     5
     6        When readyState changes a callback should be triggered.
     7
     8        Reviewed by Adam Barth.
     9
     10        Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
     11
     12        * dom/EventNames.h:
     13        (WebCore):
     14        * mediastream/PeerConnection.cpp:
     15        (WebCore::PeerConnection::changeReadyState):
     16        * mediastream/PeerConnection.h:
     17        (PeerConnection):
     18        (WebCore::PeerConnection::didChangeState):
     19        * mediastream/PeerConnection.idl:
     20        * platform/mediastream/PeerConnectionHandlerClient.h:
     21        (PeerConnectionHandlerClient):
     22
    1232012-02-08  Kentaro Hara  <haraken@chromium.org>
    224
  • trunk/Source/WebCore/dom/EventNames.h

    r106134 r107054  
    195195    macro(addstream) \
    196196    macro(removestream) \
     197    macro(statechange) \
    197198    \
    198199    macro(show) \
  • trunk/Source/WebCore/mediastream/PeerConnection.cpp

    r106823 r107054  
    368368        break;
    369369    }
     370
     371    dispatchEvent(Event::create(eventNames().statechangeEvent, false, false));
    370372}
    371373
  • trunk/Source/WebCore/mediastream/PeerConnection.h

    r98926 r107054  
    5959    void processSignalingMessage(const String& message, ExceptionCode&);
    6060
    61     // Name and values of the enum must match the corressponding constants in the .idl file.
    62     enum ReadyState {
    63         NEW = 0,
    64         NEGOTIATING = 1,
    65         ACTIVE = 2,
    66         CLOSED = 3
    67     };
    68 
    6961    ReadyState readyState() const;
    7062
     
    7971    DEFINE_ATTRIBUTE_EVENT_LISTENER(open);
    8072    DEFINE_ATTRIBUTE_EVENT_LISTENER(message);
     73    DEFINE_ATTRIBUTE_EVENT_LISTENER(statechange);
    8174    DEFINE_ATTRIBUTE_EVENT_LISTENER(addstream);
    8275    DEFINE_ATTRIBUTE_EVENT_LISTENER(removestream);
     
    8881    virtual void didAddRemoteStream(PassRefPtr<MediaStreamDescriptor>);
    8982    virtual void didRemoveRemoteStream(MediaStreamDescriptor*);
     83    virtual void didChangeState(ReadyState state) { changeReadyState(state); }
    9084
    9185    // EventTarget
  • trunk/Source/WebCore/mediastream/PeerConnection.idl

    r106539 r107054  
    5959        attribute EventListener onopen;
    6060        attribute EventListener onmessage;
     61        attribute EventListener onstatechange;
    6162        attribute EventListener onaddstream;
    6263        attribute EventListener onremovestream;
  • trunk/Source/WebCore/platform/mediastream/PeerConnectionHandlerClient.h

    r98926 r107054  
    4343class PeerConnectionHandlerClient {
    4444public:
     45    // Name and values of the enum must match the corressponding constants in the PeerConnection.idl file.
     46    enum ReadyState {
     47        NEW = 0,
     48        NEGOTIATING = 1,
     49        ACTIVE = 2,
     50        CLOSED = 3
     51    };
     52
    4553    virtual ~PeerConnectionHandlerClient() { }
    4654
     
    5058    virtual void didAddRemoteStream(PassRefPtr<MediaStreamDescriptor>) = 0;
    5159    virtual void didRemoveRemoteStream(MediaStreamDescriptor*) = 0;
     60    virtual void didChangeState(ReadyState) = 0;
    5261};
    5362
Note: See TracChangeset for help on using the changeset viewer.