Chromium Code Reviews| Index: chrome/browser/prefs/mock_validation_observer.cc |
| diff --git a/chrome/browser/prefs/mock_validation_observer.cc b/chrome/browser/prefs/mock_validation_observer.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..c08d909cb7fa227da010dac5f98882a20d2bb54a |
| --- /dev/null |
| +++ b/chrome/browser/prefs/mock_validation_observer.cc |
| @@ -0,0 +1,78 @@ |
| +// Copyright 2014 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "chrome/browser/prefs/mock_validation_observer.h" |
| + |
| +#include "base/logging.h" |
|
erikwright (departed)
2014/05/14 00:39:26
needed?
grt (UTC plus 2)
2014/05/14 18:57:22
Not any more. Thanks.
|
| + |
| +MockValidationObserver::ValidationData::ValidationData() { |
| +} |
| + |
| +MockValidationObserver::ValidationData::~ValidationData() { |
| +} |
| + |
| +void MockValidationObserver::ValidationData::RecordValidation( |
| + const std::string& pref_path, |
| + PrefHashStoreTransaction::ValueState value_state, |
| + TrackedPreferenceHelper::ResetAction reset_action, |
| + PrefHashFilter::PrefTrackingStrategy strategy) { |
| + validations_.push_back( |
| + ValidationEvent(pref_path, value_state, reset_action, strategy)); |
| +} |
| + |
| +size_t MockValidationObserver::ValidationData::CountValidationsOfState( |
| + PrefHashStoreTransaction::ValueState value_state) const { |
| + size_t count = 0; |
| + for (size_t i = 0; i < validations_.size(); ++i) { |
| + if (validations_[i].value_state == value_state) |
| + ++count; |
| + } |
| + return count; |
| +} |
| + |
| +const MockValidationObserver::ValidationData::ValidationEvent* |
| +MockValidationObserver::ValidationData::GetEventForPath( |
| + const std::string& pref_path) const { |
| + for (size_t i = 0; i < validations_.size(); ++i) { |
| + if (validations_[i].pref_path == pref_path) |
| + return &validations_[i]; |
| + } |
| + return NULL; |
| +} |
| + |
| +void MockValidationObserver::ValidationData::GetAllEvents( |
| + std::vector<ValidationEvent>* validations) const { |
| + validations->assign(validations_.begin(), validations_.end()); |
| +} |
| + |
| +MockValidationObserver::MockValidationObserver( |
| + const scoped_refptr<ValidationData>& validation_data) |
| + : validation_data_(validation_data) { |
| +} |
| + |
| +MockValidationObserver::~MockValidationObserver() { |
| +} |
| + |
| +void MockValidationObserver::OnAtomicPreferenceValidation( |
| + const std::string& pref_path, |
| + const base::Value* value, |
| + PrefHashStoreTransaction::ValueState value_state, |
| + TrackedPreferenceHelper::ResetAction reset_action) { |
| + validation_data_->RecordValidation(pref_path, |
| + value_state, |
| + reset_action, |
| + PrefHashFilter::TRACKING_STRATEGY_ATOMIC); |
| +} |
| + |
| +void MockValidationObserver::OnSplitPreferenceValidation( |
| + const std::string& pref_path, |
| + const base::DictionaryValue* dict_value, |
| + const std::vector<std::string>& invalid_keys, |
| + PrefHashStoreTransaction::ValueState value_state, |
| + TrackedPreferenceHelper::ResetAction reset_action) { |
| + validation_data_->RecordValidation(pref_path, |
| + value_state, |
| + reset_action, |
| + PrefHashFilter::TRACKING_STRATEGY_SPLIT); |
| +} |