blob: 240261fc9eb9ebbb34b9818c42b6dc160afefd74 [file] [log] [blame]
Avi Drissman4a8573c2022-09-09 19:35:541// Copyright 2022 The Chromium Authors
Lijin Shen20a1b6e2022-01-15 00:52:502// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CHROME_BROWSER_PERMISSIONS_QUIET_PERMISSION_PROMPT_MODEL_ANDROID_H_
6#define CHROME_BROWSER_PERMISSIONS_QUIET_PERMISSION_PROMPT_MODEL_ANDROID_H_
7
8#include <string>
9
10#include "components/permissions/permission_ui_selector.h"
11#include "url/gurl.h"
12
13// Model representing the expected UI labels on different surfaces and behaviors
14// on related events.
15struct QuietPermissionPromptModelAndroid {
16 enum class PrimaryButtonBehavior {
17 kAllowForThisSite,
18 kContinueBlocking,
19 };
20
21 enum class SecondaryButtonBehavior {
22 kShowSettings,
23 kAllowForThisSite,
24 };
25
26 QuietPermissionPromptModelAndroid();
27 QuietPermissionPromptModelAndroid(
28 const QuietPermissionPromptModelAndroid& other);
29 ~QuietPermissionPromptModelAndroid();
30
31 std::u16string title;
32 std::u16string description;
33 std::u16string primary_button_label;
34 std::u16string secondary_button_label;
35 std::u16string learn_more_text;
36 PrimaryButtonBehavior primary_button_behavior;
37 SecondaryButtonBehavior secondary_button_behavior;
38};
39
40QuietPermissionPromptModelAndroid GetQuietNotificationPermissionPromptModel(
41 permissions::PermissionUiSelector::QuietUiReason reason);
42
43GURL GetNotificationBlockedLearnMoreUrl();
44
45#endif // CHROME_BROWSER_PERMISSIONS_QUIET_PERMISSION_PROMPT_MODEL_ANDROID_H_