1 // Copyright 2013 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.
5 #include "base/prefs/scoped_user_pref_update.h"
7 #include "base/logging.h"
8 #include "base/prefs/pref_notifier.h"
9 #include "base/prefs/pref_service.h"
13 ScopedUserPrefUpdateBase::ScopedUserPrefUpdateBase(PrefService
* service
,
14 const std::string
& path
)
15 : service_(service
), path_(path
), value_(NULL
) {
16 DCHECK(service_
->CalledOnValidThread());
19 ScopedUserPrefUpdateBase::~ScopedUserPrefUpdateBase() {
23 base::Value
* ScopedUserPrefUpdateBase::GetValueOfType(base::Value::Type type
) {
24 DCHECK(CalledOnValidThread());
26 value_
= service_
->GetMutableUserPref(path_
, type
);
30 void ScopedUserPrefUpdateBase::Notify() {
32 service_
->ReportUserPrefChanged(path_
);