Do not add JS wrapper for setFeedURL
authorCheng Zhao <zcbenz@gmail.com>
Mon, 13 Jun 2016 00:32:24 +0000 (09:32 +0900)
committerCheng Zhao <zcbenz@gmail.com>
Mon, 13 Jun 2016 00:38:47 +0000 (09:38 +0900)
When possible we should avoid adding wrappers in JS, it usually makes
code more difficult to mantain

atom/browser/api/atom_api_auto_updater.cc
atom/browser/api/atom_api_auto_updater.h
docs/api/auto-updater.md
lib/browser/api/auto-updater/auto-updater-native.js

index cb9bce1..54e2bd9 100644 (file)
@@ -79,6 +79,12 @@ void AutoUpdater::OnWindowAllClosed() {
   QuitAndInstall();
 }
 
+void AutoUpdater::SetFeedURL(const std::string& url, mate::Arguments* args) {
+  auto_updater::AutoUpdater::HeaderMap headers;
+  args->GetNext(&headers);
+  auto_updater::AutoUpdater::SetFeedURL(url, headers);
+}
+
 void AutoUpdater::QuitAndInstall() {
   // If we don't have any window then quitAndInstall immediately.
   WindowList* window_list = WindowList::GetInstance();
@@ -102,8 +108,8 @@ mate::Handle<AutoUpdater> AutoUpdater::Create(v8::Isolate* isolate) {
 void AutoUpdater::BuildPrototype(
     v8::Isolate* isolate, v8::Local<v8::ObjectTemplate> prototype) {
   mate::ObjectTemplateBuilder(isolate, prototype)
-      .SetMethod("_setFeedURL", &auto_updater::AutoUpdater::SetFeedURL)
       .SetMethod("checkForUpdates", &auto_updater::AutoUpdater::CheckForUpdates)
+      .SetMethod("setFeedURL", &AutoUpdater::SetFeedURL)
       .SetMethod("quitAndInstall", &AutoUpdater::QuitAndInstall);
 }
 
index 8576472..e8c135f 100644 (file)
@@ -10,6 +10,7 @@
 #include "atom/browser/api/event_emitter.h"
 #include "atom/browser/auto_updater.h"
 #include "atom/browser/window_list_observer.h"
+#include "native_mate/arguments.h"
 #include "native_mate/handle.h"
 
 namespace atom {
@@ -43,6 +44,7 @@ class AutoUpdater : public mate::EventEmitter<AutoUpdater>,
   void OnWindowAllClosed() override;
 
  private:
+  void SetFeedURL(const std::string& url, mate::Arguments* args);
   void QuitAndInstall();
 
   DISALLOW_COPY_AND_ASSIGN(AutoUpdater);
index a175276..268404d 100644 (file)
@@ -97,7 +97,7 @@ The `autoUpdater` object has the following methods:
 ### `autoUpdater.setFeedURL(url[, requestHeaders])`
 
 * `url` String
-* `requestHeaders` Object - HTTP request headers (_OS X_)
+* `requestHeaders` Object _OS X_ - HTTP request headers.
 
 Sets the `url` and initialize the auto updater.
 
index e2c79a9..1fff05d 100644 (file)
@@ -3,8 +3,4 @@ const autoUpdater = process.atomBinding('auto_updater').autoUpdater
 
 Object.setPrototypeOf(autoUpdater, EventEmitter.prototype)
 
-autoUpdater.setFeedURL = function (url, headers) {
-  return autoUpdater._setFeedURL(url, headers || {})
-}
-
 module.exports = autoUpdater