// Copyright 2013 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "ui/app_list/app_list_switches.h" #include "base/command_line.h" #include "build/build_config.h" namespace app_list { namespace switches { // Specifies the chrome-extension:// URL for the contents of an additional page // added to the experimental app launcher. const char kCustomLauncherPage[] = "custom-launcher-page"; // If set, the app list will not be dismissed when it loses focus. This is // useful when testing the app list or a custom launcher page. It can still be // dismissed via the other methods (like the Esc key). const char kDisableAppListDismissOnBlur[] = "disable-app-list-dismiss-on-blur"; // If set, the app list will be enabled as if enabled from CWS. const char kEnableAppList[] = "enable-app-list"; // If set, the app list will be centered and wide instead of tall. const char kEnableCenteredAppList[] = "enable-centered-app-list"; // Enable/disable the experimental app list. If enabled, implies // --enable-centered-app-list. const char kEnableExperimentalAppList[] = "enable-experimental-app-list"; const char kDisableExperimentalAppList[] = "disable-experimental-app-list"; // Enable/disable syncing of the app list independent of extensions. const char kEnableSyncAppList[] = "enable-sync-app-list"; const char kDisableSyncAppList[] = "disable-sync-app-list"; // Enable/disable drive search in chrome launcher. const char kEnableDriveSearchInChromeLauncher[] = "enable-drive-search-in-app-launcher"; const char kDisableDriveSearchInChromeLauncher[] = "disable-drive-search-in-app-launcher"; // Enable/disable the new "blended" algorithm in app_list::Mixer. This is just // forcing the AppListMixer/Blended field trial. const char kEnableNewAppListMixer[] = "enable-new-app-list-mixer"; const char kDisableNewAppListMixer[] = "disable-new-app-list-mixer"; // If set, the app list will forget it has been installed on startup. Note this // doesn't prevent the app list from running, it just makes Chrome think the app // list hasn't been enabled (as in kEnableAppList) yet. const char kResetAppListInstallState[] = "reset-app-list-install-state"; #if defined(OS_MACOSX) // Enables use of the toolkit-views app list on Mac. const char kEnableMacViewsAppList[] = "enable-mac-views-app-list"; #endif bool IsAppListSyncEnabled() { #if defined(OS_MACOSX) if (base::CommandLine::ForCurrentProcess()->HasSwitch(kEnableSyncAppList)) return true; if (!IsMacViewsAppListEnabled()) return false; #endif return !base::CommandLine::ForCurrentProcess()->HasSwitch( kDisableSyncAppList); } bool IsFolderUIEnabled() { // Folder UI is available only when AppList sync is enabled, and should // not be disabled separately. return IsAppListSyncEnabled(); } bool IsVoiceSearchEnabled() { // Speech recognition in AppList is only for ChromeOS right now. #if defined(OS_CHROMEOS) return true; #else return false; #endif } bool IsExperimentalAppListEnabled() { if (base::CommandLine::ForCurrentProcess()->HasSwitch( kEnableExperimentalAppList)) return true; if (base::CommandLine::ForCurrentProcess()->HasSwitch( kDisableExperimentalAppList)) return false; #if defined(OS_CHROMEOS) return true; #else return false; #endif } bool IsCenteredAppListEnabled() { return base::CommandLine::ForCurrentProcess()->HasSwitch( kEnableCenteredAppList) || IsExperimentalAppListEnabled(); } bool ShouldNotDismissOnBlur() { return base::CommandLine::ForCurrentProcess()->HasSwitch( kDisableAppListDismissOnBlur); } bool IsDriveAppsInAppListEnabled() { #if defined(OS_CHROMEOS) return true; #else return false; #endif } bool IsDriveSearchInChromeLauncherEnabled() { #if defined(OS_CHROMEOS) if (base::CommandLine::ForCurrentProcess()->HasSwitch( kEnableDriveSearchInChromeLauncher)) return true; if (base::CommandLine::ForCurrentProcess()->HasSwitch( kDisableDriveSearchInChromeLauncher)) return false; return true; #else return false; #endif } #if defined(OS_MACOSX) bool IsMacViewsAppListEnabled() { #if defined(TOOLKIT_VIEWS) return base::CommandLine::ForCurrentProcess()->HasSwitch( kEnableMacViewsAppList); #endif return false; } #endif // defined(OS_MACOSX) } // namespace switches } // namespace app_list