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