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

Side by Side Diff: third_party/WebKit/Source/modules/mediastream/RTCPeerConnection.idl

Issue 2097563002: Split the mediastream module in Blink into mediastream and peerconnection (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add DEPS file Created 4 years, 5 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 unified diff | Download patch
OLDNEW
(Empty)
1 /*
2 * Copyright (C) 2012 Google Inc. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 *
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer
12 * in the documentation and/or other materials provided with the
13 * distribution.
14 * 3. Neither the name of Google Inc. nor the names of its contributors
15 * may be used to endorse or promote products derived from this
16 * software without specific prior written permission.
17 *
18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */
30
31 // https://w3c.github.io/webrtc-pc/#state-definitions
32
33 enum RTCSignalingState {
34 "stable",
35 "have-local-offer",
36 "have-remote-offer",
37 "have-local-pranswer",
38 "have-remote-pranswer",
39 "closed"
40 };
41
42 enum RTCIceGatheringState {
43 "new",
44 "gathering",
45 "complete"
46 };
47
48 enum RTCIceConnectionState {
49 "new",
50 "checking",
51 "connected",
52 "completed",
53 "failed",
54 "disconnected",
55 "closed"
56 };
57
58 // https://w3c.github.io/webrtc-pc/#interface-definition
59
60 // TODO(guidou): Many types are of the wrong type in this interface:
61 // * Dictionary -> specific dictionary types like RTCConfiguration
62 // * VoidCallback -> VoidFunction
63 [
64 ActiveScriptWrappable,
65 DependentLifetime,
66 // TODO(guidou): There should only be one constructor argument, and it
67 // should be optional.
68 Constructor(Dictionary rtcConfiguration, optional Dictionary mediaConstraint s),
69 ConstructorCallWith=ExecutionContext,
70 NoInterfaceObject,
71 RaisesException=Constructor,
72 ] interface RTCPeerConnection : EventTarget {
73 [CallWith=ScriptState] Promise<RTCSessionDescription> createOffer(optional R TCOfferOptions options);
74 [CallWith=ScriptState] Promise<RTCSessionDescription> createAnswer(optional RTCAnswerOptions options);
75 [CallWith=ScriptState] Promise<void> setLocalDescription(RTCSessionDescripti onInit description);
76 readonly attribute RTCSessionDescription? localDescription;
77 // readonly attribute RTCSessionDescription? currentLocalDescription;
78 // readonly attribute RTCSessionDescription? pendingLocalDescription;
79 [CallWith=ScriptState] Promise<void> setRemoteDescription(RTCSessionDescript ionInit description);
80 readonly attribute RTCSessionDescription? remoteDescription;
81 // readonly attribute RTCSessionDescription? currentRemoteDescription;
82 // readonly attribute RTCSessionDescription? pendingRemoteDescription;
83 [CallWith=ScriptState, MeasureAs=RTCPeerConnectionAddIceCandidatePromise] Pr omise<void> addIceCandidate ((RTCIceCandidateInit or RTCIceCandidate) candidate) ;
84 readonly attribute RTCSignalingState signalingState;
85 readonly attribute RTCIceGatheringState iceGatheringState;
86 readonly attribute RTCIceConnectionState iceConnectionState;
87 // readonly attribute boolean? canTrickleIceCandidates;
88 // RTCConfiguration getConfiguration();
89 // void setConfiguration(RTCConfiguration configuration);
90 // TODO(guidou): close() should never throw an exception.
91 [RaisesException] void close();
92 attribute EventHandler onnegotiationneeded;
93 attribute EventHandler onicecandidate;
94 attribute EventHandler onsignalingstatechange;
95 attribute EventHandler oniceconnectionstatechange;
96 // attribute EventHandler onicegatheringstatechange;
97
98 // https://w3c.github.io/webrtc-pc/#legacy-interface-extensions
99 // These methods return Promise<void> because having Promise-based versions requires that all overloads return Promises.
100 [CallWith=ScriptState] Promise<void> createOffer(RTCSessionDescriptionCallba ck successCallback, RTCPeerConnectionErrorCallback failureCallback, optional Dic tionary rtcOfferOptions);
101 // TODO(guidou): There should be no mediaConstraints argument.
102 [CallWith=ScriptState] Promise<void> createAnswer(RTCSessionDescriptionCallb ack successCallback, RTCPeerConnectionErrorCallback failureCallback, optional Di ctionary mediaConstraints);
103 [CallWith=ScriptState] Promise<void> setLocalDescription(RTCSessionDescripti onInit description, VoidCallback successCallback, [Default=Undefined] optional R TCPeerConnectionErrorCallback failureCallback);
104 // TODO(guidou): The failureCallback argument should be non-optional.
105 [CallWith=ScriptState] Promise<void> setRemoteDescription(RTCSessionDescript ionInit description, VoidCallback successCallback, [Default=Undefined] optional RTCPeerConnectionErrorCallback failureCallback);
106 [CallWith=ScriptState, MeasureAs=RTCPeerConnectionAddIceCandidateLegacy] Pro mise<void> addIceCandidate((RTCIceCandidateInit or RTCIceCandidate) candidate, V oidCallback successCallback, RTCPeerConnectionErrorCallback failureCallback);
107 // TODO(guidou): The selector argument should the first (nullable,
108 // non-optional) argument, and there should be a third failureCallback
109 // argument.
110 [CallWith=ExecutionContext, LegacyInterfaceTypeChecking] void getStats(RTCSt atsCallback successCallback, [Default=Undefined] optional MediaStreamTrack selec tor);
111
112 // https://w3c.github.io/webrtc-pc/#peer-to-peer-data-api
113 // TODO(guidou): The label argument should have [TreatNullAs=EmptyString]
114 // and be non-nullable.
115 [RaisesException] RTCDataChannel createDataChannel([TreatUndefinedAs=NullStr ing] DOMString? label, optional Dictionary options);
116 attribute EventHandler ondatachannel;
117
118 // Non-standard or removed from the spec:
119 [CallWith=ExecutionContext, RaisesException] void updateIce(optional Diction ary configuration, optional Dictionary mediaConstraints);
120 sequence<MediaStream> getLocalStreams();
121 sequence<MediaStream> getRemoteStreams();
122 MediaStream getStreamById(DOMString streamId);
123 [CallWith=ExecutionContext, RaisesException] void addStream(MediaStream? str eam, optional Dictionary mediaConstraints);
124 [RaisesException] void removeStream(MediaStream? stream);
125 [RaisesException] RTCDTMFSender createDTMFSender(MediaStreamTrack track);
126 attribute EventHandler onaddstream;
127 attribute EventHandler onremovestream;
128
129 // Certificate management
130 // http://w3c.github.io/webrtc-pc/#sec.cert-mgmt
131 [RaisesException, CallWith=ScriptState] static Promise<RTCCertificate> gener ateCertificate(AlgorithmIdentifier keygenAlgorithm);
132 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698