android_protocol_handler.h revision 5821806d5e7f356e8fa4b058a389a808ea183019
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef ANDROID_WEBVIEW_NATIVE_ANDROID_PROTOCOL_HANDLER_H_
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define ANDROID_WEBVIEW_NATIVE_ANDROID_PROTOCOL_HANDLER_H_
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/android/jni_android.h"
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace net {
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class URLRequestContext;
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class URLRequestJobFactory;
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace net
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace android_webview {
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// This class adds support for Android WebView-specific protocol schemes:
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//  - "content:" scheme is used for accessing data from Android content
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//    providers, see http://developer.android.com/guide/topics/providers/
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//      content-provider-basics.html#ContentURIs
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//  - "file:" scheme extension for accessing application assets and resources
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//    (file:///android_asset/ and file:///android_res/), see
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//    http://developer.android.com/reference/android/webkit/
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//      WebSettings.html#setAllowFileAccess(boolean)
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void RegisterAndroidProtocolsOnIOThread(
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    net::URLRequestContext* context,
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    net::URLRequestJobFactory* job_factory);
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool RegisterAndroidProtocolHandler(JNIEnv* env);
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace android_webview
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif  // ANDROID_WEBVIEW_NATIVE_ANDROID_PROTOCOL_HANDLER_H_
35