Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2402)

Side by Side Diff: chrome/browser/prefs/mock_validation_observer.cc

Issue 266553002: Add TrackedPreferenceValidationDelegate (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: test fix Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chrome/browser/prefs/mock_validation_observer.h"
6
7 MockValidationObserver::ValidationData::ValidationData() {
8 }
9
10 MockValidationObserver::ValidationData::~ValidationData() {
11 }
12
13 void MockValidationObserver::ValidationData::RecordValidation(
14 const std::string& pref_path,
15 PrefHashStoreTransaction::ValueState value_state,
16 TrackedPreferenceHelper::ResetAction reset_action,
17 PrefHashFilter::PrefTrackingStrategy strategy) {
18 validations_.push_back(
19 ValidationEvent(pref_path, value_state, reset_action, strategy));
20 }
21
22 size_t MockValidationObserver::ValidationData::CountValidationsOfState(
23 PrefHashStoreTransaction::ValueState value_state) const {
24 size_t count = 0;
25 for (size_t i = 0; i < validations_.size(); ++i) {
26 if (validations_[i].value_state == value_state)
27 ++count;
28 }
29 return count;
30 }
31
32 const MockValidationObserver::ValidationData::ValidationEvent*
33 MockValidationObserver::ValidationData::GetEventForPath(
34 const std::string& pref_path) const {
35 for (size_t i = 0; i < validations_.size(); ++i) {
36 if (validations_[i].pref_path == pref_path)
37 return &validations_[i];
38 }
39 return NULL;
40 }
41
42 void MockValidationObserver::ValidationData::GetAllEvents(
43 std::vector<ValidationEvent>* validations) const {
44 validations->assign(validations_.begin(), validations_.end());
45 }
46
47 MockValidationObserver::MockValidationObserver(
48 const scoped_refptr<ValidationData>& validation_data)
49 : validation_data_(validation_data) {
50 }
51
52 MockValidationObserver::~MockValidationObserver() {
53 }
54
55 void MockValidationObserver::OnAtomicPreferenceValidation(
56 const std::string& pref_path,
57 const base::Value* value,
58 PrefHashStoreTransaction::ValueState value_state,
59 TrackedPreferenceHelper::ResetAction reset_action) {
60 validation_data_->RecordValidation(pref_path,
61 value_state,
62 reset_action,
63 PrefHashFilter::TRACKING_STRATEGY_ATOMIC);
64 }
65
66 void MockValidationObserver::OnSplitPreferenceValidation(
67 const std::string& pref_path,
68 const base::DictionaryValue* dict_value,
69 const std::vector<std::string>& invalid_keys,
70 PrefHashStoreTransaction::ValueState value_state,
71 TrackedPreferenceHelper::ResetAction reset_action) {
72 validation_data_->RecordValidation(pref_path,
73 value_state,
74 reset_action,
75 PrefHashFilter::TRACKING_STRATEGY_SPLIT);
76 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698