without_activation -> activate
authorKevin Sawicki <kevinsawicki@gmail.com>
Tue, 16 Feb 2016 23:55:37 +0000 (15:55 -0800)
committerKevin Sawicki <kevinsawicki@gmail.com>
Wed, 17 Feb 2016 16:56:58 +0000 (08:56 -0800)
atom/common/api/atom_api_shell.cc
atom/common/api/lib/shell.js
atom/common/platform_util.h
atom/common/platform_util_linux.cc
atom/common/platform_util_mac.mm
atom/common/platform_util_win.cc

index d479911..d0e795e 100644 (file)
 
 namespace {
 
-bool OpenExternal(const GURL& url, mate::Arguments* args) {
-  bool without_activation = false;
-  if (args->Length() == 2) {
-    mate::Dictionary options;
-    args->GetNext(&options);
-    options.Get("withoutActivation", &without_activation);
-  }
-  return platform_util::OpenExternal(url, without_activation);
-}
-
 void Initialize(v8::Local<v8::Object> exports, v8::Local<v8::Value> unused,
                 v8::Local<v8::Context> context, void* priv) {
   mate::Dictionary dict(context->GetIsolate(), exports);
   dict.SetMethod("showItemInFolder", &platform_util::ShowItemInFolder);
   dict.SetMethod("openItem", &platform_util::OpenItem);
-  dict.SetMethod("openExternal", &OpenExternal);
+  dict.SetMethod("_openExternal", &platform_util::OpenExternal);
   dict.SetMethod("moveItemToTrash", &platform_util::MoveItemToTrash);
   dict.SetMethod("beep", &platform_util::Beep);
 }
index 08cc4e8..e032a73 100644 (file)
@@ -1 +1,17 @@
-module.exports = process.atomBinding('shell');
+'use strict';
+
+const bindings = process.atomBinding('shell');
+
+exports.beep = bindings.beep;
+exports.moveItemToTrash = bindings.moveItemToTrash;
+exports.openItem = bindings.openItem;
+exports.showItemInFolder = bindings.showItemInFolder;
+
+exports.openExternal = (url, options) => {
+  var activate = true;
+  if (options != null && options.activate != null) {
+    activate = !!options.activate;
+  }
+
+  bindings._openExternal(url, activate);
+}
index 3550c24..4565221 100644 (file)
@@ -23,7 +23,7 @@ void OpenItem(const base::FilePath& full_path);
 
 // Open the given external protocol URL in the desktop's default manner.
 // (For example, mailto: URLs in the default mail user agent.)
-bool OpenExternal(const GURL& url, const bool without_activation);
+bool OpenExternal(const GURL& url, bool activate);
 
 // Move a file to trash.
 bool MoveItemToTrash(const base::FilePath& full_path);
index fd4dcba..1e437b8 100644 (file)
@@ -64,7 +64,7 @@ void OpenItem(const base::FilePath& full_path) {
   XDGOpen(full_path.value());
 }
 
-bool OpenExternal(const GURL& url, const bool without_activation) {
+bool OpenExternal(const GURL& url, bool activate) {
   if (url.SchemeIs("mailto"))
     return XDGEmail(url.spec());
   else
index e84b3fb..98bc4e5 100644 (file)
@@ -119,7 +119,7 @@ void OpenItem(const base::FilePath& full_path) {
   }
 }
 
-bool OpenExternal(const GURL& url, const bool without_activation) {
+bool OpenExternal(const GURL& url, bool activate) {
   DCHECK([NSThread isMainThread]);
   NSURL* ns_url = net::NSURLWithGURL(url);
   if (!ns_url) {
@@ -137,8 +137,8 @@ bool OpenExternal(const GURL& url, const bool without_activation) {
   CFRelease(openingApp);  // NOT A BUG; LSGetApplicationForURL retains for us
 
   NSUInteger launchOptions = NSWorkspaceLaunchDefault;
-  if (without_activation)
-    launchOptions = launchOptions | NSWorkspaceLaunchWithoutActivation;
+  if (!activate)
+    launchOptions |= NSWorkspaceLaunchWithoutActivation;
 
   return [[NSWorkspace sharedWorkspace] openURLs: @[ns_url]
                                         withAppBundleIdentifier: nil
index 76b71cb..12591a9 100644 (file)
@@ -301,7 +301,7 @@ void OpenItem(const base::FilePath& full_path) {
     ui::win::OpenFileViaShell(full_path);
 }
 
-bool OpenExternal(const GURL& url, const bool without_activation) {
+bool OpenExternal(const GURL& url, bool activate) {
   // Quote the input scheme to be sure that the command does not have
   // parameters unexpected by the external program. This url should already
   // have been escaped.