appease the linter

This commit is contained in:
Shelley Vohr 2017-07-26 18:29:10 -07:00
parent 919d7fa22e
commit 24ab5075e7
3 changed files with 77 additions and 68 deletions

View file

@ -18,15 +18,15 @@ namespace mate {
template<> template<>
struct Converter<base::Time> { struct Converter<base::Time> {
static v8::Local<v8::Value> ToV8(v8::Isolate* isolate, static v8::Local<v8::Value> ToV8(v8::Isolate* isolate,
const base::Time& val) { const base::Time& val) {
v8::MaybeLocal<v8::Value> date = v8::Date::New( v8::MaybeLocal<v8::Value> date = v8::Date::New(
isolate->GetCurrentContext(), val.ToJsTime()); isolate->GetCurrentContext(), val.ToJsTime());
if (date.IsEmpty()) if (date.IsEmpty())
return v8::Null(isolate); return v8::Null(isolate);
else else
return date.ToLocalChecked(); return date.ToLocalChecked();
} }
}; };
} // namespace mate } // namespace mate
@ -36,102 +36,108 @@ namespace atom {
namespace api { namespace api {
AutoUpdater::AutoUpdater(v8::Isolate* isolate) { AutoUpdater::AutoUpdater(v8::Isolate* isolate) {
auto_updater::AutoUpdater::SetDelegate(this); auto_updater::AutoUpdater::SetDelegate(this);
Init(isolate); Init(isolate);
} }
AutoUpdater::~AutoUpdater() { AutoUpdater::~AutoUpdater() {
auto_updater::AutoUpdater::SetDelegate(nullptr); auto_updater::AutoUpdater::SetDelegate(nullptr);
} }
void AutoUpdater::OnError(const std::string& message) { void AutoUpdater::OnError(const std::string& message) {
v8::Locker locker(isolate()); v8::Locker locker(isolate());
v8::HandleScope handle_scope(isolate()); v8::HandleScope handle_scope(isolate());
auto error = v8::Exception::Error(mate::StringToV8(isolate(), message)); auto error = v8::Exception::Error(mate::StringToV8(isolate(), message));
mate::EmitEvent( mate::EmitEvent(
isolate(), isolate(),
GetWrapper(), GetWrapper(),
"error", "error",
error->ToObject(isolate()->GetCurrentContext()).ToLocalChecked(), error->ToObject(
// Message is also emitted to keep compatibility with old code. isolate()->GetCurrentContext()).ToLocalChecked(),
message); message);
} }
void AutoUpdater::OnError(const std::string& message, const int code, const std::string& domain) { void AutoUpdater::OnError(const std::string& message,
v8::Locker locker(isolate()); const int code, const std::string& domain) {
v8::HandleScope handle_scope(isolate()); v8::Locker locker(isolate());
auto error = v8::Exception::Error(mate::StringToV8(isolate(), message)); v8::HandleScope handle_scope(isolate());
auto errorObject = error->ToObject(isolate()->GetCurrentContext()).ToLocalChecked(); auto error = v8::Exception::Error(
mate::StringToV8(isolate(), message));
auto errorObject = error->ToObject(
isolate()->GetCurrentContext()).ToLocalChecked();
// add two new params for better error handling // add two new params for better error handling
errorObject->Set(mate::StringToV8(isolate(), "code"), v8::Integer::New(isolate(), code)); errorObject->Set(mate::StringToV8(isolate(), "code"),
errorObject->Set(mate::StringToV8(isolate(), "domain"), mate::StringToV8(isolate(), domain)); v8::Integer::New(isolate(), code));
errorObject->Set(mate::StringToV8(isolate(), "domain"),
mate::StringToV8(isolate(), domain));
mate::EmitEvent( mate::EmitEvent(
isolate(), isolate(),
GetWrapper(), GetWrapper(),
"error", "error",
errorObject, errorObject,
message); message);
} }
void AutoUpdater::OnCheckingForUpdate() { void AutoUpdater::OnCheckingForUpdate() {
Emit("checking-for-update"); Emit("checking-for-update");
} }
void AutoUpdater::OnUpdateAvailable() { void AutoUpdater::OnUpdateAvailable() {
Emit("update-available"); Emit("update-available");
} }
void AutoUpdater::OnUpdateNotAvailable() { void AutoUpdater::OnUpdateNotAvailable() {
Emit("update-not-available"); Emit("update-not-available");
} }
void AutoUpdater::OnUpdateDownloaded(const std::string& release_notes, void AutoUpdater::OnUpdateDownloaded(const std::string& release_notes,
const std::string& release_name, const std::string& release_name,
const base::Time& release_date, const base::Time& release_date,
const std::string& url) { const std::string& url) {
Emit("update-downloaded", release_notes, release_name, release_date, url, Emit("update-downloaded", release_notes, release_name, release_date,
// Keep compatibility with old APIs. url, base::Bind(&AutoUpdater::QuitAndInstall,
base::Bind(&AutoUpdater::QuitAndInstall, base::Unretained(this))); base::Unretained(this)));
} }
void AutoUpdater::OnWindowAllClosed() { void AutoUpdater::OnWindowAllClosed() {
QuitAndInstall(); QuitAndInstall();
} }
void AutoUpdater::SetFeedURL(const std::string& url, mate::Arguments* args) { void AutoUpdater::SetFeedURL(const std::string& url, mate::Arguments* args) {
auto_updater::AutoUpdater::HeaderMap headers; auto_updater::AutoUpdater::HeaderMap headers;
args->GetNext(&headers); args->GetNext(&headers);
auto_updater::AutoUpdater::SetFeedURL(url, headers); auto_updater::AutoUpdater::SetFeedURL(url, headers);
} }
void AutoUpdater::QuitAndInstall() { void AutoUpdater::QuitAndInstall() {
// If we don't have any window then quitAndInstall immediately. // If we don't have any window then quitAndInstall immediately.
if (WindowList::IsEmpty()) { if (WindowList::IsEmpty()) {
auto_updater::AutoUpdater::QuitAndInstall(); auto_updater::AutoUpdater::QuitAndInstall();
return; return;
} }
// Otherwise do the restart after all windows have been closed. // Otherwise do the restart after all windows have been closed.
WindowList::AddObserver(this); WindowList::AddObserver(this);
WindowList::CloseAllWindows(); WindowList::CloseAllWindows();
} }
// static // static
mate::Handle<AutoUpdater> AutoUpdater::Create(v8::Isolate* isolate) { mate::Handle<AutoUpdater> AutoUpdater::Create(v8::Isolate* isolate) {
return mate::CreateHandle(isolate, new AutoUpdater(isolate)); return mate::CreateHandle(isolate, new AutoUpdater(isolate));
} }
// static // static
void AutoUpdater::BuildPrototype( void AutoUpdater::BuildPrototype(
v8::Isolate* isolate, v8::Local<v8::FunctionTemplate> prototype) { v8::Isolate* isolate, v8::Local<v8::FunctionTemplate> prototype) {
prototype->SetClassName(mate::StringToV8(isolate, "AutoUpdater")); prototype->SetClassName(mate::StringToV8(isolate, "AutoUpdater"));
mate::ObjectTemplateBuilder(isolate, prototype->PrototypeTemplate()) mate::ObjectTemplateBuilder(isolate, prototype->PrototypeTemplate())
.SetMethod("checkForUpdates", &auto_updater::AutoUpdater::CheckForUpdates) .SetMethod("checkForUpdates",
.SetMethod("getFeedURL", &auto_updater::AutoUpdater::GetFeedURL) &auto_updater::AutoUpdater::CheckForUpdates)
.SetMethod("setFeedURL", &AutoUpdater::SetFeedURL) .SetMethod("getFeedURL", &auto_updater::AutoUpdater::GetFeedURL)
.SetMethod("quitAndInstall", &AutoUpdater::QuitAndInstall); .SetMethod("setFeedURL", &AutoUpdater::SetFeedURL)
.SetMethod("quitAndInstall", &AutoUpdater::QuitAndInstall);
} }
} // namespace api } // namespace api
@ -145,10 +151,11 @@ using atom::api::AutoUpdater;
void Initialize(v8::Local<v8::Object> exports, v8::Local<v8::Value> unused, void Initialize(v8::Local<v8::Object> exports, v8::Local<v8::Value> unused,
v8::Local<v8::Context> context, void* priv) { v8::Local<v8::Context> context, void* priv) {
v8::Isolate* isolate = context->GetIsolate(); v8::Isolate* isolate = context->GetIsolate();
mate::Dictionary dict(isolate, exports); mate::Dictionary dict(isolate, exports);
dict.Set("autoUpdater", AutoUpdater::Create(isolate)); dict.Set("autoUpdater", AutoUpdater::Create(isolate));
dict.Set("AutoUpdater", AutoUpdater::GetConstructor(isolate)->GetFunction()); dict.Set("AutoUpdater",
AutoUpdater::GetConstructor(isolate)->GetFunction());
} }
} // namespace } // namespace

View file

@ -32,7 +32,8 @@ class AutoUpdater : public mate::EventEmitter<AutoUpdater>,
// Delegate implementations. // Delegate implementations.
void OnError(const std::string& error) override; void OnError(const std::string& error) override;
void OnError(const std::string& message, const int code, const std::string& domain); void OnError(const std::string& message,
const int code, const std::string& domain);
void OnCheckingForUpdate() override; void OnCheckingForUpdate() override;
void OnUpdateAvailable() override; void OnUpdateAvailable() override;
void OnUpdateNotAvailable() override; void OnUpdateNotAvailable() override;

View file

@ -22,7 +22,8 @@ class Delegate {
// An error happened. // An error happened.
virtual void OnError(const std::string& error) {} virtual void OnError(const std::string& error) {}
virtual void OnError(const std::string& error, const int code, const std::string& domain) {} virtual void OnError(const std::string& error,
const int code, const std::string& domain) {}
// Checking to see if there is an update // Checking to see if there is an update
virtual void OnCheckingForUpdate() {} virtual void OnCheckingForUpdate() {}