blob: 26a2d5d0a63d3f4f2000191fba50275cca9438fc [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/digital_asset_links/browser_url_loader_throttle.h"
namespace android_webview {
using OriginVerifierCallback = base::OnceCallback<void(bool /*verified*/)>;
class AwOriginVerificationSchedulerBridge
: public digital_asset_links::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_