Merge pull request #6486 from MarshallOfSound/master
Add a getFeedURL API for the autoUpdater
This commit is contained in:
commit
5db758297f
8 changed files with 39 additions and 0 deletions
|
@ -109,6 +109,7 @@ void AutoUpdater::BuildPrototype(
|
||||||
v8::Isolate* isolate, v8::Local<v8::ObjectTemplate> prototype) {
|
v8::Isolate* isolate, v8::Local<v8::ObjectTemplate> prototype) {
|
||||||
mate::ObjectTemplateBuilder(isolate, prototype)
|
mate::ObjectTemplateBuilder(isolate, prototype)
|
||||||
.SetMethod("checkForUpdates", &auto_updater::AutoUpdater::CheckForUpdates)
|
.SetMethod("checkForUpdates", &auto_updater::AutoUpdater::CheckForUpdates)
|
||||||
|
.SetMethod("getFeedURL", &auto_updater::AutoUpdater::GetFeedURL)
|
||||||
.SetMethod("setFeedURL", &AutoUpdater::SetFeedURL)
|
.SetMethod("setFeedURL", &AutoUpdater::SetFeedURL)
|
||||||
.SetMethod("quitAndInstall", &AutoUpdater::QuitAndInstall);
|
.SetMethod("quitAndInstall", &AutoUpdater::QuitAndInstall);
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,6 +44,7 @@ class AutoUpdater : public mate::EventEmitter<AutoUpdater>,
|
||||||
void OnWindowAllClosed() override;
|
void OnWindowAllClosed() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
std::string GetFeedURL();
|
||||||
void SetFeedURL(const std::string& url, mate::Arguments* args);
|
void SetFeedURL(const std::string& url, mate::Arguments* args);
|
||||||
void QuitAndInstall();
|
void QuitAndInstall();
|
||||||
|
|
||||||
|
|
|
@ -17,6 +17,10 @@ void AutoUpdater::SetDelegate(Delegate* delegate) {
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !defined(OS_MACOSX) || defined(MAS_BUILD)
|
#if !defined(OS_MACOSX) || defined(MAS_BUILD)
|
||||||
|
std::string AutoUpdater::GetFeedURL() {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
void AutoUpdater::SetFeedURL(const std::string& url,
|
void AutoUpdater::SetFeedURL(const std::string& url,
|
||||||
const HeaderMap& requestHeaders) {
|
const HeaderMap& requestHeaders) {
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,6 +49,7 @@ class AutoUpdater {
|
||||||
static Delegate* GetDelegate();
|
static Delegate* GetDelegate();
|
||||||
static void SetDelegate(Delegate* delegate);
|
static void SetDelegate(Delegate* delegate);
|
||||||
|
|
||||||
|
static std::string GetFeedURL();
|
||||||
static void SetFeedURL(const std::string& url,
|
static void SetFeedURL(const std::string& url,
|
||||||
const HeaderMap& requestHeaders);
|
const HeaderMap& requestHeaders);
|
||||||
static void CheckForUpdates();
|
static void CheckForUpdates();
|
||||||
|
|
|
@ -25,9 +25,14 @@ SQRLUpdater* g_updater = nil;
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
bool g_update_available = false;
|
bool g_update_available = false;
|
||||||
|
std::string update_url_ = "";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string AutoUpdater::GetFeedURL() {
|
||||||
|
return update_url_;
|
||||||
|
}
|
||||||
|
|
||||||
// static
|
// static
|
||||||
void AutoUpdater::SetFeedURL(const std::string& feed,
|
void AutoUpdater::SetFeedURL(const std::string& feed,
|
||||||
const HeaderMap& requestHeaders) {
|
const HeaderMap& requestHeaders) {
|
||||||
|
@ -35,6 +40,8 @@ void AutoUpdater::SetFeedURL(const std::string& feed,
|
||||||
if (!delegate)
|
if (!delegate)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
update_url_ = feed;
|
||||||
|
|
||||||
NSURL* url = [NSURL URLWithString:base::SysUTF8ToNSString(feed)];
|
NSURL* url = [NSURL URLWithString:base::SysUTF8ToNSString(feed)];
|
||||||
NSMutableURLRequest* urlRequest = [NSMutableURLRequest requestWithURL:url];
|
NSMutableURLRequest* urlRequest = [NSMutableURLRequest requestWithURL:url];
|
||||||
|
|
||||||
|
|
|
@ -100,6 +100,10 @@ The `autoUpdater` object has the following methods:
|
||||||
|
|
||||||
Sets the `url` and initialize the auto updater.
|
Sets the `url` and initialize the auto updater.
|
||||||
|
|
||||||
|
### `autoUpdater.getFeedURL()`
|
||||||
|
|
||||||
|
Returns the current update feed URL.
|
||||||
|
|
||||||
### `autoUpdater.checkForUpdates()`
|
### `autoUpdater.checkForUpdates()`
|
||||||
|
|
||||||
Asks the server whether there is an update. You must call `setFeedURL` before
|
Asks the server whether there is an update. You must call `setFeedURL` before
|
||||||
|
|
|
@ -19,6 +19,10 @@ AutoUpdater.prototype.quitAndInstall = function () {
|
||||||
return app.quit()
|
return app.quit()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
AutoUpdater.prototype.getFeedURL = function () {
|
||||||
|
return this.updateURL
|
||||||
|
}
|
||||||
|
|
||||||
AutoUpdater.prototype.setFeedURL = function (updateURL, headers) {
|
AutoUpdater.prototype.setFeedURL = function (updateURL, headers) {
|
||||||
this.updateURL = updateURL
|
this.updateURL = updateURL
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,5 +33,22 @@ if (!process.mas) {
|
||||||
autoUpdater.setFeedURL('')
|
autoUpdater.setFeedURL('')
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
describe('getFeedURL', function () {
|
||||||
|
it('returns a falsey value by default', function () {
|
||||||
|
assert.ok(!autoUpdater.getFeedURL())
|
||||||
|
})
|
||||||
|
|
||||||
|
it('correctly fetches the previously set FeedURL', function (done) {
|
||||||
|
if (process.platform !== 'win32') {
|
||||||
|
return done()
|
||||||
|
}
|
||||||
|
|
||||||
|
const updateURL = 'https://fake-update.electron.io'
|
||||||
|
autoUpdater.setFeedURL(updateURL)
|
||||||
|
assert.equal(autoUpdater.getFeedURL(), updateURL)
|
||||||
|
done()
|
||||||
|
})
|
||||||
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue