It's going to be removed from Chromium, see https://crbug.com/812523.

/cc @electron/code-owners 
shell/browser/api/electron_api_app.cc
if (HasSingleInstanceLock())
    return true;
  base::FilePath user_dir;
  base::PathService::Get(DIR_USER_DATA, &user_dir);
  auto cb = base::BindRepeating(&App::OnSecondInstance, base::Unretained(this));
  process_singleton_ = std::make_unique<ProcessSingleton>(
      user_dir, base::BindRepeating(NotificationCallbackWrapper, cb));
  switch (process_singleton_->NotifyOtherProcessOrCreate()) {
    case ProcessSingleton::NotifyResult::LOCK_ERROR:
    case ProcessSingleton::NotifyResult::PROFILE_IN_USE:
    case ProcessSingleton::NotifyResult::PROCESS_NOTIFIED: {
      process_singleton_.reset();
      return false;
    }
    case ProcessSingleton::NotifyResult::PROCESS_NONE:
    default:  
      return true;
  }
}
void App::ReleaseSingleInstanceLock() {
  if (process_singleton_) {
    process_singleton_->Cleanup();
    process_singleton_.reset();
  }
}
bool App::Relaunch(gin_helper::Arguments* js_args) {