blob: cdbab6225cfb466d6293a9533ac1a5444abe6f8a [file] [log] [blame]
// Copyright 2018 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_CONTEXTS_PAYMENT_HANDLER_PERMISSION_CONTEXT_H_
#define COMPONENTS_PERMISSIONS_CONTEXTS_PAYMENT_HANDLER_PERMISSION_CONTEXT_H_
#include "components/permissions/permission_context_base.h"
class GURL;
namespace permissions {
class PermissionRequestID;
}
namespace content {
class WebContents;
} // namespace content
namespace payments {
class PaymentHandlerPermissionContext
: public permissions::PermissionContextBase {
public:
explicit PaymentHandlerPermissionContext(
content::BrowserContext* browser_context);
PaymentHandlerPermissionContext(const PaymentHandlerPermissionContext&) =
delete;
PaymentHandlerPermissionContext& operator=(
const PaymentHandlerPermissionContext&) = delete;
~PaymentHandlerPermissionContext() override;
private:
// PermissionContextBase
void DecidePermission(
content::WebContents* web_contents,
const permissions::PermissionRequestID& id,
const GURL& requesting_origin,
const GURL& embedding_origin,
bool user_gesture,
permissions::BrowserPermissionCallback callback) override;
bool IsRestrictedToSecureOrigins() const override;
};
} // namespace payments
#endif // COMPONENTS_PERMISSIONS_CONTEXTS_PAYMENT_HANDLER_PERMISSION_CONTEXT_H_