chrome_startup_flags.cc revision 116680a4aac90f2aa7413d9095a592090648e557
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/command_line.h" 13#include "base/logging.h" 14#include "base/sys_info.h" 15#include "chrome/common/chrome_switches.h" 16#include "chrome/common/chrome_version_info.h" 17#include "content/public/common/content_switches.h" 18#include "media/base/media_switches.h" 19 20namespace { 21 22void SetCommandLineSwitch(const std::string& switch_string) { 23 CommandLine* command_line = CommandLine::ForCurrentProcess(); 24 if (!command_line->HasSwitch(switch_string)) 25 command_line->AppendSwitch(switch_string); 26} 27 28void SetCommandLineSwitchASCII(const std::string& switch_string, 29 const std::string& value) { 30 CommandLine* command_line = CommandLine::ForCurrentProcess(); 31 if (!command_line->HasSwitch(switch_string)) 32 command_line->AppendSwitchASCII(switch_string, value); 33} 34 35} // namespace 36 37void SetChromeSpecificCommandLineFlags() { 38 // Enable prerender with holdback. 39 SetCommandLineSwitchASCII(switches::kPrerenderMode, 40 switches::kPrerenderModeSwitchValueAuto); 41 42 // Enable prerender for the omnibox. 43 SetCommandLineSwitchASCII(switches::kPrerenderFromOmnibox, 44 switches::kPrerenderFromOmniboxSwitchValueEnabled); 45 46 // Disable syncing favicons on low end devices. 47 if (base::SysInfo::IsLowEndDevice()) 48 SetCommandLineSwitchASCII(switches::kDisableSyncTypes, "Favicon Images"); 49 50 // Enable DOM Distiller on local builds, canary and dev-channel. 51 chrome::VersionInfo::Channel channel = chrome::VersionInfo::GetChannel(); 52 if (channel == chrome::VersionInfo::CHANNEL_UNKNOWN || 53 channel == chrome::VersionInfo::CHANNEL_CANARY || 54 channel == chrome::VersionInfo::CHANNEL_DEV) { 55 SetCommandLineSwitch(switches::kEnableDomDistiller); 56 } 57} 58