Contact emails
gui...@chromium.org, h...@chromium.org
Spec
https://w3c.github.io/webrtc-pc/
Tag review: https://github.com/w3ctag/spec-reviews/issues/14
Summary
The latest version of the WebRTC spec introduces five new promise-based versions of existing RTCPeerConnection methods.
This intent covers the addition of two three of these methods: createOffer() and createAnswer(). Promise-based versions of the other three methods (setLocalDescription(), setRemoteDescription() and addIceCandidate()) already exist in Blink. See related Intent to Ship thread.
Promise-based versions of createOffer() and createAnswer(), are being added one release after the other methods because there were overloading issues in the legacy versions of createOffer() and createAnswer() that required a stabilization period to be resolved (see related Intent to Remove thread).
Motivation
The WebRTC API, like many other JavaScript APIs, has been updated to support promises instead of callbacks as the preferred mechanism for asynchronous programming. This Intent to Ship is a step in that direction. Existing callback-based code will continue to be supported, though.
Interoperability and Compatibility Risk
The addition of these three new methods improves interoperability, as it makes Blink more compliant with the spec and more compatible with Firefox, which already supports these methods. In addition, the existing versions of the methods are still supported, so existing applications do not need to be rewritten.
The main compatibility issue this change introduces is that the return type of legacy methods will change from void to Promise<void>. In practice, this means that TypeErrors will not be thrown as usual, but will be reported to the returned Promise. This can happen when the methods are invoked with arguments of incorrect types. The current legacy implementations of createOffer() and createAnswer() also throw TypeErrors when custom parsing of one of the arguments fails. This implementation detail will be changed so that some harmless errors (e.g., the presence of an unused field) do not result in a failure, or that parsing errors are reported via the failure callback.
Ongoing technical constraints
None.
Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
Yes.
OWP launch tracking bug
Link to entry on the feature dashboard
https://www.chromestatus.com/feature/5743313768415232
Requesting approval to ship?
Yes.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
☆PhistucK
LGTM3
LGTM2
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
--
TAMURA Kent
Software Engineer, Google
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
☆PhistucK
LGTM3
LGTM2
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
--
TAMURA Kent
Software Engineer, Google
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABc02_KkayYyajy8Ks9UM%2Bnr%2BTKtO9AHw2dk%2BJ4Ce%3DFHa0BVwA%40mail.gmail.com.