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 9 namespace app_list { 10 namespace switches { 11 12 // If set, the app info context menu item is not available in the app list UI. 13 const char kDisableAppInfo[] = "disable-app-list-app-info"; 14 15 // If set, Drive apps will not be shown side-by-side with Chrome apps. 16 const char kDisableDriveAppsInAppList[] = "disable-drive-apps-in-app-list"; 17 18 // Disables syncing of the app list independent of extensions. 19 const char kDisableSyncAppList[] = "disable-sync-app-list"; 20 21 // If set, the app list will be centered and wide instead of tall. 22 const char kEnableCenteredAppList[] = "enable-centered-app-list"; 23 24 // If set, the experimental app list will be used. Implies 25 // --enable-centered-app-list. 26 const char kEnableExperimentalAppList[] = "enable-experimental-app-list"; 27 28 // Enables syncing of the app list independent of extensions. 29 const char kEnableSyncAppList[] = "enable-sync-app-list"; 30 IsAppListSyncEnabled()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 IsFolderUIEnabled()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 IsVoiceSearchEnabled()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 IsAppInfoEnabled()57bool IsAppInfoEnabled() { 58 #if defined(TOOLKIT_VIEWS) 59 return !CommandLine::ForCurrentProcess()->HasSwitch(kDisableAppInfo); 60 #else 61 return false; 62 #endif 63 } 64 IsExperimentalAppListEnabled()65bool IsExperimentalAppListEnabled() { 66 return CommandLine::ForCurrentProcess()->HasSwitch( 67 kEnableExperimentalAppList); 68 } 69 IsCenteredAppListEnabled()70bool IsCenteredAppListEnabled() { 71 return CommandLine::ForCurrentProcess()->HasSwitch(kEnableCenteredAppList) || 72 IsExperimentalAppListEnabled(); 73 } 74 IsDriveAppsInAppListEnabled()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