Index: chrome/browser/ui/webui/options2/advanced_options_utils_mac.mm |
diff --git a/chrome/browser/ui/webui/options2/advanced_options_utils_mac.mm b/chrome/browser/ui/webui/options2/advanced_options_utils_mac.mm |
new file mode 100644 |
index 0000000000000000000000000000000000000000..c1e5b5243b461a47316d0a78b8b64cb0b5ec1cd7 |
--- /dev/null |
+++ b/chrome/browser/ui/webui/options2/advanced_options_utils_mac.mm |
@@ -0,0 +1,41 @@ |
+// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#import <Cocoa/Cocoa.h> |
+ |
+#include "chrome/browser/ui/webui/options2/advanced_options_utils.h" |
+ |
+#include "base/logging.h" |
+#include "base/mac/scoped_aedesc.h" |
+ |
+void AdvancedOptionsUtilities::ShowNetworkProxySettings( |
+ TabContents* tab_contents) { |
+ NSArray* itemsToOpen = [NSArray arrayWithObject:[NSURL fileURLWithPath: |
+ @"/System/Library/PreferencePanes/Network.prefPane"]]; |
+ |
+ const char* proxyPrefCommand = "Proxies"; |
+ base::mac::ScopedAEDesc<> openParams; |
+ OSStatus status = AECreateDesc('ptru', |
+ proxyPrefCommand, |
+ strlen(proxyPrefCommand), |
+ openParams.OutPointer()); |
+ LOG_IF(ERROR, status != noErr) << "Failed to create open params: " << status; |
+ |
+ LSLaunchURLSpec launchSpec = { 0 }; |
+ launchSpec.itemURLs = (CFArrayRef)itemsToOpen; |
+ launchSpec.passThruParams = openParams; |
+ launchSpec.launchFlags = kLSLaunchAsync | kLSLaunchDontAddToRecents; |
+ LSOpenFromURLSpec(&launchSpec, NULL); |
+} |
+ |
+void AdvancedOptionsUtilities::ShowManageSSLCertificates( |
+ TabContents* tab_contents) { |
+ NSString* const kKeychainBundleId = @"com.apple.keychainaccess"; |
+ [[NSWorkspace sharedWorkspace] |
+ launchAppWithBundleIdentifier:kKeychainBundleId |
+ options:0L |
+ additionalEventParamDescriptor:nil |
+ launchIdentifier:nil]; |
+} |
+ |