OLD | NEW |
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/browser_child_process_host_impl.h" | 5 #include "content/browser/browser_child_process_host_impl.h" |
6 | 6 |
7 #include "base/base_switches.h" | 7 #include "base/base_switches.h" |
8 #include "base/bind.h" | 8 #include "base/bind.h" |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/debug/dump_without_crashing.h" | 10 #include "base/debug/dump_without_crashing.h" |
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
212 BrowserChildProcessList copy = g_child_process_list.Get(); | 212 BrowserChildProcessList copy = g_child_process_list.Get(); |
213 for (BrowserChildProcessList::iterator it = copy.begin(); | 213 for (BrowserChildProcessList::iterator it = copy.begin(); |
214 it != copy.end(); ++it) { | 214 it != copy.end(); ++it) { |
215 delete (*it)->delegate(); // ~*HostDelegate deletes *HostImpl. | 215 delete (*it)->delegate(); // ~*HostDelegate deletes *HostImpl. |
216 } | 216 } |
217 } | 217 } |
218 | 218 |
219 // static | 219 // static |
220 void BrowserChildProcessHostImpl::CopyFeatureAndFieldTrialFlags( | 220 void BrowserChildProcessHostImpl::CopyFeatureAndFieldTrialFlags( |
221 base::CommandLine* cmd_line) { | 221 base::CommandLine* cmd_line) { |
222 std::string enabled_features; | |
223 std::string disabled_features; | |
224 base::FeatureList::GetInstance()->GetFeatureOverrides(&enabled_features, | |
225 &disabled_features); | |
226 if (!enabled_features.empty()) | |
227 cmd_line->AppendSwitchASCII(switches::kEnableFeatures, enabled_features); | |
228 if (!disabled_features.empty()) | |
229 cmd_line->AppendSwitchASCII(switches::kDisableFeatures, disabled_features); | |
230 | |
231 // If we run base::FieldTrials, we want to pass to their state to the | 222 // If we run base::FieldTrials, we want to pass to their state to the |
232 // child process so that it can act in accordance with each state. | 223 // child process so that it can act in accordance with each state. |
233 base::FieldTrialList::CopyFieldTrialStateToFlags(switches::kFieldTrialHandle, | 224 base::FieldTrialList::CopyFieldTrialStateToFlags(switches::kFieldTrialHandle, |
234 cmd_line); | 225 cmd_line); |
235 } | 226 } |
236 | 227 |
237 void BrowserChildProcessHostImpl::Launch( | 228 void BrowserChildProcessHostImpl::Launch( |
238 SandboxedProcessLauncherDelegate* delegate, | 229 SandboxedProcessLauncherDelegate* delegate, |
239 base::CommandLine* cmd_line, | 230 base::CommandLine* cmd_line, |
240 bool terminate_on_shutdown) { | 231 bool terminate_on_shutdown) { |
(...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
606 | 597 |
607 #if defined(OS_WIN) | 598 #if defined(OS_WIN) |
608 | 599 |
609 void BrowserChildProcessHostImpl::OnObjectSignaled(HANDLE object) { | 600 void BrowserChildProcessHostImpl::OnObjectSignaled(HANDLE object) { |
610 OnChildDisconnected(); | 601 OnChildDisconnected(); |
611 } | 602 } |
612 | 603 |
613 #endif | 604 #endif |
614 | 605 |
615 } // namespace content | 606 } // namespace content |
OLD | NEW |