diff options
author | michaelbai@chromium.org <michaelbai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-01-15 21:43:18 +0000 |
---|---|---|
committer | michaelbai@chromium.org <michaelbai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-01-15 21:43:18 +0000 |
commit | 86ebc8f3731a84fea14e8688da4eb55aba87008a (patch) | |
tree | 2639dccb20377423690fa69468c1df9a0e6de31d /content/app/android | |
parent | f5411e2e50d20ad0c54336fd552a86f36f2b9e63 (diff) | |
download | chromium_src-86ebc8f3731a84fea14e8688da4eb55aba87008a.zip chromium_src-86ebc8f3731a84fea14e8688da4eb55aba87008a.tar.gz chromium_src-86ebc8f3731a84fea14e8688da4eb55aba87008a.tar.bz2 |
Throw exception when initialization failed.
Previously the initialization return code was ignored, it will lead us
crash later. We need a way to exit and maybe show error message if something
wrong during initialization.
Using exception might better than returning the result code since the
initialization code could be called from constructor and initialization
error is an exception at most of time.
In activity, the exception is caught, then call finish() to exit.
In tests, the exception is wrapped with Error and threw out.
BUG=b/7705055
Review URL: https://chromiumcodereview.appspot.com/11567061
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@176975 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/app/android')
-rw-r--r-- | content/app/android/library_loader_hooks.cc | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/content/app/android/library_loader_hooks.cc b/content/app/android/library_loader_hooks.cc index 346a0ed..80026b8 100644 --- a/content/app/android/library_loader_hooks.cc +++ b/content/app/android/library_loader_hooks.cc @@ -23,6 +23,7 @@ #include "content/common/android/common_jni_registrar.h" #include "content/common/android/command_line.h" #include "content/public/common/content_switches.h" +#include "content/public/common/result_codes.h" #include "media/base/android/media_jni_registrar.h" #include "net/android/net_jni_registrar.h" #include "ui/android/ui_jni_registrar.h" @@ -35,7 +36,7 @@ base::AtExitManager* g_at_exit_manager = NULL; namespace content { -static jboolean LibraryLoadedOnMainThread(JNIEnv* env, jclass clazz, +static jint LibraryLoadedOnMainThread(JNIEnv* env, jclass clazz, jobjectArray init_command_line) { InitNativeCommandLineFromJavaArray(env, init_command_line); @@ -70,30 +71,30 @@ static jboolean LibraryLoadedOnMainThread(JNIEnv* env, jclass clazz, << ", default verbosity = " << logging::GetVlogVerbosity(); if (!base::android::RegisterJni(env)) - return JNI_FALSE; + return RESULT_CODE_FAILED_TO_REGISTER_JNI; if (!net::android::RegisterJni(env)) - return JNI_FALSE; + return RESULT_CODE_FAILED_TO_REGISTER_JNI; if (!ui::RegisterJni(env)) - return JNI_FALSE; + return RESULT_CODE_FAILED_TO_REGISTER_JNI; if (!content::android::RegisterCommonJni(env)) - return JNI_FALSE; + return RESULT_CODE_FAILED_TO_REGISTER_JNI; if (!content::android::RegisterBrowserJni(env)) - return JNI_FALSE; + return RESULT_CODE_FAILED_TO_REGISTER_JNI; if (!content::android::RegisterAppJni(env)) - return JNI_FALSE; + return RESULT_CODE_FAILED_TO_REGISTER_JNI; if (!media::RegisterJni(env)) - return JNI_FALSE; + return RESULT_CODE_FAILED_TO_REGISTER_JNI; if (!gfx::RegisterJni(env)) - return JNI_FALSE; + return RESULT_CODE_FAILED_TO_REGISTER_JNI; - return JNI_TRUE; + return 0; } void LibraryLoaderExitHook() { |