Using absl::string_view to stringify an RTCErrorType.

Bug: webrtc:10198
Change-Id: Ie7fdba08df219a03ebe2ee5521c2840f28571bba
Reviewed-on: https://webrtc-review.googlesource.com/c/117162
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26277}
diff --git a/api/rtc_error.cc b/api/rtc_error.cc
index eccc891..51fd07f 100644
--- a/api/rtc_error.cc
+++ b/api/rtc_error.cc
@@ -10,11 +10,12 @@
 
 #include "api/rtc_error.h"
 
+#include "absl/strings/string_view.h"
 #include "rtc_base/arraysize.h"
 
 namespace {
 
-static const char* const kRTCErrorTypeNames[] = {
+const absl::string_view kRTCErrorTypeNames[] = {
     "NONE",
     "UNSUPPORTED_OPERATION",
     "UNSUPPORTED_PARAMETER",
@@ -52,10 +53,9 @@
   message_ = std::move(message);
 }
 
-// TODO(jonasolsson): Change to use absl::string_view when it's available.
-std::string ToString(RTCErrorType error) {
+absl::string_view ToString(RTCErrorType error) {
   int index = static_cast<int>(error);
-  return std::string(kRTCErrorTypeNames[index]);
+  return kRTCErrorTypeNames[index];
 }
 
 }  // namespace webrtc
diff --git a/api/rtc_error.h b/api/rtc_error.h
index d8db1f2..673a79a 100644
--- a/api/rtc_error.h
+++ b/api/rtc_error.h
@@ -17,6 +17,7 @@
 #include <string>
 #include <utility>  // For std::move.
 
+#include "absl/strings/string_view.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/logging.h"
 
@@ -128,8 +129,9 @@
 // Outputs the error as a friendly string. Update this method when adding a new
 // error type.
 //
-// Only intended to be used for logging/disagnostics.
-std::string ToString(RTCErrorType error);
+// Only intended to be used for logging/diagnostics. The string_view points
+// to literal string that lives for the whole duration of the program.
+absl::string_view ToString(RTCErrorType error);
 
 #ifdef UNIT_TEST
 inline std::ostream& operator<<(  // no-presubmit-check TODO(webrtc:8982)