android_protocol_handler.h revision 2a99a7e74a7f215066514fe81d2bfa6639d9eddd
1ad1f90aa84ba96916d02043958ee416a499f3f25Jens Axboe// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2ad1f90aa84ba96916d02043958ee416a499f3f25Jens Axboe// Use of this source code is governed by a BSD-style license that can be 3ad1f90aa84ba96916d02043958ee416a499f3f25Jens Axboe// found in the LICENSE file. 4ad1f90aa84ba96916d02043958ee416a499f3f25Jens Axboe 5ad1f90aa84ba96916d02043958ee416a499f3f25Jens Axboe#ifndef ANDROID_WEBVIEW_NATIVE_ANDROID_PROTOCOL_HANDLER_H_ 6ad1f90aa84ba96916d02043958ee416a499f3f25Jens Axboe#define ANDROID_WEBVIEW_NATIVE_ANDROID_PROTOCOL_HANDLER_H_ 7ad1f90aa84ba96916d02043958ee416a499f3f25Jens Axboe 8ad1f90aa84ba96916d02043958ee416a499f3f25Jens Axboe#include "base/android/jni_android.h" 932bbd3ab7846a8c140fda5c83d95c21c447c844cJens Axboe#include "base/memory/scoped_ptr.h" 10ad1f90aa84ba96916d02043958ee416a499f3f25Jens Axboe#include "net/url_request/url_request_job_factory.h" 11ad1f90aa84ba96916d02043958ee416a499f3f25Jens Axboe 12ad1f90aa84ba96916d02043958ee416a499f3f25Jens Axboenamespace net { 13ad1f90aa84ba96916d02043958ee416a499f3f25Jens Axboeclass URLRequestContext; 14ad1f90aa84ba96916d02043958ee416a499f3f25Jens Axboe} // namespace net 15ad1f90aa84ba96916d02043958ee416a499f3f25Jens Axboe 16ad1f90aa84ba96916d02043958ee416a499f3f25Jens Axboenamespace android_webview { 17ad1f90aa84ba96916d02043958ee416a499f3f25Jens Axboe 18ad1f90aa84ba96916d02043958ee416a499f3f25Jens Axboe// These method register support for Android WebView-specific protocol schemes: 19ad1f90aa84ba96916d02043958ee416a499f3f25Jens Axboe// 20ad1f90aa84ba96916d02043958ee416a499f3f25Jens Axboe// - "content:" scheme is used for accessing data from Android content 21a7448122c349bd3689f808e87680e1d3c30ec85cJens Axboe// providers, see http://developer.android.com/guide/topics/providers/ 22ad1f90aa84ba96916d02043958ee416a499f3f25Jens Axboe// content-provider-basics.html#ContentURIs 23ad1f90aa84ba96916d02043958ee416a499f3f25Jens Axboe// 24ad1f90aa84ba96916d02043958ee416a499f3f25Jens Axboescoped_ptr<net::URLRequestJobFactory::ProtocolHandler> 25a7448122c349bd3689f808e87680e1d3c30ec85cJens Axboe CreateContentSchemeProtocolHandler(); 2632bbd3ab7846a8c140fda5c83d95c21c447c844cJens Axboe 27a7448122c349bd3689f808e87680e1d3c30ec85cJens Axboe// - "file:" scheme extension for accessing application assets and resources 28ad1f90aa84ba96916d02043958ee416a499f3f25Jens Axboe// (file:///android_asset/ and file:///android_res/), see 29a7448122c349bd3689f808e87680e1d3c30ec85cJens Axboe// http://developer.android.com/reference/android/webkit/ 30a7448122c349bd3689f808e87680e1d3c30ec85cJens Axboe// WebSettings.html#setAllowFileAccess(boolean) 31ad1f90aa84ba96916d02043958ee416a499f3f25Jens Axboescoped_ptr<net::URLRequestJobFactory::ProtocolHandler> 32d474cbc9ba33448848b50cc697622a402e91e33eAlex Pyrgiotis CreateAssetFileProtocolHandler(); 33ad1f90aa84ba96916d02043958ee416a499f3f25Jens Axboe 3432bbd3ab7846a8c140fda5c83d95c21c447c844cJens Axboebool RegisterAndroidProtocolHandler(JNIEnv* env); 35a7448122c349bd3689f808e87680e1d3c30ec85cJens Axboe 36ad1f90aa84ba96916d02043958ee416a499f3f25Jens Axboe} // namespace android_webview 37ad1f90aa84ba96916d02043958ee416a499f3f25Jens Axboe 38ad1f90aa84ba96916d02043958ee416a499f3f25Jens Axboe#endif // ANDROID_WEBVIEW_NATIVE_ANDROID_PROTOCOL_HANDLER_H_ 39ad1f90aa84ba96916d02043958ee416a499f3f25Jens Axboe