diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-29 10:46:47 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-11-02 12:02:10 +0000 |
commit | 99677208ff3b216fdfec551fbe548da5520cd6fb (patch) | |
tree | 476a4865c10320249360e859d8fdd3e01833b03a /chromium/components/feature_engagement | |
parent | c30a6232df03e1efbd9f3b226777b07e087a1122 (diff) | |
download | qtwebengine-chromium-99677208ff3b216fdfec551fbe548da5520cd6fb.tar.gz |
BASELINE: Update Chromium to 86.0.4240.124
Change-Id: Ide0ff151e94cd665ae6521a446995d34a9d1d644
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/components/feature_engagement')
31 files changed, 181 insertions, 221 deletions
diff --git a/chromium/components/feature_engagement/BUILD.gn b/chromium/components/feature_engagement/BUILD.gn index 991252ed2ab..0e37ea50e6a 100644 --- a/chromium/components/feature_engagement/BUILD.gn +++ b/chromium/components/feature_engagement/BUILD.gn @@ -3,23 +3,14 @@ # found in the LICENSE file. import("//build/buildflag_header.gni") -import("//components/feature_engagement/features.gni") if (is_android) { import("//build/config/android/config.gni") import("//build/config/android/rules.gni") } -buildflag_header("buildflags") { - header = "buildflags.h" - flags = [ "ENABLE_LEGACY_DESKTOP_IN_PRODUCT_HELP=$enable_legacy_desktop_in_product_help" ] -} - group("feature_engagement") { - public_deps = [ - ":buildflags", - "//components/feature_engagement/public", - ] + public_deps = [ "//components/feature_engagement/public" ] deps = [ "//components/feature_engagement/internal" ] } diff --git a/chromium/components/feature_engagement/features.gni b/chromium/components/feature_engagement/features.gni deleted file mode 100644 index 67b93f7d6f7..00000000000 --- a/chromium/components/feature_engagement/features.gni +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 2017 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. - -declare_args() { - enable_legacy_desktop_in_product_help = false -} diff --git a/chromium/components/feature_engagement/internal/BUILD.gn b/chromium/components/feature_engagement/internal/BUILD.gn index 0dc1e54a558..b1320da262b 100644 --- a/chromium/components/feature_engagement/internal/BUILD.gn +++ b/chromium/components/feature_engagement/internal/BUILD.gn @@ -2,14 +2,12 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -import("//build/config/jumbo.gni") - if (is_android) { import("//build/config/android/config.gni") import("//build/config/android/rules.gni") } -jumbo_static_library("internal") { +static_library("internal") { visibility = [ ":*", "//components/feature_engagement", @@ -86,7 +84,7 @@ jumbo_static_library("internal") { } } -jumbo_source_set("unit_tests") { +source_set("unit_tests") { testonly = true visibility = [ "//components/feature_engagement:unit_tests" ] diff --git a/chromium/components/feature_engagement/internal/event_model.h b/chromium/components/feature_engagement/internal/event_model.h index 9be7dfe2728..7895c9b0113 100644 --- a/chromium/components/feature_engagement/internal/event_model.h +++ b/chromium/components/feature_engagement/internal/event_model.h @@ -19,13 +19,13 @@ class EventModel { public: // Callback for when model initialization has finished. The |success| // argument denotes whether the model was successfully initialized. - using OnModelInitializationFinished = base::Callback<void(bool success)>; + using OnModelInitializationFinished = base::OnceCallback<void(bool success)>; virtual ~EventModel() = default; // Initialize the model, including all underlying sub systems. When all // required operations have been finished, a callback is posted. - virtual void Initialize(const OnModelInitializationFinished& callback, + virtual void Initialize(OnModelInitializationFinished callback, uint32_t current_day) = 0; // Returns whether the model is ready, i.e. whether it has been successfully diff --git a/chromium/components/feature_engagement/internal/event_model_impl.cc b/chromium/components/feature_engagement/internal/event_model_impl.cc index 0a8e5859958..8ca761b2aa3 100644 --- a/chromium/components/feature_engagement/internal/event_model_impl.cc +++ b/chromium/components/feature_engagement/internal/event_model_impl.cc @@ -30,10 +30,11 @@ EventModelImpl::EventModelImpl( EventModelImpl::~EventModelImpl() = default; -void EventModelImpl::Initialize(const OnModelInitializationFinished& callback, +void EventModelImpl::Initialize(OnModelInitializationFinished callback, uint32_t current_day) { - store_->Load(base::Bind(&EventModelImpl::OnStoreLoaded, - weak_factory_.GetWeakPtr(), callback, current_day)); + store_->Load(base::BindOnce(&EventModelImpl::OnStoreLoaded, + weak_factory_.GetWeakPtr(), std::move(callback), + current_day)); } bool EventModelImpl::IsReady() const { @@ -111,13 +112,12 @@ void EventModelImpl::IncrementEvent(const std::string& event_name, store_->WriteEvent(event); } -void EventModelImpl::OnStoreLoaded( - const OnModelInitializationFinished& callback, - uint32_t current_day, - bool success, - std::unique_ptr<std::vector<Event>> events) { +void EventModelImpl::OnStoreLoaded(OnModelInitializationFinished callback, + uint32_t current_day, + bool success, + std::unique_ptr<std::vector<Event>> events) { if (!success) { - callback.Run(false); + std::move(callback).Run(false); return; } @@ -151,7 +151,7 @@ void EventModelImpl::OnStoreLoaded( } ready_ = true; - callback.Run(true); + std::move(callback).Run(true); } Event& EventModelImpl::GetNonConstEvent(const std::string& event_name) { diff --git a/chromium/components/feature_engagement/internal/event_model_impl.h b/chromium/components/feature_engagement/internal/event_model_impl.h index 4e058c8b5c6..447cfa3e772 100644 --- a/chromium/components/feature_engagement/internal/event_model_impl.h +++ b/chromium/components/feature_engagement/internal/event_model_impl.h @@ -27,7 +27,7 @@ class EventModelImpl : public EventModel { ~EventModelImpl() override; // EventModel implementation. - void Initialize(const OnModelInitializationFinished& callback, + void Initialize(OnModelInitializationFinished callback, uint32_t current_day) override; bool IsReady() const override; const Event* GetEvent(const std::string& event_name) const override; @@ -39,7 +39,7 @@ class EventModelImpl : public EventModel { private: // Callback for loading the underlying store. - void OnStoreLoaded(const OnModelInitializationFinished& callback, + void OnStoreLoaded(OnModelInitializationFinished callback, uint32_t current_day, bool success, std::unique_ptr<std::vector<Event>> events); diff --git a/chromium/components/feature_engagement/internal/event_model_impl_unittest.cc b/chromium/components/feature_engagement/internal/event_model_impl_unittest.cc index fd5d543050f..e061926a4c1 100644 --- a/chromium/components/feature_engagement/internal/event_model_impl_unittest.cc +++ b/chromium/components/feature_engagement/internal/event_model_impl_unittest.cc @@ -32,8 +32,8 @@ class TestInMemoryEventStore : public InMemoryEventStore { store_operation_count_(0), load_should_succeed_(load_should_succeed) {} - void Load(const OnLoadedCallback& callback) override { - HandleLoadResult(callback, load_should_succeed_); + void Load(OnLoadedCallback callback) override { + HandleLoadResult(std::move(callback), load_should_succeed_); } void WriteEvent(const Event& event) override { @@ -183,8 +183,8 @@ class LoadFailingEventModelImplTest : public EventModelImplTest { TEST_F(EventModelImplTest, InitializeShouldBeReadyImmediatelyAfterCallback) { model_->Initialize( - base::Bind(&EventModelImplTest::OnModelInitializationFinished, - base::Unretained(this)), + base::BindOnce(&EventModelImplTest::OnModelInitializationFinished, + base::Unretained(this)), 1000u); // Only run pending tasks on the queue. Do not run any subsequently queued @@ -197,8 +197,8 @@ TEST_F(EventModelImplTest, InitializeShouldBeReadyImmediatelyAfterCallback) { TEST_F(EventModelImplTest, InitializeShouldLoadEntries) { model_->Initialize( - base::Bind(&EventModelImplTest::OnModelInitializationFinished, - base::Unretained(this)), + base::BindOnce(&EventModelImplTest::OnModelInitializationFinished, + base::Unretained(this)), 1000u); task_runner_->RunUntilIdle(); EXPECT_TRUE(model_->IsReady()); @@ -238,8 +238,8 @@ TEST_F(EventModelImplTest, InitializeShouldOnlyLoadEntriesThatShouldBeKept) { storage_validator_->SetMaxKeepAge("qux", 10u); model_->Initialize( - base::Bind(&EventModelImplTest::OnModelInitializationFinished, - base::Unretained(this)), + base::BindOnce(&EventModelImplTest::OnModelInitializationFinished, + base::Unretained(this)), 5u); task_runner_->RunUntilIdle(); EXPECT_TRUE(model_->IsReady()); @@ -274,8 +274,8 @@ TEST_F(EventModelImplTest, InitializeShouldOnlyLoadEntriesThatShouldBeKept) { TEST_F(EventModelImplTest, RetrievingNewEventsShouldYieldNullptr) { model_->Initialize( - base::Bind(&EventModelImplTest::OnModelInitializationFinished, - base::Unretained(this)), + base::BindOnce(&EventModelImplTest::OnModelInitializationFinished, + base::Unretained(this)), 1000u); task_runner_->RunUntilIdle(); EXPECT_TRUE(model_->IsReady()); @@ -287,8 +287,8 @@ TEST_F(EventModelImplTest, RetrievingNewEventsShouldYieldNullptr) { TEST_F(EventModelImplTest, IncrementingNonExistingEvent) { model_->Initialize( - base::Bind(&EventModelImplTest::OnModelInitializationFinished, - base::Unretained(this)), + base::BindOnce(&EventModelImplTest::OnModelInitializationFinished, + base::Unretained(this)), 1000u); task_runner_->RunUntilIdle(); EXPECT_TRUE(model_->IsReady()); @@ -315,8 +315,8 @@ TEST_F(EventModelImplTest, IncrementingNonExistingEvent) { TEST_F(EventModelImplTest, IncrementingNonExistingEventMultipleDays) { model_->Initialize( - base::Bind(&EventModelImplTest::OnModelInitializationFinished, - base::Unretained(this)), + base::BindOnce(&EventModelImplTest::OnModelInitializationFinished, + base::Unretained(this)), 1000u); task_runner_->RunUntilIdle(); EXPECT_TRUE(model_->IsReady()); @@ -336,8 +336,8 @@ TEST_F(EventModelImplTest, IncrementingNonExistingEventMultipleDays) { TEST_F(EventModelImplTest, IncrementingNonExistingEventWithoutStoring) { model_->Initialize( - base::Bind(&EventModelImplTest::OnModelInitializationFinished, - base::Unretained(this)), + base::BindOnce(&EventModelImplTest::OnModelInitializationFinished, + base::Unretained(this)), 1000u); task_runner_->RunUntilIdle(); EXPECT_TRUE(model_->IsReady()); @@ -353,8 +353,8 @@ TEST_F(EventModelImplTest, IncrementingNonExistingEventWithoutStoring) { TEST_F(EventModelImplTest, IncrementingExistingEventWithoutStoring) { model_->Initialize( - base::Bind(&EventModelImplTest::OnModelInitializationFinished, - base::Unretained(this)), + base::BindOnce(&EventModelImplTest::OnModelInitializationFinished, + base::Unretained(this)), 1000u); task_runner_->RunUntilIdle(); EXPECT_TRUE(model_->IsReady()); @@ -376,8 +376,8 @@ TEST_F(EventModelImplTest, IncrementingExistingEventWithoutStoring) { TEST_F(EventModelImplTest, IncrementingSingleDayExistingEvent) { model_->Initialize( - base::Bind(&EventModelImplTest::OnModelInitializationFinished, - base::Unretained(this)), + base::BindOnce(&EventModelImplTest::OnModelInitializationFinished, + base::Unretained(this)), 1000u); task_runner_->RunUntilIdle(); EXPECT_TRUE(model_->IsReady()); @@ -398,8 +398,8 @@ TEST_F(EventModelImplTest, IncrementingSingleDayExistingEvent) { TEST_F(EventModelImplTest, IncrementingSingleDayExistingEventTwice) { model_->Initialize( - base::Bind(&EventModelImplTest::OnModelInitializationFinished, - base::Unretained(this)), + base::BindOnce(&EventModelImplTest::OnModelInitializationFinished, + base::Unretained(this)), 1000u); task_runner_->RunUntilIdle(); EXPECT_TRUE(model_->IsReady()); @@ -416,8 +416,8 @@ TEST_F(EventModelImplTest, IncrementingSingleDayExistingEventTwice) { TEST_F(EventModelImplTest, IncrementingExistingMultiDayEvent) { model_->Initialize( - base::Bind(&EventModelImplTest::OnModelInitializationFinished, - base::Unretained(this)), + base::BindOnce(&EventModelImplTest::OnModelInitializationFinished, + base::Unretained(this)), 1000u); task_runner_->RunUntilIdle(); EXPECT_TRUE(model_->IsReady()); @@ -434,8 +434,8 @@ TEST_F(EventModelImplTest, IncrementingExistingMultiDayEvent) { TEST_F(EventModelImplTest, IncrementingExistingMultiDayEventNewDay) { model_->Initialize( - base::Bind(&EventModelImplTest::OnModelInitializationFinished, - base::Unretained(this)), + base::BindOnce(&EventModelImplTest::OnModelInitializationFinished, + base::Unretained(this)), 1000u); task_runner_->RunUntilIdle(); EXPECT_TRUE(model_->IsReady()); @@ -454,8 +454,8 @@ TEST_F(EventModelImplTest, IncrementingExistingMultiDayEventNewDay) { TEST_F(EventModelImplTest, GetEventCount) { model_->Initialize( - base::Bind(&EventModelImplTest::OnModelInitializationFinished, - base::Unretained(this)), + base::BindOnce(&EventModelImplTest::OnModelInitializationFinished, + base::Unretained(this)), 1000u); task_runner_->RunUntilIdle(); EXPECT_TRUE(model_->IsReady()); @@ -486,8 +486,8 @@ TEST_F(EventModelImplTest, GetEventCount) { TEST_F(LoadFailingEventModelImplTest, FailedInitializeInformsCaller) { model_->Initialize( - base::Bind(&EventModelImplTest::OnModelInitializationFinished, - base::Unretained(this)), + base::BindOnce(&EventModelImplTest::OnModelInitializationFinished, + base::Unretained(this)), 1000u); task_runner_->RunUntilIdle(); EXPECT_FALSE(model_->IsReady()); diff --git a/chromium/components/feature_engagement/internal/event_store.h b/chromium/components/feature_engagement/internal/event_store.h index 194e1de894e..ce07a3cfc7a 100644 --- a/chromium/components/feature_engagement/internal/event_store.h +++ b/chromium/components/feature_engagement/internal/event_store.h @@ -17,14 +17,15 @@ namespace feature_engagement { class EventStore { public: using OnLoadedCallback = - base::Callback<void(bool success, std::unique_ptr<std::vector<Event>>)>; + base::OnceCallback<void(bool success, + std::unique_ptr<std::vector<Event>>)>; virtual ~EventStore() = default; // Loads the database from storage and asynchronously posts the result back // on the caller's thread. // Ownership of the loaded data is given to the caller. - virtual void Load(const OnLoadedCallback& callback) = 0; + virtual void Load(OnLoadedCallback callback) = 0; // Returns whether the database is ready, i.e. whether it has been fully // loaded. diff --git a/chromium/components/feature_engagement/internal/feature_config_condition_validator_unittest.cc b/chromium/components/feature_engagement/internal/feature_config_condition_validator_unittest.cc index 399aaa6cbfb..e33822dc72a 100644 --- a/chromium/components/feature_engagement/internal/feature_config_condition_validator_unittest.cc +++ b/chromium/components/feature_engagement/internal/feature_config_condition_validator_unittest.cc @@ -61,7 +61,7 @@ class TestEventModel : public EventModel { public: TestEventModel() : ready_(true) {} - void Initialize(const OnModelInitializationFinished& callback, + void Initialize(OnModelInitializationFinished callback, uint32_t current_day) override {} bool IsReady() const override { return ready_; } diff --git a/chromium/components/feature_engagement/internal/in_memory_event_store.cc b/chromium/components/feature_engagement/internal/in_memory_event_store.cc index 40d3461121c..2dfd822e96d 100644 --- a/chromium/components/feature_engagement/internal/in_memory_event_store.cc +++ b/chromium/components/feature_engagement/internal/in_memory_event_store.cc @@ -26,8 +26,8 @@ InMemoryEventStore::InMemoryEventStore() InMemoryEventStore::~InMemoryEventStore() = default; -void InMemoryEventStore::Load(const OnLoadedCallback& callback) { - HandleLoadResult(callback, true); +void InMemoryEventStore::Load(OnLoadedCallback callback) { + HandleLoadResult(std::move(callback), true); } bool InMemoryEventStore::IsReady() const { @@ -42,10 +42,11 @@ void InMemoryEventStore::DeleteEvent(const std::string& event_name) { // Intentionally ignore all deletes. } -void InMemoryEventStore::HandleLoadResult(const OnLoadedCallback& callback, +void InMemoryEventStore::HandleLoadResult(OnLoadedCallback callback, bool success) { base::ThreadTaskRunnerHandle::Get()->PostTask( - FROM_HERE, base::BindOnce(callback, success, std::move(events_))); + FROM_HERE, + base::BindOnce(std::move(callback), success, std::move(events_))); ready_ = success; } diff --git a/chromium/components/feature_engagement/internal/in_memory_event_store.h b/chromium/components/feature_engagement/internal/in_memory_event_store.h index cf6da5016fc..178b80d1b68 100644 --- a/chromium/components/feature_engagement/internal/in_memory_event_store.h +++ b/chromium/components/feature_engagement/internal/in_memory_event_store.h @@ -21,7 +21,7 @@ class InMemoryEventStore : public EventStore { ~InMemoryEventStore() override; // EventStore implementation. - void Load(const OnLoadedCallback& callback) override; + void Load(OnLoadedCallback callback) override; bool IsReady() const override; void WriteEvent(const Event& event) override; void DeleteEvent(const std::string& event_name) override; @@ -29,7 +29,7 @@ class InMemoryEventStore : public EventStore { protected: // Posts the result of loading and sets up the ready state. // Protected and virtual for testing. - virtual void HandleLoadResult(const OnLoadedCallback& callback, bool success); + virtual void HandleLoadResult(OnLoadedCallback callback, bool success); private: // All events that this in-memory store was constructed with. This will be diff --git a/chromium/components/feature_engagement/internal/init_aware_event_model.cc b/chromium/components/feature_engagement/internal/init_aware_event_model.cc index f3563865917..10951a68bc4 100644 --- a/chromium/components/feature_engagement/internal/init_aware_event_model.cc +++ b/chromium/components/feature_engagement/internal/init_aware_event_model.cc @@ -16,12 +16,11 @@ InitAwareEventModel::InitAwareEventModel( InitAwareEventModel::~InitAwareEventModel() = default; -void InitAwareEventModel::Initialize( - const OnModelInitializationFinished& callback, - uint32_t current_day) { +void InitAwareEventModel::Initialize(OnModelInitializationFinished callback, + uint32_t current_day) { event_model_->Initialize( - base::Bind(&InitAwareEventModel::OnInitializeComplete, - weak_ptr_factory_.GetWeakPtr(), callback), + base::BindOnce(&InitAwareEventModel::OnInitializeComplete, + weak_ptr_factory_.GetWeakPtr(), std::move(callback)), current_day); } @@ -54,7 +53,7 @@ void InitAwareEventModel::IncrementEvent(const std::string& event_name, } void InitAwareEventModel::OnInitializeComplete( - const OnModelInitializationFinished& callback, + OnModelInitializationFinished callback, bool success) { initialization_complete_ = true; if (success) { @@ -63,7 +62,7 @@ void InitAwareEventModel::OnInitializeComplete( } queued_events_.clear(); - callback.Run(success); + std::move(callback).Run(success); } size_t InitAwareEventModel::GetQueuedEventCountForTesting() { diff --git a/chromium/components/feature_engagement/internal/init_aware_event_model.h b/chromium/components/feature_engagement/internal/init_aware_event_model.h index 79df6348e0f..c25a293cd84 100644 --- a/chromium/components/feature_engagement/internal/init_aware_event_model.h +++ b/chromium/components/feature_engagement/internal/init_aware_event_model.h @@ -23,7 +23,7 @@ class InitAwareEventModel : public EventModel { ~InitAwareEventModel() override; // EventModel implementation. - void Initialize(const OnModelInitializationFinished& callback, + void Initialize(OnModelInitializationFinished callback, uint32_t current_day) override; bool IsReady() const override; const Event* GetEvent(const std::string& event_name) const override; @@ -36,7 +36,7 @@ class InitAwareEventModel : public EventModel { size_t GetQueuedEventCountForTesting(); private: - void OnInitializeComplete(const OnModelInitializationFinished& callback, + void OnInitializeComplete(OnModelInitializationFinished callback, bool success); std::unique_ptr<EventModel> event_model_; diff --git a/chromium/components/feature_engagement/internal/init_aware_event_model_unittest.cc b/chromium/components/feature_engagement/internal/init_aware_event_model_unittest.cc index a42336484ce..9d07636c8f2 100644 --- a/chromium/components/feature_engagement/internal/init_aware_event_model_unittest.cc +++ b/chromium/components/feature_engagement/internal/init_aware_event_model_unittest.cc @@ -30,8 +30,7 @@ class MockEventModel : public EventModel { ~MockEventModel() override = default; // EventModel implementation. - MOCK_METHOD2(Initialize, - void(const OnModelInitializationFinished&, uint32_t)); + MOCK_METHOD2(Initialize, void(OnModelInitializationFinished, uint32_t)); MOCK_CONST_METHOD0(IsReady, bool()); MOCK_CONST_METHOD1(GetEvent, Event*(const std::string&)); MOCK_CONST_METHOD3(GetEventCount, @@ -45,8 +44,8 @@ class MockEventModel : public EventModel { class InitAwareEventModelTest : public testing::Test { public: InitAwareEventModelTest() : mocked_model_(nullptr) { - load_callback_ = base::Bind(&InitAwareEventModelTest::OnModelInitialized, - base::Unretained(this)); + load_callback_ = base::BindOnce( + &InitAwareEventModelTest::OnModelInitialized, base::Unretained(this)); } ~InitAwareEventModelTest() override = default; @@ -135,8 +134,12 @@ TEST_F(InitAwareEventModelTest, QueuedIncrementEvent) { EventModel::OnModelInitializationFinished callback; EXPECT_CALL(*mocked_model_, Initialize(_, 2U)) - .WillOnce(SaveArg<0>(&callback)); - model_->Initialize(load_callback_, 2U); + .WillOnce( + [&callback](EventModel::OnModelInitializationFinished load_callback, + uint32_t current_day) { + callback = std::move(load_callback); + }); + model_->Initialize(std::move(load_callback_), 2U); { Sequence sequence; @@ -147,7 +150,7 @@ TEST_F(InitAwareEventModelTest, QueuedIncrementEvent) { .Times(1) .InSequence(sequence); - callback.Run(true); + std::move(callback).Run(true); EXPECT_TRUE(load_success_.value()); } @@ -167,9 +170,14 @@ TEST_F(InitAwareEventModelTest, QueuedIncrementEventWithUnsuccessfulInit) { } EventModel::OnModelInitializationFinished callback; + EXPECT_CALL(*mocked_model_, Initialize(_, 2U)) - .WillOnce(SaveArg<0>(&callback)); - model_->Initialize(load_callback_, 2U); + .WillOnce( + [&callback](EventModel::OnModelInitializationFinished load_callback, + uint32_t current_day) { + callback = std::move(load_callback); + }); + model_->Initialize(std::move(load_callback_), 2U); { Sequence sequence; @@ -180,7 +188,7 @@ TEST_F(InitAwareEventModelTest, QueuedIncrementEventWithUnsuccessfulInit) { .Times(0) .InSequence(sequence); - callback.Run(false); + std::move(callback).Run(false); EXPECT_FALSE(load_success_.value()); EXPECT_EQ(0U, model_->GetQueuedEventCountForTesting()); } diff --git a/chromium/components/feature_engagement/internal/never_condition_validator_unittest.cc b/chromium/components/feature_engagement/internal/never_condition_validator_unittest.cc index 53643b9c753..f693570225a 100644 --- a/chromium/components/feature_engagement/internal/never_condition_validator_unittest.cc +++ b/chromium/components/feature_engagement/internal/never_condition_validator_unittest.cc @@ -28,7 +28,7 @@ class NeverTestEventModel : public EventModel { public: NeverTestEventModel() = default; - void Initialize(const OnModelInitializationFinished& callback, + void Initialize(OnModelInitializationFinished callback, uint32_t current_day) override {} bool IsReady() const override { return true; } diff --git a/chromium/components/feature_engagement/internal/once_condition_validator_unittest.cc b/chromium/components/feature_engagement/internal/once_condition_validator_unittest.cc index 6eca144b0e2..bc384705b70 100644 --- a/chromium/components/feature_engagement/internal/once_condition_validator_unittest.cc +++ b/chromium/components/feature_engagement/internal/once_condition_validator_unittest.cc @@ -31,7 +31,7 @@ class OnceTestEventModel : public EventModel { public: OnceTestEventModel() : ready_(false) { kValidFeatureConfig.valid = true; } - void Initialize(const OnModelInitializationFinished& callback, + void Initialize(OnModelInitializationFinished callback, uint32_t current_day) override {} bool IsReady() const override { return ready_; } diff --git a/chromium/components/feature_engagement/internal/persistent_event_store.cc b/chromium/components/feature_engagement/internal/persistent_event_store.cc index a4c4f003939..188c3e0843c 100644 --- a/chromium/components/feature_engagement/internal/persistent_event_store.cc +++ b/chromium/components/feature_engagement/internal/persistent_event_store.cc @@ -28,11 +28,12 @@ PersistentEventStore::PersistentEventStore( PersistentEventStore::~PersistentEventStore() = default; -void PersistentEventStore::Load(const OnLoadedCallback& callback) { +void PersistentEventStore::Load(OnLoadedCallback callback) { DCHECK(!ready_); db_->Init(base::BindOnce(&PersistentEventStore::OnInitComplete, - weak_ptr_factory_.GetWeakPtr(), callback)); + weak_ptr_factory_.GetWeakPtr(), + std::move(callback))); } bool PersistentEventStore::IsReady() const { @@ -60,27 +61,28 @@ void PersistentEventStore::DeleteEvent(const std::string& event_name) { } void PersistentEventStore::OnInitComplete( - const OnLoadedCallback& callback, + OnLoadedCallback callback, leveldb_proto::Enums::InitStatus status) { bool success = status == leveldb_proto::Enums::InitStatus::kOK; stats::RecordDbInitEvent(success, stats::StoreType::EVENTS_STORE); if (!success) { - callback.Run(false, std::make_unique<std::vector<Event>>()); + std::move(callback).Run(false, std::make_unique<std::vector<Event>>()); return; } db_->LoadEntries(base::BindOnce(&PersistentEventStore::OnLoadComplete, - weak_ptr_factory_.GetWeakPtr(), callback)); + weak_ptr_factory_.GetWeakPtr(), + std::move(callback))); } void PersistentEventStore::OnLoadComplete( - const OnLoadedCallback& callback, + OnLoadedCallback callback, bool success, std::unique_ptr<std::vector<Event>> entries) { stats::RecordEventDbLoadEvent(success, *entries); ready_ = success; - callback.Run(success, std::move(entries)); + std::move(callback).Run(success, std::move(entries)); } } // namespace feature_engagement diff --git a/chromium/components/feature_engagement/internal/persistent_event_store.h b/chromium/components/feature_engagement/internal/persistent_event_store.h index 61941c57227..9a72760cf91 100644 --- a/chromium/components/feature_engagement/internal/persistent_event_store.h +++ b/chromium/components/feature_engagement/internal/persistent_event_store.h @@ -28,15 +28,15 @@ class PersistentEventStore : public EventStore { ~PersistentEventStore() override; // EventStore implementation. - void Load(const OnLoadedCallback& callback) override; + void Load(OnLoadedCallback callback) override; bool IsReady() const override; void WriteEvent(const Event& event) override; void DeleteEvent(const std::string& event_name) override; private: - void OnInitComplete(const OnLoadedCallback& callback, + void OnInitComplete(OnLoadedCallback callback, leveldb_proto::Enums::InitStatus status); - void OnLoadComplete(const OnLoadedCallback& callback, + void OnLoadComplete(OnLoadedCallback callback, bool success, std::unique_ptr<std::vector<Event>> entries); diff --git a/chromium/components/feature_engagement/internal/persistent_event_store_unittest.cc b/chromium/components/feature_engagement/internal/persistent_event_store_unittest.cc index 005e9f8515b..1dc4502a945 100644 --- a/chromium/components/feature_engagement/internal/persistent_event_store_unittest.cc +++ b/chromium/components/feature_engagement/internal/persistent_event_store_unittest.cc @@ -77,7 +77,7 @@ TEST_F(PersistentEventStoreTest, SuccessfulInitAndLoadEmptyStore) { base::HistogramTester histogram_tester; - store_->Load(load_callback_); + store_->Load(std::move(load_callback_)); // The initialize should not trigger a response to the callback. db_->InitStatusCallback(leveldb_proto::Enums::InitStatus::kOK); EXPECT_FALSE(load_successful_.has_value()); @@ -117,7 +117,7 @@ TEST_F(PersistentEventStoreTest, SuccessfulInitAndLoadWithEvents) { base::HistogramTester histogram_tester; // The initialize should not trigger a response to the callback. - store_->Load(load_callback_); + store_->Load(std::move(load_callback_)); db_->InitStatusCallback(leveldb_proto::Enums::InitStatus::kOK); EXPECT_FALSE(load_successful_.has_value()); @@ -141,7 +141,7 @@ TEST_F(PersistentEventStoreTest, SuccessfulInitBadLoad) { base::HistogramTester histogram_tester; SetUpDB(); - store_->Load(load_callback_); + store_->Load(std::move(load_callback_)); // The initialize should not trigger a response to the callback. db_->InitStatusCallback(leveldb_proto::Enums::InitStatus::kOK); @@ -164,7 +164,7 @@ TEST_F(PersistentEventStoreTest, BadInit) { base::HistogramTester histogram_tester; SetUpDB(); - store_->Load(load_callback_); + store_->Load(std::move(load_callback_)); // The initialize will fail and should trigger the callback. db_->InitStatusCallback(leveldb_proto::Enums::InitStatus::kError); @@ -183,7 +183,7 @@ TEST_F(PersistentEventStoreTest, IsReady) { SetUpDB(); EXPECT_FALSE(store_->IsReady()); - store_->Load(load_callback_); + store_->Load(std::move(load_callback_)); EXPECT_FALSE(store_->IsReady()); db_->InitStatusCallback(leveldb_proto::Enums::InitStatus::kOK); @@ -196,7 +196,7 @@ TEST_F(PersistentEventStoreTest, IsReady) { TEST_F(PersistentEventStoreTest, WriteEvent) { SetUpDB(); - store_->Load(load_callback_); + store_->Load(std::move(load_callback_)); db_->InitStatusCallback(leveldb_proto::Enums::InitStatus::kOK); db_->LoadCallback(true); @@ -217,7 +217,7 @@ TEST_F(PersistentEventStoreTest, WriteEvent) { TEST_F(PersistentEventStoreTest, WriteAndDeleteEvent) { SetUpDB(); - store_->Load(load_callback_); + store_->Load(std::move(load_callback_)); db_->InitStatusCallback(leveldb_proto::Enums::InitStatus::kOK); db_->LoadCallback(true); diff --git a/chromium/components/feature_engagement/internal/test/BUILD.gn b/chromium/components/feature_engagement/internal/test/BUILD.gn index 5c9e7a1c2be..961c1f6066b 100644 --- a/chromium/components/feature_engagement/internal/test/BUILD.gn +++ b/chromium/components/feature_engagement/internal/test/BUILD.gn @@ -2,9 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -import("//build/config/jumbo.gni") - -jumbo_source_set("test_support") { +source_set("test_support") { testonly = true visibility = [ "//components/feature_engagement/internal:unit_tests" ] diff --git a/chromium/components/feature_engagement/internal/tracker_impl_unittest.cc b/chromium/components/feature_engagement/internal/tracker_impl_unittest.cc index fb8459afff0..4b43ade6f1a 100644 --- a/chromium/components/feature_engagement/internal/tracker_impl_unittest.cc +++ b/chromium/components/feature_engagement/internal/tracker_impl_unittest.cc @@ -85,8 +85,8 @@ class TestTrackerInMemoryEventStore : public InMemoryEventStore { explicit TestTrackerInMemoryEventStore(bool load_should_succeed) : load_should_succeed_(load_should_succeed) {} - void Load(const OnLoadedCallback& callback) override { - HandleLoadResult(callback, load_should_succeed_); + void Load(OnLoadedCallback callback) override { + HandleLoadResult(std::move(callback), load_should_succeed_); } void WriteEvent(const Event& event) override { diff --git a/chromium/components/feature_engagement/public/BUILD.gn b/chromium/components/feature_engagement/public/BUILD.gn index 6346d5c9349..090e85188ef 100644 --- a/chromium/components/feature_engagement/public/BUILD.gn +++ b/chromium/components/feature_engagement/public/BUILD.gn @@ -2,14 +2,12 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -import("//build/config/jumbo.gni") - if (is_android) { import("//build/config/android/config.gni") import("//build/config/android/rules.gni") } -jumbo_source_set("public") { +source_set("public") { sources = [ "configuration.cc", "configuration.h", @@ -27,13 +25,12 @@ jumbo_source_set("public") { deps = [ "//base", - "//components/feature_engagement:buildflags", "//components/flags_ui", "//components/keyed_service/core", ] } -jumbo_source_set("unit_tests") { +source_set("unit_tests") { testonly = true visibility = [ "//components/feature_engagement:unit_tests" ] diff --git a/chromium/components/feature_engagement/public/android/java/src/org/chromium/components/feature_engagement/EventConstants.java b/chromium/components/feature_engagement/public/android/java/src/org/chromium/components/feature_engagement/EventConstants.java index c2a9f311ae9..8e840018766 100644 --- a/chromium/components/feature_engagement/public/android/java/src/org/chromium/components/feature_engagement/EventConstants.java +++ b/chromium/components/feature_engagement/public/android/java/src/org/chromium/components/feature_engagement/EventConstants.java @@ -122,6 +122,12 @@ public final class EventConstants { "contextual_search_tapped_but_should_longpress"; /** + * Contextual Search user fully enabled access to page content through the opt-in. + */ + public static final String CONTEXTUAL_SEARCH_ENABLED_OPT_IN = + "contextual_search_enabled_opt_in"; + + /** * The partner homepage was pressed. */ public static final String PARTNER_HOME_PAGE_BUTTON_PRESSED = diff --git a/chromium/components/feature_engagement/public/android/java/src/org/chromium/components/feature_engagement/FeatureConstants.java b/chromium/components/feature_engagement/public/android/java/src/org/chromium/components/feature_engagement/FeatureConstants.java index 232f051ab40..54df13f86da 100644 --- a/chromium/components/feature_engagement/public/android/java/src/org/chromium/components/feature_engagement/FeatureConstants.java +++ b/chromium/components/feature_engagement/public/android/java/src/org/chromium/components/feature_engagement/FeatureConstants.java @@ -23,6 +23,7 @@ import java.lang.annotation.RetentionPolicy; FeatureConstants.DATA_SAVER_PREVIEW_FEATURE, FeatureConstants.DATA_SAVER_DETAIL_FEATURE, FeatureConstants.EPHEMERAL_TAB_FEATURE, FeatureConstants.PREVIEWS_OMNIBOX_UI_FEATURE, FeatureConstants.TRANSLATE_MENU_BUTTON_FEATURE, + FeatureConstants.CONTEXTUAL_SEARCH_TRANSLATION_ENABLE_FEATURE, FeatureConstants.CONTEXTUAL_SEARCH_WEB_SEARCH_FEATURE, FeatureConstants.CONTEXTUAL_SEARCH_PROMOTE_TAP_FEATURE, FeatureConstants.CONTEXTUAL_SEARCH_PROMOTE_PANEL_OPEN_FEATURE, @@ -66,6 +67,12 @@ public @interface FeatureConstants { String EXPLORE_SITES_TILE_FEATURE = "IPH_ExploreSitesTile"; /** + * An IPH feature that encourages users to get better translations by enabling access to page + * content. + */ + String CONTEXTUAL_SEARCH_TRANSLATION_ENABLE_FEATURE = "IPH_ContextualSearchTranslationEnable"; + + /** * An IPH feature that encourages users who search a query from a web page in a new tab, to use * Contextual Search instead. */ diff --git a/chromium/components/feature_engagement/public/event_constants.cc b/chromium/components/feature_engagement/public/event_constants.cc index 3f97ea2ec32..01ef02ba89b 100644 --- a/chromium/components/feature_engagement/public/event_constants.cc +++ b/chromium/components/feature_engagement/public/event_constants.cc @@ -5,19 +5,18 @@ #include "components/feature_engagement/public/event_constants.h" #include "build/build_config.h" -#include "components/feature_engagement/buildflags.h" namespace feature_engagement { namespace events { -#if defined(OS_IOS) || defined(OS_WIN) || defined(OS_MACOSX) || \ - defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ + defined(OS_CHROMEOS) const char kNewTabOpened[] = "new_tab_opened"; -#endif // defined(OS_IOS) || defined(OS_WIN) || defined(OS_MACOSX) || +#endif // defined(OS_WIN) || defined(OS_APPLE) || // defined(OS_LINUX) || defined(OS_CHROMEOS) -#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ +#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ defined(OS_CHROMEOS) const char kSixthTabOpened[] = "sixth_tab_opened"; const char kTabGroupCreated[] = "tab_group_created"; @@ -33,19 +32,7 @@ const char kFocusModeConditionsMet[] = "focus_mode_conditions_met"; const char kWebUITabStripClosed[] = "webui_tab_strip_closed"; const char kWebUITabStripOpened[] = "webui_tab_strip_opened"; - -#if BUILDFLAG(ENABLE_LEGACY_DESKTOP_IN_PRODUCT_HELP) -const char kBookmarkAdded[] = "bookmark_added"; -const char kBookmarkSessionTimeMet[] = "bookmark_session_time_met"; - -const char kOmniboxInteraction[] = "omnibox_used"; -const char kNewTabSessionTimeMet[] = "new_tab_session_time_met"; - -const char kIncognitoWindowOpened[] = "incognito_window_opened"; -const char kIncognitoWindowSessionTimeMet[] = - "incognito_window_session_time_met"; -#endif // BUILDFLAG(ENABLE_LEGACY_DESKTOP_IN_PRODUCT_HELP) -#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || +#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || // defined(OS_CHROMEOS) #if defined(OS_IOS) @@ -55,6 +42,7 @@ const char kClearedBrowsingData[] = "cleared_browsing_data"; const char kViewedReadingList[] = "viewed_reading_list"; const char kTriggeredTranslateInfobar[] = "triggered_translate_infobar"; const char kBottomToolbarOpened[] = "bottom_toolbar_opened"; +const char kDiscoverFeedLoaded[] = "discover_feed_loaded"; #endif // defined(OS_IOS) } // namespace events diff --git a/chromium/components/feature_engagement/public/event_constants.h b/chromium/components/feature_engagement/public/event_constants.h index c7d21870944..433e25fe356 100644 --- a/chromium/components/feature_engagement/public/event_constants.h +++ b/chromium/components/feature_engagement/public/event_constants.h @@ -6,23 +6,22 @@ #define COMPONENTS_FEATURE_ENGAGEMENT_PUBLIC_EVENT_CONSTANTS_H_ #include "build/build_config.h" -#include "components/feature_engagement/buildflags.h" namespace feature_engagement { namespace events { // Desktop and IOS. -#if defined(OS_IOS) || defined(OS_WIN) || defined(OS_MACOSX) || \ - defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ + defined(OS_CHROMEOS) // The user has explicitly opened a new tab via an entry point from inside of // Chrome. extern const char kNewTabOpened[]; -#endif // defined(OS_IOS) || defined(OS_WIN) || defined(OS_MACOSX) || +#endif // defined(OS_WIN) || defined(OS_APPLE) || // defined(OS_LINUX) || defined(OS_CHROMEOS) // Desktop -#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ +#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ defined(OS_CHROMEOS) // A new tab was opened when 5 (or more) tabs were already open. extern const char kSixthTabOpened[]; @@ -55,37 +54,7 @@ extern const char kWebUITabStripClosed[]; // The WebUI tab strip was opened by the user. extern const char kWebUITabStripOpened[]; -#if BUILDFLAG(ENABLE_LEGACY_DESKTOP_IN_PRODUCT_HELP) -// All the events declared below are the string names of deferred onboarding -// events for the Bookmark feature. - -// The user has added a Bookmark (one-off event). -extern const char kBookmarkAdded[]; -// The user has satisfied the session time requirement to show the BookmarkPromo -// by accumulating 5 hours of active session time (one-off event). -extern const char kBookmarkSessionTimeMet[]; - -// All the events declared below are the string names of deferred onboarding -// events for the New Tab. - -// The user has interacted with the omnibox. -extern const char kOmniboxInteraction[]; -// The user has satisfied the session time requirement to show the NewTabPromo -// by accumulating 2 hours of active session time (one-off event). -extern const char kNewTabSessionTimeMet[]; - -// All the events declared below are the string names of deferred onboarding -// events for the Incognito Window. - -// The user has opened an incognito window. -extern const char kIncognitoWindowOpened[]; -// The user has satisfied the session time requirement to show the -// IncognitoWindowPromo by accumulating 2 hours of active session time (one-off -// event). -extern const char kIncognitoWindowSessionTimeMet[]; -#endif // BUILDFLAG(ENABLE_LEGACY_DESKTOP_IN_PRODUCT_HELP) - -#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || +#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || // defined(OS_CHROMEOS) #if defined(OS_IOS) @@ -106,6 +75,9 @@ extern const char kTriggeredTranslateInfobar[]; // The user has viewed the the BottomToolbar tip. extern const char kBottomToolbarOpened[]; + +// The Discover feed has loaded content in the NTP. +extern const char kDiscoverFeedLoaded[]; #endif // defined(OS_IOS) } // namespace events diff --git a/chromium/components/feature_engagement/public/feature_configurations.cc b/chromium/components/feature_engagement/public/feature_configurations.cc index 8ba1faffc4c..7a9a5536632 100644 --- a/chromium/components/feature_engagement/public/feature_configurations.cc +++ b/chromium/components/feature_engagement/public/feature_configurations.cc @@ -12,6 +12,25 @@ namespace feature_engagement { base::Optional<FeatureConfig> GetClientSideFeatureConfig( const base::Feature* feature) { +#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ + defined(OS_CHROMEOS) + if (kIPHPasswordsAccountStorageFeature.name == feature->name) { + base::Optional<FeatureConfig> config = FeatureConfig(); + config->valid = true; + config->availability = Comparator(ANY, 0); + config->session_rate = Comparator(ANY, 0); + config->trigger = EventConfig("passwords_account_storage_trigger", + Comparator(LESS_THAN, 5), 180, 180); + config->used = EventConfig("passwords_account_storage_used", + Comparator(EQUAL, 0), 180, 180); + config->event_configs.insert( + EventConfig("passwords_account_storage_unselected", + Comparator(EQUAL, 0), 180, 180)); + return config; + } +#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || + // defined(OS_CHROMEOS) + #if defined(OS_ANDROID) if (kIPHDataSaverDetailFeature.name == feature->name) { base::Optional<FeatureConfig> config = FeatureConfig(); diff --git a/chromium/components/feature_engagement/public/feature_constants.cc b/chromium/components/feature_engagement/public/feature_constants.cc index 80c34cc8b23..c6469a45af8 100644 --- a/chromium/components/feature_engagement/public/feature_constants.cc +++ b/chromium/components/feature_engagement/public/feature_constants.cc @@ -4,8 +4,6 @@ #include "components/feature_engagement/public/feature_constants.h" -#include "components/feature_engagement/buildflags.h" - namespace feature_engagement { const base::Feature kIPHDemoMode{"IPH_DemoMode", @@ -14,7 +12,7 @@ const base::Feature kIPHDemoMode{"IPH_DemoMode", const base::Feature kIPHDummyFeature{"IPH_Dummy", base::FEATURE_DISABLED_BY_DEFAULT}; -#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ +#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ defined(OS_CHROMEOS) const base::Feature kIPHDesktopTabGroupsNewGroupFeature{ "IPH_DesktopTabGroupsNewGroup", base::FEATURE_DISABLED_BY_DEFAULT}; @@ -28,16 +26,7 @@ const base::Feature kIPHReopenTabFeature{"IPH_ReopenTab", base::FEATURE_DISABLED_BY_DEFAULT}; const base::Feature kIPHWebUITabStripFeature{"IPH_WebUITabStrip", base::FEATURE_DISABLED_BY_DEFAULT}; - -#if BUILDFLAG(ENABLE_LEGACY_DESKTOP_IN_PRODUCT_HELP) -const base::Feature kIPHBookmarkFeature{"IPH_Bookmark", - base::FEATURE_DISABLED_BY_DEFAULT}; -const base::Feature kIPHIncognitoWindowFeature{ - "IPH_IncognitoWindow", base::FEATURE_DISABLED_BY_DEFAULT}; -const base::Feature kIPHNewTabFeature{"IPH_NewTab", - base::FEATURE_DISABLED_BY_DEFAULT}; -#endif // BUILDFLAG(ENABLE_LEGACY_DESKTOP_IN_PRODUCT_HELP) -#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || +#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || // defined(OS_CHROMEOS) #if defined(OS_ANDROID) @@ -63,6 +52,8 @@ const base::Feature kIPHChromeHomeExpandFeature{ "IPH_ChromeHomeExpand", base::FEATURE_DISABLED_BY_DEFAULT}; const base::Feature kIPHChromeHomePullToRefreshFeature{ "IPH_ChromeHomePullToRefresh", base::FEATURE_DISABLED_BY_DEFAULT}; +const base::Feature kIPHContextualSearchTranslationEnableFeature{ + "IPH_ContextualSearchTranslationEnable", base::FEATURE_DISABLED_BY_DEFAULT}; const base::Feature kIPHContextualSearchWebSearchFeature{ "IPH_ContextualSearchWebSearch", base::FEATURE_DISABLED_BY_DEFAULT}; const base::Feature kIPHContextualSearchPromoteTapFeature{ @@ -133,6 +124,8 @@ const base::Feature kIPHBadgedReadingListFeature{ "IPH_BadgedReadingList", base::FEATURE_DISABLED_BY_DEFAULT}; const base::Feature kIPHBadgedTranslateManualTriggerFeature{ "IPH_BadgedTranslateManualTrigger", base::FEATURE_DISABLED_BY_DEFAULT}; +const base::Feature kIPHDiscoverFeedHeaderFeature{ + "IPH_DiscoverFeedHeaderMenu", base::FEATURE_DISABLED_BY_DEFAULT}; #endif // defined(OS_IOS) } // namespace feature_engagement diff --git a/chromium/components/feature_engagement/public/feature_constants.h b/chromium/components/feature_engagement/public/feature_constants.h index 499449de664..fc56e35dd9c 100644 --- a/chromium/components/feature_engagement/public/feature_constants.h +++ b/chromium/components/feature_engagement/public/feature_constants.h @@ -7,7 +7,6 @@ #include "base/feature_list.h" #include "build/build_config.h" -#include "components/feature_engagement/buildflags.h" namespace feature_engagement { @@ -17,7 +16,7 @@ extern const base::Feature kIPHDemoMode; // A feature to ensure all arrays can contain at least one feature. extern const base::Feature kIPHDummyFeature; -#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ +#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ defined(OS_CHROMEOS) extern const base::Feature kIPHDesktopTabGroupsNewGroupFeature; extern const base::Feature kIPHFocusModeFeature; @@ -25,13 +24,7 @@ extern const base::Feature kIPHGlobalMediaControlsFeature; extern const base::Feature kIPHPasswordsAccountStorageFeature; extern const base::Feature kIPHReopenTabFeature; extern const base::Feature kIPHWebUITabStripFeature; - -#if BUILDFLAG(ENABLE_LEGACY_DESKTOP_IN_PRODUCT_HELP) -extern const base::Feature kIPHBookmarkFeature; -extern const base::Feature kIPHIncognitoWindowFeature; -extern const base::Feature kIPHNewTabFeature; -#endif // BUILDFLAG(ENABLE_LEGACY_DESKTOP_IPH) -#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || +#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || // defined(OS_CHROMEOS) // All the features declared for Android below that are also used in Java, @@ -49,6 +42,7 @@ extern const base::Feature kIPHChromeDuetSearchFeature; extern const base::Feature kIPHChromeDuetTabSwitcherFeature; extern const base::Feature kIPHChromeHomeExpandFeature; extern const base::Feature kIPHChromeHomePullToRefreshFeature; +extern const base::Feature kIPHContextualSearchTranslationEnableFeature; extern const base::Feature kIPHContextualSearchWebSearchFeature; extern const base::Feature kIPHContextualSearchPromoteTapFeature; extern const base::Feature kIPHContextualSearchPromotePanelOpenFeature; @@ -88,6 +82,7 @@ extern const base::Feature kIPHNewTabTipFeature; extern const base::Feature kIPHNewIncognitoTabTipFeature; extern const base::Feature kIPHBadgedReadingListFeature; extern const base::Feature kIPHBadgedTranslateManualTriggerFeature; +extern const base::Feature kIPHDiscoverFeedHeaderFeature; #endif // defined(OS_IOS) } // namespace feature_engagement diff --git a/chromium/components/feature_engagement/public/feature_list.cc b/chromium/components/feature_engagement/public/feature_list.cc index 8d8a48e4872..70ae4b1d9f4 100644 --- a/chromium/components/feature_engagement/public/feature_list.cc +++ b/chromium/components/feature_engagement/public/feature_list.cc @@ -5,7 +5,6 @@ #include "components/feature_engagement/public/feature_list.h" #include "base/stl_util.h" -#include "components/feature_engagement/buildflags.h" #include "components/feature_engagement/public/feature_constants.h" namespace feature_engagement { @@ -31,6 +30,7 @@ const base::Feature* const kAllFeatures[] = { &kIPHChromeReengagementNotification1Feature, &kIPHChromeReengagementNotification2Feature, &kIPHChromeReengagementNotification3Feature, + &kIPHContextualSearchTranslationEnableFeature, &kIPHContextualSearchWebSearchFeature, &kIPHContextualSearchPromoteTapFeature, &kIPHContextualSearchPromotePanelOpenFeature, @@ -63,8 +63,9 @@ const base::Feature* const kAllFeatures[] = { &kIPHNewIncognitoTabTipFeature, &kIPHBadgedReadingListFeature, &kIPHBadgedTranslateManualTriggerFeature, + &kIPHDiscoverFeedHeaderFeature, #endif // defined(OS_IOS) -#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ +#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ defined(OS_CHROMEOS) &kIPHDesktopTabGroupsNewGroupFeature, &kIPHFocusModeFeature, @@ -72,12 +73,7 @@ const base::Feature* const kAllFeatures[] = { &kIPHPasswordsAccountStorageFeature, &kIPHReopenTabFeature, &kIPHWebUITabStripFeature, -#if BUILDFLAG(ENABLE_LEGACY_DESKTOP_IN_PRODUCT_HELP) - &kIPHBookmarkFeature, - &kIPHIncognitoWindowFeature, - &kIPHNewTabFeature, -#endif // BUILDFLAG(ENABLE_LEGACY_DESKTOP_IN_PRODUCT_HELP) -#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || +#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || // defined(OS_CHROMEOS) }; } // namespace diff --git a/chromium/components/feature_engagement/public/feature_list.h b/chromium/components/feature_engagement/public/feature_list.h index 849acc1e0de..e1bffe7c218 100644 --- a/chromium/components/feature_engagement/public/feature_list.h +++ b/chromium/components/feature_engagement/public/feature_list.h @@ -10,7 +10,6 @@ #include "base/feature_list.h" #include "base/stl_util.h" #include "build/build_config.h" -#include "components/feature_engagement/buildflags.h" #include "components/feature_engagement/public/feature_constants.h" #include "components/flags_ui/feature_entry.h" @@ -69,6 +68,8 @@ DEFINE_VARIATION_PARAM(kIPHChromeReengagementNotification2Feature, "IPH_ChromeReengagementNotification2"); DEFINE_VARIATION_PARAM(kIPHChromeReengagementNotification3Feature, "IPH_ChromeReengagementNotification3"); +DEFINE_VARIATION_PARAM(kIPHContextualSearchTranslationEnableFeature, + "IPH_ContextualSearchTranslationEnable"); DEFINE_VARIATION_PARAM(kIPHContextualSearchWebSearchFeature, "IPH_ContextualSearchWebSearch"); DEFINE_VARIATION_PARAM(kIPHContextualSearchPromoteTapFeature, @@ -119,9 +120,11 @@ DEFINE_VARIATION_PARAM(kIPHNewIncognitoTabTipFeature, "IPH_NewIncognitoTabTip"); DEFINE_VARIATION_PARAM(kIPHBadgedReadingListFeature, "IPH_BadgedReadingList"); DEFINE_VARIATION_PARAM(kIPHBadgedTranslateManualTriggerFeature, "IPH_BadgedTranslateManualTrigger"); +DEFINE_VARIATION_PARAM(kIPHDiscoverFeedHeaderFeature, + "IPH_DiscoverFeedHeaderMenu"); #endif // defined(OS_IOS) -#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ +#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ defined(OS_CHROMEOS) DEFINE_VARIATION_PARAM(kIPHDesktopTabGroupsNewGroupFeature, "IPH_DesktopTabGroupsNewGroup"); @@ -131,12 +134,7 @@ DEFINE_VARIATION_PARAM(kIPHPasswordsAccountStorageFeature, "IPH_PasswordsAccountStorage"); DEFINE_VARIATION_PARAM(kIPHReopenTabFeature, "IPH_ReopenTab"); DEFINE_VARIATION_PARAM(kIPHWebUITabStripFeature, "IPH_WebUITabStrip"); -#if BUILDFLAG(ENABLE_LEGACY_DESKTOP_IN_PRODUCT_HELP) -DEFINE_VARIATION_PARAM(kIPHBookmarkFeature, "IPH_Bookmark"); -DEFINE_VARIATION_PARAM(kIPHIncognitoWindowFeature, "IPH_IncognitoWindow"); -DEFINE_VARIATION_PARAM(kIPHNewTabFeature, "IPH_NewTab"); -#endif // BUILDFLAG(ENABLE_LEGACY_DESKTOP_IN_PRODUCT_HELP) -#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || +#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || // defined(OS_CHROMEOS) } // namespace @@ -161,6 +159,7 @@ constexpr flags_ui::FeatureEntry::FeatureVariation VARIATION_ENTRY(kIPHChromeReengagementNotification1Feature), VARIATION_ENTRY(kIPHChromeReengagementNotification2Feature), VARIATION_ENTRY(kIPHChromeReengagementNotification3Feature), + VARIATION_ENTRY(kIPHContextualSearchTranslationEnableFeature), VARIATION_ENTRY(kIPHContextualSearchWebSearchFeature), VARIATION_ENTRY(kIPHContextualSearchPromoteTapFeature), VARIATION_ENTRY(kIPHContextualSearchPromotePanelOpenFeature), @@ -192,19 +191,16 @@ constexpr flags_ui::FeatureEntry::FeatureVariation VARIATION_ENTRY(kIPHNewIncognitoTabTipFeature), VARIATION_ENTRY(kIPHBadgedReadingListFeature), VARIATION_ENTRY(kIPHBadgedTranslateManualTriggerFeature), -#elif defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ + VARIATION_ENTRY(kIPHDiscoverFeedHeaderFeature), +#elif defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ defined(OS_CHROMEOS) VARIATION_ENTRY(kIPHDesktopTabGroupsNewGroupFeature), VARIATION_ENTRY(kIPHFocusModeFeature), VARIATION_ENTRY(kIPHGlobalMediaControls), + VARIATION_ENTRY(kIPHPasswordsAccountStorageFeature), VARIATION_ENTRY(kIPHReopenTabFeature), VARIATION_ENTRY(kIPHWebUITabStripFeature), -#if BUILDFLAG(ENABLE_LEGACY_DESKTOP_IN_PRODUCT_HELP) - VARIATION_ENTRY(kIPHBookmarkFeature), - VARIATION_ENTRY(kIPHIncognitoWindowFeature), - VARIATION_ENTRY(kIPHNewTabFeature), -#endif // BUILDFLAG(ENABLE_LEGACY_DESKTOP_IN_PRODUCT_HELP) -#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || +#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || // defined(OS_CHROMEOS) }; |