Index: chrome/browser/prefs/pref_hash_filter_unittest.cc |
diff --git a/chrome/browser/prefs/pref_hash_filter_unittest.cc b/chrome/browser/prefs/pref_hash_filter_unittest.cc |
index 1b32dad6302281ab9f33390401c02eb70102cc8d..9248322a98a2f8d41d854fb7a7cf267313858d24 100644 |
--- a/chrome/browser/prefs/pref_hash_filter_unittest.cc |
+++ b/chrome/browser/prefs/pref_hash_filter_unittest.cc |
@@ -177,8 +177,9 @@ TEST_P(PrefHashFilterTest, FilterUntrackedPrefUpdate) { |
TEST_P(PrefHashFilterTest, EmptyAndUnknown) { |
ASSERT_FALSE(pref_store_contents_.Get(kTestPref, NULL)); |
+ // NULL values are always trusted by the PrefHashStore. |
mock_pref_hash_store_->SetCheckResult(kTestPref, |
- PrefHashStore::UNKNOWN_VALUE); |
+ PrefHashStore::TRUSTED_UNKNOWN_VALUE); |
pref_hash_filter_->FilterOnLoad(&pref_store_contents_); |
ASSERT_EQ(arraysize(kTestTrackedPrefs), |
mock_pref_hash_store_->checked_paths_count()); |
@@ -196,7 +197,7 @@ TEST_P(PrefHashFilterTest, InitialValueUnknown) { |
ASSERT_TRUE(pref_store_contents_.Get(kTestPref, NULL)); |
mock_pref_hash_store_->SetCheckResult(kTestPref, |
- PrefHashStore::UNKNOWN_VALUE); |
+ PrefHashStore::UNTRUSTED_UNKNOWN_VALUE); |
pref_hash_filter_->FilterOnLoad(&pref_store_contents_); |
ASSERT_EQ(arraysize(kTestTrackedPrefs), |
mock_pref_hash_store_->checked_paths_count()); |
@@ -217,6 +218,27 @@ TEST_P(PrefHashFilterTest, InitialValueUnknown) { |
} |
} |
+TEST_P(PrefHashFilterTest, InitialValueTrustedUnknown) { |
+ // Ownership of this value is transfered to |pref_store_contents_|. |
+ base::Value* string_value = base::Value::CreateStringValue("test"); |
+ pref_store_contents_.Set(kTestPref, string_value); |
+ |
+ ASSERT_TRUE(pref_store_contents_.Get(kTestPref, NULL)); |
+ |
+ mock_pref_hash_store_->SetCheckResult(kTestPref, |
+ PrefHashStore::TRUSTED_UNKNOWN_VALUE); |
+ pref_hash_filter_->FilterOnLoad(&pref_store_contents_); |
+ ASSERT_EQ(arraysize(kTestTrackedPrefs), |
+ mock_pref_hash_store_->checked_paths_count()); |
+ ASSERT_EQ(1u, mock_pref_hash_store_->stored_paths_count()); |
+ |
+ // Seeding is always allowed for trusted unknown values. |
+ const base::Value* value_in_store; |
+ ASSERT_TRUE(pref_store_contents_.Get(kTestPref, &value_in_store)); |
+ ASSERT_EQ(string_value, value_in_store); |
+ ASSERT_EQ(string_value, mock_pref_hash_store_->stored_value(kTestPref)); |
+} |
+ |
TEST_P(PrefHashFilterTest, InitialValueChanged) { |
// Ownership of this value is transfered to |pref_store_contents_|. |
base::Value* int_value = base::Value::CreateIntegerValue(1234); |