blob: e1b74bba9ed837fc74e3503a839ac029697a08a3 [file] [log] [blame]
// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef ANDROID_WEBVIEW_BROWSER_AW_ORIGIN_VERIFICATION_SCHEDULER_BRIDGE_H_
#define ANDROID_WEBVIEW_BROWSER_AW_ORIGIN_VERIFICATION_SCHEDULER_BRIDGE_H_
#include "base/functional/callback.h"
#include "base/no_destructor.h"
#include "components/content_relationship_verification/browser_url_loader_throttle.h"
namespace android_webview {
using OriginVerifierCallback = base::OnceCallback<void(bool /*verified*/)>;
class AwOriginVerificationSchedulerBridge
: public content_relationship_verification::BrowserURLLoaderThrottle::
OriginVerificationSchedulerBridge {
public:
static AwOriginVerificationSchedulerBridge* GetInstance();
AwOriginVerificationSchedulerBridge(
const AwOriginVerificationSchedulerBridge&) = delete;
AwOriginVerificationSchedulerBridge& operator=(
const AwOriginVerificationSchedulerBridge&) = delete;
void Verify(std::string url, OriginVerifierCallback callback) override;
private:
AwOriginVerificationSchedulerBridge() = default;
~AwOriginVerificationSchedulerBridge() override = default;
friend class base::NoDestructor<AwOriginVerificationSchedulerBridge>;
};
} // namespace android_webview
#endif // ANDROID_WEBVIEW_BROWSER_AW_ORIGIN_VERIFICATION_SCHEDULER_BRIDGE_H_