chrome_startup_flags.cc revision 23730a6e56a168d1879203e4b3819bb36e3d8f1f
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 "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 for the omnibox. 39 SetCommandLineSwitchASCII(switches::kPrerenderMode, 40 switches::kPrerenderModeSwitchValueEnabled); 41 SetCommandLineSwitchASCII(switches::kPrerenderFromOmnibox, 42 switches::kPrerenderFromOmniboxSwitchValueEnabled); 43 44 // Disable syncing favicons on low end devices. 45 if (base::android::SysUtils::IsLowEndDevice()) 46 SetCommandLineSwitchASCII(switches::kDisableSyncTypes, "Favicon Images"); 47 48 // Enable DOM Distiller on local builds, canary and dev-channel. 49 chrome::VersionInfo::Channel channel = chrome::VersionInfo::GetChannel(); 50 if (channel == chrome::VersionInfo::CHANNEL_UNKNOWN || 51 channel == chrome::VersionInfo::CHANNEL_CANARY || 52 channel == chrome::VersionInfo::CHANNEL_DEV) { 53 SetCommandLineSwitch(switches::kEnableDomDistiller); 54 } 55} 56