diff options
author | satorux@chromium.org <satorux@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-16 04:27:46 +0000 |
---|---|---|
committer | satorux@chromium.org <satorux@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-16 04:27:46 +0000 |
commit | 45b6ccca5839076449c44e927fd09a713fea7de6 (patch) | |
tree | 8c3559ae8ee7ff11902282af1e013269a20998c3 /chrome/browser/profiles/profile.cc | |
parent | 5b899a41e7c2b43f44f7b09e91ae507115571c86 (diff) | |
download | chromium_src-45b6ccca5839076449c44e927fd09a713fea7de6.zip chromium_src-45b6ccca5839076449c44e927fd09a713fea7de6.tar.gz chromium_src-45b6ccca5839076449c44e927fd09a713fea7de6.tar.bz2 |
Fix a bug that caused Chrome OS system preferences not to work in the guest mode.
Before this change, we were initializing Chrome OS system preferences
in ProfileImpl's constructor, but this didn't work in the guest mode,
since we'll switch the profile implementation (GuestSessionProfile)
afterward in the guest mode.
BUG=chromium-os:11912
TEST=confirm that "Enable tap-to-click" works both in the guest and the normal mode.
Review URL: http://codereview.chromium.org/6484033
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75067 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/profiles/profile.cc')
-rw-r--r-- | chrome/browser/profiles/profile.cc | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/chrome/browser/profiles/profile.cc b/chrome/browser/profiles/profile.cc index 9815e4f..d54c56c 100644 --- a/chrome/browser/profiles/profile.cc +++ b/chrome/browser/profiles/profile.cc @@ -57,6 +57,8 @@ #include "chrome/browser/password_manager/native_backend_gnome_x.h" #include "chrome/browser/password_manager/native_backend_kwallet_x.h" #include "chrome/browser/password_manager/password_store_x.h" +#elif defined(OS_CHROMEOS) +#include "chrome/browser/chromeos/preferences.h" #endif using base::Time; @@ -591,6 +593,11 @@ class OffTheRecordProfileImpl : public Profile, virtual void SetupChromeOSEnterpriseExtensionObserver() { profile_->SetupChromeOSEnterpriseExtensionObserver(); } + + virtual void InitChromeOSPreferences() { + // The off-the-record profile shouldn't have Chrome OS's preferences. + // The preferences are associated with the regular user profile. + } #endif // defined(OS_CHROMEOS) virtual void ExitedOffTheRecordMode() { @@ -743,6 +750,15 @@ class GuestSessionProfile : public OffTheRecordProfileImpl { virtual PersonalDataManager* GetPersonalDataManager() { return GetOriginalProfile()->GetPersonalDataManager(); } + + virtual void InitChromeOSPreferences() { + chromeos_preferences_.reset(new chromeos::Preferences()); + chromeos_preferences_->Init(GetPrefs()); + } + + private: + // The guest user should be able to customize Chrome OS preferences. + scoped_ptr<chromeos::Preferences> chromeos_preferences_; }; #endif |