RESOLVED FIXED 129484
[WebRTC] Updating createOffer and createAnswer methods to match WebRTC editor's draft of 01/27/2014
https://bugs.webkit.org/show_bug.cgi?id=129484
Summary [WebRTC] Updating createOffer and createAnswer methods to match WebRTC editor...
Thiago de Barros Lacerda
Reported 2014-02-28 08:15:41 PST
According to the spec, createOffer and createAnswer will no longer have MediaConstraints as an argument, instead they will have RTCOfferOptions and RTCOfferAnswerOptions, respectively.
Attachments
Patch (34.77 KB, patch)
2014-02-28 08:22 PST, Thiago de Barros Lacerda
no flags
Requested Changes (34.81 KB, patch)
2014-03-06 06:20 PST, Thiago de Barros Lacerda
no flags
Thiago de Barros Lacerda
Comment 1 2014-02-28 08:22:39 PST
Eric Carlson
Comment 2 2014-02-28 11:23:51 PST
Comment on attachment 225468 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=225468&action=review > Source/WebCore/Modules/mediastream/RTCOfferAnswerOptions.cpp:41 > + // According to the spec, the error is going to be defined yet, so let's use TYPE_MISMATCH_ERR for now. > + ec = TYPE_MISMATCH_ERR; This should probably have a FIXME with a bug number to help us remember to change this once the error is defined. > Source/WebCore/Modules/mediastream/RTCOfferAnswerOptions.cpp:57 > + if (validateRequestIdentity(requestIdentity)) > + m_requestIdentity = requestIdentity; > + > + return true; An invalid request identity does not result in an error? > Source/WebCore/Modules/mediastream/RTCOfferAnswerOptions.cpp:64 > +bool RTCOfferAnswerOptions::validateRequestIdentity(const String& value) const > +{ > + return value == "yes" || value == "no" || value == "ifconfigured"; > +} > + Unless this is going to be used outside of this class, it doesn't have to be a member function. > Source/WebCore/Modules/mediastream/RTCOfferAnswerOptions.cpp:70 > + // According to the spec, the error is going to be defined yet, so let's use TYPE_MISMATCH_ERR for now. > + ec = TYPE_MISMATCH_ERR; Ditto about adding a FIXME. > Source/WebCore/Modules/mediastream/RTCOfferAnswerOptions.cpp:85 > + String offerToReceiveVideoStr, offerToReceiveAudioStr; Nit: these declarations should be on separate lines. > Source/WebCore/Modules/mediastream/RTCOfferAnswerOptions.cpp:92 > + if (options.get("offerToReceiveVideo", offerToReceiveVideoStr)) { > + m_offerToReceiveVideo = offerToReceiveVideoStr.toInt64Strict(&numberConversionSuccess); > + if (!numberConversionSuccess) > + return false; > + } else > + return false; Nit: I would reverse the order of the comparisons, return false if "offerToReceiveVideo" isn't specified first, to avoid having to indent the number conversion. > Source/WebCore/Modules/mediastream/RTCOfferAnswerOptions.cpp:99 > + if (options.get("offerToReceiveAudio", offerToReceiveAudioStr)) { > + m_offerToReceiveAudio = offerToReceiveAudioStr.toInt64Strict(&numberConversionSuccess); > + if (!numberConversionSuccess) > + return false; > + } else > + return false; Ditto. > Source/WebCore/Modules/mediastream/RTCOfferAnswerOptions.cpp:102 > + bool iceRestart; Nit: this can be declared just before it is used. > Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp:206 > +void RTCPeerConnection::createOffer(PassRefPtr<RTCSessionDescriptionCallback> successCallback, PassRefPtr<RTCPeerConnectionErrorCallback> errorCallback, const Dictionary& offerOptions, ExceptionCode& ec) It doesn't have to be done in this patch, but we should update all of the MEDIA_STREAM code to use Ref<> and PassRef<> instead of RefPtr<> and PassRefPtr<>. > Source/WebCore/platform/mock/RTCPeerConnectionHandlerMock.cpp:67 > +void RTCPeerConnectionHandlerMock::createAnswer(PassRefPtr<RTCSessionDescriptionRequest> request, PassRefPtr<RTCOfferAnswerOptions> constraints) This will break the -Werror build because "constraints" is not used.
Thiago de Barros Lacerda
Comment 3 2014-03-06 06:20:01 PST
Created attachment 225984 [details] Requested Changes
Thiago de Barros Lacerda
Comment 4 2014-03-06 06:25:32 PST
Comment on attachment 225468 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=225468&action=review >> Source/WebCore/Modules/mediastream/RTCOfferAnswerOptions.cpp:41 >> + ec = TYPE_MISMATCH_ERR; > > This should probably have a FIXME with a bug number to help us remember to change this once the error is defined. OK >> Source/WebCore/Modules/mediastream/RTCOfferAnswerOptions.cpp:57 >> + return true; > > An invalid request identity does not result in an error? Spec don't says anything about it and requestIdentity has a default value ("ifconfigured"), so I thought that would be better to just ignore an invalid value and stay with the default one. >> Source/WebCore/Modules/mediastream/RTCOfferAnswerOptions.cpp:64 >> + > > Unless this is going to be used outside of this class, it doesn't have to be a member function. OK, I'll put it as static >> Source/WebCore/Modules/mediastream/RTCOfferAnswerOptions.cpp:70 >> + ec = TYPE_MISMATCH_ERR; > > Ditto about adding a FIXME. OK >> Source/WebCore/Modules/mediastream/RTCOfferAnswerOptions.cpp:85 >> + String offerToReceiveVideoStr, offerToReceiveAudioStr; > > Nit: these declarations should be on separate lines. OK >> Source/WebCore/Modules/mediastream/RTCOfferAnswerOptions.cpp:92 >> + return false; > > Nit: I would reverse the order of the comparisons, return false if "offerToReceiveVideo" isn't specified first, to avoid having to indent the number conversion. OK >> Source/WebCore/Modules/mediastream/RTCOfferAnswerOptions.cpp:99 >> + return false; > > Ditto. OK >> Source/WebCore/Modules/mediastream/RTCOfferAnswerOptions.cpp:102 >> + bool iceRestart; > > Nit: this can be declared just before it is used. OK >> Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp:206 >> +void RTCPeerConnection::createOffer(PassRefPtr<RTCSessionDescriptionCallback> successCallback, PassRefPtr<RTCPeerConnectionErrorCallback> errorCallback, const Dictionary& offerOptions, ExceptionCode& ec) > > It doesn't have to be done in this patch, but we should update all of the MEDIA_STREAM code to use Ref<> and PassRef<> instead of RefPtr<> and PassRefPtr<>. I can do that later >> Source/WebCore/platform/mock/RTCPeerConnectionHandlerMock.cpp:67 >> +void RTCPeerConnectionHandlerMock::createAnswer(PassRefPtr<RTCSessionDescriptionRequest> request, PassRefPtr<RTCOfferAnswerOptions> constraints) > > This will break the -Werror build because "constraints" is not used. oops.
WebKit Commit Bot
Comment 5 2014-03-06 15:35:40 PST
Comment on attachment 225984 [details] Requested Changes Clearing flags on attachment: 225984 Committed r165226: <http://trac.webkit.org/changeset/165226>
WebKit Commit Bot
Comment 6 2014-03-06 15:35:44 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.