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 "ui/app_list/app_list_switches.h" 6 7#include "base/command_line.h" 8 9namespace app_list { 10namespace switches { 11 12// If set, the app info context menu item is not available in the app list UI. 13const char kDisableAppInfo[] = "disable-app-list-app-info"; 14 15// If set, Drive apps will not be shown side-by-side with Chrome apps. 16const char kDisableDriveAppsInAppList[] = "disable-drive-apps-in-app-list"; 17 18// Disables syncing of the app list independent of extensions. 19const char kDisableSyncAppList[] = "disable-sync-app-list"; 20 21// If set, the app list will be centered and wide instead of tall. 22const char kEnableCenteredAppList[] = "enable-centered-app-list"; 23 24// If set, the experimental app list will be used. Implies 25// --enable-centered-app-list. 26const char kEnableExperimentalAppList[] = "enable-experimental-app-list"; 27 28// Enables syncing of the app list independent of extensions. 29const char kEnableSyncAppList[] = "enable-sync-app-list"; 30 31bool IsAppListSyncEnabled() { 32#if defined(TOOLKIT_VIEWS) 33 return !CommandLine::ForCurrentProcess()->HasSwitch(kDisableSyncAppList); 34#else 35 return CommandLine::ForCurrentProcess()->HasSwitch(kEnableSyncAppList); 36#endif 37} 38 39bool IsFolderUIEnabled() { 40#if !defined(TOOLKIT_VIEWS) 41 return false; // Folder UI not implemented for Cocoa. 42#endif 43 // Folder UI is available only when AppList sync is enabled, and should 44 // not be disabled separately. 45 return IsAppListSyncEnabled(); 46} 47 48bool IsVoiceSearchEnabled() { 49 // Speech recognition in AppList is only for ChromeOS right now. 50#if defined(OS_CHROMEOS) 51 return true; 52#else 53 return false; 54#endif 55} 56 57bool IsAppInfoEnabled() { 58#if defined(TOOLKIT_VIEWS) 59 return !CommandLine::ForCurrentProcess()->HasSwitch(kDisableAppInfo); 60#else 61 return false; 62#endif 63} 64 65bool IsExperimentalAppListEnabled() { 66 return CommandLine::ForCurrentProcess()->HasSwitch( 67 kEnableExperimentalAppList); 68} 69 70bool IsCenteredAppListEnabled() { 71 return CommandLine::ForCurrentProcess()->HasSwitch(kEnableCenteredAppList) || 72 IsExperimentalAppListEnabled(); 73} 74 75bool IsDriveAppsInAppListEnabled() { 76#if defined(OS_CHROMEOS) 77 // Disable Drive app integration due to http://crbug.com/420034 78 // TODO(xiyuan): Revisit this after the bug is fixed. 79 return false; 80#else 81 return false; 82#endif 83} 84 85} // namespace switches 86} // namespace app_list 87