perf: prefer NewFromUtf8Literal() over NewFromUtf8() for string literals (#44412)

* perf: prefer NewFromUtf8Literal() over NewFromUtf8() for string literals

the string length is known at compile time and no need to call ToLocalChecked()

* perf: string length is known when calling NewFromUtf8(), so use it

* perf: remove unnecessary calls to c_str()

these just force the code being called to have to recalculate the string length
This commit is contained in:
Charles Kerr 2024-10-28 08:12:32 -05:00 committed by GitHub
parent 348801b20e
commit 5d0d15a0b3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 22 additions and 24 deletions

View file

@ -122,11 +122,11 @@ void ElectronRendererClient::DidCreateScriptContext(
"Headers"};
for (const auto& key : keys) {
v8::MaybeLocal<v8::Value> value =
global->Get(renderer_context, gin::StringToV8(isolate, key.c_str()));
global->Get(renderer_context, gin::StringToV8(isolate, key));
if (!value.IsEmpty()) {
std::string blink_key = "blink" + key;
global
->Set(renderer_context, gin::StringToV8(isolate, blink_key.c_str()),
->Set(renderer_context, gin::StringToV8(isolate, blink_key),
value.ToLocalChecked())
.Check();
}