blob: df313d9cc19c835433760f879d8812e34770a792 [file] [log] [blame]
// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_APPS_INTENT_HELPER_INTENT_CHIP_DISPLAY_PREFS_H_
#define CHROME_BROWSER_APPS_INTENT_HELPER_INTENT_CHIP_DISPLAY_PREFS_H_
#include "url/gurl.h"
class Profile;
// Stores and manages user preferences about how the Intent Chip should be
// displayed for each origin.
class IntentChipDisplayPrefs {
public:
// Whether the Intent Chip displays as Expanded (full chip with label
// text) or collapsed (just an icon).
enum class ChipState { kExpanded = 0, kCollapsed = 1 };
// Returns a ChipState indicating whether the Intent Chip should be shown as
// expanded or collapsed for a given URL. Increments an internal counter to
// track the number of times the chip has been shown for that URL.
static ChipState GetChipStateAndIncrementCounter(Profile* profile,
const GURL& url);
// Reset the intent chip counter to 0. When this is called, it allows the
// GetChipStateAndIncrementCounter function will return an Expanded ChipState
// another 3 times for that |url|.
static void ResetIntentChipCounter(Profile* profile, const GURL& url);
};
#endif // CHROME_BROWSER_APPS_INTENT_HELPER_INTENT_CHIP_DISPLAY_PREFS_H_