From ceaa0e26c71898d0aecaf128c60f8684b29743e0 Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Thu, 20 Feb 2025 18:19:36 -0600 Subject: [PATCH] refactor: use base::as_string_view() (#45722) 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 --- 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 aa5b44dd5e59..61440400e752 100644 --- 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 75ebdd644142..c5d28e6b8793 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" @@ -903,8 +904,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)));