| 12
 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
 
 | // Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_SEND_TAB_TO_SELF_FEATURES_H_
#define COMPONENTS_SEND_TAB_TO_SELF_FEATURES_H_
#include "base/feature_list.h"
#include "build/build_config.h"
#include "build/buildflag.h"
namespace base {
class TimeDelta;
}  // namespace base
namespace send_tab_to_self {
// If this feature is enabled, the notification shown to users will disapear
// after a fixed timeout. When disabled, instead it will remain until the
// user interacts with it either by dismissing or openning it.
BASE_DECLARE_FEATURE(kSendTabToSelfEnableNotificationTimeOut);
// If this feature is enabled, allow the user to receive Send Tab to Self
// notifications as a push notification to their target iOS device.
BASE_DECLARE_FEATURE(kSendTabToSelfIOSPushNotifications);
// Param for whether or not to include the URL image in the push notification
// for the kSendTabToSelfIOSPushNotifications feature.
extern const char kSendTabIOSPushNotificationsURLImageParam[];
// Convenience method for determining when SendTabIOSPushNotifications is
// enabled with a URL image in the notification.
bool IsSendTabIOSPushNotificationsEnabledWithURLImage();
#if BUILDFLAG(IS_IOS)
// Param for the iOS Magic Stack Card variant for the
// kSendTabToSelfIOSPushNotifications feature.
extern const char kSendTabIOSPushNotificationsWithMagicStackCardParam[];
// Convenience method for determining when SendTabIOSPushNotifications is
// enabled with Magic Stack Card.
bool IsSendTabIOSPushNotificationsEnabledWithMagicStackCard();
// Param for the iOS Tab Reminders variant for the
// `kSendTabToSelfIOSPushNotifications` feature.
extern const char kSendTabIOSPushNotificationsWithTabRemindersParam[];
// Convenience method for determining when `kSendTabToSelfIOSPushNotifications`
// is enabled with Tab Reminders.
bool IsSendTabIOSPushNotificationsEnabledWithTabReminders();
// Parameter representing the default time offset initially presented in the
// 'Set a Reminder' UI half-sheet. Users can select a different offset manually.
extern const char kReminderNotificationsDefaultTimeOffset[];
// Returns the default time offset used to pre-populate the date/time picker
// when the 'Set a Reminder' UI half-sheet is first shown. This value is
// controlled by the `kReminderNotificationsDefaultTimeOffset` Finch parameter.
const base::TimeDelta GetReminderNotificationsDefaultTimeOffset();
#endif  // BUILDFLAG(IS_IOS)
}  // namespace send_tab_to_self
#endif  // COMPONENTS_SEND_TAB_TO_SELF_FEATURES_H_
 |