// Copyright 2018 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CONTENT_PUBLIC_BROWSER_URL_LOADER_REQUEST_INTERCEPTOR_H_ #define CONTENT_PUBLIC_BROWSER_URL_LOADER_REQUEST_INTERCEPTOR_H_ #include "base/functional/callback_forward.h" #include "content/common/content_export.h" #include "mojo/public/cpp/bindings/pending_receiver.h" #include "mojo/public/cpp/bindings/pending_remote.h" #include "services/network/public/mojom/url_loader.mojom.h" namespace blink { class ThrottlingURLLoader; } namespace network { struct ResourceRequest; } namespace content { class BrowserContext; // URLLoaderRequestInterceptor is given a chance to create a URLLoader and // intercept a navigation request before the request is handed off to the // default URLLoader, e.g. the one from the network service. // URLLoaderRequestInterceptor is a per-request object and kept around during // the lifetime of a navigation request (including multiple redirect legs). // All methods are called on the UI thread. class CONTENT_EXPORT URLLoaderRequestInterceptor { … }; } // namespace content #endif // CONTENT_PUBLIC_BROWSER_URL_LOADER_REQUEST_INTERCEPTOR_H_