blob: a0ea2a17fe35488e0b1f8ad4bde7fbf98e005c7b [file] [log] [blame]
[email protected]efad90f2014-01-17 00:45:541// Copyright 2014 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
Clark DuVall484c2562020-01-23 22:05:095#ifndef COMPONENTS_PERMISSIONS_PERMISSION_REQUEST_H_
6#define COMPONENTS_PERMISSIONS_PERMISSION_REQUEST_H_
[email protected]efad90f2014-01-17 00:45:547
Jan Wilken Dörriead587c32021-03-11 14:09:278#include <string>
9
dominicknd4e446a2016-09-13 07:44:1310#include "base/macros.h"
Bret Sepulveda55f43dec2020-09-27 22:58:5611#include "base/optional.h"
[email protected]efad90f2014-01-17 00:45:5412#include "base/strings/string16.h"
Clark DuVall484c2562020-01-23 22:05:0913#include "build/build_config.h"
lshangada00c12016-10-17 04:51:1014#include "components/content_settings/core/common/content_settings_types.h"
Andy Paicu4a88f422020-11-12 18:21:3915#include "components/permissions/permission_request_enums.h"
[email protected]d23cdeee2014-03-10 06:39:5316#include "url/gurl.h"
[email protected]efad90f2014-01-17 00:45:5417
Clark DuVall484c2562020-01-23 22:05:0918namespace permissions {
Bret Sepulveda362cce42021-01-13 18:47:5419enum class RequestType;
Clark DuVall484c2562020-01-23 22:05:0920
tsergeant58defcfb2016-07-19 23:47:2821// Describes the interface a feature making permission requests should
22// implement. A class of this type is registered with the permission request
[email protected]efad90f2014-01-17 00:45:5423// manager to receive updates about the result of the permissions request
tsergeant58defcfb2016-07-19 23:47:2824// from the bubble or infobar. It should live until it is unregistered or until
[email protected]634e5982014-04-18 19:20:4825// RequestFinished is called.
[email protected]efad90f2014-01-17 00:45:5426// Note that no particular guarantees are made about what exact UI surface
27// is presented to the user. The delegate may be coalesced with other bubble
28// requests, or depending on the situation, not shown at all.
tsergeant