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 "chrome/browser/chrome_browser_main.h" | 5 #include "chrome/browser/chrome_browser_main.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 #include <set> | 9 #include <set> |
10 #include <string> | 10 #include <string> |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
83 #include "chrome/browser/ui/browser.h" | 83 #include "chrome/browser/ui/browser.h" |
84 #include "chrome/browser/ui/browser_finder.h" | 84 #include "chrome/browser/ui/browser_finder.h" |
85 #include "chrome/browser/ui/host_desktop.h" | 85 #include "chrome/browser/ui/host_desktop.h" |
86 #include "chrome/browser/ui/startup/bad_flags_prompt.h" | 86 #include "chrome/browser/ui/startup/bad_flags_prompt.h" |
87 #include "chrome/browser/ui/startup/default_browser_prompt.h" | 87 #include "chrome/browser/ui/startup/default_browser_prompt.h" |
88 #include "chrome/browser/ui/startup/startup_browser_creator.h" | 88 #include "chrome/browser/ui/startup/startup_browser_creator.h" |
89 #include "chrome/browser/ui/uma_browsing_activity_observer.h" | 89 #include "chrome/browser/ui/uma_browsing_activity_observer.h" |
90 #include "chrome/browser/ui/webui/chrome_web_ui_controller_factory.h" | 90 #include "chrome/browser/ui/webui/chrome_web_ui_controller_factory.h" |
91 #include "chrome/common/channel_info.h" | 91 #include "chrome/common/channel_info.h" |
92 #include "chrome/common/chrome_constants.h" | 92 #include "chrome/common/chrome_constants.h" |
93 #include "chrome/common/chrome_features.h" | |
93 #include "chrome/common/chrome_paths.h" | 94 #include "chrome/common/chrome_paths.h" |
94 #include "chrome/common/chrome_result_codes.h" | 95 #include "chrome/common/chrome_result_codes.h" |
95 #include "chrome/common/chrome_switches.h" | 96 #include "chrome/common/chrome_switches.h" |
96 #include "chrome/common/crash_keys.h" | 97 #include "chrome/common/crash_keys.h" |
97 #include "chrome/common/env_vars.h" | 98 #include "chrome/common/env_vars.h" |
98 #include "chrome/common/features.h" | 99 #include "chrome/common/features.h" |
99 #include "chrome/common/logging_chrome.h" | 100 #include "chrome/common/logging_chrome.h" |
100 #include "chrome/common/net/net_resource_provider.h" | 101 #include "chrome/common/net/net_resource_provider.h" |
101 #include "chrome/common/pref_names.h" | 102 #include "chrome/common/pref_names.h" |
102 #include "chrome/common/profiling.h" | 103 #include "chrome/common/profiling.h" |
(...skipping 1072 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1175 chrome_extra_parts_[i]->PostProfileInit(); | 1176 chrome_extra_parts_[i]->PostProfileInit(); |
1176 } | 1177 } |
1177 | 1178 |
1178 void ChromeBrowserMainParts::PreBrowserStart() { | 1179 void ChromeBrowserMainParts::PreBrowserStart() { |
1179 TRACE_EVENT0("startup", "ChromeBrowserMainParts::PreBrowserStart"); | 1180 TRACE_EVENT0("startup", "ChromeBrowserMainParts::PreBrowserStart"); |
1180 for (size_t i = 0; i < chrome_extra_parts_.size(); ++i) | 1181 for (size_t i = 0; i < chrome_extra_parts_.size(); ++i) |
1181 chrome_extra_parts_[i]->PreBrowserStart(); | 1182 chrome_extra_parts_[i]->PreBrowserStart(); |
1182 | 1183 |
1183 three_d_observer_.reset(new ThreeDAPIObserver()); | 1184 three_d_observer_.reset(new ThreeDAPIObserver()); |
1184 | 1185 |
1186 #if defined(SYZYASAN) | |
1187 // Enable the deferred free mechanism in the syzyasan module, which helps the | |
1188 // performance by deferring some work on the critical path to a background | |
1189 // thread. | |
1190 if (base::FeatureList::IsEnabled(features::kSyzyasanDeferredFree)) { | |
1191 typedef VOID(WINAPI * SyzyasanEnableDeferredFreeThreadFunc)(VOID); | |
1192 HMODULE SyzyasanModuleHandle = ::GetModuleHandle(L"syzyasan_rtl.dll"); | |
chrisha
2016/03/17 18:35:28
euhh... snake_style variable names instead of Came
Georges Khalil
2016/03/17 19:34:39
Oops, I was looking at Windows code for too long :
| |
1193 bool success = false; | |
1194 if (SyzyasanModuleHandle) { | |
1195 SyzyasanEnableDeferredFreeThreadFunc EnableDeferredFreeThread = | |
chrisha
2016/03/17 18:35:28
ditto
Georges Khalil
2016/03/17 19:34:39
Done.
| |
1196 reinterpret_cast<SyzyasanEnableDeferredFreeThreadFunc>( | |
1197 ::GetProcAddress(SyzyasanModuleHandle, | |
1198 "asan_EnableDeferredFreeThread")); | |
1199 if (EnableDeferredFreeThread) { | |
1200 EnableDeferredFreeThread(); | |
1201 success = true; | |
1202 } | |
1203 } | |
1204 UMA_HISTOGRAM_BOOLEAN("Syzyasan.DeferredFreeWasEnabled", success); | |
1205 } | |
1206 #endif | |
1207 | |
1185 // Start the tab manager here so that we give the most amount of time for the | 1208 // Start the tab manager here so that we give the most amount of time for the |
1186 // other services to start up before we start adjusting the oom priority. | 1209 // other services to start up before we start adjusting the oom priority. |
1187 #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS) | 1210 #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS) |
1188 g_browser_process->GetTabManager()->Start(); | 1211 g_browser_process->GetTabManager()->Start(); |
1189 #endif | 1212 #endif |
1190 } | 1213 } |
1191 | 1214 |
1192 void ChromeBrowserMainParts::PostBrowserStart() { | 1215 void ChromeBrowserMainParts::PostBrowserStart() { |
1193 TRACE_EVENT0("startup", "ChromeBrowserMainParts::PostBrowserStart"); | 1216 TRACE_EVENT0("startup", "ChromeBrowserMainParts::PostBrowserStart"); |
1194 for (size_t i = 0; i < chrome_extra_parts_.size(); ++i) | 1217 for (size_t i = 0; i < chrome_extra_parts_.size(); ++i) |
(...skipping 677 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1872 chromeos::CrosSettings::Shutdown(); | 1895 chromeos::CrosSettings::Shutdown(); |
1873 #endif // defined(OS_CHROMEOS) | 1896 #endif // defined(OS_CHROMEOS) |
1874 #endif // defined(OS_ANDROID) | 1897 #endif // defined(OS_ANDROID) |
1875 } | 1898 } |
1876 | 1899 |
1877 // Public members: | 1900 // Public members: |
1878 | 1901 |
1879 void ChromeBrowserMainParts::AddParts(ChromeBrowserMainExtraParts* parts) { | 1902 void ChromeBrowserMainParts::AddParts(ChromeBrowserMainExtraParts* parts) { |
1880 chrome_extra_parts_.push_back(parts); | 1903 chrome_extra_parts_.push_back(parts); |
1881 } | 1904 } |
OLD | NEW |