1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef ANDROID_WEBVIEW_BROWSER_AW_REQUEST_INTERCEPTOR_H_
6 #define ANDROID_WEBVIEW_BROWSER_AW_REQUEST_INTERCEPTOR_H_
8 #include "base/memory/scoped_ptr.h"
9 #include "net/url_request/url_request_interceptor.h"
15 class URLRequestContextGetter
;
17 class NetworkDelegate
;
20 namespace android_webview
{
22 class AwWebResourceResponse
;
24 // This class allows the Java-side embedder to substitute the default
25 // URLRequest of a given request for an alternative job that will read data
26 // from a Java stream.
27 class AwRequestInterceptor
: public net::URLRequestInterceptor
{
29 AwRequestInterceptor();
30 virtual ~AwRequestInterceptor();
32 // net::URLRequestInterceptor override --------------------------------------
33 virtual net::URLRequestJob
* MaybeInterceptRequest(
34 net::URLRequest
* request
,
35 net::NetworkDelegate
* network_delegate
) const OVERRIDE
;
38 scoped_ptr
<AwWebResourceResponse
> QueryForAwWebResourceResponse(
40 net::URLRequest
* request
) const;
42 DISALLOW_COPY_AND_ASSIGN(AwRequestInterceptor
);
45 } // namespace android_webview
47 #endif // ANDROID_WEBVIEW_BROWSER_AW_REQUEST_INTERCEPTOR_H_