Adopt absl::string_view in rtc_base/string_utils*

Bug: webrtc:13579
Change-Id: I2def83ae546156ff0ec8ef000b7ed0c48d15777c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256721
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Ali Tofigh <alito@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36329}
diff --git a/rtc_base/http_common.cc b/rtc_base/http_common.cc
index 88639a7..5ac222f 100644
--- a/rtc_base/http_common.cc
+++ b/rtc_base/http_common.cc
@@ -282,7 +282,7 @@
     // std::string decoded = username + ":" + password;
     size_t len = username.size() + password.GetLength() + 2;
     char* sensitive = new char[len];
-    size_t pos = strcpyn(sensitive, len, username.data(), username.size());
+    size_t pos = strcpyn(sensitive, len, username);
     pos += strcpyn(sensitive + pos, len - pos, ":");
     password.CopyTo(sensitive + pos, true);
 
@@ -322,9 +322,9 @@
     // std::string A1 = username + ":" + realm + ":" + password;
     size_t len = username.size() + realm.size() + password.GetLength() + 3;
     char* sensitive = new char[len];  // A1
-    size_t pos = strcpyn(sensitive, len, username.data(), username.size());
+    size_t pos = strcpyn(sensitive, len, username);
     pos += strcpyn(sensitive + pos, len - pos, ":");
-    pos += strcpyn(sensitive + pos, len - pos, realm.c_str());
+    pos += strcpyn(sensitive + pos, len - pos, realm);
     pos += strcpyn(sensitive + pos, len - pos, ":");
     password.CopyTo(sensitive + pos, true);
 
diff --git a/rtc_base/string_utils.cc b/rtc_base/string_utils.cc
index e8c1346..b93e615 100644
--- a/rtc_base/string_utils.cc
+++ b/rtc_base/string_utils.cc
@@ -14,20 +14,15 @@
 
 namespace rtc {
 
-size_t strcpyn(char* buffer,
-               size_t buflen,
-               const char* source,
-               size_t srclen /* = SIZE_UNKNOWN */) {
+size_t strcpyn(char* buffer, size_t buflen, absl::string_view source) {
   if (buflen <= 0)
     return 0;
 
-  if (srclen == SIZE_UNKNOWN) {
-    srclen = strlen(source);
-  }
+  size_t srclen = source.length();
   if (srclen >= buflen) {
     srclen = buflen - 1;
   }
-  memcpy(buffer, source, srclen);
+  memcpy(buffer, source.data(), srclen);
   buffer[srclen] = 0;
   return srclen;
 }
diff --git a/rtc_base/string_utils.h b/rtc_base/string_utils.h
index a9cdd61..d062675 100644
--- a/rtc_base/string_utils.h
+++ b/rtc_base/string_utils.h
@@ -51,10 +51,7 @@
 };
 
 // Safe version of strncpy that always nul-terminate.
-size_t strcpyn(char* buffer,
-               size_t buflen,
-               const char* source,
-               size_t srclen = SIZE_UNKNOWN);
+size_t strcpyn(char* buffer, size_t buflen, absl::string_view source);
 
 ///////////////////////////////////////////////////////////////////////////////
 // UTF helpers (Windows only)