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

Side by Side Diff: content/shell/browser/shell_content_browser_client.cc

Issue 803813003: Make callers of CommandLine use it via the base:: namespace. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 12 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 2013 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 #include "content/shell/browser/shell_content_browser_client.h" 5 #include "content/shell/browser/shell_content_browser_client.h"
6 6
7 #include "base/base_switches.h" 7 #include "base/base_switches.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/files/file.h" 9 #include "base/files/file.h"
10 #include "base/files/file_util.h" 10 #include "base/files/file_util.h"
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 57
58 namespace { 58 namespace {
59 59
60 ShellContentBrowserClient* g_browser_client; 60 ShellContentBrowserClient* g_browser_client;
61 bool g_swap_processes_for_redirect = false; 61 bool g_swap_processes_for_redirect = false;
62 62
63 #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) 63 #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
64 breakpad::CrashHandlerHostLinux* CreateCrashHandlerHost( 64 breakpad::CrashHandlerHostLinux* CreateCrashHandlerHost(
65 const std::string& process_type) { 65 const std::string& process_type) {
66 base::FilePath dumps_path = 66 base::FilePath dumps_path =
67 CommandLine::ForCurrentProcess()->GetSwitchValuePath( 67 base::CommandLine::ForCurrentProcess()->GetSwitchValuePath(
68 switches::kCrashDumpsDir); 68 switches::kCrashDumpsDir);
69 { 69 {
70 ANNOTATE_SCOPED_MEMORY_LEAK; 70 ANNOTATE_SCOPED_MEMORY_LEAK;
71 breakpad::CrashHandlerHostLinux* crash_handler = 71 breakpad::CrashHandlerHostLinux* crash_handler =
72 new breakpad::CrashHandlerHostLinux( 72 new breakpad::CrashHandlerHostLinux(
73 process_type, dumps_path, false); 73 process_type, dumps_path, false);
74 crash_handler->StartUploaderThread(); 74 crash_handler->StartUploaderThread();
75 return crash_handler; 75 return crash_handler;
76 } 76 }
77 } 77 }
78 78
79 int GetCrashSignalFD(const CommandLine& command_line) { 79 int GetCrashSignalFD(const base::CommandLine& command_line) {
80 if (!breakpad::IsCrashReporterEnabled()) 80 if (!breakpad::IsCrashReporterEnabled())
81 return -1; 81 return -1;
82 82
83 std::string process_type = 83 std::string process_type =
84 command_line.GetSwitchValueASCII(switches::kProcessType); 84 command_line.GetSwitchValueASCII(switches::kProcessType);
85 85
86 if (process_type == switches::kRendererProcess) { 86 if (process_type == switches::kRendererProcess) {
87 static breakpad::CrashHandlerHostLinux* crash_handler = NULL; 87 static breakpad::CrashHandlerHostLinux* crash_handler = NULL;
88 if (!crash_handler) 88 if (!crash_handler)
89 crash_handler = CreateCrashHandlerHost(process_type); 89 crash_handler = CreateCrashHandlerHost(process_type);
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 DCHECK(!g_browser_client); 130 DCHECK(!g_browser_client);
131 g_browser_client = this; 131 g_browser_client = this;
132 } 132 }
133 133
134 ShellContentBrowserClient::~ShellContentBrowserClient() { 134 ShellContentBrowserClient::~ShellContentBrowserClient() {
135 g_browser_client = NULL; 135 g_browser_client = NULL;
136 } 136 }
137 137
138 BrowserMainParts* ShellContentBrowserClient::CreateBrowserMainParts( 138 BrowserMainParts* ShellContentBrowserClient::CreateBrowserMainParts(
139 const MainFunctionParams& parameters) { 139 const MainFunctionParams& parameters) {
140 shell_browser_main_parts_ = 140 shell_browser_main_parts_ = base::CommandLine::ForCurrentProcess()->HasSwitch(
141 CommandLine::ForCurrentProcess()->HasSwitch(switches::kDumpRenderTree) 141 switches::kDumpRenderTree)
142 ? new LayoutTestBrowserMainParts(parameters) 142 ? new LayoutTestBrowserMainParts(parameters)
143 : new ShellBrowserMainParts(parameters); 143 : new ShellBrowserMainParts(parameters);
144 return shell_browser_main_parts_; 144 return shell_browser_main_parts_;
145 } 145 }
146 146
147 void ShellContentBrowserClient::RenderProcessWillLaunch( 147 void ShellContentBrowserClient::RenderProcessWillLaunch(
148 RenderProcessHost* host) { 148 RenderProcessHost* host) {
149 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kExposeIpcEcho)) 149 if (base::CommandLine::ForCurrentProcess()->HasSwitch(
150 switches::kExposeIpcEcho))
150 host->AddFilter(new IPCEchoMessageFilter()); 151 host->AddFilter(new IPCEchoMessageFilter());
151 } 152 }
152 153
153 net::URLRequestContextGetter* ShellContentBrowserClient::CreateRequestContext( 154 net::URLRequestContextGetter* ShellContentBrowserClient::CreateRequestContext(
154 BrowserContext* content_browser_context, 155 BrowserContext* content_browser_context,
155 ProtocolHandlerMap* protocol_handlers, 156 ProtocolHandlerMap* protocol_handlers,
156 URLRequestInterceptorScopedVector request_interceptors) { 157 URLRequestInterceptorScopedVector request_interceptors) {
157 ShellBrowserContext* shell_browser_context = 158 ShellBrowserContext* shell_browser_context =
158 ShellBrowserContextForBrowserContext(content_browser_context); 159 ShellBrowserContextForBrowserContext(content_browser_context);
159 return shell_browser_context->CreateRequestContext( 160 return shell_browser_context->CreateRequestContext(
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 url::kFileScheme, 192 url::kFileScheme,
192 }; 193 };
193 for (size_t i = 0; i < arraysize(kProtocolList); ++i) { 194 for (size_t i = 0; i < arraysize(kProtocolList); ++i) {
194 if (url.scheme() == kProtocolList[i]) 195 if (url.scheme() == kProtocolList[i])
195 return true; 196 return true;
196 } 197 }
197 return false; 198 return false;
198 } 199 }
199 200
200 void ShellContentBrowserClient::AppendExtraCommandLineSwitches( 201 void ShellContentBrowserClient::AppendExtraCommandLineSwitches(
201 CommandLine* command_line, int child_process_id) { 202 base::CommandLine* command_line,
202 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kDumpRenderTree)) 203 int child_process_id) {
204 if (base::CommandLine::ForCurrentProcess()->HasSwitch(
205 switches::kDumpRenderTree))
203 command_line->AppendSwitch(switches::kDumpRenderTree); 206 command_line->AppendSwitch(switches::kDumpRenderTree);
204 if (CommandLine::ForCurrentProcess()->HasSwitch( 207 if (base::CommandLine::ForCurrentProcess()->HasSwitch(
205 switches::kEnableFontAntialiasing)) 208 switches::kEnableFontAntialiasing))
206 command_line->AppendSwitch(switches::kEnableFontAntialiasing); 209 command_line->AppendSwitch(switches::kEnableFontAntialiasing);
207 if (CommandLine::ForCurrentProcess()->HasSwitch( 210 if (base::CommandLine::ForCurrentProcess()->HasSwitch(
208 switches::kExposeInternalsForTesting)) 211 switches::kExposeInternalsForTesting))
209 command_line->AppendSwitch(switches::kExposeInternalsForTesting); 212 command_line->AppendSwitch(switches::kExposeInternalsForTesting);
210 if (CommandLine::ForCurrentProcess()->HasSwitch( 213 if (base::CommandLine::ForCurrentProcess()->HasSwitch(
211 switches::kExposeIpcEcho)) 214 switches::kExposeIpcEcho))
212 command_line->AppendSwitch(switches::kExposeIpcEcho); 215 command_line->AppendSwitch(switches::kExposeIpcEcho);
213 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kStableReleaseMode)) 216 if (base::CommandLine::ForCurrentProcess()->HasSwitch(
217 switches::kStableReleaseMode))
214 command_line->AppendSwitch(switches::kStableReleaseMode); 218 command_line->AppendSwitch(switches::kStableReleaseMode);
215 if (CommandLine::ForCurrentProcess()->HasSwitch( 219 if (base::CommandLine::ForCurrentProcess()->HasSwitch(
216 switches::kEnableCrashReporter)) { 220 switches::kEnableCrashReporter)) {
217 command_line->AppendSwitch(switches::kEnableCrashReporter); 221 command_line->AppendSwitch(switches::kEnableCrashReporter);
218 } 222 }
219 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kCrashDumpsDir)) { 223 if (base::CommandLine::ForCurrentProcess()->HasSwitch(
224 switches::kCrashDumpsDir)) {
220 command_line->AppendSwitchPath( 225 command_line->AppendSwitchPath(
221 switches::kCrashDumpsDir, 226 switches::kCrashDumpsDir,
222 CommandLine::ForCurrentProcess()->GetSwitchValuePath( 227 base::CommandLine::ForCurrentProcess()->GetSwitchValuePath(
223 switches::kCrashDumpsDir)); 228 switches::kCrashDumpsDir));
224 } 229 }
225 if (CommandLine::ForCurrentProcess()->HasSwitch( 230 if (base::CommandLine::ForCurrentProcess()->HasSwitch(
226 switches::kEnableLeakDetection)) { 231 switches::kEnableLeakDetection)) {
227 command_line->AppendSwitchASCII( 232 command_line->AppendSwitchASCII(
228 switches::kEnableLeakDetection, 233 switches::kEnableLeakDetection,
229 CommandLine::ForCurrentProcess()->GetSwitchValueASCII( 234 base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII(
230 switches::kEnableLeakDetection)); 235 switches::kEnableLeakDetection));
231 } 236 }
232 if (CommandLine::ForCurrentProcess()->HasSwitch( 237 if (base::CommandLine::ForCurrentProcess()->HasSwitch(
233 switches::kRegisterFontFiles)) { 238 switches::kRegisterFontFiles)) {
234 command_line->AppendSwitchASCII( 239 command_line->AppendSwitchASCII(
235 switches::kRegisterFontFiles, 240 switches::kRegisterFontFiles,
236 CommandLine::ForCurrentProcess()->GetSwitchValueASCII( 241 base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII(
237 switches::kRegisterFontFiles)); 242 switches::kRegisterFontFiles));
238 } 243 }
239 } 244 }
240 245
241 void ShellContentBrowserClient::OverrideWebkitPrefs( 246 void ShellContentBrowserClient::OverrideWebkitPrefs(
242 RenderViewHost* render_view_host, 247 RenderViewHost* render_view_host,
243 const GURL& url, 248 const GURL& url,
244 WebPreferences* prefs) { 249 WebPreferences* prefs) {
245 if (!CommandLine::ForCurrentProcess()->HasSwitch(switches::kDumpRenderTree)) 250 if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
251 switches::kDumpRenderTree))
246 return; 252 return;
247 WebKitTestController::Get()->OverrideWebkitPrefs(prefs); 253 WebKitTestController::Get()->OverrideWebkitPrefs(prefs);
248 } 254 }
249 255
250 void ShellContentBrowserClient::ResourceDispatcherHostCreated() { 256 void ShellContentBrowserClient::ResourceDispatcherHostCreated() {
251 resource_dispatcher_host_delegate_.reset( 257 resource_dispatcher_host_delegate_.reset(
252 CommandLine::ForCurrentProcess()->HasSwitch(switches::kDumpRenderTree) 258 base::CommandLine::ForCurrentProcess()->HasSwitch(
259 switches::kDumpRenderTree)
253 ? new LayoutTestResourceDispatcherHostDelegate 260 ? new LayoutTestResourceDispatcherHostDelegate
254 : new ShellResourceDispatcherHostDelegate); 261 : new ShellResourceDispatcherHostDelegate);
255 ResourceDispatcherHost::Get()->SetDelegate( 262 ResourceDispatcherHost::Get()->SetDelegate(
256 resource_dispatcher_host_delegate_.get()); 263 resource_dispatcher_host_delegate_.get());
257 } 264 }
258 265
259 std::string ShellContentBrowserClient::GetDefaultDownloadName() { 266 std::string ShellContentBrowserClient::GetDefaultDownloadName() {
260 return "download"; 267 return "download";
261 } 268 }
262 269
(...skipping 27 matching lines...) Expand all
290 return g_swap_processes_for_redirect; 297 return g_swap_processes_for_redirect;
291 } 298 }
292 299
293 DevToolsManagerDelegate* 300 DevToolsManagerDelegate*
294 ShellContentBrowserClient::GetDevToolsManagerDelegate() { 301 ShellContentBrowserClient::GetDevToolsManagerDelegate() {
295 return new ShellDevToolsManagerDelegate(browser_context()); 302 return new ShellDevToolsManagerDelegate(browser_context());
296 } 303 }
297 304
298 #if defined(OS_POSIX) && !defined(OS_MACOSX) 305 #if defined(OS_POSIX) && !defined(OS_MACOSX)
299 void ShellContentBrowserClient::GetAdditionalMappedFilesForChildProcess( 306 void ShellContentBrowserClient::GetAdditionalMappedFilesForChildProcess(
300 const CommandLine& command_line, 307 const base::CommandLine& command_line,
301 int child_process_id, 308 int child_process_id,
302 FileDescriptorInfo* mappings) { 309 FileDescriptorInfo* mappings) {
303 #if defined(OS_ANDROID) 310 #if defined(OS_ANDROID)
304 int flags = base::File::FLAG_OPEN | base::File::FLAG_READ; 311 int flags = base::File::FLAG_OPEN | base::File::FLAG_READ;
305 base::FilePath pak_file; 312 base::FilePath pak_file;
306 bool r = PathService::Get(base::DIR_ANDROID_APP_DATA, &pak_file); 313 bool r = PathService::Get(base::DIR_ANDROID_APP_DATA, &pak_file);
307 CHECK(r); 314 CHECK(r);
308 pak_file = pak_file.Append(FILE_PATH_LITERAL("paks")); 315 pak_file = pak_file.Append(FILE_PATH_LITERAL("paks"));
309 pak_file = pak_file.Append(FILE_PATH_LITERAL("content_shell.pak")); 316 pak_file = pak_file.Append(FILE_PATH_LITERAL("content_shell.pak"));
310 317
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
368 ShellBrowserContext* 375 ShellBrowserContext*
369 ShellContentBrowserClient::ShellBrowserContextForBrowserContext( 376 ShellContentBrowserClient::ShellBrowserContextForBrowserContext(
370 BrowserContext* content_browser_context) { 377 BrowserContext* content_browser_context) {
371 if (content_browser_context == browser_context()) 378 if (content_browser_context == browser_context())
372 return browser_context(); 379 return browser_context();
373 DCHECK_EQ(content_browser_context, off_the_record_browser_context()); 380 DCHECK_EQ(content_browser_context, off_the_record_browser_context());
374 return off_the_record_browser_context(); 381 return off_the_record_browser_context();
375 } 382 }
376 383
377 } // namespace content 384 } // namespace content
OLDNEW
« no previous file with comments | « content/shell/browser/shell_browser_main_parts.cc ('k') | content/shell/browser/shell_devtools_manager_delegate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698