// 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. #ifndef COMPONENTS_USER_EDUCATION_COMMON_FEATURE_PROMO_STORAGE_SERVICE_H_ #define COMPONENTS_USER_EDUCATION_COMMON_FEATURE_PROMO_STORAGE_SERVICE_H_ #include <map> #include <optional> #include "base/feature_list.h" #include "base/memory/raw_ptr.h" #include "base/time/clock.h" #include "base/time/time.h" #include "components/user_education/common/feature_promo_data.h" // Declare in the global namespace for test purposes. class FeaturePromoStorageInteractiveTest; class UserEducationInternalsPageHandlerImpl; namespace user_education { // This service manages snooze and other display data for in-product help // promos. // // It is an abstract base class in order to support multiple frameworks/ // platforms, and different data stores. // // Before showing an IPH, the IPH controller should ask if the IPH is blocked. // The controller should also notify after the IPH is shown and after the user // clicks the snooze/dismiss button. class FeaturePromoStorageService { … }; } // namespace user_education #endif // COMPONENTS_USER_EDUCATION_COMMON_FEATURE_PROMO_STORAGE_SERVICE_H_