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 #include "net/url_request/url_request_job_factory.h" 11 12 namespace net { 13 class URLRequestContext; 14 } // namespace net 15 16 namespace android_webview { 17 18 // These method register support for Android WebView-specific protocol 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 23 // 24 scoped_ptr<net::URLRequestJobFactory::ProtocolHandler> 25 CreateContentSchemeProtocolHandler(); 26 27 // - "file:" scheme extension for accessing application assets and resources 28 // (file:///android_asset/ and file:///android_res/), see 29 // http://developer.android.com/reference/android/webkit/ 30 // WebSettings.html#setAllowFileAccess(boolean) 31 scoped_ptr<net::URLRequestJobFactory::ProtocolHandler> 32 CreateAssetFileProtocolHandler(); 33 34 bool RegisterAndroidProtocolHandler(JNIEnv* env); 35 36 } // namespace android_webview 37 38 #endif // ANDROID_WEBVIEW_NATIVE_ANDROID_PROTOCOL_HANDLER_H_ 39