| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/api/prefs/pref_member.h" | 5 #include "chrome/browser/api/prefs/pref_member.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/message_loop.h" | 8 #include "base/message_loop.h" |
| 9 #include "chrome/browser/prefs/pref_value_store.h" | 9 #include "chrome/browser/prefs/pref_value_store.h" |
| 10 #include "chrome/common/chrome_notification_types.h" | 10 #include "chrome/common/chrome_notification_types.h" |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 66 void GetPrefValueOnIOThread() { | 66 void GetPrefValueOnIOThread() { |
| 67 value_ = pref_.GetValue(); | 67 value_ = pref_.GetValue(); |
| 68 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, | 68 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, |
| 69 MessageLoop::QuitClosure()); | 69 MessageLoop::QuitClosure()); |
| 70 } | 70 } |
| 71 | 71 |
| 72 BooleanPrefMember pref_; | 72 BooleanPrefMember pref_; |
| 73 bool value_; | 73 bool value_; |
| 74 }; | 74 }; |
| 75 | 75 |
| 76 class PrefMemberTestClass : public content::NotificationObserver { | 76 class PrefMemberTestClass : public PrefObserver { |
| 77 public: | 77 public: |
| 78 explicit PrefMemberTestClass(PrefService* prefs) | 78 explicit PrefMemberTestClass(PrefService* prefs) |
| 79 : observe_cnt_(0), prefs_(prefs) { | 79 : observe_cnt_(0), prefs_(prefs) { |
| 80 str_.Init(kStringPref, prefs, this); | 80 str_.Init(kStringPref, prefs, this); |
| 81 } | 81 } |
| 82 | 82 |
| 83 virtual void Observe(int type, | 83 virtual void OnPreferenceChanged(PrefServiceBase* service, |
| 84 const content::NotificationSource& source, | 84 const std::string& pref_name) OVERRIDE { |
| 85 const content::NotificationDetails& details) { | 85 EXPECT_EQ(service, prefs_); |
| 86 DCHECK(chrome::NOTIFICATION_PREF_CHANGED == type); | 86 EXPECT_EQ(pref_name, kStringPref); |
| 87 PrefService* prefs_in = content::Source<PrefService>(source).ptr(); | |
| 88 EXPECT_EQ(prefs_in, prefs_); | |
| 89 std::string* pref_name_in = content::Details<std::string>(details).ptr(); | |
| 90 EXPECT_EQ(*pref_name_in, kStringPref); | |
| 91 EXPECT_EQ(str_.GetValue(), prefs_->GetString(kStringPref)); | 87 EXPECT_EQ(str_.GetValue(), prefs_->GetString(kStringPref)); |
| 92 ++observe_cnt_; | 88 ++observe_cnt_; |
| 93 } | 89 } |
| 94 | 90 |
| 95 StringPrefMember str_; | 91 StringPrefMember str_; |
| 96 int observe_cnt_; | 92 int observe_cnt_; |
| 97 | 93 |
| 98 private: | 94 private: |
| 99 PrefService* prefs_; | 95 PrefService* prefs_; |
| 100 }; | 96 }; |
| (...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 311 callback->Init(kBoolPref, &prefs); | 307 callback->Init(kBoolPref, &prefs); |
| 312 | 308 |
| 313 ASSERT_TRUE(callback->FetchValue()); | 309 ASSERT_TRUE(callback->FetchValue()); |
| 314 EXPECT_FALSE(callback->value()); | 310 EXPECT_FALSE(callback->value()); |
| 315 | 311 |
| 316 prefs.SetBoolean(kBoolPref, true); | 312 prefs.SetBoolean(kBoolPref, true); |
| 317 | 313 |
| 318 ASSERT_TRUE(callback->FetchValue()); | 314 ASSERT_TRUE(callback->FetchValue()); |
| 319 EXPECT_TRUE(callback->value()); | 315 EXPECT_TRUE(callback->value()); |
| 320 } | 316 } |
| OLD | NEW |