| Index: chrome/browser/browser_process_impl.cc
|
| diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
|
| index 330ff8abb1d6d778691b7b3b7353f29dd483755a..53d73e9f20e97076d78d411fa33f383b531e3d6f 100644
|
| --- a/chrome/browser/browser_process_impl.cc
|
| +++ b/chrome/browser/browser_process_impl.cc
|
| @@ -183,7 +183,8 @@ BrowserProcessImpl::BrowserProcessImpl(
|
| module_ref_count_(0),
|
| did_start_(false),
|
| download_status_updater_(new DownloadStatusUpdater),
|
| - local_state_task_runner_(local_state_task_runner) {
|
| + local_state_task_runner_(local_state_task_runner),
|
| + cached_default_web_client_state_(ShellIntegration::UNKNOWN_DEFAULT) {
|
| g_browser_process = this;
|
| platform_part_.reset(new BrowserProcessPlatformPart());
|
|
|
| @@ -782,6 +783,11 @@ memory::OomPriorityManager* BrowserProcessImpl::GetOomPriorityManager() {
|
| #endif
|
| }
|
|
|
| +ShellIntegration::DefaultWebClientState
|
| +BrowserProcessImpl::CachedDefaultWebClientState() {
|
| + return cached_default_web_client_state_;
|
| +}
|
| +
|
| // static
|
| void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) {
|
| registry->RegisterBooleanPref(prefs::kDefaultBrowserSettingEnabled,
|
| @@ -1081,6 +1087,8 @@ void BrowserProcessImpl::PreMainMessageLoopRun() {
|
|
|
| child_process_watcher_.reset(new ChromeChildProcessWatcher());
|
|
|
| + CacheDefaultWebClientState();
|
| +
|
| platform_part_->PreMainMessageLoopRun();
|
| }
|
|
|
| @@ -1192,6 +1200,14 @@ void BrowserProcessImpl::ApplyMetricsReportingPolicy() {
|
| #endif
|
| }
|
|
|
| +void BrowserProcessImpl::CacheDefaultWebClientState() {
|
| +#if defined(OS_CHROMEOS)
|
| + cached_default_web_client_state_ = ShellIntegration::IS_DEFAULT;
|
| +#elif !defined(OS_ANDROID) && !defined(OS_IOS)
|
| + cached_default_web_client_state_ = ShellIntegration::GetDefaultBrowser();
|
| +#endif
|
| +}
|
| +
|
| // Mac is currently not supported.
|
| #if (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
|
|
|
|
|