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 5 #include "content/browser/android/browser_startup_controller.h" 6 7 #include "base/android/jni_android.h" 8 #include "base/android/jni_string.h" 9 #include "content/browser/android/content_startup_flags.h" 10 11 #include "jni/BrowserStartupController_jni.h" 12 13 namespace content { 14 15 bool BrowserMayStartAsynchronously() { 16 JNIEnv* env = base::android::AttachCurrentThread(); 17 return Java_BrowserStartupController_browserMayStartAsynchonously(env); 18 } 19 20 void BrowserStartupComplete(int result) { 21 JNIEnv* env = base::android::AttachCurrentThread(); 22 Java_BrowserStartupController_browserStartupComplete(env, result); 23 } 24 25 bool RegisterBrowserStartupController(JNIEnv* env) { 26 return RegisterNativesImpl(env); 27 } 28 29 static void SetCommandLineFlags(JNIEnv* env, 30 jclass clazz, 31 jboolean single_process, 32 jstring plugin_descriptor) { 33 std::string plugin_str = 34 (plugin_descriptor == NULL 35 ? std::string() 36 : base::android::ConvertJavaStringToUTF8(env, plugin_descriptor)); 37 SetContentCommandLineFlags(static_cast<bool>(single_process), plugin_str); 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 56 } // namespace content 57