Home | History | Annotate | Download | only in bookmarks
      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 
     11 BookmarkPromptPrefs::BookmarkPromptPrefs(PrefService* user_prefs)
     12     : prefs_(user_prefs) {
     13 }
     14 
     15 BookmarkPromptPrefs::~BookmarkPromptPrefs() {
     16 }
     17 
     18 void BookmarkPromptPrefs::DisableBookmarkPrompt() {
     19   prefs_->SetBoolean(prefs::kBookmarkPromptEnabled, false);
     20 }
     21 
     22 int BookmarkPromptPrefs::GetPromptImpressionCount() const {
     23   return prefs_->GetInteger(prefs::kBookmarkPromptImpressionCount);
     24 }
     25 
     26 void BookmarkPromptPrefs::IncrementPromptImpressionCount() {
     27   prefs_->SetInteger(prefs::kBookmarkPromptImpressionCount,
     28                      GetPromptImpressionCount() + 1);
     29 }
     30 
     31 bool BookmarkPromptPrefs::IsBookmarkPromptEnabled() const {
     32   return prefs_->GetBoolean(prefs::kBookmarkPromptEnabled);
     33 }
     34 
     35 // static
     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