summaryrefslogtreecommitdiffstats
path: root/chromium/components/webapps/browser/features.cc
blob: 8cc4490fc1d839b15d1687cfd1ef79e4eee9cfe4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
// Copyright 2020 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "components/webapps/browser/features.h"

#include "base/feature_list.h"

namespace webapps {
namespace features {

#if BUILDFLAG(IS_ANDROID)
BASE_FEATURE(kAddToHomescreenMessaging,
             "AddToHomescreenMessaging",
             base::FEATURE_DISABLED_BY_DEFAULT);

BASE_FEATURE(kAmbientBadgeSuppressFirstVisit,
             "AmbientBadgeSuppressFirstVisit",
             base::FEATURE_ENABLED_BY_DEFAULT);

// Enables or disables the installable ambient badge message.
BASE_FEATURE(kInstallPromptGlobalGuardrails,
             "InstallPromptGlobalGuardrails",
             base::FEATURE_DISABLED_BY_DEFAULT);
extern const base::FeatureParam<int>
    kInstallPromptGlobalGuardrails_DismissCount{&kInstallPromptGlobalGuardrails,
                                                "dismiss_count", 3};
extern const base::FeatureParam<base::TimeDelta>
    kInstallPromptGlobalGuardrails_DismissPeriod{
        &kInstallPromptGlobalGuardrails, "dismiss_period", base::Days(7)};
extern const base::FeatureParam<int> kInstallPromptGlobalGuardrails_IgnoreCount{
    &kInstallPromptGlobalGuardrails, "ignore_count", 3};
extern const base::FeatureParam<base::TimeDelta>
    kInstallPromptGlobalGuardrails_IgnorePeriod{&kInstallPromptGlobalGuardrails,
                                                "ignore_period", base::Days(3)};

// Enables WebAPK Install Failure Notification.
BASE_FEATURE(kWebApkInstallFailureNotification,
             "WebApkInstallFailureNotification",
             base::FEATURE_DISABLED_BY_DEFAULT);

#endif  // BUILDFLAG(IS_ANDROID)

// When the user clicks "Create Shortcut" in the dot menu, the current page is
// used as start-url, instead of the manifest-supplied value.
// This allows subpages of web apps to be bookmarked via shortcuts
// separately from their parent app.
// For installing the parent app, the existing "Install Site" should be used
// instead. With this feature, "Install Site" now also shows up for websites
// without service worker, as long as they have a manifest.
BASE_FEATURE(kCreateShortcutIgnoresManifest,
             "CreateShortcutIgnoresManifest",
             base::FEATURE_DISABLED_BY_DEFAULT);

// Use segmentation to decide whether install prompt should be shown.
BASE_FEATURE(kInstallPromptSegmentation,
             "InstallPromptSegmentation",
             base::FEATURE_DISABLED_BY_DEFAULT);

// Keys to use when querying the variations params.
BASE_FEATURE(kAppBannerTriggering,
             "AppBannerTriggering",
             base::FEATURE_DISABLED_BY_DEFAULT);
extern const base::FeatureParam<double> kBannerParamsEngagementTotalKey{
    &kAppBannerTriggering, "site_engagement_total",
    kDefaultTotalEngagementToTrigger};
extern const base::FeatureParam<int> kBannerParamsDaysAfterBannerDismissedKey{
    &kAppBannerTriggering, "days_after_dismiss",
    kMinimumBannerBlockedToBannerShown};
extern const base::FeatureParam<int> kBannerParamsDaysAfterBannerIgnoredKey{
    &kAppBannerTriggering, "days_after_ignore", kMinimumDaysBetweenBannerShows};

BASE_FEATURE(kWebAppsEnableMLModelForPromotion,
             "WebAppsEnableMLModelForPromotion",
             base::FEATURE_DISABLED_BY_DEFAULT);
extern const base::FeatureParam<double> kWebAppsMLGuardrailResultReportProb(
    &kWebAppsEnableMLModelForPromotion,
    "guardrail_report_prob",
    0);
extern const base::FeatureParam<double> kWebAppsMLModelUserDeclineReportProb(
    &kWebAppsEnableMLModelForPromotion,
    "model_and_user_decline_report_prob",
    0);
extern const base::FeatureParam<int> kMaxDaysForMLPromotionGuardrailStorage(
    &kWebAppsEnableMLModelForPromotion,
    "max_days_to_store_guardrails",
    kTotalDaysToStoreMLGuardrails);

// Allows installing a web app with fallback manifest values.
BASE_FEATURE(kUniversalInstallManifest,
             "UniversalInstallManifest",
             base::FEATURE_DISABLED_BY_DEFAULT);

// Allows installing a web app with fallback manifest values on root scope pages
// without manifest.
BASE_FEATURE(kUniversalInstallRootScopeNoManifest,
             "UniversalInstallRootScopeNoManifest",
             base::FEATURE_DISABLED_BY_DEFAULT);

// Allows installing a web app when no icon provided by the manifest.
BASE_FEATURE(kUniversalInstallIcon,
             "UniversalInstallIcon",
             base::FEATURE_DISABLED_BY_DEFAULT);

extern const base::FeatureParam<int> kMinimumFaviconSize{&kUniversalInstallIcon,
                                                         "size", 48};
}  // namespace features
}  // namespace webapps