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);
}
-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);
+}
// 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);
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
}
}
-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) {
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
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.