// Copyright 2014 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_PERMISSION_REQUEST_H_ #define COMPONENTS_PERMISSIONS_PERMISSION_REQUEST_H_ #include <optional> #include <string> #include "base/functional/callback.h" #include "base/memory/weak_ptr.h" #include "build/build_config.h" #include "components/content_settings/core/common/content_settings.h" #include "components/content_settings/core/common/content_settings_types.h" #include "components/permissions/permission_request_data.h" #include "components/permissions/permission_request_enums.h" #include "components/permissions/request_type.h" #include "content/public/browser/global_routing_id.h" #include "url/gurl.h" namespace permissions { enum class RequestType; // Describes the interface a feature making permission requests should // implement. A class of this type is registered with the permission request // manager to receive updates about the result of the permissions request // from the bubble or infobar. It should live until it is unregistered or until // RequestFinished is called. // Note that no particular guarantees are made about what exact UI surface // is presented to the user. The delegate may be coalesced with other bubble // requests, or depending on the situation, not shown at all. class PermissionRequest { … }; } // namespace permissions #endif // COMPONENTS_PERMISSIONS_PERMISSION_REQUEST_H_