| Index: components/user_prefs/tracked/pref_hash_filter_unittest.cc
|
| diff --git a/components/user_prefs/tracked/pref_hash_filter_unittest.cc b/components/user_prefs/tracked/pref_hash_filter_unittest.cc
|
| index a03d069eb80695c35cf38bcbc051abfa3bdb6eb4..9b0994b3ba6fbfd0f969fdbe8d51f17977dca0ba 100644
|
| --- a/components/user_prefs/tracked/pref_hash_filter_unittest.cc
|
| +++ b/components/user_prefs/tracked/pref_hash_filter_unittest.cc
|
| @@ -42,41 +42,27 @@ const char kReportOnlySplitPref[] = "report_only_split_pref";
|
| const char kSplitPref[] = "split_pref";
|
|
|
| const PrefHashFilter::TrackedPreferenceMetadata kTestTrackedPrefs[] = {
|
| - {0,
|
| - kAtomicPref,
|
| - PrefHashFilter::ENFORCE_ON_LOAD,
|
| - PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
|
| - PrefHashFilter::VALUE_PERSONAL},
|
| - {1,
|
| - kReportOnlyPref,
|
| - PrefHashFilter::NO_ENFORCEMENT,
|
| - PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
|
| - PrefHashFilter::VALUE_IMPERSONAL},
|
| - {2,
|
| - kSplitPref,
|
| - PrefHashFilter::ENFORCE_ON_LOAD,
|
| - PrefHashFilter::TRACKING_STRATEGY_SPLIT,
|
| - PrefHashFilter::VALUE_IMPERSONAL},
|
| - {3,
|
| - kReportOnlySplitPref,
|
| - PrefHashFilter::NO_ENFORCEMENT,
|
| - PrefHashFilter::TRACKING_STRATEGY_SPLIT,
|
| - PrefHashFilter::VALUE_IMPERSONAL},
|
| - {4,
|
| - kAtomicPref2,
|
| - PrefHashFilter::ENFORCE_ON_LOAD,
|
| - PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
|
| - PrefHashFilter::VALUE_IMPERSONAL},
|
| - {5,
|
| - kAtomicPref3,
|
| - PrefHashFilter::ENFORCE_ON_LOAD,
|
| - PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
|
| - PrefHashFilter::VALUE_IMPERSONAL},
|
| - {6,
|
| - kAtomicPref4,
|
| - PrefHashFilter::ENFORCE_ON_LOAD,
|
| - PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
|
| - PrefHashFilter::VALUE_IMPERSONAL},
|
| + {0, kAtomicPref, PrefHashFilter::EnforcementLevel::ENFORCE_ON_LOAD,
|
| + PrefHashFilter::PrefTrackingStrategy::ATOMIC,
|
| + PrefHashFilter::ValueType::PERSONAL},
|
| + {1, kReportOnlyPref, PrefHashFilter::EnforcementLevel::NO_ENFORCEMENT,
|
| + PrefHashFilter::PrefTrackingStrategy::ATOMIC,
|
| + PrefHashFilter::ValueType::IMPERSONAL},
|
| + {2, kSplitPref, PrefHashFilter::EnforcementLevel::ENFORCE_ON_LOAD,
|
| + PrefHashFilter::PrefTrackingStrategy::SPLIT,
|
| + PrefHashFilter::ValueType::IMPERSONAL},
|
| + {3, kReportOnlySplitPref, PrefHashFilter::EnforcementLevel::NO_ENFORCEMENT,
|
| + PrefHashFilter::PrefTrackingStrategy::SPLIT,
|
| + PrefHashFilter::ValueType::IMPERSONAL},
|
| + {4, kAtomicPref2, PrefHashFilter::EnforcementLevel::ENFORCE_ON_LOAD,
|
| + PrefHashFilter::PrefTrackingStrategy::ATOMIC,
|
| + PrefHashFilter::ValueType::IMPERSONAL},
|
| + {5, kAtomicPref3, PrefHashFilter::EnforcementLevel::ENFORCE_ON_LOAD,
|
| + PrefHashFilter::PrefTrackingStrategy::ATOMIC,
|
| + PrefHashFilter::ValueType::IMPERSONAL},
|
| + {6, kAtomicPref4, PrefHashFilter::EnforcementLevel::ENFORCE_ON_LOAD,
|
| + PrefHashFilter::PrefTrackingStrategy::ATOMIC,
|
| + PrefHashFilter::ValueType::IMPERSONAL},
|
| };
|
|
|
| } // namespace
|
| @@ -312,14 +298,14 @@ MockPrefHashStore::MockPrefHashStoreTransaction::CheckValue(
|
| const std::string& path,
|
| const base::Value* value) const {
|
| return outer_->RecordCheckValue(path, value,
|
| - PrefHashFilter::TRACKING_STRATEGY_ATOMIC);
|
| + PrefHashFilter::PrefTrackingStrategy::ATOMIC);
|
| }
|
|
|
| void MockPrefHashStore::MockPrefHashStoreTransaction::StoreHash(
|
| const std::string& path,
|
| const base::Value* new_value) {
|
| outer_->RecordStoreHash(path, new_value,
|
| - PrefHashFilter::TRACKING_STRATEGY_ATOMIC);
|
| + PrefHashFilter::PrefTrackingStrategy::ATOMIC);
|
| }
|
|
|
| PrefHashStoreTransaction::ValueState
|
| @@ -338,14 +324,14 @@ MockPrefHashStore::MockPrefHashStoreTransaction::CheckSplitValue(
|
| }
|
|
|
| return outer_->RecordCheckValue(path, initial_split_value,
|
| - PrefHashFilter::TRACKING_STRATEGY_SPLIT);
|
| + PrefHashFilter::PrefTrackingStrategy::SPLIT);
|
| }
|
|
|
| void MockPrefHashStore::MockPrefHashStoreTransaction::StoreSplitHash(
|
| const std::string& path,
|
| const base::DictionaryValue* new_value) {
|
| outer_->RecordStoreHash(path, new_value,
|
| - PrefHashFilter::TRACKING_STRATEGY_SPLIT);
|
| + PrefHashFilter::PrefTrackingStrategy::SPLIT);
|
| }
|
|
|
| bool MockPrefHashStore::MockPrefHashStoreTransaction::HasHash(
|
| @@ -719,7 +705,7 @@ TEST_P(PrefHashFilterTest, FilterTrackedPrefUpdate) {
|
| MockPrefHashStore::ValuePtrStrategyPair stored_value =
|
| mock_pref_hash_store_->stored_value(kAtomicPref);
|
| ASSERT_EQ(string_value, stored_value.first);
|
| - ASSERT_EQ(PrefHashFilter::TRACKING_STRATEGY_ATOMIC, stored_value.second);
|
| + ASSERT_EQ(PrefHashFilter::PrefTrackingStrategy::ATOMIC, stored_value.second);
|
|
|
| ASSERT_EQ(1u, mock_pref_hash_store_->transactions_performed());
|
| VerifyRecordedReset(false);
|
| @@ -779,7 +765,7 @@ TEST_P(PrefHashFilterTest, FilterSplitPrefUpdate) {
|
| MockPrefHashStore::ValuePtrStrategyPair stored_value =
|
| mock_pref_hash_store_->stored_value(kSplitPref);
|
| ASSERT_EQ(dict_value, stored_value.first);
|
| - ASSERT_EQ(PrefHashFilter::TRACKING_STRATEGY_SPLIT, stored_value.second);
|
| + ASSERT_EQ(PrefHashFilter::PrefTrackingStrategy::SPLIT, stored_value.second);
|
|
|
| ASSERT_EQ(1u, mock_pref_hash_store_->transactions_performed());
|
| VerifyRecordedReset(false);
|
| @@ -835,20 +821,21 @@ TEST_P(PrefHashFilterTest, MultiplePrefsFilterSerializeData) {
|
| MockPrefHashStore::ValuePtrStrategyPair stored_value_atomic1 =
|
| mock_pref_hash_store_->stored_value(kAtomicPref);
|
| ASSERT_EQ(int_value1, stored_value_atomic1.first);
|
| - ASSERT_EQ(PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
|
| + ASSERT_EQ(PrefHashFilter::PrefTrackingStrategy::ATOMIC,
|
| stored_value_atomic1.second);
|
| ASSERT_EQ(1u, mock_pref_hash_store_->transactions_performed());
|
|
|
| MockPrefHashStore::ValuePtrStrategyPair stored_value_atomic3 =
|
| mock_pref_hash_store_->stored_value(kAtomicPref3);
|
| ASSERT_EQ(int_value5, stored_value_atomic3.first);
|
| - ASSERT_EQ(PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
|
| + ASSERT_EQ(PrefHashFilter::PrefTrackingStrategy::ATOMIC,
|
| stored_value_atomic3.second);
|
|
|
| MockPrefHashStore::ValuePtrStrategyPair stored_value_split =
|
| mock_pref_hash_store_->stored_value(kSplitPref);
|
| ASSERT_EQ(dict_value, stored_value_split.first);
|
| - ASSERT_EQ(PrefHashFilter::TRACKING_STRATEGY_SPLIT, stored_value_split.second);
|
| + ASSERT_EQ(PrefHashFilter::PrefTrackingStrategy::SPLIT,
|
| + stored_value_split.second);
|
| }
|
|
|
| TEST_P(PrefHashFilterTest, UnknownNullValue) {
|
| @@ -868,13 +855,14 @@ TEST_P(PrefHashFilterTest, UnknownNullValue) {
|
| MockPrefHashStore::ValuePtrStrategyPair stored_atomic_value =
|
| mock_pref_hash_store_->stored_value(kAtomicPref);
|
| ASSERT_EQ(NULL, stored_atomic_value.first);
|
| - ASSERT_EQ(PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
|
| + ASSERT_EQ(PrefHashFilter::PrefTrackingStrategy::ATOMIC,
|
| stored_atomic_value.second);
|
|
|
| MockPrefHashStore::ValuePtrStrategyPair stored_split_value =
|
| mock_pref_hash_store_->stored_value(kSplitPref);
|
| ASSERT_EQ(NULL, stored_split_value.first);
|
| - ASSERT_EQ(PrefHashFilter::TRACKING_STRATEGY_SPLIT, stored_split_value.second);
|
| + ASSERT_EQ(PrefHashFilter::PrefTrackingStrategy::SPLIT,
|
| + stored_split_value.second);
|
|
|
| // Delegate saw all prefs, two of which had the expected value_state.
|
| ASSERT_EQ(arraysize(kTestTrackedPrefs),
|
| @@ -887,12 +875,12 @@ TEST_P(PrefHashFilterTest, UnknownNullValue) {
|
|
|
| const MockValidationDelegateRecord::ValidationEvent* validated_split_pref =
|
| mock_validation_delegate_record_->GetEventForPath(kSplitPref);
|
| - ASSERT_EQ(PrefHashFilter::TRACKING_STRATEGY_SPLIT,
|
| + ASSERT_EQ(PrefHashFilter::PrefTrackingStrategy::SPLIT,
|
| validated_split_pref->strategy);
|
| ASSERT_FALSE(validated_split_pref->is_personal);
|
| const MockValidationDelegateRecord::ValidationEvent* validated_atomic_pref =
|
| mock_validation_delegate_record_->GetEventForPath(kAtomicPref);
|
| - ASSERT_EQ(PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
|
| + ASSERT_EQ(PrefHashFilter::PrefTrackingStrategy::ATOMIC,
|
| validated_atomic_pref->strategy);
|
| ASSERT_TRUE(validated_atomic_pref->is_personal);
|
| }
|
| @@ -915,7 +903,8 @@ TEST_P(PrefHashFilterTest, InitialValueUnknown) {
|
| mock_pref_hash_store_->SetCheckResult(
|
| kSplitPref, PrefHashStoreTransaction::UNTRUSTED_UNKNOWN_VALUE);
|
| // If we are enforcing, expect this to report changes.
|
| - DoFilterOnLoad(GetParam() >= PrefHashFilter::ENFORCE_ON_LOAD);
|
| + DoFilterOnLoad(GetParam() >=
|
| + PrefHashFilter::EnforcementLevel::ENFORCE_ON_LOAD);
|
| ASSERT_EQ(arraysize(kTestTrackedPrefs),
|
| mock_pref_hash_store_->checked_paths_count());
|
| ASSERT_EQ(2u, mock_pref_hash_store_->stored_paths_count());
|
| @@ -934,10 +923,11 @@ TEST_P(PrefHashFilterTest, InitialValueUnknown) {
|
| mock_pref_hash_store_->stored_value(kAtomicPref);
|
| MockPrefHashStore::ValuePtrStrategyPair stored_split_value =
|
| mock_pref_hash_store_->stored_value(kSplitPref);
|
| - ASSERT_EQ(PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
|
| + ASSERT_EQ(PrefHashFilter::PrefTrackingStrategy::ATOMIC,
|
| stored_atomic_value.second);
|
| - ASSERT_EQ(PrefHashFilter::TRACKING_STRATEGY_SPLIT, stored_split_value.second);
|
| - if (GetParam() == PrefHashFilter::ENFORCE_ON_LOAD) {
|
| + ASSERT_EQ(PrefHashFilter::PrefTrackingStrategy::SPLIT,
|
| + stored_split_value.second);
|
| + if (GetParam() == PrefHashFilter::EnforcementLevel::ENFORCE_ON_LOAD) {
|
| // Ensure the prefs were cleared and the hashes for NULL were restored if
|
| // the current enforcement level denies seeding.
|
| ASSERT_FALSE(pref_store_contents_->Get(kAtomicPref, NULL));
|
| @@ -1003,7 +993,7 @@ TEST_P(PrefHashFilterTest, InitialValueTrustedUnknown) {
|
| MockPrefHashStore::ValuePtrStrategyPair stored_atomic_value =
|
| mock_pref_hash_store_->stored_value(kAtomicPref);
|
| ASSERT_EQ(string_value, stored_atomic_value.first);
|
| - ASSERT_EQ(PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
|
| + ASSERT_EQ(PrefHashFilter::PrefTrackingStrategy::ATOMIC,
|
| stored_atomic_value.second);
|
|
|
| const base::Value* split_value_in_store;
|
| @@ -1012,7 +1002,8 @@ TEST_P(PrefHashFilterTest, InitialValueTrustedUnknown) {
|
| MockPrefHashStore::ValuePtrStrategyPair stored_split_value =
|
| mock_pref_hash_store_->stored_value(kSplitPref);
|
| ASSERT_EQ(dict_value, stored_split_value.first);
|
| - ASSERT_EQ(PrefHashFilter::TRACKING_STRATEGY_SPLIT, stored_split_value.second);
|
| + ASSERT_EQ(PrefHashFilter::PrefTrackingStrategy::SPLIT,
|
| + stored_split_value.second);
|
| }
|
|
|
| TEST_P(PrefHashFilterTest, InitialValueChanged) {
|
| @@ -1040,7 +1031,8 @@ TEST_P(PrefHashFilterTest, InitialValueChanged) {
|
| mock_invalid_keys.push_back("c");
|
| mock_pref_hash_store_->SetInvalidKeysResult(kSplitPref, mock_invalid_keys);
|
|
|
| - DoFilterOnLoad(GetParam() >= PrefHashFilter::ENFORCE_ON_LOAD);
|
| + DoFilterOnLoad(GetParam() >=
|
| + PrefHashFilter::EnforcementLevel::ENFORCE_ON_LOAD);
|
| ASSERT_EQ(arraysize(kTestTrackedPrefs),
|
| mock_pref_hash_store_->checked_paths_count());
|
| ASSERT_EQ(2u, mock_pref_hash_store_->stored_paths_count());
|
| @@ -1050,10 +1042,11 @@ TEST_P(PrefHashFilterTest, InitialValueChanged) {
|
| mock_pref_hash_store_->stored_value(kAtomicPref);
|
| MockPrefHashStore::ValuePtrStrategyPair stored_split_value =
|
| mock_pref_hash_store_->stored_value(kSplitPref);
|
| - ASSERT_EQ(PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
|
| + ASSERT_EQ(PrefHashFilter::PrefTrackingStrategy::ATOMIC,
|
| stored_atomic_value.second);
|
| - ASSERT_EQ(PrefHashFilter::TRACKING_STRATEGY_SPLIT, stored_split_value.second);
|
| - if (GetParam() == PrefHashFilter::ENFORCE_ON_LOAD) {
|
| + ASSERT_EQ(PrefHashFilter::PrefTrackingStrategy::SPLIT,
|
| + stored_split_value.second);
|
| + if (GetParam() == PrefHashFilter::EnforcementLevel::ENFORCE_ON_LOAD) {
|
| // Ensure the atomic pref was cleared and the hash for NULL was restored if
|
| // the current enforcement level prevents changes.
|
| ASSERT_FALSE(pref_store_contents_->Get(kAtomicPref, NULL));
|
| @@ -1121,14 +1114,15 @@ TEST_P(PrefHashFilterTest, EmptyCleared) {
|
| MockPrefHashStore::ValuePtrStrategyPair stored_atomic_value =
|
| mock_pref_hash_store_->stored_value(kAtomicPref);
|
| ASSERT_EQ(NULL, stored_atomic_value.first);
|
| - ASSERT_EQ(PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
|
| + ASSERT_EQ(PrefHashFilter::PrefTrackingStrategy::ATOMIC,
|
| stored_atomic_value.second);
|
|
|
| ASSERT_FALSE(pref_store_contents_->Get(kSplitPref, NULL));
|
| MockPrefHashStore::ValuePtrStrategyPair stored_split_value =
|
| mock_pref_hash_store_->stored_value(kSplitPref);
|
| ASSERT_EQ(NULL, stored_split_value.first);
|
| - ASSERT_EQ(PrefHashFilter::TRACKING_STRATEGY_SPLIT, stored_split_value.second);
|
| + ASSERT_EQ(PrefHashFilter::PrefTrackingStrategy::SPLIT,
|
| + stored_split_value.second);
|
| }
|
|
|
| TEST_P(PrefHashFilterTest, InitialValueUnchangedLegacyId) {
|
| @@ -1170,7 +1164,7 @@ TEST_P(PrefHashFilterTest, InitialValueUnchangedLegacyId) {
|
|
|
| MockPrefHashStore::ValuePtrStrategyPair stored_atomic_value =
|
| mock_pref_hash_store_->stored_value(kAtomicPref);
|
| - ASSERT_EQ(PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
|
| + ASSERT_EQ(PrefHashFilter::PrefTrackingStrategy::ATOMIC,
|
| stored_atomic_value.second);
|
| const base::Value* atomic_value_in_store;
|
| ASSERT_TRUE(pref_store_contents_->Get(kAtomicPref, &atomic_value_in_store));
|
| @@ -1179,7 +1173,8 @@ TEST_P(PrefHashFilterTest, InitialValueUnchangedLegacyId) {
|
|
|
| MockPrefHashStore::ValuePtrStrategyPair stored_split_value =
|
| mock_pref_hash_store_->stored_value(kSplitPref);
|
| - ASSERT_EQ(PrefHashFilter::TRACKING_STRATEGY_SPLIT, stored_split_value.second);
|
| + ASSERT_EQ(PrefHashFilter::PrefTrackingStrategy::SPLIT,
|
| + stored_split_value.second);
|
| const base::Value* split_value_in_store;
|
| ASSERT_TRUE(pref_store_contents_->Get(kSplitPref, &split_value_in_store));
|
| ASSERT_EQ(dict_value, split_value_in_store);
|
| @@ -1214,7 +1209,8 @@ TEST_P(PrefHashFilterTest, DontResetReportOnly) {
|
| mock_pref_hash_store_->SetCheckResult(kReportOnlySplitPref,
|
| PrefHashStoreTransaction::CHANGED);
|
|
|
| - DoFilterOnLoad(GetParam() >= PrefHashFilter::ENFORCE_ON_LOAD);
|
| + DoFilterOnLoad(GetParam() >=
|
| + PrefHashFilter::EnforcementLevel::ENFORCE_ON_LOAD);
|
| // All prefs should be checked and a new hash should be stored for each tested
|
| // pref.
|
| ASSERT_EQ(arraysize(kTestTrackedPrefs),
|
| @@ -1241,7 +1237,7 @@ TEST_P(PrefHashFilterTest, DontResetReportOnly) {
|
| mock_pref_hash_store_->stored_value(kReportOnlySplitPref).first);
|
|
|
| // All other prefs should have been reset if the enforcement level allows it.
|
| - if (GetParam() == PrefHashFilter::ENFORCE_ON_LOAD) {
|
| + if (GetParam() == PrefHashFilter::EnforcementLevel::ENFORCE_ON_LOAD) {
|
| ASSERT_FALSE(pref_store_contents_->Get(kAtomicPref, NULL));
|
| ASSERT_FALSE(pref_store_contents_->Get(kAtomicPref2, NULL));
|
| ASSERT_EQ(NULL, mock_pref_hash_store_->stored_value(kAtomicPref).first);
|
| @@ -1391,7 +1387,8 @@ TEST_P(PrefHashFilterTest, ExternalValidationValueChanged) {
|
| PrefHashStoreTransaction::UNCHANGED));
|
| }
|
|
|
| -INSTANTIATE_TEST_CASE_P(PrefHashFilterTestInstance,
|
| - PrefHashFilterTest,
|
| - testing::Values(PrefHashFilter::NO_ENFORCEMENT,
|
| - PrefHashFilter::ENFORCE_ON_LOAD));
|
| +INSTANTIATE_TEST_CASE_P(
|
| + PrefHashFilterTestInstance,
|
| + PrefHashFilterTest,
|
| + testing::Values(PrefHashFilter::EnforcementLevel::NO_ENFORCEMENT,
|
| + PrefHashFilter::EnforcementLevel::ENFORCE_ON_LOAD));
|
|
|