From 95bce0bce16dbcbe0512c6bbdd0c19f5946a119d Mon Sep 17 00:00:00 2001 From: "trop[bot]" <37223003+trop[bot]@users.noreply.github.com> Date: Fri, 21 Feb 2025 10:14:12 -0600 Subject: [PATCH] refactor: use base::as_string_view() (#45746) Use `base::as_string_view()` as a safer alternative to `reinterpret_cast` in a couple of places. Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5472408 Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Charles Kerr --- shell/browser/api/electron_api_debugger.cc | 4 ++-- shell/browser/ui/inspectable_web_contents.cc | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/shell/browser/api/electron_api_debugger.cc b/shell/browser/api/electron_api_debugger.cc index dea86a4561a4..63a7c98d1bc2 100755 --- a/shell/browser/api/electron_api_debugger.cc +++ b/shell/browser/api/electron_api_debugger.cc @@ -8,6 +8,7 @@ #include #include +#include "base/containers/span.h" #include "base/json/json_reader.h" #include "base/json/json_writer.h" #include "content/public/browser/devtools_agent_host.h" @@ -44,8 +45,7 @@ void Debugger::DispatchProtocolMessage(DevToolsAgentHost* agent_host, v8::Isolate* isolate = JavascriptEnvironment::GetIsolate(); v8::HandleScope handle_scope(isolate); - std::string_view message_str(reinterpret_cast(message.data()), - message.size()); + const std::string_view message_str = base::as_string_view(message); std::optional parsed_message = base::JSONReader::Read( message_str, base::JSON_REPLACE_INVALID_CHARACTERS); if (!parsed_message || !parsed_message->is_dict()) diff --git a/shell/browser/ui/inspectable_web_contents.cc b/shell/browser/ui/inspectable_web_contents.cc index 432b62fade96..82b64f66e87d 100644 --- a/shell/browser/ui/inspectable_web_contents.cc +++ b/shell/browser/ui/inspectable_web_contents.cc @@ -12,6 +12,7 @@ #include #include "base/base64.h" +#include "base/containers/span.h" #include "base/memory/raw_ptr.h" #include "base/metrics/histogram.h" #include "base/strings/pattern.h" @@ -909,8 +910,7 @@ void InspectableWebContents::DispatchProtocolMessage( if (!frontend_loaded_) return; - const std::string_view str_message{ - reinterpret_cast(message.data()), message.size()}; + const std::string_view str_message = base::as_string_view(message); if (str_message.length() < kMaxMessageChunkSize) { CallClientFunction("DevToolsAPI", "dispatchMessage", base::Value(std::string(str_message)));