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

Side by Side Diff: content/browser/utility_process_host_impl.cc

Issue 2914893002: Move some of IOThread's command line logic to network_session_configurator. (Closed)
Patch Set: Fix merge Created 3 years, 6 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
« no previous file with comments | « content/browser/site_per_process_browsertest.cc ('k') | content/network/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/browser/utility_process_host_impl.h" 5 #include "content/browser/utility_process_host_impl.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/base_switches.h" 9 #include "base/base_switches.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
11 #include "base/bind_helpers.h" 11 #include "base/bind_helpers.h"
12 #include "base/command_line.h" 12 #include "base/command_line.h"
13 #include "base/files/file_path.h" 13 #include "base/files/file_path.h"
14 #include "base/lazy_instance.h" 14 #include "base/lazy_instance.h"
15 #include "base/macros.h" 15 #include "base/macros.h"
16 #include "base/memory/ptr_util.h" 16 #include "base/memory/ptr_util.h"
17 #include "base/message_loop/message_loop.h" 17 #include "base/message_loop/message_loop.h"
18 #include "base/process/process_handle.h" 18 #include "base/process/process_handle.h"
19 #include "base/run_loop.h" 19 #include "base/run_loop.h"
20 #include "base/sequenced_task_runner.h" 20 #include "base/sequenced_task_runner.h"
21 #include "base/strings/utf_string_conversions.h" 21 #include "base/strings/utf_string_conversions.h"
22 #include "base/synchronization/lock.h" 22 #include "base/synchronization/lock.h"
23 #include "base/synchronization/waitable_event.h" 23 #include "base/synchronization/waitable_event.h"
24 #include "build/build_config.h" 24 #include "build/build_config.h"
25 #include "components/network_session_configurator/common/network_switches.h"
25 #include "content/browser/browser_child_process_host_impl.h" 26 #include "content/browser/browser_child_process_host_impl.h"
26 #include "content/browser/renderer_host/render_process_host_impl.h" 27 #include "content/browser/renderer_host/render_process_host_impl.h"
27 #include "content/browser/service_manager/service_manager_context.h" 28 #include "content/browser/service_manager/service_manager_context.h"
28 #include "content/common/child_process_host_impl.h" 29 #include "content/common/child_process_host_impl.h"
29 #include "content/common/in_process_child_thread_params.h" 30 #include "content/common/in_process_child_thread_params.h"
30 #include "content/common/service_manager/child_connection.h" 31 #include "content/common/service_manager/child_connection.h"
31 #include "content/common/utility_messages.h" 32 #include "content/common/utility_messages.h"
32 #include "content/public/browser/browser_thread.h" 33 #include "content/public/browser/browser_thread.h"
33 #include "content/public/browser/content_browser_client.h" 34 #include "content/public/browser/content_browser_client.h"
34 #include "content/public/browser/utility_process_host_client.h" 35 #include "content/public/browser/utility_process_host_client.h"
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after
296 cmd_line->AppendArg(switches::kPrefetchArgumentOther); 297 cmd_line->AppendArg(switches::kPrefetchArgumentOther);
297 #endif // defined(OS_WIN) 298 #endif // defined(OS_WIN)
298 299
299 if (no_sandbox_) 300 if (no_sandbox_)
300 cmd_line->AppendSwitch(switches::kNoSandbox); 301 cmd_line->AppendSwitch(switches::kNoSandbox);
301 302
302 // Browser command-line switches to propagate to the utility process. 303 // Browser command-line switches to propagate to the utility process.
303 static const char* const kSwitchNames[] = { 304 static const char* const kSwitchNames[] = {
304 switches::kEnableNetworkService, 305 switches::kEnableNetworkService,
305 switches::kHostResolverRules, 306 switches::kHostResolverRules,
306 switches::kIgnoreCertificateErrors,
307 switches::kLogNetLog, 307 switches::kLogNetLog,
308 switches::kNoSandbox, 308 switches::kNoSandbox,
309 switches::kProfilerTiming, 309 switches::kProfilerTiming,
310 switches::kProxyServer, 310 switches::kProxyServer,
311 switches::kTestingFixedHttpPort,
312 switches::kTestingFixedHttpsPort,
313 #if defined(OS_MACOSX) 311 #if defined(OS_MACOSX)
314 switches::kEnableSandboxLogging, 312 switches::kEnableSandboxLogging,
315 #endif 313 #endif
316 switches::kUseFakeDeviceForMediaStream, 314 switches::kUseFakeDeviceForMediaStream,
317 switches::kUseFileForFakeVideoCapture, 315 switches::kUseFileForFakeVideoCapture,
318 }; 316 };
319 cmd_line->CopySwitchesFrom(browser_command_line, kSwitchNames, 317 cmd_line->CopySwitchesFrom(browser_command_line, kSwitchNames,
320 arraysize(kSwitchNames)); 318 arraysize(kSwitchNames));
321 319
320 network_session_configurator::CopyNetworkSwitches(browser_command_line,
321 cmd_line.get());
322
322 if (has_cmd_prefix) { 323 if (has_cmd_prefix) {
323 // Launch the utility child process with some prefix 324 // Launch the utility child process with some prefix
324 // (usually "xterm -e gdb --args"). 325 // (usually "xterm -e gdb --args").
325 cmd_line->PrependWrapper(browser_command_line.GetSwitchValueNative( 326 cmd_line->PrependWrapper(browser_command_line.GetSwitchValueNative(
326 switches::kUtilityCmdPrefix)); 327 switches::kUtilityCmdPrefix));
327 } 328 }
328 329
329 if (!exposed_dir_.empty()) { 330 if (!exposed_dir_.empty()) {
330 cmd_line->AppendSwitchPath(switches::kUtilityProcessAllowedDir, 331 cmd_line->AppendSwitchPath(switches::kUtilityProcessAllowedDir,
331 exposed_dir_); 332 exposed_dir_);
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
393 base::WeakPtr<UtilityProcessHostImpl> host, 394 base::WeakPtr<UtilityProcessHostImpl> host,
394 int error_code) { 395 int error_code) {
395 if (!host) 396 if (!host)
396 return; 397 return;
397 398
398 host->OnProcessLaunchFailed(error_code); 399 host->OnProcessLaunchFailed(error_code);
399 delete host.get(); 400 delete host.get();
400 } 401 }
401 402
402 } // namespace content 403 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/site_per_process_browsertest.cc ('k') | content/network/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698