// 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_delegate.h" MockValidationDelegate::MockValidationDelegate() { } MockValidationDelegate::~MockValidationDelegate() { } size_t MockValidationDelegate::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 MockValidationDelegate::ValidationEvent* MockValidationDelegate::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 MockValidationDelegate::OnAtomicPreferenceValidation( const std::string& pref_path, const base::Value* value, PrefHashStoreTransaction::ValueState value_state, TrackedPreferenceHelper::ResetAction reset_action) { RecordValidation(pref_path, value_state, reset_action, PrefHashFilter::TRACKING_STRATEGY_ATOMIC); } void MockValidationDelegate::OnSplitPreferenceValidation( const std::string& pref_path, const base::DictionaryValue* dict_value, const std::vector& invalid_keys, PrefHashStoreTransaction::ValueState value_state, TrackedPreferenceHelper::ResetAction reset_action) { RecordValidation(pref_path, value_state, reset_action, PrefHashFilter::TRACKING_STRATEGY_SPLIT); } void MockValidationDelegate::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)); }