android_protocol_handler.h revision cedac228d2dd51db4b79ea1e72c7f249408ee061
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.
4
5#ifndef ANDROID_WEBVIEW_NATIVE_ANDROID_PROTOCOL_HANDLER_H_
6#define ANDROID_WEBVIEW_NATIVE_ANDROID_PROTOCOL_HANDLER_H_
7
8#include "base/android/jni_android.h"
9#include "base/memory/scoped_ptr.h"
10
11namespace net {
12class URLRequestContext;
13class URLRequestInterceptor;
14}  // namespace net
15
16namespace android_webview {
17
18// These methods create interceptors for Android WebView-specific schemes:
19//
20//  - "content:" scheme is used for accessing data from Android content
21//    providers, see http://developer.android.com/guide/topics/providers/
22//      content-provider-basics.html#ContentURIs
23scoped_ptr<net::URLRequestInterceptor> CreateContentSchemeRequestInterceptor();
24
25//  - "file:" scheme extension for accessing application assets and resources
26//    (file:///android_asset/ and file:///android_res/), see
27//    http://developer.android.com/reference/android/webkit/
28//      WebSettings.html#setAllowFileAccess(boolean)
29scoped_ptr<net::URLRequestInterceptor> CreateAssetFileRequestInterceptor();
30
31bool RegisterAndroidProtocolHandler(JNIEnv* env);
32
33}  // namespace android_webview
34
35#endif  // ANDROID_WEBVIEW_NATIVE_ANDROID_PROTOCOL_HANDLER_H_
36