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

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: fix expectations for android and cros 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 #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.
8
9 MockValidationObserver::ValidationData::ValidationData() {
10 }
11
12 MockValidationObserver::ValidationData::~ValidationData() {
13 }
14
15 void MockValidationObserver::ValidationData::RecordValidation(
16 const std::string& pref_path,
17 PrefHashStoreTransaction::ValueState value_state,
18 TrackedPreferenceHelper::ResetAction reset_action,
19 PrefHashFilter::PrefTrackingStrategy strategy) {
20 validations_.push_back(
21 ValidationEvent(pref_path, value_state, reset_action, strategy));
22 }
23
24 size_t MockValidationObserver::ValidationData::CountValidationsOfState(
25 PrefHashStoreTransaction::ValueState value_state) const {
26 size_t count = 0;
27 for (size_t i = 0; i < validations_.size(); ++i) {
28 if (validations_[i].value_state == value_state)
29 ++count;
30 }
31 return count;
32 }
33
34 const MockValidationObserver::ValidationData::ValidationEvent*
35 MockValidationObserver::ValidationData::GetEventForPath(
36 const std::string& pref_path) const {
37 for (size_t i = 0; i < validations_.size(); ++i) {
38 if (validations_[i].pref_path == pref_path)
39 return &validations_[i];
40 }
41 return NULL;
42 }
43
44 void MockValidationObserver::ValidationData::GetAllEvents(
45 std::vector<ValidationEvent>* validations) const {
46 validations->assign(validations_.begin(), validations_.end());
47 }
48
49 MockValidationObserver::MockValidationObserver(
50 const scoped_refptr<ValidationData>& validation_data)
51 : validation_data_(validation_data) {
52 }
53
54 MockValidationObserver::~MockValidationObserver() {
55 }
56
57 void MockValidationObserver::OnAtomicPreferenceValidation(
58 const std::string& pref_path,
59 const base::Value* value,
60 PrefHashStoreTransaction::ValueState value_state,
61 TrackedPreferenceHelper::ResetAction reset_action) {
62 validation_data_->RecordValidation(pref_path,
63 value_state,
64 reset_action,
65 PrefHashFilter::TRACKING_STRATEGY_ATOMIC);
66 }
67
68 void MockValidationObserver::OnSplitPreferenceValidation(
69 const std::string& pref_path,
70 const base::DictionaryValue* dict_value,
71 const std::vector<std::string>& invalid_keys,
72 PrefHashStoreTransaction::ValueState value_state,
73 TrackedPreferenceHelper::ResetAction reset_action) {
74 validation_data_->RecordValidation(pref_path,
75 value_state,
76 reset_action,
77 PrefHashFilter::TRACKING_STRATEGY_SPLIT);
78 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698