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/composited_touch_handle_drawable.h" 14 #include "content/browser/android/content_readback_handler.h" 15 #include "content/browser/android/content_settings.h" 16 #include "content/browser/android/content_video_view.h" 17 #include "content/browser/android/content_view_core_impl.h" 18 #include "content/browser/android/content_view_render_view.h" 19 #include "content/browser/android/content_view_statics.h" 20 #include "content/browser/android/date_time_chooser_android.h" 21 #include "content/browser/android/download_controller_android_impl.h" 22 #include "content/browser/android/interstitial_page_delegate_android.h" 23 #include "content/browser/android/load_url_params.h" 24 #include "content/browser/android/popup_touch_handle_drawable.h" 25 #include "content/browser/android/surface_texture_peer_browser_impl.h" 26 #include "content/browser/android/tracing_controller_android.h" 27 #include "content/browser/android/web_contents_observer_android.h" 28 #include "content/browser/battery_status/battery_status_manager_android.h" 29 #include "content/browser/device_sensors/sensor_manager_android.h" 30 #include "content/browser/frame_host/navigation_controller_android.h" 31 #include "content/browser/gamepad/gamepad_platform_data_fetcher_android.h" 32 #include "content/browser/geolocation/location_api_adapter_android.h" 33 #include "content/browser/media/android/media_drm_credential_manager.h" 34 #include "content/browser/media/android/media_resource_getter_impl.h" 35 #include "content/browser/power_save_blocker_android.h" 36 #include "content/browser/renderer_host/ime_adapter_android.h" 37 #include "content/browser/renderer_host/input/motion_event_android.h" 38 #include "content/browser/renderer_host/input/synthetic_gesture_target_android.h" 39 #include "content/browser/screen_orientation/screen_orientation_provider_android.h" 40 #include "content/browser/speech/speech_recognizer_impl_android.h" 41 #include "content/browser/time_zone_monitor_android.h" 42 #include "content/browser/vibration/vibration_provider_android.h" 43 #include "content/browser/web_contents/web_contents_android.h" 44 45 using content::SurfaceTexturePeerBrowserImpl; 46 47 namespace { 48 base::android::RegistrationMethod kContentRegisteredMethods[] = { 49 {"AndroidLocationApiAdapter", 50 content::AndroidLocationApiAdapter::RegisterGeolocationService}, 51 {"BatteryStatusManager", content::BatteryStatusManagerAndroid::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 {"HandleViewResources", 69 content::CompositedTouchHandleDrawable::RegisterHandleViewResources}, 70 {"InterstitialPageDelegateAndroid", 71 content::InterstitialPageDelegateAndroid:: 72 RegisterInterstitialPageDelegateAndroid}, 73 {"LoadUrlParams", content::RegisterLoadUrlParams}, 74 {"MediaDrmCredentialManager", 75 content::MediaDrmCredentialManager::RegisterMediaDrmCredentialManager}, 76 {"MediaResourceGetterImpl", 77 content::MediaResourceGetterImpl::RegisterMediaResourceGetter}, 78 {"MotionEventAndroid", 79 content::MotionEventAndroid::RegisterMotionEventAndroid}, 80 {"NavigationControllerAndroid", 81 content::NavigationControllerAndroid::Register}, 82 {"PopupTouchHandleDrawable", 83 content::PopupTouchHandleDrawable::RegisterPopupTouchHandleDrawable}, 84 {"PowerSaveBlock", content::RegisterPowerSaveBlocker}, 85 {"RegisterImeAdapter", content::RegisterImeAdapter}, 86 {"ScreenOrientationProvider", 87 content::ScreenOrientationProviderAndroid::Register}, 88 {"SensorManagerAndroid", content::SensorManagerAndroid::Register}, 89 {"SpeechRecognizerImplAndroid", 90 content::SpeechRecognizerImplAndroid::RegisterSpeechRecognizer}, 91 {"TimeZoneMonitorAndroid", content::TimeZoneMonitorAndroid::Register}, 92 {"TouchEventSynthesizer", 93 content::SyntheticGestureTargetAndroid::RegisterTouchEventSynthesizer}, 94 {"TracingControllerAndroid", content::RegisterTracingControllerAndroid}, 95 {"VibrationProvider", content::VibrationProviderAndroid::Register}, 96 {"WebContentsAndroid", content::WebContentsAndroid::Register}, 97 {"WebContentsObserverAndroid", content::RegisterWebContentsObserverAndroid}, 98 {"WebViewStatics", content::RegisterWebViewStatics}, 99 }; 100 101 } // namespace 102 103 namespace content { 104 namespace android { 105 106 bool RegisterBrowserJni(JNIEnv* env) { 107 return RegisterNativeMethods(env, kContentRegisteredMethods, 108 arraysize(kContentRegisteredMethods)); 109 } 110 111 } // namespace android 112 } // namespace content 113