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/android_browser_process.h"
12#include "content/browser/android/browser_startup_config.h"
13#include "content/browser/android/child_process_launcher_android.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/media_resource_getter_impl.h"
24#include "content/browser/android/surface_texture_peer_browser_impl.h"
25#include "content/browser/android/touch_point.h"
26#include "content/browser/android/tracing_intent_handler.h"
27#include "content/browser/android/vibration_message_filter.h"
28#include "content/browser/android/web_contents_observer_android.h"
29#include "content/browser/device_orientation/data_fetcher_impl_android.h"
30#include "content/browser/geolocation/location_api_adapter_android.h"
31#include "content/browser/power_save_blocker_android.h"
32#include "content/browser/renderer_host/ime_adapter_android.h"
33#include "content/browser/renderer_host/java/java_bound_object.h"
34#include "content/browser/speech/speech_recognizer_impl_android.h"
35
36using content::SurfaceTexturePeerBrowserImpl;
37
38namespace {
39base::android::RegistrationMethod kContentRegisteredMethods[] = {
40    {"AndroidLocationApiAdapter",
41     content::AndroidLocationApiAdapter::RegisterGeolocationService},
42    {"AndroidBrowserProcess", content::RegisterAndroidBrowserProcess},
43    {"BrowserAccessibilityManager",
44     content::RegisterBrowserAccessibilityManager},
45    {"BrowserStartupConfiguration", content::RegisterBrowserStartupConfig},
46    {"ChildProcessLauncher", content::RegisterChildProcessLauncher},
47    {"ContentSettings", content::ContentSettings::RegisterContentSettings},
48    {"ContentViewRenderView",
49     content::ContentViewRenderView::RegisterContentViewRenderView},
50    {"ContentVideoView", content::ContentVideoView::RegisterContentVideoView},
51    {"ContentViewCore", content::RegisterContentViewCore},
52    {"DataFetcherImplAndroid", content::DataFetcherImplAndroid::Register},
53    {"DateTimePickerAndroid", content::RegisterDateTimeChooserAndroid},
54    {"DownloadControllerAndroidImpl",
55     content::DownloadControllerAndroidImpl::RegisterDownloadController},
56    {"InterstitialPageDelegateAndroid",
57     content::InterstitialPageDelegateAndroid::
58         RegisterInterstitialPageDelegateAndroid},
59    {"MediaResourceGetterImpl",
60     content::MediaResourceGetterImpl::RegisterMediaResourceGetter},
61    {"LoadUrlParams", content::RegisterLoadUrlParams},
62    {"PowerSaveBlock", content::RegisterPowerSaveBlocker},
63    {"RegisterImeAdapter", content::RegisterImeAdapter},
64    {"SpeechRecognizerImplAndroid",
65     content::SpeechRecognizerImplAndroid::RegisterSpeechRecognizer},
66    {"TouchPoint", content::RegisterTouchPoint},
67    {"TracingIntentHandler", content::RegisterTracingIntentHandler},
68    {"VibrationMessageFilter", content::VibrationMessageFilter::Register},
69    {"WebContentsObserverAndroid", content::RegisterWebContentsObserverAndroid},
70    {"WebViewStatics", content::RegisterWebViewStatics}, };
71
72}  // namespace
73
74namespace content {
75namespace android {
76
77bool RegisterBrowserJni(JNIEnv* env) {
78  return RegisterNativeMethods(env, kContentRegisteredMethods,
79                               arraysize(kContentRegisteredMethods));
80}
81
82}  // namespace android
83}  // namespace content
84