refactor: pass base::Value by value in JS API implementations (#20809)

* refactor: move the arg instead of const reference it

* refactor: avoid unnecessary copies of base::Value in arg

* refactor: pass-by-value in dict_util

* refactor: avoid unnecessary reference
This commit is contained in:
Cheng Zhao 2019-10-30 14:30:59 +09:00 committed by GitHub
parent c03ed6d3a1
commit 0ab9cc30d2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
26 changed files with 108 additions and 144 deletions

View file

@ -60,10 +60,9 @@ static base::mac::ScopedObjCClassSwizzler* g_swizzle_imk_input_session;
NSUserNotification* user_notification =
[notify userInfo][(id) @"NSApplicationLaunchUserNotificationKey"];
if (user_notification.userInfo != nil) {
std::unique_ptr<base::DictionaryValue> launch_info =
electron::NSDictionaryToDictionaryValue(user_notification.userInfo);
electron::Browser::Get()->DidFinishLaunching(*launch_info);
if (user_notification.userInfo) {
electron::Browser::Get()->DidFinishLaunching(
electron::NSDictionaryToDictionaryValue(user_notification.userInfo));
} else {
electron::Browser::Get()->DidFinishLaunching(base::DictionaryValue());
}
@ -108,13 +107,15 @@ static base::mac::ScopedObjCClassSwizzler* g_swizzle_imk_input_session;
#endif
restorationHandler {
std::string activity_type(base::SysNSStringToUTF8(userActivity.activityType));
std::unique_ptr<base::DictionaryValue> user_info =
electron::NSDictionaryToDictionaryValue(userActivity.userInfo);
if (!user_info)
if (!userActivity.userInfo)
return NO;
electron::Browser* browser = electron::Browser::Get();
return browser->ContinueUserActivity(activity_type, *user_info) ? YES : NO;
return browser->ContinueUserActivity(
activity_type,
electron::NSDictionaryToDictionaryValue(userActivity.userInfo))
? YES
: NO;
}
- (BOOL)application:(NSApplication*)application