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

Side by Side Diff: chrome/browser/profiles/profile_impl.cc

Issue 322533002: Restart Chrome on ChromeOS as early as possible to speed up restart. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix win build. Created 6 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
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 "chrome/browser/profiles/profile_impl.h" 5 #include "chrome/browser/profiles/profile_impl.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 #include "chrome/browser/chromeos/login/users/user_manager.h" 121 #include "chrome/browser/chromeos/login/users/user_manager.h"
122 #include "chrome/browser/chromeos/preferences.h" 122 #include "chrome/browser/chromeos/preferences.h"
123 #include "chrome/browser/chromeos/profiles/profile_helper.h" 123 #include "chrome/browser/chromeos/profiles/profile_helper.h"
124 #endif 124 #endif
125 125
126 #if defined(ENABLE_CONFIGURATION_POLICY) 126 #if defined(ENABLE_CONFIGURATION_POLICY)
127 #include "chrome/browser/policy/schema_registry_service.h" 127 #include "chrome/browser/policy/schema_registry_service.h"
128 #include "chrome/browser/policy/schema_registry_service_factory.h" 128 #include "chrome/browser/policy/schema_registry_service_factory.h"
129 #include "components/policy/core/browser/browser_policy_connector.h" 129 #include "components/policy/core/browser/browser_policy_connector.h"
130 #if defined(OS_CHROMEOS) 130 #if defined(OS_CHROMEOS)
131 #include "chrome/browser/chromeos/login/login_utils.h"
131 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h" 132 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h"
132 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chrom eos.h" 133 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chrom eos.h"
133 #else 134 #else
134 #include "chrome/browser/policy/cloud/user_cloud_policy_manager_factory.h" 135 #include "chrome/browser/policy/cloud/user_cloud_policy_manager_factory.h"
135 #include "components/policy/core/common/cloud/user_cloud_policy_manager.h" 136 #include "components/policy/core/common/cloud/user_cloud_policy_manager.h"
136 #endif 137 #endif
137 #endif 138 #endif
138 139
139 #if defined(ENABLE_EXTENSIONS) 140 #if defined(ENABLE_EXTENSIONS)
140 #include "chrome/browser/guest_view/guest_view_manager.h" 141 #include "chrome/browser/guest_view/guest_view_manager.h"
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
263 lazy_service, chrome::kDomDistillerScheme)); 264 lazy_service, chrome::kDomDistillerScheme));
264 } 265 }
265 } 266 }
266 267
267 } // namespace 268 } // namespace
268 269
269 // static 270 // static
270 Profile* Profile::CreateProfile(const base::FilePath& path, 271 Profile* Profile::CreateProfile(const base::FilePath& path,
271 Delegate* delegate, 272 Delegate* delegate,
272 CreateMode create_mode) { 273 CreateMode create_mode) {
273 TRACE_EVENT0("browser", "Profile::CreateProfile") 274 TRACE_EVENT_BEGIN1("browser",
275 "Profile::CreateProfile",
276 "profile_path",
277 path.value().c_str());
278
274 // Get sequenced task runner for making sure that file operations of 279 // Get sequenced task runner for making sure that file operations of
275 // this profile (defined by |path|) are executed in expected order 280 // this profile (defined by |path|) are executed in expected order
276 // (what was previously assured by the FILE thread). 281 // (what was previously assured by the FILE thread).
277 scoped_refptr<base::SequencedTaskRunner> sequenced_task_runner = 282 scoped_refptr<base::SequencedTaskRunner> sequenced_task_runner =
278 JsonPrefStore::GetTaskRunnerForFile(path, 283 JsonPrefStore::GetTaskRunnerForFile(path,
279 BrowserThread::GetBlockingPool()); 284 BrowserThread::GetBlockingPool());
280 if (create_mode == CREATE_MODE_ASYNCHRONOUS) { 285 if (create_mode == CREATE_MODE_ASYNCHRONOUS) {
281 DCHECK(delegate); 286 DCHECK(delegate);
282 CreateProfileDirectory(sequenced_task_runner.get(), path); 287 CreateProfileDirectory(sequenced_task_runner.get(), path);
283 } else if (create_mode == CREATE_MODE_SYNCHRONOUS) { 288 } else if (create_mode == CREATE_MODE_SYNCHRONOUS) {
(...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after
623 628
624 TRACE_EVENT0("browser", "ProfileImpl::SetSaveSessionStorageOnDisk"); 629 TRACE_EVENT0("browser", "ProfileImpl::SetSaveSessionStorageOnDisk");
625 content::BrowserContext::GetDefaultStoragePartition(this)-> 630 content::BrowserContext::GetDefaultStoragePartition(this)->
626 GetDOMStorageContext()->SetSaveSessionStorageOnDisk(); 631 GetDOMStorageContext()->SetSaveSessionStorageOnDisk();
627 632
628 // The DomDistillerViewerSource is not a normal WebUI so it must be registered 633 // The DomDistillerViewerSource is not a normal WebUI so it must be registered
629 // as a URLDataSource early. 634 // as a URLDataSource early.
630 RegisterDomDistillerViewerSource(this); 635 RegisterDomDistillerViewerSource(this);
631 636
632 // Creation has been finished. 637 // Creation has been finished.
638 TRACE_EVENT_END1("browser",
639 "Profile::CreateProfile",
640 "profile_path",
641 path_.value().c_str());
642
643 #if defined(OS_CHROMEOS)
644 if (chromeos::LoginUtils::Get()->RestartToApplyPerSessionFlagsIfNeed(this,
645 true)) {
646 return;
647 }
648 #endif
649
633 if (delegate_) { 650 if (delegate_) {
634 TRACE_EVENT0("browser", "ProfileImpl::DoFileInit:DelegateOnProfileCreated") 651 TRACE_EVENT0("browser", "ProfileImpl::DoFileInit:DelegateOnProfileCreated")
635 delegate_->OnProfileCreated(this, true, IsNewProfile()); 652 delegate_->OnProfileCreated(this, true, IsNewProfile());
636 } 653 }
637 654
638 content::NotificationService::current()->Notify( 655 content::NotificationService::current()->Notify(
639 chrome::NOTIFICATION_PROFILE_CREATED, 656 chrome::NOTIFICATION_PROFILE_CREATED,
640 content::Source<Profile>(this), 657 content::Source<Profile>(this),
641 content::NotificationService::NoDetails()); 658 content::NotificationService::NoDetails());
642 659
(...skipping 673 matching lines...) Expand 10 before | Expand all | Expand 10 after
1316 ProfileImpl::CreateDomainReliabilityMonitor() { 1333 ProfileImpl::CreateDomainReliabilityMonitor() {
1317 domain_reliability::DomainReliabilityService* service = 1334 domain_reliability::DomainReliabilityService* service =
1318 domain_reliability::DomainReliabilityServiceFactory::GetInstance()-> 1335 domain_reliability::DomainReliabilityServiceFactory::GetInstance()->
1319 GetForBrowserContext(this); 1336 GetForBrowserContext(this);
1320 if (!service) 1337 if (!service)
1321 return scoped_ptr<domain_reliability::DomainReliabilityMonitor>(); 1338 return scoped_ptr<domain_reliability::DomainReliabilityMonitor>();
1322 1339
1323 return service->CreateMonitor( 1340 return service->CreateMonitor(
1324 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO)); 1341 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO));
1325 } 1342 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698