• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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()31 bool 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()39 bool 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()48 bool 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()57 bool IsAppInfoEnabled() {
58 #if defined(TOOLKIT_VIEWS)
59   return !CommandLine::ForCurrentProcess()->HasSwitch(kDisableAppInfo);
60 #else
61   return false;
62 #endif
63 }
64 
IsExperimentalAppListEnabled()65 bool IsExperimentalAppListEnabled() {
66   return CommandLine::ForCurrentProcess()->HasSwitch(
67       kEnableExperimentalAppList);
68 }
69 
IsCenteredAppListEnabled()70 bool IsCenteredAppListEnabled() {
71   return CommandLine::ForCurrentProcess()->HasSwitch(kEnableCenteredAppList) ||
72          IsExperimentalAppListEnabled();
73 }
74 
IsDriveAppsInAppListEnabled()75 bool 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