blob: db0ff1ac5d5834349d4fdcc5eabcdc740c92d176 [file] [log] [blame]
Himanshu Jajudbcee232019-06-17 19:41:491// Copyright 2019 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#ifndef CHROME_BROWSER_SHARING_FEATURES_H_
6#define CHROME_BROWSER_SHARING_FEATURES_H_
7
8#include "base/feature_list.h"
Michael van Ouwerkerk99d7e562019-12-03 17:14:369#include "base/metrics/field_trial_params.h"
Himanshu Jajudbcee232019-06-17 19:41:4910
Travis Skareba1cc442019-10-02 22:28:1111// Feature flag to enable QR Code Generator (currently desktop-only).
12extern const base::Feature kSharingQRCodeGenerator;
13
Michael van Ouwerkerk99d7e562019-12-03 17:14:3614// Feature flag for configuring device expiration.
15extern const base::Feature kSharingDeviceExpiration;
16
17// The number of hours after which a device is considered expired.
18extern const base::FeatureParam<int> kSharingDeviceExpirationHours;
19
Michael van Ouwerkerka91ab6e2020-02-03 12:55:3820// Feature flag for matching device expiration to pulse interval.
21extern const base::Feature kSharingMatchPulseInterval;
22
23// The delta from the pulse interval in hours after which a device is considered
24// expired, for Desktop devices. Chrome on Desktop is expected to update the
25// last updated timestamp quite frequently because it can do this when
26// backgrounded. Such devices can be marked stale aggressively if they did not
27// update for more than an interval.
28extern const base::FeatureParam<int> kSharingPulseDeltaDesktopHours;
29
30// The delta from the pulse interval in hours after which a device is considered
31// expired, for Android devices. Chrome on Android is expected to update the
32// last updated timestamp less frequently because it does not do this when
33// backgrounded. Such devices cannot be marked stale aggressively.
34extern const base::FeatureParam<int> kSharingPulseDeltaAndroidHours;
35
Michael van Ouwerkerk99e2ba822020-01-16 12:12:2436// Feature flag for configuring the sharing message timeout. This sets both the
37// FCM message TTL and the duration of the timer that waits for an ack.
38extern const base::Feature kSharingMessageTTL;
39
40// The duration in seconds for both the FCM message TTL and the timer that waits
41// for an ack.
42extern const base::FeatureParam<int> kSharingMessageTTLSeconds;
43
44// Feature flag for configuring the FCM TTL for sharing ack messages.