OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "chrome/browser/browser_main.h" | 5 #include "chrome/browser/browser_main.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 1227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1238 // Initialize histogram synchronizer system. This is a singleton and is used | 1238 // Initialize histogram synchronizer system. This is a singleton and is used |
1239 // for posting tasks via NewRunnableMethod. Its deleted when it goes out of | 1239 // for posting tasks via NewRunnableMethod. Its deleted when it goes out of |
1240 // scope. Even though NewRunnableMethod does AddRef and Release, the object | 1240 // scope. Even though NewRunnableMethod does AddRef and Release, the object |
1241 // will not be deleted after the Task is executed. | 1241 // will not be deleted after the Task is executed. |
1242 scoped_refptr<HistogramSynchronizer> histogram_synchronizer( | 1242 scoped_refptr<HistogramSynchronizer> histogram_synchronizer( |
1243 new HistogramSynchronizer()); | 1243 new HistogramSynchronizer()); |
1244 | 1244 |
1245 // Initialize the prefs of the local state. | 1245 // Initialize the prefs of the local state. |
1246 browser::RegisterLocalState(local_state); | 1246 browser::RegisterLocalState(local_state); |
1247 | 1247 |
| 1248 // Convert active labs into switches. Modifies the current command line. |
| 1249 about_flags::ConvertFlagsToSwitches(local_state, |
| 1250 CommandLine::ForCurrentProcess()); |
| 1251 |
1248 // Now that all preferences have been registered, set the install date | 1252 // Now that all preferences have been registered, set the install date |
1249 // for the uninstall metrics if this is our first run. This only actually | 1253 // for the uninstall metrics if this is our first run. This only actually |
1250 // gets used if the user has metrics reporting enabled at uninstall time. | 1254 // gets used if the user has metrics reporting enabled at uninstall time. |
1251 int64 install_date = | 1255 int64 install_date = |
1252 local_state->GetInt64(prefs::kUninstallMetricsInstallDate); | 1256 local_state->GetInt64(prefs::kUninstallMetricsInstallDate); |
1253 if (install_date == 0) { | 1257 if (install_date == 0) { |
1254 local_state->SetInt64(prefs::kUninstallMetricsInstallDate, | 1258 local_state->SetInt64(prefs::kUninstallMetricsInstallDate, |
1255 base::Time::Now().ToTimeT()); | 1259 base::Time::Now().ToTimeT()); |
1256 } | 1260 } |
1257 | 1261 |
(...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1573 #if defined(OS_WIN) && !defined(GOOGLE_CHROME_BUILD) | 1577 #if defined(OS_WIN) && !defined(GOOGLE_CHROME_BUILD) |
1574 if (parsed_command_line.HasSwitch(switches::kDebugPrint)) { | 1578 if (parsed_command_line.HasSwitch(switches::kDebugPrint)) { |
1575 FilePath path = | 1579 FilePath path = |
1576 parsed_command_line.GetSwitchValuePath(switches::kDebugPrint); | 1580 parsed_command_line.GetSwitchValuePath(switches::kDebugPrint); |
1577 printing::PrintedDocument::set_debug_dump_path(path); | 1581 printing::PrintedDocument::set_debug_dump_path(path); |
1578 } | 1582 } |
1579 #endif | 1583 #endif |
1580 | 1584 |
1581 HandleTestParameters(parsed_command_line); | 1585 HandleTestParameters(parsed_command_line); |
1582 RecordBreakpadStatusUMA(metrics); | 1586 RecordBreakpadStatusUMA(metrics); |
1583 about_flags::RecordUMAStatistics(user_prefs); | 1587 about_flags::RecordUMAStatistics(local_state); |
1584 | 1588 |
1585 // Stat the directory with the inspector's files so that we can know if we | 1589 // Stat the directory with the inspector's files so that we can know if we |
1586 // should display the entry in the context menu or not. | 1590 // should display the entry in the context menu or not. |
1587 browser_process->CheckForInspectorFiles(); | 1591 browser_process->CheckForInspectorFiles(); |
1588 | 1592 |
1589 #if defined(OS_CHROMEOS) | 1593 #if defined(OS_CHROMEOS) |
1590 metrics->StartExternalMetrics(); | 1594 metrics->StartExternalMetrics(); |
1591 #endif | 1595 #endif |
1592 | 1596 |
1593 // Initialize extension event routers. Note that on Chrome OS, this will | 1597 // Initialize extension event routers. Note that on Chrome OS, this will |
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1773 #if defined(OS_CHROMEOS) | 1777 #if defined(OS_CHROMEOS) |
1774 // To be precise, logout (browser shutdown) is not yet done, but the | 1778 // To be precise, logout (browser shutdown) is not yet done, but the |
1775 // remaining work is negligible, hence we say LogoutDone here. | 1779 // remaining work is negligible, hence we say LogoutDone here. |
1776 chromeos::BootTimesLoader::Get()->AddLogoutTimeMarker("LogoutDone", | 1780 chromeos::BootTimesLoader::Get()->AddLogoutTimeMarker("LogoutDone", |
1777 false); | 1781 false); |
1778 chromeos::BootTimesLoader::Get()->WriteLogoutTimes(); | 1782 chromeos::BootTimesLoader::Get()->WriteLogoutTimes(); |
1779 #endif | 1783 #endif |
1780 TRACE_EVENT_END("BrowserMain", 0, 0); | 1784 TRACE_EVENT_END("BrowserMain", 0, 0); |
1781 return result_code; | 1785 return result_code; |
1782 } | 1786 } |
OLD | NEW |