Title: [107054] trunk/Source/WebCore
- Revision
- 107054
- Author
- tom...@google.com
- Date
- 2012-02-08 01:52:17 -0800 (Wed, 08 Feb 2012)
Log 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):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (107053 => 107054)
--- trunk/Source/WebCore/ChangeLog 2012-02-08 09:51:14 UTC (rev 107053)
+++ trunk/Source/WebCore/ChangeLog 2012-02-08 09:52:17 UTC (rev 107054)
@@ -1,3 +1,25 @@
+2012-02-08 Tommy Widenflycht <tom...@google.com>
+
+ 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):
+
2012-02-08 Kentaro Hara <hara...@chromium.org>
Rename [DelegatingPutFunction] IDL to [CustomNamedSetter] IDL
Modified: trunk/Source/WebCore/dom/EventNames.h (107053 => 107054)
--- trunk/Source/WebCore/dom/EventNames.h 2012-02-08 09:51:14 UTC (rev 107053)
+++ trunk/Source/WebCore/dom/EventNames.h 2012-02-08 09:52:17 UTC (rev 107054)
@@ -194,6 +194,7 @@
macro(connecting) \
macro(addstream) \
macro(removestream) \
+ macro(statechange) \
\
macro(show) \
\
Modified: trunk/Source/WebCore/mediastream/PeerConnection.cpp (107053 => 107054)
--- trunk/Source/WebCore/mediastream/PeerConnection.cpp 2012-02-08 09:51:14 UTC (rev 107053)
+++ trunk/Source/WebCore/mediastream/PeerConnection.cpp 2012-02-08 09:52:17 UTC (rev 107054)
@@ -367,6 +367,8 @@
case CLOSED:
break;
}
+
+ dispatchEvent(Event::create(eventNames().statechangeEvent, false, false));
}
} // namespace WebCore
Modified: trunk/Source/WebCore/mediastream/PeerConnection.h (107053 => 107054)
--- trunk/Source/WebCore/mediastream/PeerConnection.h 2012-02-08 09:51:14 UTC (rev 107053)
+++ trunk/Source/WebCore/mediastream/PeerConnection.h 2012-02-08 09:52:17 UTC (rev 107054)
@@ -58,14 +58,6 @@
void processSignalingMessage(const String& message, ExceptionCode&);
- // Name and values of the enum must match the corressponding constants in the .idl file.
- enum ReadyState {
- NEW = 0,
- NEGOTIATING = 1,
- ACTIVE = 2,
- CLOSED = 3
- };
-
ReadyState readyState() const;
void send(const String& text, ExceptionCode&);
@@ -78,6 +70,7 @@
DEFINE_ATTRIBUTE_EVENT_LISTENER(connecting);
DEFINE_ATTRIBUTE_EVENT_LISTENER(open);
DEFINE_ATTRIBUTE_EVENT_LISTENER(message);
+ DEFINE_ATTRIBUTE_EVENT_LISTENER(statechange);
DEFINE_ATTRIBUTE_EVENT_LISTENER(addstream);
DEFINE_ATTRIBUTE_EVENT_LISTENER(removestream);
@@ -87,6 +80,7 @@
virtual void didReceiveDataStreamMessage(const char* data, size_t length);
virtual void didAddRemoteStream(PassRefPtr<MediaStreamDescriptor>);
virtual void didRemoveRemoteStream(MediaStreamDescriptor*);
+ virtual void didChangeState(ReadyState state) { changeReadyState(state); }
// EventTarget
virtual const AtomicString& interfaceName() const;
Modified: trunk/Source/WebCore/mediastream/PeerConnection.idl (107053 => 107054)
--- trunk/Source/WebCore/mediastream/PeerConnection.idl 2012-02-08 09:51:14 UTC (rev 107053)
+++ trunk/Source/WebCore/mediastream/PeerConnection.idl 2012-02-08 09:52:17 UTC (rev 107054)
@@ -58,6 +58,7 @@
attribute EventListener onconnecting;
attribute EventListener onopen;
attribute EventListener onmessage;
+ attribute EventListener onstatechange;
attribute EventListener onaddstream;
attribute EventListener onremovestream;
Modified: trunk/Source/WebCore/platform/mediastream/PeerConnectionHandlerClient.h (107053 => 107054)
--- trunk/Source/WebCore/platform/mediastream/PeerConnectionHandlerClient.h 2012-02-08 09:51:14 UTC (rev 107053)
+++ trunk/Source/WebCore/platform/mediastream/PeerConnectionHandlerClient.h 2012-02-08 09:52:17 UTC (rev 107054)
@@ -42,6 +42,14 @@
class PeerConnectionHandlerClient {
public:
+ // Name and values of the enum must match the corressponding constants in the PeerConnection.idl file.
+ enum ReadyState {
+ NEW = 0,
+ NEGOTIATING = 1,
+ ACTIVE = 2,
+ CLOSED = 3
+ };
+
virtual ~PeerConnectionHandlerClient() { }
virtual void didCompleteICEProcessing() = 0;
@@ -49,6 +57,7 @@
virtual void didReceiveDataStreamMessage(const char* data, size_t length) = 0;
virtual void didAddRemoteStream(PassRefPtr<MediaStreamDescriptor>) = 0;
virtual void didRemoveRemoteStream(MediaStreamDescriptor*) = 0;
+ virtual void didChangeState(ReadyState) = 0;
};
} // namespace WebCore
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes