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 #include "content/browser/android/browser_jni_registrar.h" 6 7 #include "base/android/jni_android.h" 8 #include "base/android/jni_registrar.h" 9 #include "content/browser/accessibility/browser_accessibility_android.h" 10 #include "content/browser/accessibility/browser_accessibility_manager_android.h" 11 #include "content/browser/android/browser_startup_controller.h" 12 #include "content/browser/android/child_process_launcher_android.h" 13 #include "content/browser/android/content_readback_handler.h" 14 #include "content/browser/android/content_settings.h" 15 #include "content/browser/android/content_video_view.h" 16 #include "content/browser/android/content_view_core_impl.h" 17 #include "content/browser/android/content_view_render_view.h" 18 #include "content/browser/android/content_view_statics.h" 19 #include "content/browser/android/date_time_chooser_android.h" 20 #include "content/browser/android/download_controller_android_impl.h" 21 #include "content/browser/android/interstitial_page_delegate_android.h" 22 #include "content/browser/android/java/java_bound_object.h" 23 #include "content/browser/android/load_url_params.h" 24 #include "content/browser/android/surface_texture_peer_browser_impl.h" 25 #include "content/browser/android/tracing_controller_android.h" 26 #include "content/browser/android/web_contents_observer_android.h" 27 #include "content/browser/battery_status/battery_status_manager.h" 28 #include "content/browser/device_sensors/sensor_manager_android.h" 29 #include "content/browser/frame_host/navigation_controller_android.h" 30 #include "content/browser/gamepad/gamepad_platform_data_fetcher_android.h" 31 #include "content/browser/geolocation/location_api_adapter_android.h" 32 #include "content/browser/media/android/media_drm_credential_manager.h" 33 #include "content/browser/media/android/media_resource_getter_impl.h" 34 #include "content/browser/power_save_blocker_android.h" 35 #include "content/browser/renderer_host/ime_adapter_android.h" 36 #include "content/browser/renderer_host/input/motion_event_android.h" 37 #include "content/browser/renderer_host/input/synthetic_gesture_target_android.h" 38 #include "content/browser/screen_orientation/screen_orientation_provider_android.h" 39 #include "content/browser/speech/speech_recognizer_impl_android.h" 40 #include "content/browser/time_zone_monitor_android.h" 41 #include "content/browser/vibration/vibration_provider_android.h" 42 #include "content/browser/web_contents/web_contents_android.h" 43 44 using content::SurfaceTexturePeerBrowserImpl; 45 46 namespace { 47 base::android::RegistrationMethod kContentRegisteredMethods[] = { 48 {"AndroidLocationApiAdapter", 49 content::AndroidLocationApiAdapter::RegisterGeolocationService}, 50 {"BatteryStatusManager", 51 content::BatteryStatusManager::Register}, 52 {"BrowserAccessibilityManager", 53 content::RegisterBrowserAccessibilityManager}, 54 {"BrowserStartupController", content::RegisterBrowserStartupController}, 55 {"ChildProcessLauncher", content::RegisterChildProcessLauncher}, 56 {"ContentReadbackHandler", 57 content::ContentReadbackHandler::RegisterContentReadbackHandler}, 58 {"ContentSettings", content::ContentSettings::RegisterContentSettings}, 59 {"ContentVideoView", content::ContentVideoView::RegisterContentVideoView}, 60 {"ContentViewCore", content::RegisterContentViewCore}, 61 {"ContentViewRenderView", 62 content::ContentViewRenderView::RegisterContentViewRenderView}, 63 {"DateTimePickerAndroid", content::RegisterDateTimeChooserAndroid}, 64 {"DownloadControllerAndroidImpl", 65 content::DownloadControllerAndroidImpl::RegisterDownloadController}, 66 {"GamepadList", content::GamepadPlatformDataFetcherAndroid:: 67 RegisterGamepadPlatformDataFetcherAndroid}, 68 {"InterstitialPageDelegateAndroid", 69 content::InterstitialPageDelegateAndroid:: 70 RegisterInterstitialPageDelegateAndroid}, 71 {"LoadUrlParams", content::RegisterLoadUrlParams}, 72 {"MediaDrmCredentialManager", 73 content::MediaDrmCredentialManager::RegisterMediaDrmCredentialManager}, 74 {"MediaResourceGetterImpl", 75 content::MediaResourceGetterImpl::RegisterMediaResourceGetter}, 76 {"MotionEventAndroid", 77 content::MotionEventAndroid::RegisterMotionEventAndroid}, 78 {"NavigationControllerAndroid", 79 content::NavigationControllerAndroid::Register}, 80 {"PowerSaveBlock", content::RegisterPowerSaveBlocker}, 81 {"RegisterImeAdapter", content::RegisterImeAdapter}, 82 {"ScreenOrientationProvider", 83 content::ScreenOrientationProviderAndroid::Register}, 84 {"SensorManagerAndroid", content::SensorManagerAndroid::Register}, 85 {"SpeechRecognizerImplAndroid", 86 content::SpeechRecognizerImplAndroid::RegisterSpeechRecognizer}, 87 {"TimeZoneMonitorAndroid", content::TimeZoneMonitorAndroid::Register}, 88 {"TouchEventSynthesizer", 89 content::SyntheticGestureTargetAndroid::RegisterTouchEventSynthesizer}, 90 {"TracingControllerAndroid", content::RegisterTracingControllerAndroid}, 91 {"VibrationProvider", content::VibrationProviderAndroid::Register}, 92 {"WebContentsAndroid", content::WebContentsAndroid::Register}, 93 {"WebContentsObserverAndroid", content::RegisterWebContentsObserverAndroid}, 94 {"WebViewStatics", content::RegisterWebViewStatics}, 95 }; 96 97 } // namespace 98 99 namespace content { 100 namespace android { 101 102 bool RegisterBrowserJni(JNIEnv* env) { 103 return RegisterNativeMethods(env, kContentRegisteredMethods, 104 arraysize(kContentRegisteredMethods)); 105 } 106 107 } // namespace android 108 } // namespace content 109