blob: c24826ea35bf942cb09d68deb2aa89a2312617fd [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 CHROME_RENDERER_BOUND_SESSION_CREDENTIALS_BOUND_SESSION_REQUEST_THROTTLED_HANDLER_RENDERER_IMPL_H_
#define CHROME_RENDERER_BOUND_SESSION_CREDENTIALS_BOUND_SESSION_REQUEST_THROTTLED_HANDLER_RENDERER_IMPL_H_
#include "chrome/common/bound_session_request_throttled_handler.h"
#include "base/memory/weak_ptr.h"
#include "base/task/sequenced_task_runner.h"
#include "chrome/renderer/bound_session_credentials/bound_session_request_throttled_in_renderer_manager.h"
class BoundSessionRequestThrottledHandlerRendererImpl
: public BoundSessionRequestThrottledHandler {
public:
explicit BoundSessionRequestThrottledHandlerRendererImpl(
scoped_refptr<BoundSessionRequestThrottledInRendererManager>
bound_session_request_throttled_manager,
scoped_refptr<base::SequencedTaskRunner> io_task_runner);
~BoundSessionRequestThrottledHandlerRendererImpl() override;
BoundSessionRequestThrottledHandlerRendererImpl(
const BoundSessionRequestThrottledHandlerRendererImpl&) = delete;
BoundSessionRequestThrottledHandlerRendererImpl& operator=(
const BoundSessionRequestThrottledHandlerRendererImpl&) = delete;
// BoundSessionRequestThrottledHandler:
void HandleRequestBlockedOnCookie(
const GURL& untrusted_request_url,
ResumeOrCancelThrottledRequestCallback callback) override;
private:
const scoped_refptr<BoundSessionRequestThrottledInRendererManager>
bound_session_request_throttled_manager_;
const scoped_refptr<base::SequencedTaskRunner> io_task_runner_;
};
#endif // CHROME_RENDERER_BOUND_SESSION_CREDENTIALS_BOUND_SESSION_REQUEST_THROTTLED_HANDLER_RENDERER_IMPL_H_