[email protected] | 57624ab | 2013-08-01 16:01:51 | [diff] [blame] | 1 | // Copyright 2013 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 | |||||
[email protected] | ddb4b20 | 2013-08-20 22:55:54 | [diff] [blame] | 5 | #include "content/browser/android/browser_startup_controller.h" |
[email protected] | 57624ab | 2013-08-01 16:01:51 | [diff] [blame] | 6 | |
7 | #include "base/android/jni_android.h" | ||||
[email protected] | 232e09d | 2013-08-27 15:29:56 | [diff] [blame] | 8 | #include "base/android/jni_string.h" |
9 | #include "content/browser/android/content_startup_flags.h" | ||||
10 | |||||
[email protected] | ddb4b20 | 2013-08-20 22:55:54 | [diff] [blame] | 11 | #include "jni/BrowserStartupController_jni.h" |
[email protected] | 57624ab | 2013-08-01 16:01:51 | [diff] [blame] | 12 | |
13 | namespace content { | ||||
14 | |||||
15 | bool BrowserMayStartAsynchronously() { | ||||
16 | JNIEnv* env = base::android::AttachCurrentThread(); | ||||
[email protected] | ddb4b20 | 2013-08-20 22:55:54 | [diff] [blame] | 17 | return Java_BrowserStartupController_browserMayStartAsynchonously(env); |
[email protected] | 57624ab | 2013-08-01 16:01:51 | [diff] [blame] | 18 | } |
19 | |||||
20 | void BrowserStartupComplete(int result) { | ||||
21 | JNIEnv* env = base::android::AttachCurrentThread(); | ||||
[email protected] | ddb4b20 | 2013-08-20 22:55:54 | [diff] [blame] | 22 | Java_BrowserStartupController_browserStartupComplete(env, result); |
[email protected] | 57624ab | 2013-08-01 16:01:51 | [diff] [blame] | 23 | } |
24 | |||||
[email protected] | ddb4b20 | 2013-08-20 22:55:54 | [diff] [blame] | 25 | bool RegisterBrowserStartupController(JNIEnv* env) { |
[email protected] | 57624ab | 2013-08-01 16:01:51 | [diff] [blame] | 26 | return RegisterNativesImpl(env); |
27 | } | ||||
[email protected] | 232e09d | 2013-08-27 15:29:56 | [diff] [blame] | 28 | |
29 | static void SetCommandLineFlags(JNIEnv* env, | ||||
30 | jclass clazz, | ||||
[email protected] | 6f56222 | 2014-07-18 15:03:01 | [diff] [blame] | 31 | jboolean single_process, |
[email protected] | 232e09d | 2013-08-27 15:29:56 | [diff] [blame] | 32 | jstring plugin_descriptor) { |
33 | std::string plugin_str = | ||||
34 | (plugin_descriptor == NULL | ||||
35 | ? std::string() | ||||
36 | : base::android::ConvertJavaStringToUTF8(env, plugin_descriptor)); | ||||
[email protected] | 6f56222 | 2014-07-18 15:03:01 | [diff] [blame] | 37 | SetContentCommandLineFlags(static_cast<bool>(single_process), plugin_str); |
[email protected] | 232e09d | 2013-08-27 15:29:56 | [diff] [blame] | 38 | } |
39 | |||||
40 | static jboolean IsOfficialBuild(JNIEnv* env, jclass clazz) { | ||||
41 | #if defined(OFFICIAL_BUILD) | ||||
42 | return true; | ||||
43 | #else | ||||
44 | return false; | ||||
45 | #endif | ||||
46 | } | ||||
47 | |||||
48 | static jboolean IsPluginEnabled(JNIEnv* env, jclass clazz) { | ||||
49 | #if defined(ENABLE_PLUGINS) | ||||
50 | return true; | ||||
51 | #else | ||||
52 | return false; | ||||
53 | #endif | ||||
54 | } | ||||
55 | |||||
[email protected] | 57624ab | 2013-08-01 16:01:51 | [diff] [blame] | 56 | } // namespace content |