summaryrefslogtreecommitdiffstats
path: root/chrome/browser/profiles/profile.cc
diff options
context:
space:
mode:
authorsatorux@chromium.org <satorux@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-16 04:27:46 +0000
committersatorux@chromium.org <satorux@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-16 04:27:46 +0000
commit45b6ccca5839076449c44e927fd09a713fea7de6 (patch)
tree8c3559ae8ee7ff11902282af1e013269a20998c3 /chrome/browser/profiles/profile.cc
parent5b899a41e7c2b43f44f7b09e91ae507115571c86 (diff)
downloadchromium_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.cc16
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