Browse Source

Do not add JS wrapper for setFeedURL

When possible we should avoid adding wrappers in JS, it usually makes
code more difficult to mantain
Cheng Zhao 8 years ago
parent
commit
a3786f66c9

+ 7 - 1
atom/browser/api/atom_api_auto_updater.cc

@@ -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);
 }
 

+ 2 - 0
atom/browser/api/atom_api_auto_updater.h

@@ -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);

+ 1 - 1
docs/api/auto-updater.md

@@ -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.
 

+ 0 - 4
lib/browser/api/auto-updater/auto-updater-native.js

@@ -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