#include "components/user_education/common/feature_promo_session_policy.h"
#include "base/metrics/field_trial_params.h"
#include "components/user_education/common/feature_promo_data.h"
#include "components/user_education/common/feature_promo_result.h"
#include "components/user_education/common/feature_promo_session_manager.h"
#include "components/user_education/common/feature_promo_specification.h"
#include "components/user_education/common/feature_promo_storage_service.h"
#include "components/user_education/common/user_education_features.h"
namespace user_education {
namespace {
enum class PromoPriority { … };
}
FeaturePromoSessionPolicy::FeaturePromoSessionPolicy() = default;
FeaturePromoSessionPolicy::~FeaturePromoSessionPolicy() = default;
void FeaturePromoSessionPolicy::Init(
FeaturePromoSessionManager* session_manager,
FeaturePromoStorageService* storage_service) { … }
void FeaturePromoSessionPolicy::NotifyPromoShown(const PromoInfo& promo_shown) { … }
void FeaturePromoSessionPolicy::NotifyPromoEnded(
const PromoInfo& promo_ended,
FeaturePromoClosedReason close_reason) { … }
FeaturePromoResult FeaturePromoSessionPolicy::CanShowPromo(
PromoInfo to_show,
std::optional<PromoInfo> currently_showing) const { … }
FeaturePromoSessionPolicyV2::FeaturePromoSessionPolicyV2()
: … { … }
FeaturePromoSessionPolicyV2::FeaturePromoSessionPolicyV2(
base::TimeDelta session_start_grace_period,
base::TimeDelta heavyweight_promo_cooldown)
: … { … }
FeaturePromoSessionPolicyV2::~FeaturePromoSessionPolicyV2() = default;
FeaturePromoSessionPolicy::PromoInfo
FeaturePromoSessionPolicy::SpecificationToPromoInfo(
const FeaturePromoSpecification& spec) const { … }
FeaturePromoResult FeaturePromoSessionPolicyV2::CanShowPromo(
PromoInfo to_show,
std::optional<PromoInfo> currently_showing) const { … }
}