blob: 2a6c0dcb577040224062c857468e2a18a99baddc [file] [log] [blame]
// 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_