perf: avoid unnecessary base value clone (#38564)

This commit is contained in:
trop[bot]
2023-06-02 17:04:19 -05:00
committed by GitHub
parent 9bbd85c2ba
commit e12b30b6ce
6 changed files with 23 additions and 28 deletions

View File

@@ -14,7 +14,7 @@ namespace electron {
NSArray* ListValueToNSArray(const base::Value::List& value) {
std::string json;
if (!base::JSONWriter::Write(base::Value(value.Clone()), &json))
if (!base::JSONWriter::Write(base::ValueView{value}, &json))
return nil;
NSData* jsonData = [NSData dataWithBytes:json.c_str() length:json.length()];
id obj = [NSJSONSerialization JSONObjectWithData:jsonData
@@ -57,7 +57,7 @@ base::Value::List NSArrayToValue(NSArray* arr) {
NSDictionary* DictionaryValueToNSDictionary(const base::Value::Dict& value) {
std::string json;
if (!base::JSONWriter::Write(base::Value(value.Clone()), &json))
if (!base::JSONWriter::Write(base::ValueView{value}, &json))
return nil;
NSData* jsonData = [NSData dataWithBytes:json.c_str() length:json.length()];
id obj = [NSJSONSerialization JSONObjectWithData:jsonData