Remove old-style OnFailure callbacks Also delete default implementation of new-style OnFailure, since it can't call the deprecated function. Deprecating the old-style OnFailure callback turned out to be impossible, since one can't have the new-style callback call the old-style one. Bug: chromium:589455 Change-Id: Icf529ddb02d99ad9e205095d5a1fbeb0da91dd0e Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146219 Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Commit-Queue: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30570}
diff --git a/api/jsep.cc b/api/jsep.cc index ddb39b6..5fdc890 100644 --- a/api/jsep.cc +++ b/api/jsep.cc
@@ -21,23 +21,6 @@ return 0; } -void CreateSessionDescriptionObserver::OnFailure(RTCError error) { - OnFailure(error.message()); -} - -void CreateSessionDescriptionObserver::OnFailure(const std::string& error) { - OnFailure(RTCError(RTCErrorType::INTERNAL_ERROR, std::string(error))); -} - -void SetSessionDescriptionObserver::OnFailure(RTCError error) { - std::string message(error.message()); - OnFailure(message); -} - -void SetSessionDescriptionObserver::OnFailure(const std::string& error) { - OnFailure(RTCError(RTCErrorType::INTERNAL_ERROR, std::string(error))); -} - const char SessionDescriptionInterface::kOffer[] = "offer"; const char SessionDescriptionInterface::kPrAnswer[] = "pranswer"; const char SessionDescriptionInterface::kAnswer[] = "answer";
diff --git a/api/jsep.h b/api/jsep.h index 86f4162..cf8aeb0 100644 --- a/api/jsep.h +++ b/api/jsep.h
@@ -28,6 +28,7 @@ #include "absl/types/optional.h" #include "api/rtc_error.h" +#include "rtc_base/deprecation.h" #include "rtc_base/ref_count.h" #include "rtc_base/system/rtc_export.h" @@ -222,11 +223,9 @@ // error code and a string. // RTCError is non-copyable, so it must be passed using std::move. // Earlier versions of the API used a string argument. This version - // is deprecated; in order to let clients remove the old version, it has a - // default implementation. If both versions are unimplemented, the - // result will be a runtime error (stack overflow). This is intentional. - virtual void OnFailure(RTCError error); - virtual void OnFailure(const std::string& error); + // is removed; its functionality was the same as passing + // error.message. + virtual void OnFailure(RTCError error) = 0; protected: ~CreateSessionDescriptionObserver() override = default; @@ -237,9 +236,7 @@ public: virtual void OnSuccess() = 0; // See description in CreateSessionDescriptionObserver for OnFailure. - virtual void OnFailure(RTCError error); - - virtual void OnFailure(const std::string& error); + virtual void OnFailure(RTCError error) = 0; protected: ~SetSessionDescriptionObserver() override = default;