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