Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(72)

Unified Diff: modules/mediastream/RTCPeerConnection.idl

Issue 2786203002: Roll 50: Copied IDLs, PYTHON scripts from WebKit removed deleted files in WebCore (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « modules/mediastream/RTCIceCandidate.idl ('k') | modules/mediastream/RTCPeerConnectionErrorCallback.idl » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: modules/mediastream/RTCPeerConnection.idl
diff --git a/modules/mediastream/RTCPeerConnection.idl b/modules/mediastream/RTCPeerConnection.idl
index fa5494606e720f8f19b2043bc0492e96f623dd77..8938088df476b4e0f7689ce1a310af3399f6d1e4 100644
--- a/modules/mediastream/RTCPeerConnection.idl
+++ b/modules/mediastream/RTCPeerConnection.idl
@@ -28,56 +28,106 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+// https://w3c.github.io/webrtc-pc/#state-definitions
+
+enum RTCSignalingState {
+ "stable",
+ "have-local-offer",
+ "have-remote-offer",
+ "have-local-pranswer",
+ "have-remote-pranswer",
+ "closed"
+};
+
+enum RTCIceGatheringState {
+ "new",
+ "gathering",
+ "complete"
+};
+
+enum RTCIceConnectionState {
+ "new",
+ "checking",
+ "connected",
+ "completed",
+ "failed",
+ "disconnected",
+ "closed"
+};
+
+// https://w3c.github.io/webrtc-pc/#interface-definition
+
+// TODO(guidou): Many types are of the wrong type in this interface:
+// * Dictionary -> specific dictionary types like RTCConfiguration
+// * VoidCallback -> VoidFunction
[
GarbageCollected,
- ActiveDOMObject,
+ DependentLifetime,
+ // TODO(guidou): There should only be one constructor argument, and it
+ // should be optional.
Constructor(Dictionary rtcConfiguration, optional Dictionary mediaConstraints),
ConstructorCallWith=ExecutionContext,
NoInterfaceObject,
RaisesException=Constructor,
] interface RTCPeerConnection : EventTarget {
- [RaisesException] void createOffer(RTCSessionDescriptionCallback successCallback, [Default=Undefined] optional RTCErrorCallback failureCallback, optional Dictionary rtcOfferOptions);
-
- [RaisesException] void createAnswer(RTCSessionDescriptionCallback successCallback, [Default=Undefined] optional RTCErrorCallback failureCallback, optional Dictionary mediaConstraints);
-
- [RaisesException] void setLocalDescription(RTCSessionDescription description, [Default=Undefined] optional VoidCallback successCallback, [Default=Undefined] optional RTCErrorCallback failureCallback);
- [RaisesException=Getter] readonly attribute RTCSessionDescription localDescription;
-
- [RaisesException] void setRemoteDescription(RTCSessionDescription description, [Default=Undefined] optional VoidCallback successCallback, [Default=Undefined] optional RTCErrorCallback failureCallback);
- [RaisesException=Getter] readonly attribute RTCSessionDescription remoteDescription;
-
- readonly attribute DOMString signalingState;
-
- [RaisesException] void updateIce(optional Dictionary configuration, optional Dictionary mediaConstraints);
-
- // DEPRECATED
- [RaisesException] void addIceCandidate(RTCIceCandidate candidate);
-
- [RaisesException] void addIceCandidate(RTCIceCandidate candidate, VoidCallback successCallback, RTCErrorCallback failureCallback);
-
- readonly attribute DOMString iceGatheringState;
- readonly attribute DOMString iceConnectionState;
+ // Promise<RTCSessionDescription> createOffer(optional RTCOfferOptions options);
+ // Promise<RTCSessionDescription> createAnswer(optional RTCAnswerOptions options);
+ [CallWith=ScriptState] Promise<void> setLocalDescription(RTCSessionDescriptionInit description);
+ readonly attribute RTCSessionDescription? localDescription;
+ // readonly attribute RTCSessionDescription? currentLocalDescription;
+ // readonly attribute RTCSessionDescription? pendingLocalDescription;
+ [CallWith=ScriptState] Promise<void> setRemoteDescription(RTCSessionDescriptionInit description);
+ readonly attribute RTCSessionDescription? remoteDescription;
+ // readonly attribute RTCSessionDescription? currentRemoteDescription;
+ // readonly attribute RTCSessionDescription? pendingRemoteDescription;
+ [CallWith=ScriptState] Promise<void> addIceCandidate ((RTCIceCandidateInit or RTCIceCandidate) candidate);
+ readonly attribute RTCSignalingState signalingState;
+ readonly attribute RTCIceGatheringState iceGatheringState;
+ readonly attribute RTCIceConnectionState iceConnectionState;
+ // readonly attribute boolean? canTrickleIceCandidates;
+ // RTCConfiguration getConfiguration();
+ // void setConfiguration(RTCConfiguration configuration);
+ // TODO(guidou): close() should never throw an exception.
+ [RaisesException] void close();
+ attribute EventHandler onnegotiationneeded;
+ attribute EventHandler onicecandidate;
+ attribute EventHandler onsignalingstatechange;
+ attribute EventHandler oniceconnectionstatechange;
+ // attribute EventHandler onicegatheringstatechange;
+
+ // https://w3c.github.io/webrtc-pc/#legacy-interface-extensions
+ // These methods return or will be changed to return Promise<void> because
+ // having Promise-based versions requires that all overloads return Promises.
+ [CallWith=ExecutionContext, RaisesException] void createOffer(RTCSessionDescriptionCallback successCallback, RTCPeerConnectionErrorCallback failureCallback, optional Dictionary rtcOfferOptions);
+ // TODO(guidou): There should be no mediaConstraints argument.
+ [CallWith=ExecutionContext, RaisesException] void createAnswer(RTCSessionDescriptionCallback successCallback, RTCPeerConnectionErrorCallback failureCallback, optional Dictionary mediaConstraints);
+ [CallWith=ScriptState] Promise<void> setLocalDescription(RTCSessionDescription description, VoidCallback successCallback, [Default=Undefined] optional RTCPeerConnectionErrorCallback failureCallback);
+ // TODO(guidou): The failureCallback argument should be non-optional.
+ [CallWith=ScriptState] Promise<void> setRemoteDescription(RTCSessionDescription description, VoidCallback successCallback, [Default=Undefined] optional RTCPeerConnectionErrorCallback failureCallback);
+ [CallWith=ScriptState] Promise<void> addIceCandidate(RTCIceCandidate candidate, VoidCallback successCallback, RTCPeerConnectionErrorCallback failureCallback);
+ // TODO(guidou): The selector argument should the first (nullable,
+ // non-optional) argument, and there should be a third failureCallback
+ // argument.
+ [CallWith=ExecutionContext, LegacyInterfaceTypeChecking] void getStats(RTCStatsCallback successCallback, [Default=Undefined] optional MediaStreamTrack selector);
+
+ // https://w3c.github.io/webrtc-pc/#peer-to-peer-data-api
+ // TODO(guidou): The label argument should have [TreatNullAs=EmptyString]
+ // and be non-nullable.
+ [RaisesException] RTCDataChannel createDataChannel([TreatUndefinedAs=NullString] DOMString? label, optional Dictionary options);
+ attribute EventHandler ondatachannel;
+ // Non-standard or removed from the spec:
+ [CallWith=ExecutionContext, RaisesException] void updateIce(optional Dictionary configuration, optional Dictionary mediaConstraints);
sequence<MediaStream> getLocalStreams();
sequence<MediaStream> getRemoteStreams();
MediaStream getStreamById(DOMString streamId);
-
- [TypeChecking=Interface, RaisesException] void addStream(MediaStream? stream, optional Dictionary mediaConstraints);
- [TypeChecking=Interface, RaisesException] void removeStream(MediaStream? stream);
-
- void getStats(RTCStatsCallback successCallback, [Default=Undefined] optional MediaStreamTrack selector);
-
- [RaisesException] RTCDataChannel createDataChannel([TreatUndefinedAs=NullString] DOMString? label, optional Dictionary options);
-
+ [CallWith=ExecutionContext, RaisesException] void addStream(MediaStream? stream, optional Dictionary mediaConstraints);
+ [RaisesException] void removeStream(MediaStream? stream);
[RaisesException] RTCDTMFSender createDTMFSender(MediaStreamTrack track);
-
- [RaisesException] void close();
-
- attribute EventHandler onnegotiationneeded;
- attribute EventHandler onicecandidate;
- attribute EventHandler onsignalingstatechange;
attribute EventHandler onaddstream;
attribute EventHandler onremovestream;
- attribute EventHandler oniceconnectionstatechange;
- attribute EventHandler ondatachannel;
+
+ // Certificate management
+ // http://w3c.github.io/webrtc-pc/#sec.cert-mgmt
+ [RaisesException, CallWith=ScriptState] static Promise<RTCCertificate> generateCertificate(AlgorithmIdentifier keygenAlgorithm);
};
« no previous file with comments | « modules/mediastream/RTCIceCandidate.idl ('k') | modules/mediastream/RTCPeerConnectionErrorCallback.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698