| // Copyright 2021 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef COMPONENTS_PERMISSIONS_CONSTANTS_H_ |
| #define COMPONENTS_PERMISSIONS_CONSTANTS_H_ |
| |
| #include <string_view> |
| |
| #include "base/component_export.h" |
| #include "base/time/clock.h" |
| #include "build/build_config.h" |
| |
| namespace base { |
| class TimeDelta; |
| } // namespace base |
| |
| namespace permissions { |
| |
| // The URL for the Bluetooth Overview help center article in the Web Bluetooth |
| // Chooser. |
| COMPONENT_EXPORT(PERMISSIONS_COMMON) |
| extern const char kChooserBluetoothOverviewURL[]; |
| |
| // The URL for the Embedded Content help center article in the SAA permission |
| // prompt. |
| COMPONENT_EXPORT(PERMISSIONS_COMMON) |
| extern const char kEmbeddedContentHelpCenterURL[]; |
| |
| // The key in `Product Specific String Data` under which the disposition of the |
| // permission prompt is recorded in the prompt HaTS survey. |
| COMPONENT_EXPORT(PERMISSIONS_COMMON) |
| extern const char kPermissionsPromptSurveyPromptDispositionKey[]; |
| |
| // The key in `Product Specific String Data` under which the quiet UI reason is |
| // recorded in the prompt HaTS survey. |
| COMPONENT_EXPORT(PERMISSIONS_COMMON) |
| extern const char kPermissionsPromptSurveyPromptDispositionReasonKey[]; |
| |
| // The key in `Product Specific String Data` under which the request action is |
| // recorded in the prompt HaTS survey. |
| COMPONENT_EXPORT(PERMISSIONS_COMMON) |
| extern const char kPermissionsPromptSurveyActionKey[]; |
| |
| // The key in `Product Specific String Data` under which the request type is |
| // recorded in the prompt HaTS survey. |
| COMPONENT_EXPORT(PERMISSIONS_COMMON) |
| extern const char kPermissionsPromptSurveyRequestTypeKey[]; |
| |
| // The key in `Product Specific String Data` under which the display timing of |
| // the survey is recorded in the prompt HaTS survey. |
| COMPONENT_EXPORT(PERMISSIONS_COMMON) |
| extern const char kPermissionsPromptSurveyDisplayTimeKey[]; |
| |
| // The key in `Product Specific String Data` under which the 'one time prompts |
| // decided' count bucket of the user taking the prompt HaTS survey is recorded. |
| COMPONENT_EXPORT(PERMISSIONS_COMMON) |
| extern const char kPermissionPromptSurveyOneTimePromptsDecidedBucketKey[]; |
| |
| // The key in `Product Specific String Data` under which the URL on which the |
| // prompt HaTS survey was triggered is recorded. |
| COMPONENT_EXPORT(PERMISSIONS_COMMON) |
| extern const char kPermissionPromptSurveyUrlKey[]; |
| |
| // The key in `Product Specific Bits Data` under which whether the prompt was |
| // triggered by a user gestured is recorded in the prompt HaTS survey. |
| COMPONENT_EXPORT(PERMISSIONS_COMMON) |
| extern const char kPermissionsPromptSurveyHadGestureKey[]; |
| |
| // The key in `Product Specific Strings Data` under which the release channel on |
| // which the prompt was triggered is recorded in the prompt HaTS survey. |
| // Note that a finch config typically defines a min_version to run the |
| // experiment. When Version V is stable, Beta (V+1), Dev (V+2) and Canary (V+3) |
| // all have higher version numbers and will therefore be part of the experiment |
| // with min_version V with the rollout plan for stable. This filter allows |
| // restriction to specific channels (typically to stable). |
| COMPONENT_EXPORT(PERMISSIONS_COMMON) |
| extern const char kPermissionsPromptSurveyReleaseChannelKey[]; |
| |
| // The key in `Product Specific Strings Data` under which the prompt position is |
| // recorded if relevant. The prompt position is only recorded for PEPC |
| // permission prompts. |
| COMPONENT_EXPORT(PERMISSIONS_COMMON) |
| extern const char kPermissionPromptSurveyPepcPromptPositionKey[]; |
| |
| // The key in `Product Specific Strings Data` under which the initial permission |
| // status is recorded. The initial permission status refers to the permission |
| // status before the prompt has been shown. For prompts other than PEPC |
| // permission prompts, this will always be "ask". |
| COMPONENT_EXPORT(PERMISSIONS_COMMON) |
| extern const char kPermissionPromptSurveyInitialPermissionStatusKey[]; |
| |
| // The key in `Product Specific Strings Data` under which the prompt options |
| // (options selected by the user on the prompt) are recorded. |
| COMPONENT_EXPORT(PERMISSIONS_COMMON) |
| extern const char kPermissionPromptSurveyPromptOptionsKey[]; |
| |
| // The key in `Product Specific Strings Data` under which the prompt display |
| // duration (time to decision) in milliseconds is recorded, iff the |
| // SurveyDisplayTime is OnPromptResolved. |
| COMPONENT_EXPORT(PERMISSIONS_COMMON) |
| extern const char kPermissionPromptSurveyPromptDisplayDurationKey[]; |
| |
| // TODO(crbug.com/40254381): Remove the code related to unused site permissions |
| // from Android builds. |
| |
| // The key used for marking permissions as revoked, as per the unused site |
| // permissions module of Safety Check, including both chooser and regular |
| // permissions. |
| COMPONENT_EXPORT(PERMISSIONS_COMMON) |
| extern const char kRevokedKey[]; |
| |
| // The key for base::Value::Dict, holding the revoked chooser permission data. |
| // The Dict has std::string_view of ContentSettingsType int as key, |
| // and the corresponding revoked `base::Value` data as value. |
| // For example, {"3": {"foo": "bar"}, "12": "baz", "24": ["item0", "item1"]} |
| COMPONENT_EXPORT(PERMISSIONS_COMMON) |
| extern const char kRevokedChooserPermissionsKey[]; |
| |
| // How long an explicit Storage Access API permission grant/denial should last |
| // (not taking renewals into account). |
| COMPONENT_EXPORT(PERMISSIONS_COMMON) |
| extern const base::TimeDelta kStorageAccessAPIExplicitPermissionLifetime; |
| |
| // How long an implicit Storage Access API permission grant/denial should last |
| // (not taking renewals into account). |
| COMPONENT_EXPORT(PERMISSIONS_COMMON) |
| extern const base::TimeDelta kStorageAccessAPIImplicitPermissionLifetime; |
| |
| // How long a Related Website Sets Storage Access API permission |
| // grant/denial should last (not taking renewals into account). |
| COMPONENT_EXPORT(PERMISSIONS_COMMON) |
| extern const base::TimeDelta kStorageAccessAPIRelatedWebsiteSetsLifetime; |
| |
| } // namespace permissions |
| |
| #endif // COMPONENTS_PERMISSIONS_CONSTANTS_H_ |