12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- // Copyright 2017 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 COMPONENTS_PERMISSIONS_PERMISSION_RESULT_H_
- #define COMPONENTS_PERMISSIONS_PERMISSION_RESULT_H_
- #include "components/content_settings/core/common/content_settings.h"
- namespace permissions {
- // Identifies the source or reason for a permission status being returned.
- enum class PermissionStatusSource {
- // The reason for the status is not specified.
- UNSPECIFIED,
- // The status is the result of being blocked by the permissions kill switch.
- KILL_SWITCH,
- // The status is the result of being blocked due to the user dismissing a
- // permission prompt multiple times.
- MULTIPLE_DISMISSALS,
- // The status is the result of being blocked due to the user ignoring a
- // permission prompt multiple times.
- MULTIPLE_IGNORES,
- // This origin is insecure, thus its access to some permissions has been
- // restricted, such as camera, microphone, etc.
- INSECURE_ORIGIN,
- // The feature has been blocked in the requesting frame by permissions policy.
- FEATURE_POLICY,
- // The virtual URL and the loaded URL are for different origins. The loaded
- // URL is the one actually in the renderer, but the virtual URL is the one
- // seen by the user. This may be very confusing for a user to see in a
- // permissions request.
- VIRTUAL_URL_DIFFERENT_ORIGIN,
- // The status is the result of a permission being requested inside a portal.
- // Permissions are currently always denied inside a portal.
- PORTAL,
- // The status is the result of a permission being requested inside a fenced
- // frame. Permissions are currently always denied inside a fenced frame.
- FENCED_FRAME,
- };
- struct PermissionResult {
- PermissionResult(ContentSetting content_setting,
- PermissionStatusSource source);
- ~PermissionResult();
- ContentSetting content_setting;
- PermissionStatusSource source;
- };
- } // namespace permissions
- #endif // COMPONENTS_PERMISSIONS_PERMISSION_RESULT_H_
|