• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2012 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/bookmarks/bookmark_prompt_prefs.h"
6 
7 #include "base/prefs/pref_service.h"
8 #include "chrome/common/pref_names.h"
9 #include "components/user_prefs/pref_registry_syncable.h"
10 
BookmarkPromptPrefs(PrefService * user_prefs)11 BookmarkPromptPrefs::BookmarkPromptPrefs(PrefService* user_prefs)
12     : prefs_(user_prefs) {
13 }
14 
~BookmarkPromptPrefs()15 BookmarkPromptPrefs::~BookmarkPromptPrefs() {
16 }
17 
DisableBookmarkPrompt()18 void BookmarkPromptPrefs::DisableBookmarkPrompt() {
19   prefs_->SetBoolean(prefs::kBookmarkPromptEnabled, false);
20 }
21 
GetPromptImpressionCount() const22 int BookmarkPromptPrefs::GetPromptImpressionCount() const {
23   return prefs_->GetInteger(prefs::kBookmarkPromptImpressionCount);
24 }
25 
IncrementPromptImpressionCount()26 void BookmarkPromptPrefs::IncrementPromptImpressionCount() {
27   prefs_->SetInteger(prefs::kBookmarkPromptImpressionCount,
28                      GetPromptImpressionCount() + 1);
29 }
30 
IsBookmarkPromptEnabled() const31 bool BookmarkPromptPrefs::IsBookmarkPromptEnabled() const {
32   return prefs_->GetBoolean(prefs::kBookmarkPromptEnabled);
33 }
34 
35 // static
RegisterProfilePrefs(user_prefs::PrefRegistrySyncable * registry)36 void BookmarkPromptPrefs::RegisterProfilePrefs(
37     user_prefs::PrefRegistrySyncable* registry) {
38   // We always register preferences without checking FieldTrial, because
39   // we may not receive field trial list from the server yet.
40   registry->RegisterBooleanPref(
41       prefs::kBookmarkPromptEnabled,
42       true,
43       user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
44   registry->RegisterIntegerPref(
45       prefs::kBookmarkPromptImpressionCount,
46       0,
47       user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
48 }
49