chrome_jni_registrar.cc revision 2a99a7e74a7f215066514fe81d2bfa6639d9eddd
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 "chrome/browser/android/chrome_jni_registrar.h" 6 7#include "base/android/jni_android.h" 8#include "base/android/jni_registrar.h" 9#include "chrome/browser/android/chrome_web_contents_delegate_android.h" 10#include "chrome/browser/android/content_view_util.h" 11#include "chrome/browser/android/dev_tools_server.h" 12#include "chrome/browser/android/intent_helper.h" 13#include "chrome/browser/android/process_utils.h" 14#include "chrome/browser/android/provider/chrome_browser_provider.h" 15#include "chrome/browser/autofill/android/personal_data_manager_android.h" 16#include "chrome/browser/history/android/sqlite_cursor.h" 17#include "chrome/browser/lifetime/application_lifetime_android.h" 18#include "chrome/browser/profiles/profile_android.h" 19#include "chrome/browser/search_engines/template_url_service_android.h" 20#include "chrome/browser/sync/profile_sync_service_android.h" 21#include "chrome/browser/ui/android/autofill/autofill_dialog_view_android.h" 22#include "chrome/browser/ui/android/autofill/autofill_popup_view_android.h" 23#include "chrome/browser/ui/android/chrome_http_auth_handler.h" 24#include "chrome/browser/ui/android/javascript_app_modal_dialog_android.h" 25#include "chrome/browser/ui/android/navigation_popup.h" 26#include "chrome/browser/ui/android/ssl_client_certificate_request.h" 27#include "chrome/browser/ui/android/website_settings_popup_android.h" 28#include "components/navigation_interception/component_jni_registrar.h" 29#include "components/web_contents_delegate_android/component_jni_registrar.h" 30 31bool RegisterCertificateViewer(JNIEnv* env); 32 33namespace chrome { 34namespace android { 35 36static base::android::RegistrationMethod kChromeRegisteredMethods[] = { 37 // Register JNI for components we depend on. 38 { "NavigationInterception", components::RegisterNavigationInterceptionJni }, 39 { "WebContentsDelegateAndroid", 40 components::RegisterWebContentsDelegateAndroidJni }, 41 // Register JNI for chrome classes. 42 { "ApplicationLifetime", RegisterApplicationLifetimeAndroid}, 43 { "AutofillDialog", 44 autofill::AutofillDialogViewAndroid::RegisterAutofillDialogViewAndroid}, 45 { "AutofillPopup", 46 AutofillPopupViewAndroid::RegisterAutofillPopupViewAndroid}, 47 { "CertificateViewer", RegisterCertificateViewer}, 48 { "ChromeBrowserProvider", 49 ChromeBrowserProvider::RegisterChromeBrowserProvider }, 50 { "ChromeHttpAuthHandler", 51 ChromeHttpAuthHandler::RegisterChromeHttpAuthHandler }, 52 { "ChromeWebContentsDelegateAndroid", 53 RegisterChromeWebContentsDelegateAndroid }, 54 { "ContentViewUtil", RegisterContentViewUtil }, 55 { "DevToolsServer", RegisterDevToolsServer }, 56 { "IntentHelper", RegisterIntentHelper }, 57 { "JavascriptAppModalDialog", 58 JavascriptAppModalDialogAndroid::RegisterJavascriptAppModalDialog }, 59 { "NavigationPopup", NavigationPopup::RegisterNavigationPopup }, 60 { "PersonalDataManagerAndroid", 61 PersonalDataManagerAndroid::Register}, 62 { "ProcessUtils", RegisterProcessUtils }, 63 { "ProfileAndroid", ProfileAndroid::RegisterProfileAndroid }, 64 { "ProfileSyncService", ProfileSyncServiceAndroid::Register }, 65 { "SqliteCursor", SQLiteCursor::RegisterSqliteCursor }, 66 { "SSLClientCertificateRequest", 67 RegisterSSLClientCertificateRequestAndroid }, 68 { "TemplateUrlServiceAndroid", TemplateUrlServiceAndroid::Register }, 69 { "WebsiteSettingsPopupAndroid", 70 WebsiteSettingsPopupAndroid::RegisterWebsiteSettingsPopupAndroid }, 71}; 72 73bool RegisterJni(JNIEnv* env) { 74 return RegisterNativeMethods(env, kChromeRegisteredMethods, 75 arraysize(kChromeRegisteredMethods)); 76} 77 78} // namespace android 79} // namespace chrome 80