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