Ditch double-callback, just use mate directly

This commit is contained in:
Paul Betts 2015-10-20 13:27:34 -07:00
parent a2eedcc027
commit 5d4c29a1e3
2 changed files with 7 additions and 20 deletions

View file

@ -269,23 +269,14 @@ v8::Local<v8::Value> App::DefaultSession(v8::Isolate* isolate) {
return v8::Local<v8::Value>::New(isolate, default_session_); return v8::Local<v8::Value>::New(isolate, default_session_);
} }
bool App::OnProcessSingletonNotification(
const base::CommandLine& command_line,
const base::FilePath& current_directory) {
ProcessSingleton::NotificationCallback cb;
mate::Converter<ProcessSingleton::NotificationCallback>::FromV8(isolate(), single_instance_callback_, &cb);
return cb.Run(command_line, current_directory);
}
bool App::MakeSingleInstance(v8::Local<v8::Function> callback) { bool App::MakeSingleInstance(v8::Local<v8::Function> callback) {
single_instance_callback_ = callback; single_instance_callback_ = callback;
auto browser = Browser::Get(); ProcessSingleton::NotificationCallback cb;
mate::Converter<ProcessSingleton::NotificationCallback>::FromV8(isolate(), single_instance_callback_, &cb);
auto no_refcount_this = base::Unretained(this); auto browser = Browser::Get();
browser->SetSingleInstanceCallback( browser->SetSingleInstanceCallback(cb);
base::Bind(&App::OnProcessSingletonNotification, no_refcount_this));
switch(browser->GetSingleInstanceResult()) { switch(browser->GetSingleInstanceResult()) {
case ProcessSingleton::NotifyResult::PROCESS_NONE: case ProcessSingleton::NotifyResult::PROCESS_NONE:

View file

@ -72,10 +72,6 @@ class App : public mate::EventEmitter,
bool MakeSingleInstance(v8::Local<v8::Function> callback); bool MakeSingleInstance(v8::Local<v8::Function> callback);
bool OnProcessSingletonNotification(
const base::CommandLine& command_line,
const base::FilePath& current_directory);
std::string GetLocale(); std::string GetLocale();
v8::Local<v8::Value> DefaultSession(v8::Isolate* isolate); v8::Local<v8::Value> DefaultSession(v8::Isolate* isolate);