Upstream version 7.35.139.0
[platform/framework/web/crosswalk.git] / src / ui / app_list / app_list_switches.cc
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 // Disables syncing of the app list independent of extensions.
13 const char kDisableSyncAppList[] = "disable-sync-app-list";
14
15 // If set, the voice search is disabled in app list UI.
16 const char kEnableVoiceSearch[] = "enable-app-list-voice-search";
17
18 // If set, the app info context menu item is available in the app list UI.
19 const char kEnableAppInfo[] = "enable-app-list-app-info";
20
21 // If set, the experimental app list will be used.
22 const char kEnableExperimentalAppList[] = "enable-experimental-app-list";
23
24 // If set, the experimental app list position will be used.
25 const char kEnableExperimentalAppListPosition[] =
26     "enable-experimental-app-list-position";
27
28 // If set, it will always listen to the audio locally and open the app-list
29 // when the hotword is recognized.
30 const char kEnableHotwordAlwaysOn[] = "enable-app-list-hotword-always-on";
31
32 // Enables syncing of the app list independent of extensions.
33 const char kEnableSyncAppList[] = "enable-sync-app-list";
34
35 bool IsAppListSyncEnabled() {
36 #if defined(OS_CHROMEOS)
37   return !CommandLine::ForCurrentProcess()->HasSwitch(kDisableSyncAppList);
38 #else
39   return CommandLine::ForCurrentProcess()->HasSwitch(kEnableSyncAppList);
40 #endif
41 }
42
43 bool IsFolderUIEnabled() {
44 #if defined(OS_MACOSX)
45   return false;  // Folder UI not implemented for OSX
46 #endif
47   // Folder UI is available only when AppList sync is enabled, and should
48   // not be disabled separately.
49   return IsAppListSyncEnabled();
50 }
51
52 bool IsVoiceSearchEnabled() {
53   // Speech recognition in AppList is only for ChromeOS right now.
54 #if defined(OS_CHROMEOS)
55   return CommandLine::ForCurrentProcess()->HasSwitch(kEnableVoiceSearch);
56 #else
57   return false;
58 #endif
59 }
60
61 bool IsHotwordAlwaysOnEnabled() {
62 #if defined(OS_CHROMEOS)
63   return IsVoiceSearchEnabled() &&
64       CommandLine::ForCurrentProcess()->HasSwitch(kEnableHotwordAlwaysOn);
65 #else
66   return false;
67 #endif
68 }
69
70 bool IsAppInfoEnabled() {
71   return CommandLine::ForCurrentProcess()->HasSwitch(kEnableAppInfo);
72 }
73
74 bool IsExperimentalAppListEnabled() {
75   return CommandLine::ForCurrentProcess()->HasSwitch(
76       kEnableExperimentalAppList);
77 }
78
79 bool IsExperimentalAppListPositionEnabled() {
80   return CommandLine::ForCurrentProcess()->HasSwitch(
81              kEnableExperimentalAppListPosition) ||
82          IsExperimentalAppListEnabled();
83 }
84
85 }  // namespace switches
86 }  // namespace app_list