blob: 6e3b42b94fd463e52c1225c8976b274d88730811 [file] [log] [blame]
// Copyright 2019 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 "base/feature_list.h"
class PrefService;
namespace send_tab_to_self {
// If this feature is enabled, we will display the UI to send tabs if the Sync
// datatype is also enabled.
extern const base::Feature kSendTabToSelfShowSendingUI;
// If this feature is enabled, the tabs will be broadcasted instead of
// targeted to a specific device. This only affects the receiving side.
extern const base::Feature kSendTabToSelfBroadcast;
// If this feature is enabled, the tabs will be accessible after they are shared
// in the history tab on desktop devices or in the recent tab page on mobile
// devices.
extern const base::Feature kSendTabToSelfHistory;
// If this feature is enabled, we will use signed-in, ephemeral data rather than
// persistent sync data. Users who are signed in can use the feature regardless
// of whether they have the sync feature enabled.
extern const base::Feature kSendTabToSelfWhenSignedIn;
// Returns whether the receiving components of the feature is enabled on this
// device. This is different from IsReceivingEnabled in SendTabToSelfUtil
// because it doesn't rely on the SendTabToSelfSyncService to be actively up and
// ready.
bool IsReceivingEnabledByUserOnThisDevice(PrefService* prefs);
// Returns whether we should use ephemeral sign-in data, rather than full,
// persistent sync data. Then the feature may be used by signed-in users,
// regardless of whether they have full sync enabled.
bool EnabledOnSignIn();
// Returns whether we should show the send tab to self history ui on desktop or
// the recent tab UI on mobile, in order to access previously sent tabs.
bool HistoryViewEnabled();
} // namespace send_tab_to_self