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

Side by Side Diff: chrome/browser/profile.cc

Issue 83001: ImportantFileWriter (Closed)
Patch Set: share more code Created 11 years, 8 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) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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/profile.h" 5 #include "chrome/browser/profile.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/file_path.h" 8 #include "base/file_path.h"
9 #include "base/file_util.h" 9 #include "base/file_util.h"
10 #include "base/path_service.h" 10 #include "base/path_service.h"
(...skipping 555 matching lines...) Expand 10 before | Expand all | Expand 10 after
566 SSLHostState* ProfileImpl::GetSSLHostState() { 566 SSLHostState* ProfileImpl::GetSSLHostState() {
567 if (!ssl_host_state_.get()) 567 if (!ssl_host_state_.get())
568 ssl_host_state_.reset(new SSLHostState()); 568 ssl_host_state_.reset(new SSLHostState());
569 569
570 DCHECK(ssl_host_state_->CalledOnValidThread()); 570 DCHECK(ssl_host_state_->CalledOnValidThread());
571 return ssl_host_state_.get(); 571 return ssl_host_state_.get();
572 } 572 }
573 573
574 PrefService* ProfileImpl::GetPrefs() { 574 PrefService* ProfileImpl::GetPrefs() {
575 if (!prefs_.get()) { 575 if (!prefs_.get()) {
576 prefs_.reset(new PrefService(GetPrefFilePath())); 576 prefs_.reset(new PrefService(GetPrefFilePath(),
577 g_browser_process->file_thread()));
577 578
578 // The Profile class and ProfileManager class may read some prefs so 579 // The Profile class and ProfileManager class may read some prefs so
579 // register known prefs as soon as possible. 580 // register known prefs as soon as possible.
580 Profile::RegisterUserPrefs(prefs_.get()); 581 Profile::RegisterUserPrefs(prefs_.get());
581 ProfileManager::RegisterUserPrefs(prefs_.get()); 582 ProfileManager::RegisterUserPrefs(prefs_.get());
582 583
583 // The last session exited cleanly if there is no pref for 584 // The last session exited cleanly if there is no pref for
584 // kSessionExitedCleanly or the value for kSessionExitedCleanly is true. 585 // kSessionExitedCleanly or the value for kSessionExitedCleanly is true.
585 last_session_exited_cleanly_ = 586 last_session_exited_cleanly_ =
586 prefs_->GetBoolean(prefs::kSessionExitedCleanly); 587 prefs_->GetBoolean(prefs::kSessionExitedCleanly);
587 // Mark the session as open. 588 // Mark the session as open.
588 prefs_->SetBoolean(prefs::kSessionExitedCleanly, false); 589 prefs_->SetBoolean(prefs::kSessionExitedCleanly, false);
589 // Make sure we save to disk that the session has opened. 590 // Make sure we save to disk that the session has opened.
590 prefs_->ScheduleSavePersistentPrefs(g_browser_process->file_thread()); 591 prefs_->ScheduleSavePersistentPrefs();
591 } 592 }
592 593
593 return prefs_.get(); 594 return prefs_.get();
594 } 595 }
595 596
596 FilePath ProfileImpl::GetPrefFilePath() { 597 FilePath ProfileImpl::GetPrefFilePath() {
597 FilePath pref_file_path = path_; 598 FilePath pref_file_path = path_;
598 pref_file_path = pref_file_path.Append(chrome::kPreferencesFilename); 599 pref_file_path = pref_file_path.Append(chrome::kPreferencesFilename);
599 return pref_file_path; 600 return pref_file_path;
600 } 601 }
(...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after
872 return spellchecker_; 873 return spellchecker_;
873 } 874 }
874 875
875 void ProfileImpl::MarkAsCleanShutdown() { 876 void ProfileImpl::MarkAsCleanShutdown() {
876 if (prefs_.get()) { 877 if (prefs_.get()) {
877 // The session cleanly exited, set kSessionExitedCleanly appropriately. 878 // The session cleanly exited, set kSessionExitedCleanly appropriately.
878 prefs_->SetBoolean(prefs::kSessionExitedCleanly, true); 879 prefs_->SetBoolean(prefs::kSessionExitedCleanly, true);
879 880
880 // NOTE: If you change what thread this writes on, be sure and update 881 // NOTE: If you change what thread this writes on, be sure and update
881 // ChromeFrame::EndSession(). 882 // ChromeFrame::EndSession().
882 prefs_->SavePersistentPrefs(g_browser_process->file_thread()); 883 prefs_->SavePersistentPrefs();
883 } 884 }
884 } 885 }
885 886
886 void ProfileImpl::Observe(NotificationType type, 887 void ProfileImpl::Observe(NotificationType type,
887 const NotificationSource& source, 888 const NotificationSource& source,
888 const NotificationDetails& details) { 889 const NotificationDetails& details) {
889 if (NotificationType::PREF_CHANGED == type) { 890 if (NotificationType::PREF_CHANGED == type) {
890 std::wstring* pref_name_in = Details<std::wstring>(details).ptr(); 891 std::wstring* pref_name_in = Details<std::wstring>(details).ptr();
891 PrefService* prefs = Source<PrefService>(source).ptr(); 892 PrefService* prefs = Source<PrefService>(source).ptr();
892 DCHECK(pref_name_in && prefs); 893 DCHECK(pref_name_in && prefs);
893 if (*pref_name_in == prefs::kSpellCheckDictionary || 894 if (*pref_name_in == prefs::kSpellCheckDictionary ||
894 *pref_name_in == prefs::kEnableSpellCheck) { 895 *pref_name_in == prefs::kEnableSpellCheck) {
895 InitializeSpellChecker(true); 896 InitializeSpellChecker(true);
896 } 897 }
897 } 898 }
898 } 899 }
899 900
900 void ProfileImpl::StopCreateSessionServiceTimer() { 901 void ProfileImpl::StopCreateSessionServiceTimer() {
901 create_session_service_timer_.Stop(); 902 create_session_service_timer_.Stop();
902 } 903 }
903 904
904 #ifdef CHROME_PERSONALIZATION 905 #ifdef CHROME_PERSONALIZATION
905 ProfilePersonalization* ProfileImpl::GetProfilePersonalization() { 906 ProfilePersonalization* ProfileImpl::GetProfilePersonalization() {
906 return personalization_.get(); 907 return personalization_.get();
907 } 908 }
908 #endif 909 #endif
OLDNEW
« no previous file with comments | « chrome/browser/metrics/metrics_service_uitest.cc ('k') | chrome/browser/search_engines/template_url_model.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698