Delete rtc::string_trim. Replaced with absl::StripAsciiWhitespace.
Bug: webrtc:6424, webrtc:13579
Change-Id: I222e1bfb62d5f1f1a2c74e5fce1038e04e7bebfb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/255824
Reviewed-by: Ali Tofigh <alito@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36234}
diff --git a/modules/desktop_capture/win/full_screen_win_application_handler.cc b/modules/desktop_capture/win/full_screen_win_application_handler.cc
index ad45047..4222dfc 100644
--- a/modules/desktop_capture/win/full_screen_win_application_handler.cc
+++ b/modules/desktop_capture/win/full_screen_win_application_handler.cc
@@ -9,11 +9,14 @@
*/
#include "modules/desktop_capture/win/full_screen_win_application_handler.h"
+
#include <algorithm>
#include <cwctype>
#include <memory>
#include <string>
#include <vector>
+
+#include "absl/strings/ascii.h"
#include "absl/strings/match.h"
#include "modules/desktop_capture/win/screen_capture_utils.h"
#include "modules/desktop_capture/win/window_capture_utils.h"
@@ -145,7 +148,8 @@
std::string GetDocumentFromEditorTitle(HWND window) const {
std::string title = WindowText(window);
auto position = title.find(kDocumentTitleSeparator);
- return rtc::string_trim(title.substr(0, position));
+ return std::string(absl::StripAsciiWhitespace(
+ absl::string_view(title).substr(0, position)));
}
std::string GetDocumentFromSlideShowTitle(HWND window) const {
@@ -158,12 +162,13 @@
if (right_pos > left_pos + kSeparatorLength) {
auto result_len = right_pos - left_pos - kSeparatorLength;
- auto document = title.substr(left_pos + kSeparatorLength, result_len);
- return rtc::string_trim(document);
+ auto document = absl::string_view(title).substr(
+ left_pos + kSeparatorLength, result_len);
+ return std::string(absl::StripAsciiWhitespace(document));
} else {
- auto document =
- title.substr(left_pos + kSeparatorLength, std::wstring::npos);
- return rtc::string_trim(document);
+ auto document = absl::string_view(title).substr(
+ left_pos + kSeparatorLength, std::wstring::npos);
+ return std::string(absl::StripAsciiWhitespace(document));
}
}
diff --git a/pc/webrtc_sdp.cc b/pc/webrtc_sdp.cc
index ea7a148..12e9dd8 100644
--- a/pc/webrtc_sdp.cc
+++ b/pc/webrtc_sdp.cc
@@ -25,6 +25,7 @@
#include <vector>
#include "absl/algorithm/container.h"
+#include "absl/strings/ascii.h"
#include "api/candidate.h"
#include "api/crypto_params.h"
#include "api/jsep_ice_candidate.h"
@@ -349,7 +350,7 @@
const cricket::MediaType media_type,
MediaContentDescription* media_desc,
SdpParseError* error);
-static bool ParseFmtpParam(const std::string& line,
+static bool ParseFmtpParam(absl::string_view line,
std::string* parameter,
std::string* value,
SdpParseError* error);
@@ -3643,14 +3644,14 @@
return true;
}
-bool ParseFmtpParam(const std::string& line,
+bool ParseFmtpParam(absl::string_view line,
std::string* parameter,
std::string* value,
SdpParseError* error) {
if (!rtc::tokenize_first(line, kSdpDelimiterEqualChar, parameter, value)) {
// Support for non-key-value lines like RFC 2198 or RFC 4733.
*parameter = "";
- *value = line;
+ *value = std::string(line);
return true;
}
// a=fmtp:<payload_type> <param1>=<value1>; <param2>=<value2>; ...
@@ -3693,14 +3694,13 @@
}
// Parse out format specific parameters.
- std::vector<std::string> fields;
- rtc::split(line_params, kSdpDelimiterSemicolonChar, &fields);
-
cricket::CodecParameterMap codec_params;
- for (auto& iter : fields) {
+ for (absl::string_view param :
+ rtc::split(line_params, kSdpDelimiterSemicolonChar)) {
std::string name;
std::string value;
- if (!ParseFmtpParam(rtc::string_trim(iter), &name, &value, error)) {
+ if (!ParseFmtpParam(absl::StripAsciiWhitespace(param), &name, &value,
+ error)) {
return false;
}
if (codec_params.find(name) != codec_params.end()) {
diff --git a/rtc_base/string_utils.cc b/rtc_base/string_utils.cc
index 1720c62..c034335 100644
--- a/rtc_base/string_utils.cc
+++ b/rtc_base/string_utils.cc
@@ -30,19 +30,6 @@
return srclen;
}
-static const char kWhitespace[] = " \n\r\t";
-
-std::string string_trim(const std::string& s) {
- std::string::size_type first = s.find_first_not_of(kWhitespace);
- std::string::size_type last = s.find_last_not_of(kWhitespace);
-
- if (first == std::string::npos || last == std::string::npos) {
- return std::string("");
- }
-
- return s.substr(first, last - first + 1);
-}
-
std::string ToHex(const int i) {
char buffer[50];
snprintf(buffer, sizeof(buffer), "%x", i);
diff --git a/rtc_base/string_utils.h b/rtc_base/string_utils.h
index 6e8b0b5..1bb9d17 100644
--- a/rtc_base/string_utils.h
+++ b/rtc_base/string_utils.h
@@ -82,9 +82,6 @@
#endif // WEBRTC_WIN
-// Remove leading and trailing whitespaces.
-std::string string_trim(const std::string& s);
-
// TODO(jonasolsson): replace with absl::Hex when that becomes available.
std::string ToHex(int i);
diff --git a/rtc_base/string_utils_unittest.cc b/rtc_base/string_utils_unittest.cc
index 120f7e6..4e4bebd 100644
--- a/rtc_base/string_utils_unittest.cc
+++ b/rtc_base/string_utils_unittest.cc
@@ -14,14 +14,6 @@
namespace rtc {
-TEST(string_trim_Test, Trimming) {
- EXPECT_EQ("temp", string_trim("\n\r\t temp \n\r\t"));
- EXPECT_EQ("temp\n\r\t temp", string_trim(" temp\n\r\t temp "));
- EXPECT_EQ("temp temp", string_trim("temp temp"));
- EXPECT_EQ("", string_trim(" \r\n\t"));
- EXPECT_EQ("", string_trim(""));
-}
-
TEST(string_toHexTest, ToHex) {
EXPECT_EQ(ToHex(0), "0");
EXPECT_EQ(ToHex(0X1243E), "1243e");