perf: prefer base::StringPiece over std::string for build-time strings (#38717)

* perf: use base::StringPiece in InclusionStatusToString()

The strings are all build-time constants and this is a private function

* perf: use base::StringPiece in ErrorCodeToString()

The strings are all build-time constants and this is a private function

* perf: use base::StringPiece in MessageSourceToString()

The strings are all build-time constants and this is a private function

* perf: use base::StringPiece in CursorTypeToString()

The strings are all build-time constants and this is a private function

* perf: use base::StringPiece in MediaStreamTypeToString()

The strings are all build-time constants and this is a private function

* perf: use base::StringPiece in ModifiersToArray()

The strings are all build-time constants and this is a private function

* perf: use base::StringPiece in WebFrameRenderer::MaybeGetRenderFrame()

The strings are all build-time constants and this is a private function
This commit is contained in:
Charles Kerr 2023-06-12 02:55:22 -05:00 committed by GitHub
parent fa6d14c22d
commit ab49e98401
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 44 additions and 40 deletions

View file

@ -169,7 +169,7 @@ base::Time ParseTimeProperty(const absl::optional<double>& value) {
return base::Time::FromDoubleT(*value);
}
std::string InclusionStatusToString(net::CookieInclusionStatus status) {
base::StringPiece InclusionStatusToString(net::CookieInclusionStatus status) {
if (status.HasExclusionReason(net::CookieInclusionStatus::EXCLUDE_HTTP_ONLY))
return "Failed to create httponly cookie";
if (status.HasExclusionReason(

View file

@ -167,7 +167,7 @@ const char* const kBuiltinSchemes[] = {
};
// Convert error code to string.
std::string ErrorCodeToString(ProtocolError error) {
constexpr base::StringPiece ErrorCodeToString(ProtocolError error) {
switch (error) {
case ProtocolError::kRegistered:
return "The scheme has been registered";

View file

@ -25,33 +25,36 @@ namespace electron::api {
namespace {
std::string MessageSourceToString(
constexpr base::StringPiece MessageSourceToString(
const blink::mojom::ConsoleMessageSource source) {
if (source == blink::mojom::ConsoleMessageSource::kXml)
return "xml";
if (source == blink::mojom::ConsoleMessageSource::kJavaScript)
return "javascript";
if (source == blink::mojom::ConsoleMessageSource::kNetwork)
return "network";
if (source == blink::mojom::ConsoleMessageSource::kConsoleApi)
return "console-api";
if (source == blink::mojom::ConsoleMessageSource::kStorage)
return "storage";
if (source == blink::mojom::ConsoleMessageSource::kRendering)
return "rendering";
if (source == blink::mojom::ConsoleMessageSource::kSecurity)
return "security";
if (source == blink::mojom::ConsoleMessageSource::kDeprecation)
return "deprecation";
if (source == blink::mojom::ConsoleMessageSource::kWorker)
return "worker";
if (source == blink::mojom::ConsoleMessageSource::kViolation)
return "violation";
if (source == blink::mojom::ConsoleMessageSource::kIntervention)
return "intervention";
if (source == blink::mojom::ConsoleMessageSource::kRecommendation)
return "recommendation";
return "other";
switch (source) {
case blink::mojom::ConsoleMessageSource::kXml:
return "xml";
case blink::mojom::ConsoleMessageSource::kJavaScript:
return "javascript";
case blink::mojom::ConsoleMessageSource::kNetwork:
return "network";
case blink::mojom::ConsoleMessageSource::kConsoleApi:
return "console-api";
case blink::mojom::ConsoleMessageSource::kStorage:
return "storage";
case blink::mojom::ConsoleMessageSource::kRendering:
return "rendering";
case blink::mojom::ConsoleMessageSource::kSecurity:
return "security";
case blink::mojom::ConsoleMessageSource::kDeprecation:
return "deprecation";
case blink::mojom::ConsoleMessageSource::kWorker:
return "worker";
case blink::mojom::ConsoleMessageSource::kViolation:
return "violation";
case blink::mojom::ConsoleMessageSource::kIntervention:
return "intervention";
case blink::mojom::ConsoleMessageSource::kRecommendation:
return "recommendation";
default:
return "other";
}
}
v8::Local<v8::Value> ServiceWorkerRunningInfoToDict(

View file

@ -379,8 +379,9 @@ namespace electron::api {
namespace {
std::string CursorTypeToString(const ui::Cursor& cursor) {
switch (cursor.type()) {
constexpr base::StringPiece CursorTypeToString(
ui::mojom::CursorType cursor_type) {
switch (cursor_type) {
case ui::mojom::CursorType::kPointer:
return "pointer";
case ui::mojom::CursorType::kCross:
@ -3500,14 +3501,14 @@ bool WebContents::IsBeingCaptured() {
void WebContents::OnCursorChanged(const ui::Cursor& cursor) {
if (cursor.type() == ui::mojom::CursorType::kCustom) {
Emit("cursor-changed", CursorTypeToString(cursor),
Emit("cursor-changed", CursorTypeToString(cursor.type()),
gfx::Image::CreateFrom1xBitmap(cursor.custom_bitmap()),
cursor.image_scale_factor(),
gfx::Size(cursor.custom_bitmap().width(),
cursor.custom_bitmap().height()),
cursor.custom_hotspot());
} else {
Emit("cursor-changed", CursorTypeToString(cursor));
Emit("cursor-changed", CursorTypeToString(cursor.type()));
}
}