Home | History | Annotate | Download | only in android
      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 <jni.h>
      6 
      7 #include "chrome/browser/android/chrome_startup_flags.h"
      8 
      9 #include "base/android/jni_android.h"
     10 #include "base/android/jni_string.h"
     11 #include "base/android/scoped_java_ref.h"
     12 #include "base/android/sys_utils.h"
     13 #include "base/command_line.h"
     14 #include "base/logging.h"
     15 #include "chrome/common/chrome_switches.h"
     16 #include "content/public/common/content_switches.h"
     17 #include "media/base/media_switches.h"
     18 
     19 namespace {
     20 
     21 void SetCommandLineSwitch(const std::string& switch_string) {
     22   CommandLine* command_line = CommandLine::ForCurrentProcess();
     23   if (!command_line->HasSwitch(switch_string))
     24     command_line->AppendSwitch(switch_string);
     25 }
     26 
     27 void SetCommandLineSwitchASCII(const std::string& switch_string,
     28                                const std::string& value) {
     29   CommandLine* command_line = CommandLine::ForCurrentProcess();
     30   if (!command_line->HasSwitch(switch_string))
     31     command_line->AppendSwitchASCII(switch_string, value);
     32 }
     33 
     34 }  // namespace
     35 
     36 void SetChromeSpecificCommandLineFlags() {
     37   // Turn on autologin.
     38   SetCommandLineSwitch(switches::kEnableAutologin);
     39 
     40   // Enable prerender for the omnibox.
     41   SetCommandLineSwitchASCII(
     42       switches::kPrerenderMode, switches::kPrerenderModeSwitchValueEnabled);
     43   SetCommandLineSwitchASCII(
     44       switches::kPrerenderFromOmnibox,
     45       switches::kPrerenderFromOmniboxSwitchValueEnabled);
     46   if (base::android::SysUtils::IsLowEndDevice())
     47     SetCommandLineSwitch(switches::kDisableSyncFavicons);
     48 #if defined(GOOGLE_TV)
     49   SetCommandLineSwitch(switches::kPpapiInProcess);
     50 #endif
     51 }
     52