blob: 30cffa7308cc43fd39dac3679506ed2e31e50f9e [file] [log] [blame]
// Copyright 2022 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_UI_INCOGNITO_CLEAR_BROWSING_DATA_DIALOG_INTERFACE_H_
#define CHROME_BROWSER_UI_INCOGNITO_CLEAR_BROWSING_DATA_DIALOG_INTERFACE_H_
// Abstract class which facilitate communication between clients in
// chrome/browser/ui/* and its implementation IncognitoClearBrowsingDataDialog
// in chrome/browser/ui/views/.
class IncognitoClearBrowsingDataDialogInterface {
public:
enum Type {
kDefaultBubble = 0,
kHistoryDisclaimerBubble = 1,
kMaxValue = kHistoryDisclaimerBubble,
};
// Represents the action type that the user can take in the dialog.
// Do not reorder items here because it's mirrored to UMA as
// IncognitoClearBrowsingDataDialogActionType. Values should be enumerated
// from 0. When removing items, comment them out and keep the existing numeric
// values stable. Don't forget to also add any new entries to the enums.xml.
enum class DialogActionType {
kCancel = 0,
kCloseIncognito = 1,
kMaxValue = kCloseIncognito,
};
protected:
// A method that is called by the UI implementation body when the user
// interacts with the Close option of the Incognito clear browsing data
// dialog.
virtual void OnCloseWindowsButtonClicked() = 0;
// A method that is called by the UI implementation body when the user
// interacts with the Cancel option of the Incognito clear browsing data
// dialog.
virtual void OnCancelButtonClicked() = 0;
};
#endif // CHROME_BROWSER_UI_INCOGNITO_CLEAR_BROWSING_DATA_DIALOG_INTERFACE_H_