blob: 862c9f27d0d54cdc5f82aba1b3c4f5a6f238522a [file] [log] [blame]
// 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