Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(45)

Side by Side Diff: chrome/browser/ui/webui/settings_utils_linux.cc

Issue 1789543003: MD Settings: move AdvancedOptionsUtilities to a settings-accessible place (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #if !defined(OS_CHROMEOS) 5 #if !defined(OS_CHROMEOS)
6 6
7 #include "chrome/browser/ui/webui/options/advanced_options_utils.h" 7 #include "chrome/browser/ui/webui/settings_utils.h"
8 8
9 #include <stddef.h> 9 #include <stddef.h>
10 10
11 #include "base/bind.h" 11 #include "base/bind.h"
12 #include "base/environment.h" 12 #include "base/environment.h"
13 #include "base/files/file_path.h" 13 #include "base/files/file_path.h"
14 #include "base/files/file_util.h" 14 #include "base/files/file_util.h"
15 #include "base/nix/xdg_util.h" 15 #include "base/nix/xdg_util.h"
16 #include "base/process/launch.h" 16 #include "base/process/launch.h"
17 #include "base/strings/string_split.h" 17 #include "base/strings/string_split.h"
18 #include "base/strings/string_util.h" 18 #include "base/strings/string_util.h"
19 #include "build/build_config.h" 19 #include "build/build_config.h"
20 #include "chrome/browser/tab_contents/tab_util.h" 20 #include "chrome/browser/tab_contents/tab_util.h"
21 #include "content/public/browser/browser_thread.h" 21 #include "content/public/browser/browser_thread.h"
22 #include "content/public/browser/render_process_host.h" 22 #include "content/public/browser/render_process_host.h"
23 #include "content/public/browser/render_view_host.h" 23 #include "content/public/browser/render_view_host.h"
24 #include "content/public/browser/web_contents.h" 24 #include "content/public/browser/web_contents.h"
25 25
26 using content::BrowserThread; 26 using content::BrowserThread;
27 using content::OpenURLParams; 27 using content::OpenURLParams;
28 using content::Referrer; 28 using content::Referrer;
29 using content::WebContents;
30 29
31 namespace options { 30 namespace settings_utils {
32 31
33 // Command used to configure GNOME 2 proxy settings. 32 // Command used to configure GNOME 2 proxy settings.
34 const char* kGNOME2ProxyConfigCommand[] = {"gnome-network-properties", NULL}; 33 const char* kGNOME2ProxyConfigCommand[] = {"gnome-network-properties", NULL};
35 // In GNOME 3, we might need to run gnome-control-center instead. We try this 34 // In GNOME 3, we might need to run gnome-control-center instead. We try this
36 // only after gnome-network-properties is not found, because older GNOME also 35 // only after gnome-network-properties is not found, because older GNOME also
37 // has this but it doesn't do the same thing. See below where we use it. 36 // has this but it doesn't do the same thing. See below where we use it.
38 const char* kGNOME3ProxyConfigCommand[] = {"gnome-control-center", "network", 37 const char* kGNOME3ProxyConfigCommand[] = {"gnome-control-center", "network",
39 NULL}; 38 NULL};
40 // KDE3, 4, and 5 are only slightly different, but incompatible. Go figure. 39 // KDE3, 4, and 5 are only slightly different, but incompatible. Go figure.
41 const char* kKDE3ProxyConfigCommand[] = {"kcmshell", "proxy", NULL}; 40 const char* kKDE3ProxyConfigCommand[] = {"kcmshell", "proxy", NULL};
(...skipping 10 matching lines...) Expand all
52 void ShowLinuxProxyConfigUrl(int render_process_id, int render_view_id) { 51 void ShowLinuxProxyConfigUrl(int render_process_id, int render_view_id) {
53 DCHECK_CURRENTLY_ON(BrowserThread::UI); 52 DCHECK_CURRENTLY_ON(BrowserThread::UI);
54 scoped_ptr<base::Environment> env(base::Environment::Create()); 53 scoped_ptr<base::Environment> env(base::Environment::Create());
55 const char* name = base::nix::GetDesktopEnvironmentName(env.get()); 54 const char* name = base::nix::GetDesktopEnvironmentName(env.get());
56 if (name) 55 if (name)
57 LOG(ERROR) << "Could not find " << name << " network settings in $PATH"; 56 LOG(ERROR) << "Could not find " << name << " network settings in $PATH";
58 OpenURLParams params( 57 OpenURLParams params(
59 GURL(kLinuxProxyConfigUrl), Referrer(), NEW_FOREGROUND_TAB, 58 GURL(kLinuxProxyConfigUrl), Referrer(), NEW_FOREGROUND_TAB,
60 ui::PAGE_TRANSITION_LINK, false); 59 ui::PAGE_TRANSITION_LINK, false);
61 60
62 WebContents* web_contents = 61 content::WebContents* web_contents =
63 tab_util::GetWebContentsByID(render_process_id, render_view_id); 62 tab_util::GetWebContentsByID(render_process_id, render_view_id);
64 if (web_contents) 63 if (web_contents)
65 web_contents->OpenURL(params); 64 web_contents->OpenURL(params);
66 } 65 }
67 66
68 // Start the given proxy configuration utility. 67 // Start the given proxy configuration utility.
69 bool StartProxyConfigUtil(const char* command[]) { 68 bool StartProxyConfigUtil(const char* command[]) {
70 DCHECK_CURRENTLY_ON(BrowserThread::FILE); 69 DCHECK_CURRENTLY_ON(BrowserThread::FILE);
71 // base::LaunchProcess() returns true ("success") if the fork() 70 // base::LaunchProcess() returns true ("success") if the fork()
72 // succeeds, but not necessarily the exec(). We'd like to be able to 71 // succeeds, but not necessarily the exec(). We'd like to be able to
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 } 149 }
151 150
152 if (launched) 151 if (launched)
153 return; 152 return;
154 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, 153 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
155 base::Bind(&ShowLinuxProxyConfigUrl, render_process_id, render_view_id)); 154 base::Bind(&ShowLinuxProxyConfigUrl, render_process_id, render_view_id));
156 } 155 }
157 156
158 } // anonymous namespace 157 } // anonymous namespace
159 158
160 void AdvancedOptionsUtilities::ShowNetworkProxySettings( 159 void ShowNetworkProxySettings(content::WebContents* web_contents) {
161 WebContents* web_contents) {
162 BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE, 160 BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE,
163 base::Bind(&DetectAndStartProxyConfigUtil, 161 base::Bind(&DetectAndStartProxyConfigUtil,
164 web_contents->GetRenderProcessHost()->GetID(), 162 web_contents->GetRenderProcessHost()->GetID(),
165 web_contents->GetRenderViewHost()->GetRoutingID())); 163 web_contents->GetRenderViewHost()->GetRoutingID()));
166 } 164 }
167 165
168 } // namespace options 166 } // namespace settings_utils
169 167
170 #endif // !defined(OS_CHROMEOS) 168 #endif // !defined(OS_CHROMEOS)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698