blob: 9dfab58bfca43a20f3882786b7f5335974549cba [file] [log] [blame]
// Copyright 2015 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 "components/offline_pages/core/offline_page_feature.h"
#include <string>
#include "base/command_line.h"
#include "base/feature_list.h"
namespace switches {
// This flag significantly shortens the delay between WebContentsObserver events
// and SnapshotController's StartSnapshot calls. The purpose is to speed up
// integration tests.
const char kOfflinePagesUseTestingSnapshotDelay[] =
"short-offline-page-snapshot-delay-for-test";
} // namespace switches
namespace offline_pages {
const base::Feature kOfflineBookmarksFeature{"OfflineBookmarks",
base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kOffliningRecentPagesFeature{
"OfflineRecentPages", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kOfflinePagesCTFeature{"OfflinePagesCT",
base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kOfflinePagesSharingFeature{
"OfflinePagesSharing", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kOfflinePagesSvelteConcurrentLoadingFeature{
"OfflinePagesSvelteConcurrentLoading", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kOfflinePagesLoadSignalCollectingFeature{
"OfflinePagesLoadSignalCollecting", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kBackgroundLoaderForDownloadsFeature{
"BackgroundLoadingForDownloads", base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kOfflinePagesAsyncDownloadFeature{
"OfflinePagesAsyncDownload", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kPrefetchingOfflinePagesFeature{
"OfflinePagesPrefetching", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kNewBackgroundLoaderFeature {
"BackgroundLoader", base::FEATURE_DISABLED_BY_DEFAULT
};
bool IsOfflineBookmarksEnabled() {
return base::FeatureList::IsEnabled(kOfflineBookmarksFeature);
}
bool IsOffliningRecentPagesEnabled() {
return base::FeatureList::IsEnabled(kOffliningRecentPagesFeature);
}
bool IsOfflinePagesSvelteConcurrentLoadingEnabled() {
return base::FeatureList::IsEnabled(
kOfflinePagesSvelteConcurrentLoadingFeature);
}
bool IsOfflinePagesCTEnabled() {
return base::FeatureList::IsEnabled(kOfflinePagesCTFeature);
}
bool IsOfflinePagesSharingEnabled() {
return base::FeatureList::IsEnabled(kOfflinePagesSharingFeature);
}
bool IsBackgroundLoaderForDownloadsEnabled() {
return base::FeatureList::IsEnabled(kBackgroundLoaderForDownloadsFeature);
}
bool IsOfflinePagesAsyncDownloadEnabled() {
return base::FeatureList::IsEnabled(kOfflinePagesAsyncDownloadFeature);
}
bool IsPrefetchingOfflinePagesEnabled() {
return base::FeatureList::IsEnabled(kPrefetchingOfflinePagesFeature);
}
bool IsOfflinePagesLoadSignalCollectingEnabled() {
return base::FeatureList::IsEnabled(kOfflinePagesLoadSignalCollectingFeature);
}
bool ShouldUseNewBackgroundLoader() {
return base::FeatureList::IsEnabled(kNewBackgroundLoaderFeature);
}
bool ShouldUseTestingSnapshotDelay() {
base::CommandLine* cl = base::CommandLine::ForCurrentProcess();
return cl->HasSwitch(switches::kOfflinePagesUseTestingSnapshotDelay);
}
} // namespace offline_pages