diff --git a/components/services/bat_ads/bat_ads_impl.cc b/components/services/bat_ads/bat_ads_impl.cc index 24e8c232493..ba4c07810e5 100644 --- a/components/services/bat_ads/bat_ads_impl.cc +++ b/components/services/bat_ads/bat_ads_impl.cc @@ -45,20 +45,11 @@ BatAdsImpl::BatAdsImpl( BatAdsImpl::~BatAdsImpl() = default; void BatAdsImpl::Initialize(InitializeCallback callback) { - auto* holder = - new CallbackHolder(AsWeakPtr(), std::move(callback)); - - ads_->Initialize( - std::bind(BatAdsImpl::OnInitialize, holder, std::placeholders::_1)); + ads_->Initialize(std::move(callback)); } void BatAdsImpl::Shutdown(ShutdownCallback callback) { - auto* holder = - new CallbackHolder(AsWeakPtr(), std::move(callback)); - - auto shutdown_callback = - std::bind(BatAdsImpl::OnShutdown, holder, std::placeholders::_1); - ads_->Shutdown(shutdown_callback); + ads_->Shutdown(std::move(callback)); } void BatAdsImpl::OnLocaleDidChange(const std::string& locale) { @@ -296,24 +287,6 @@ void BatAdsImpl::OnDidUpdateResourceComponent(const std::string& id) { /////////////////////////////////////////////////////////////////////////////// -void BatAdsImpl::OnInitialize(CallbackHolder* holder, - const bool success) { - if (holder->is_valid()) { - std::move(holder->get()).Run(success); - } - - delete holder; -} - -void BatAdsImpl::OnShutdown(CallbackHolder* holder, - const bool success) { - if (holder->is_valid()) { - std::move(holder->get()).Run(success); - } - - delete holder; -} - // static void BatAdsImpl::OnMaybeServeNewTabPageAd( CallbackHolder* holder, diff --git a/components/services/bat_ads/bat_ads_impl.h b/components/services/bat_ads/bat_ads_impl.h index 9c32370d94c..20442159aab 100644 --- a/components/services/bat_ads/bat_ads_impl.h +++ b/components/services/bat_ads/bat_ads_impl.h @@ -159,11 +159,6 @@ class BatAdsImpl : public mojom::BatAds, T callback_; }; - static void OnInitialize(CallbackHolder* holder, - bool success); - static void OnShutdown(CallbackHolder* holder, - bool success); - static void OnMaybeServeInlineContentAd( CallbackHolder* holder, const std::string& dimensions, diff --git a/ios/browser/api/ads/brave_ads.mm b/ios/browser/api/ads/brave_ads.mm index d45c3fe371a..5e2092265eb 100644 --- a/ios/browser/api/ads/brave_ads.mm +++ b/ios/browser/api/ads/brave_ads.mm @@ -269,11 +269,11 @@ ads::mojom::DBCommandResponseInfoPtr RunDBTransactionOnTaskRunner( adsClient = new AdsClientIOS(self); ads = ads::Ads::CreateInstance(adsClient); - ads->Initialize(^(const bool success) { + ads->Initialize(base::BindOnce(^(const bool success) { [self periodicallyCheckForAdsResourceUpdates]; [self registerAdsResources]; completion(success); - }); + })); } - (void)updateWalletInfo:(NSString*)paymentId base64Seed:(NSString*)base64Seed { @@ -302,7 +302,7 @@ ads::mojom::DBCommandResponseInfoPtr RunDBTransactionOnTaskRunner( - (void)shutdown:(nullable void (^)())completion { if ([self isAdsServiceRunning]) { dispatch_group_notify(self.prefsWriteGroup, dispatch_get_main_queue(), ^{ - self->ads->Shutdown(^(bool) { + self->ads->Shutdown(base::BindOnce(^(bool) { if (self->ads != nil) { delete self->ads; } @@ -322,7 +322,7 @@ ads::mojom::DBCommandResponseInfoPtr RunDBTransactionOnTaskRunner( if (completion) { completion(); } - }); + })); }); } else { if (completion) { @@ -467,7 +467,7 @@ ads::mojom::DBCommandResponseInfoPtr RunDBTransactionOnTaskRunner( return; } ads->RemoveAllHistory(base::BindOnce(^(const bool success) { - completion(success ? YES : NO); + completion(success); })); } @@ -668,7 +668,7 @@ ads::mojom::DBCommandResponseInfoPtr RunDBTransactionOnTaskRunner( } ads->PurgeOrphanedAdEventsForType(static_cast(adType), base::BindOnce(^(const bool success) { - completion(success ? YES : NO); + completion(success); })); } diff --git a/vendor/bat-native-ads/include/bat/ads/ads_callback.h b/vendor/bat-native-ads/include/bat/ads/ads_callback.h index 0380bfae4b2..f317a885050 100644 --- a/vendor/bat-native-ads/include/bat/ads/ads_callback.h +++ b/vendor/bat-native-ads/include/bat/ads/ads_callback.h @@ -18,8 +18,8 @@ namespace ads { -using InitializeCallback = std::function; -using ShutdownCallback = std::function; +using InitializeCallback = base::OnceCallback; +using ShutdownCallback = base::OnceCallback; using RemoveAllHistoryCallback = base::OnceCallback; diff --git a/vendor/bat-native-ads/src/bat/ads/internal/ads_impl.cc b/vendor/bat-native-ads/src/bat/ads/internal/ads_impl.cc index 70125d0874f..a5ea0512b50 100644 --- a/vendor/bat-native-ads/src/bat/ads/internal/ads_impl.cc +++ b/vendor/bat-native-ads/src/bat/ads/internal/ads_impl.cc @@ -70,10 +70,10 @@ namespace ads { namespace { -void FailedToInitialize(const InitializeCallback& callback) { +void FailedToInitialize(InitializeCallback callback) { BLOG(1, "Failed to initialize ads"); - callback(/*success*/ false); + std::move(callback).Run(/*success*/ false); } } // namespace @@ -163,17 +163,17 @@ void AdsImpl::Initialize(InitializeCallback callback) { if (IsInitialized()) { BLOG(1, "Already initialized ads"); - FailedToInitialize(callback); + FailedToInitialize(std::move(callback)); return; } - CreateOrOpenDatabase(callback); + CreateOrOpenDatabase(std::move(callback)); } void AdsImpl::Shutdown(ShutdownCallback callback) { if (!is_initialized_) { BLOG(0, "Shutdown failed as not initialized"); - callback(/*success*/ false); + std::move(callback).Run(/*success*/ false); return; } @@ -181,7 +181,7 @@ void AdsImpl::Shutdown(ShutdownCallback callback) { NotificationAdManager::GetInstance()->RemoveAll(); - callback(/*success*/ true); + std::move(callback).Run(/*success*/ true); } void AdsImpl::OnLocaleDidChange(const std::string& locale) { @@ -446,99 +446,101 @@ bool AdsImpl::ToggleSavedAd(base::Value::Dict value) { /////////////////////////////////////////////////////////////////////////////// void AdsImpl::CreateOrOpenDatabase(InitializeCallback callback) { - DatabaseManager::GetInstance()->CreateOrOpen(base::BindOnce( - &AdsImpl::OnCreateOrOpenDatabase, base::Unretained(this), callback)); + DatabaseManager::GetInstance()->CreateOrOpen( + base::BindOnce(&AdsImpl::OnCreateOrOpenDatabase, base::Unretained(this), + std::move(callback))); } -void AdsImpl::OnCreateOrOpenDatabase(const InitializeCallback& callback, +void AdsImpl::OnCreateOrOpenDatabase(InitializeCallback callback, const bool success) { if (!success) { BLOG(0, "Failed to create or open database"); - FailedToInitialize(callback); + FailedToInitialize(std::move(callback)); return; } - MigrateConversions(callback); + conversions::Migrate(base::BindOnce(&AdsImpl::OnMigrateConversions, + base::Unretained(this), + std::move(callback))); } -void AdsImpl::MigrateConversions(const InitializeCallback& callback) { - conversions::Migrate([=](const bool success) { - if (!success) { - FailedToInitialize(callback); - return; - } +void AdsImpl::OnMigrateConversions(InitializeCallback callback, + const bool success) { + if (!success) { + FailedToInitialize(std::move(callback)); + return; + } - MigrateRewards(callback); - }); + rewards::Migrate(base::BindOnce(&AdsImpl::OnMigrateRewards, + base::Unretained(this), std::move(callback))); } -void AdsImpl::MigrateRewards(const InitializeCallback& callback) { - rewards::Migrate([=](const bool success) { - if (!success) { - FailedToInitialize(callback); - return; - } +void AdsImpl::OnMigrateRewards(InitializeCallback callback, + const bool success) { + if (!success) { + FailedToInitialize(std::move(callback)); + return; + } - MigrateClientState(callback); - }); + client::Migrate(base::BindOnce(&AdsImpl::OnMigrateClientState, + base::Unretained(this), std::move(callback))); } -void AdsImpl::MigrateClientState(const InitializeCallback& callback) { - client::Migrate([=](const bool success) { - if (!success) { - FailedToInitialize(callback); - return; - } +void AdsImpl::OnMigrateClientState(InitializeCallback callback, + const bool success) { + if (!success) { + FailedToInitialize(std::move(callback)); + return; + } - LoadClientState(callback); - }); + ClientStateManager::GetInstance()->Initialize( + base::BindOnce(&AdsImpl::OnLoadClientState, base::Unretained(this), + std::move(callback))); } -void AdsImpl::LoadClientState(const InitializeCallback& callback) { - ClientStateManager::GetInstance()->Initialize([=](const bool success) { - if (!success) { - FailedToInitialize(callback); - return; - } +void AdsImpl::OnLoadClientState(InitializeCallback callback, + const bool success) { + if (!success) { + FailedToInitialize(std::move(callback)); + return; + } - MigrateConfirmationState(callback); - }); + confirmations::Migrate(base::BindOnce(&AdsImpl::OnMigrateConfirmationState, + base::Unretained(this), + std::move(callback))); } -void AdsImpl::MigrateConfirmationState(const InitializeCallback& callback) { - confirmations::Migrate([=](const bool success) { - if (!success) { - callback(/*success*/ false); - return; - } +void AdsImpl::OnMigrateConfirmationState(InitializeCallback callback, + const bool success) { + if (!success) { + FailedToInitialize(std::move(callback)); + return; + } - LoadConfirmationState(callback); - }); + ConfirmationStateManager::GetInstance()->Initialize( + base::BindOnce(&AdsImpl::OnLoadConfirmationState, base::Unretained(this), + std::move(callback))); } -void AdsImpl::LoadConfirmationState(const InitializeCallback& callback) { - ConfirmationStateManager::GetInstance()->Initialize([=](const bool success) { - if (!success) { - FailedToInitialize(callback); - return; - } +void AdsImpl::OnLoadConfirmationState(InitializeCallback callback, + const bool success) { + if (!success) { + FailedToInitialize(std::move(callback)); + return; + } - MigrateNotificationState(callback); - }); + notifications::Migrate(base::BindOnce(&AdsImpl::OnMigrateNotificationState, + base::Unretained(this), + std::move(callback))); } -void AdsImpl::MigrateNotificationState(const InitializeCallback& callback) { - notifications::Migrate([=](const bool success) { - if (!success) { - callback(/*success*/ false); - return; - } +void AdsImpl::OnMigrateNotificationState(InitializeCallback callback, + const bool success) { + if (!success) { + FailedToInitialize(std::move(callback)); + return; + } - SuccessfullyInitialized(callback); - }); -} - -void AdsImpl::SuccessfullyInitialized(const InitializeCallback& callback) { BLOG(1, "Successfully initialized ads"); is_initialized_ = true; @@ -546,7 +548,7 @@ void AdsImpl::SuccessfullyInitialized(const InitializeCallback& callback) { UserActivityManager::GetInstance()->RecordEvent( UserActivityEventType::kInitializedAds); - callback(/*success*/ true); + std::move(callback).Run(/*success*/ true); Start(); } diff --git a/vendor/bat-native-ads/src/bat/ads/internal/ads_impl.h b/vendor/bat-native-ads/src/bat/ads/internal/ads_impl.h index 59c61f6f532..6493786c941 100644 --- a/vendor/bat-native-ads/src/bat/ads/internal/ads_impl.h +++ b/vendor/bat-native-ads/src/bat/ads/internal/ads_impl.h @@ -196,16 +196,15 @@ class AdsImpl final : public Ads, private: void CreateOrOpenDatabase(InitializeCallback callback); - void OnCreateOrOpenDatabase(const InitializeCallback& callback, bool success); - void MigrateConversions(const InitializeCallback& callback); - void MigrateRewards(const InitializeCallback& callback); - void MigrateClientState(const InitializeCallback& callback); - void LoadClientState(const InitializeCallback& callback); - void MigrateConfirmationState(const InitializeCallback& callback); - void LoadConfirmationState(const InitializeCallback& callback); - void MigrateNotificationState(const InitializeCallback& callback); + void OnCreateOrOpenDatabase(InitializeCallback callback, bool success); + void OnMigrateConversions(InitializeCallback callback, bool success); + void OnMigrateRewards(InitializeCallback callback, bool success); + void OnMigrateClientState(InitializeCallback callback, bool success); + void OnLoadClientState(InitializeCallback callback, bool success); + void OnMigrateConfirmationState(InitializeCallback callback, bool success); + void OnLoadConfirmationState(InitializeCallback callback, bool success); + void OnMigrateNotificationState(InitializeCallback callback, bool success); - void SuccessfullyInitialized(const InitializeCallback& callback); bool IsInitialized() const; void Start(); diff --git a/vendor/bat-native-ads/src/bat/ads/internal/base/unittest/unittest_base.cc b/vendor/bat-native-ads/src/bat/ads/internal/base/unittest/unittest_base.cc index 59b392c5d86..f925dd6f380 100644 --- a/vendor/bat-native-ads/src/bat/ads/internal/base/unittest/unittest_base.cc +++ b/vendor/bat-native-ads/src/bat/ads/internal/base/unittest/unittest_base.cc @@ -182,11 +182,11 @@ void UnitTestBase::Initialize() { client_state_manager_ = std::make_unique(); client_state_manager_->Initialize( - [](const bool success) { ASSERT_TRUE(success); }); + base::BindOnce([](const bool success) { ASSERT_TRUE(success); })); confirmation_state_manager_ = std::make_unique(); confirmation_state_manager_->Initialize( - [](const bool success) { ASSERT_TRUE(success); }); + base::BindOnce([](const bool success) { ASSERT_TRUE(success); })); covariate_manager_ = std::make_unique(); @@ -321,15 +321,18 @@ void UnitTestBase::SetUpIntegrationTest() { "initialized for integration testing"; ads_ = std::make_unique(ads_client_mock_.get()); - ads_->Initialize([=](const bool success) { - ASSERT_TRUE(success); - - ads_->OnRewardsWalletDidChange( - /*payment_id*/ "c387c2d8-a26d-4451-83e4-5c0c6fd942be", - /*seed*/ "5BEKM1Y7xcRSg/1q8in/+Lki2weFZQB+UMYZlRw8ql8="); - }); + ads_->Initialize( + base::BindOnce(&UnitTestBase::OnAdsInitialize, base::Unretained(this))); task_environment_.RunUntilIdle(); } +void UnitTestBase::OnAdsInitialize(const bool success) { + ASSERT_TRUE(success); + + ads_->OnRewardsWalletDidChange( + /*payment_id*/ "c387c2d8-a26d-4451-83e4-5c0c6fd942be", + /*seed*/ "5BEKM1Y7xcRSg/1q8in/+Lki2weFZQB+UMYZlRw8ql8="); +} + } // namespace ads diff --git a/vendor/bat-native-ads/src/bat/ads/internal/base/unittest/unittest_base.h b/vendor/bat-native-ads/src/bat/ads/internal/base/unittest/unittest_base.h index e8a94ed069e..61564695dac 100644 --- a/vendor/bat-native-ads/src/bat/ads/internal/base/unittest/unittest_base.h +++ b/vendor/bat-native-ads/src/bat/ads/internal/base/unittest/unittest_base.h @@ -145,6 +145,8 @@ class UnitTestBase : public testing::Test { void SetUpIntegrationTest(); + void OnAdsInitialize(bool success); + base::ScopedTempDir temp_dir_; bool is_integration_test_ = false; diff --git a/vendor/bat-native-ads/src/bat/ads/internal/deprecated/client/client_state_manager.cc b/vendor/bat-native-ads/src/bat/ads/internal/deprecated/client/client_state_manager.cc index 8f34e07c6b2..a95e88b06d4 100644 --- a/vendor/bat-native-ads/src/bat/ads/internal/deprecated/client/client_state_manager.cc +++ b/vendor/bat-native-ads/src/bat/ads/internal/deprecated/client/client_state_manager.cc @@ -137,9 +137,7 @@ const FlaggedAdList& ClientStateManager::GetFlaggedAds() const { } void ClientStateManager::Initialize(InitializeCallback callback) { - callback_ = std::move(callback); - - Load(); + Load(std::move(callback)); } void ClientStateManager::AppendHistory(const HistoryItemInfo& history_item) { @@ -537,15 +535,18 @@ void ClientStateManager::Save() { base::BindOnce(&OnSaved)); } -void ClientStateManager::Load() { +void ClientStateManager::Load(InitializeCallback callback) { BLOG(3, "Loading client state"); AdsClientHelper::GetInstance()->Load( kClientStateFilename, - base::BindOnce(&ClientStateManager::OnLoaded, base::Unretained(this))); + base::BindOnce(&ClientStateManager::OnLoaded, base::Unretained(this), + std::move(callback))); } -void ClientStateManager::OnLoaded(const bool success, const std::string& json) { +void ClientStateManager::OnLoaded(InitializeCallback callback, + const bool success, + const std::string& json) { if (!success) { BLOG(3, "Client state does not exist, creating default state"); @@ -559,7 +560,7 @@ void ClientStateManager::OnLoaded(const bool success, const std::string& json) { BLOG(3, "Failed to parse client state: " << json); - callback_(/*success*/ false); + std::move(callback).Run(/*success*/ false); return; } @@ -573,7 +574,7 @@ void ClientStateManager::OnLoaded(const bool success, const std::string& json) { BLOG(9, "Client state is mutated"); } - callback_(/*success */ true); + std::move(callback).Run(/*success */ true); } bool ClientStateManager::FromJson(const std::string& json) { diff --git a/vendor/bat-native-ads/src/bat/ads/internal/deprecated/client/client_state_manager.h b/vendor/bat-native-ads/src/bat/ads/internal/deprecated/client/client_state_manager.h index 878e5b0d79d..997141fee50 100644 --- a/vendor/bat-native-ads/src/bat/ads/internal/deprecated/client/client_state_manager.h +++ b/vendor/bat-native-ads/src/bat/ads/internal/deprecated/client/client_state_manager.h @@ -100,8 +100,10 @@ class ClientStateManager final { private: void Save(); - void Load(); - void OnLoaded(bool success, const std::string& json); + void Load(InitializeCallback callback); + void OnLoaded(InitializeCallback callback, + bool success, + const std::string& json); bool FromJson(const std::string& json); @@ -110,8 +112,6 @@ class ClientStateManager final { bool is_mutated_ = false; bool is_initialized_ = false; - - InitializeCallback callback_; }; } // namespace ads diff --git a/vendor/bat-native-ads/src/bat/ads/internal/deprecated/confirmations/confirmation_state_manager.cc b/vendor/bat-native-ads/src/bat/ads/internal/deprecated/confirmations/confirmation_state_manager.cc index ca28c0fede0..194a2b85d5f 100644 --- a/vendor/bat-native-ads/src/bat/ads/internal/deprecated/confirmations/confirmation_state_manager.cc +++ b/vendor/bat-native-ads/src/bat/ads/internal/deprecated/confirmations/confirmation_state_manager.cc @@ -307,25 +307,20 @@ bool ConfirmationStateManager::HasInstance() { } void ConfirmationStateManager::Initialize(InitializeCallback callback) { - callback_ = std::move(callback); + BLOG(3, "Loading confirmations state"); - Load(); + AdsClientHelper::GetInstance()->Load( + kConfirmationStateFilename, + base::BindOnce(&ConfirmationStateManager::OnLoaded, + base::Unretained(this), std::move(callback))); } bool ConfirmationStateManager::IsInitialized() const { return is_initialized_; } -void ConfirmationStateManager::Load() { - BLOG(3, "Loading confirmations state"); - - AdsClientHelper::GetInstance()->Load( - kConfirmationStateFilename, - base::BindOnce(&ConfirmationStateManager::OnLoaded, - base::Unretained(this))); -} - -void ConfirmationStateManager::OnLoaded(const bool success, +void ConfirmationStateManager::OnLoaded(InitializeCallback callback, + const bool success, const std::string& json) { if (!success) { BLOG(3, "Confirmations state does not exist, creating default state"); @@ -339,7 +334,7 @@ void ConfirmationStateManager::OnLoaded(const bool success, BLOG(3, "Failed to parse confirmations state: " << json); - callback_(/*success*/ false); + std::move(callback).Run(/*success*/ false); return; } @@ -353,7 +348,7 @@ void ConfirmationStateManager::OnLoaded(const bool success, BLOG(9, "Confirmation state is mutated"); } - callback_(/*success*/ true); + std::move(callback).Run(/*success*/ true); } void ConfirmationStateManager::Save() { diff --git a/vendor/bat-native-ads/src/bat/ads/internal/deprecated/confirmations/confirmation_state_manager.h b/vendor/bat-native-ads/src/bat/ads/internal/deprecated/confirmations/confirmation_state_manager.h index 779c60ad859..752dc35a842 100644 --- a/vendor/bat-native-ads/src/bat/ads/internal/deprecated/confirmations/confirmation_state_manager.h +++ b/vendor/bat-native-ads/src/bat/ads/internal/deprecated/confirmations/confirmation_state_manager.h @@ -41,7 +41,6 @@ class ConfirmationStateManager final { void Initialize(InitializeCallback callback); bool IsInitialized() const; - void Load(); void Save(); std::string ToJson(); @@ -65,7 +64,9 @@ class ConfirmationStateManager final { bool is_mutated() const { return is_mutated_; } private: - void OnLoaded(bool success, const std::string& json); + void OnLoaded(InitializeCallback callback, + bool success, + const std::string& json); bool ParseFailedConfirmationsFromDictionary(const base::Value::Dict& dict); @@ -76,7 +77,6 @@ class ConfirmationStateManager final { bool is_mutated_ = false; bool is_initialized_ = false; - InitializeCallback callback_; ConfirmationList failed_confirmations_; diff --git a/vendor/bat-native-ads/src/bat/ads/internal/legacy_migration/client/legacy_client_migration.cc b/vendor/bat-native-ads/src/bat/ads/internal/legacy_migration/client/legacy_client_migration.cc index 6f832b8e290..dabab5421fa 100644 --- a/vendor/bat-native-ads/src/bat/ads/internal/legacy_migration/client/legacy_client_migration.cc +++ b/vendor/bat-native-ads/src/bat/ads/internal/legacy_migration/client/legacy_client_migration.cc @@ -6,6 +6,7 @@ #include "bat/ads/internal/legacy_migration/client/legacy_client_migration.h" #include +#include #include "base/bind.h" #include "bat/ads/internal/ads_client_helper.h" @@ -19,21 +20,21 @@ namespace ads::client { namespace { -void FailedToMigrate(const InitializeCallback& callback) { - callback(/*success*/ false); +void FailedToMigrate(InitializeCallback callback) { + std::move(callback).Run(/*success*/ false); } -void SuccessfullyMigrated(const InitializeCallback& callback) { +void SuccessfullyMigrated(InitializeCallback callback) { AdsClientHelper::GetInstance()->SetBooleanPref(prefs::kHasMigratedClientState, true); - callback(/*success*/ true); + std::move(callback).Run(/*success*/ true); } } // namespace void Migrate(InitializeCallback callback) { if (HasMigrated()) { - callback(/*success*/ true); + std::move(callback).Run(/*success*/ true); return; } @@ -46,14 +47,14 @@ void Migrate(InitializeCallback callback) { const std::string& json) { if (!success) { // Client state does not exist - SuccessfullyMigrated(callback); + SuccessfullyMigrated(std::move(callback)); return; } ClientInfo client; if (!client.FromJson(json)) { BLOG(0, "Failed to load client state"); - FailedToMigrate(callback); + FailedToMigrate(std::move(callback)); return; } @@ -67,19 +68,19 @@ void Migrate(InitializeCallback callback) { AdsClientHelper::GetInstance()->Save( kClientStateFilename, migrated_json, base::BindOnce( - [](const InitializeCallback& callback, const bool success) { + [](InitializeCallback callback, const bool success) { if (!success) { BLOG(0, "Failed to save client state"); - FailedToMigrate(callback); + FailedToMigrate(std::move(callback)); return; } BLOG(3, "Successfully migrated client state"); - SuccessfullyMigrated(callback); + SuccessfullyMigrated(std::move(callback)); }, - callback)); + std::move(callback))); }, - callback)); + std::move(callback))); } } // namespace ads::client diff --git a/vendor/bat-native-ads/src/bat/ads/internal/legacy_migration/client/legacy_client_migration_unittest_util.cc b/vendor/bat-native-ads/src/bat/ads/internal/legacy_migration/client/legacy_client_migration_unittest_util.cc index 8ccc73ae254..fb421f5743c 100644 --- a/vendor/bat-native-ads/src/bat/ads/internal/legacy_migration/client/legacy_client_migration_unittest_util.cc +++ b/vendor/bat-native-ads/src/bat/ads/internal/legacy_migration/client/legacy_client_migration_unittest_util.cc @@ -5,6 +5,7 @@ #include "bat/ads/internal/legacy_migration/client/legacy_client_migration_unittest_util.h" +#include "base/bind.h" #include "base/check.h" #include "bat/ads/internal/ads_client_helper.h" #include "bat/ads/internal/legacy_migration/client/legacy_client_migration.h" @@ -13,9 +14,11 @@ namespace ads::client { void Migrate(const bool should_migrate) { - Migrate([should_migrate](const bool success) { - CHECK_EQ(success, should_migrate); - }); + Migrate(base::BindOnce( + [](const bool should_migrate, const bool success) { + CHECK_EQ(success, should_migrate); + }, + should_migrate)); } uint64_t GetHash() { diff --git a/vendor/bat-native-ads/src/bat/ads/internal/legacy_migration/confirmations/legacy_confirmation_migration.cc b/vendor/bat-native-ads/src/bat/ads/internal/legacy_migration/confirmations/legacy_confirmation_migration.cc index e47214705a8..7baba6fb90f 100644 --- a/vendor/bat-native-ads/src/bat/ads/internal/legacy_migration/confirmations/legacy_confirmation_migration.cc +++ b/vendor/bat-native-ads/src/bat/ads/internal/legacy_migration/confirmations/legacy_confirmation_migration.cc @@ -6,6 +6,7 @@ #include "bat/ads/internal/legacy_migration/confirmations/legacy_confirmation_migration.h" #include +#include #include "base/bind.h" #include "bat/ads/internal/ads_client_helper.h" @@ -19,21 +20,21 @@ namespace ads::confirmations { namespace { -void FailedToMigrate(const InitializeCallback& callback) { - callback(/*success*/ false); +void FailedToMigrate(InitializeCallback callback) { + std::move(callback).Run(/*success*/ false); } -void SuccessfullyMigrated(const InitializeCallback& callback) { +void SuccessfullyMigrated(InitializeCallback callback) { AdsClientHelper::GetInstance()->SetBooleanPref( prefs::kHasMigratedConfirmationState, true); - callback(/*success*/ true); + std::move(callback).Run(/*success*/ true); } } // namespace void Migrate(InitializeCallback callback) { if (HasMigrated()) { - callback(/*success*/ true); + std::move(callback).Run(/*success*/ true); return; } @@ -46,13 +47,13 @@ void Migrate(InitializeCallback callback) { const std::string& json) { if (!success) { // Confirmation state does not exist - SuccessfullyMigrated(callback); + SuccessfullyMigrated(std::move(callback)); return; } if (!ConfirmationStateManager::GetInstance()->FromJson(json)) { BLOG(0, "Failed to load confirmation state"); - FailedToMigrate(callback); + FailedToMigrate(std::move(callback)); return; } @@ -67,19 +68,19 @@ void Migrate(InitializeCallback callback) { AdsClientHelper::GetInstance()->Save( kConfirmationStateFilename, migrated_json, base::BindOnce( - [](const InitializeCallback& callback, const bool success) { + [](InitializeCallback callback, const bool success) { if (!success) { BLOG(0, "Failed to save confirmation state"); - FailedToMigrate(callback); + FailedToMigrate(std::move(callback)); return; } BLOG(3, "Successfully migrated confirmation state"); - SuccessfullyMigrated(callback); + SuccessfullyMigrated(std::move(callback)); }, - callback)); + std::move(callback))); }, - callback)); + std::move(callback))); } } // namespace ads::confirmations diff --git a/vendor/bat-native-ads/src/bat/ads/internal/legacy_migration/confirmations/legacy_confirmation_migration_unittest_util.cc b/vendor/bat-native-ads/src/bat/ads/internal/legacy_migration/confirmations/legacy_confirmation_migration_unittest_util.cc index 06c9f7963d2..b4c7be31071 100644 --- a/vendor/bat-native-ads/src/bat/ads/internal/legacy_migration/confirmations/legacy_confirmation_migration_unittest_util.cc +++ b/vendor/bat-native-ads/src/bat/ads/internal/legacy_migration/confirmations/legacy_confirmation_migration_unittest_util.cc @@ -5,6 +5,7 @@ #include "bat/ads/internal/legacy_migration/confirmations/legacy_confirmation_migration_unittest_util.h" +#include "base/bind.h" #include "base/check_op.h" #include "bat/ads/internal/ads_client_helper.h" #include "bat/ads/internal/legacy_migration/confirmations/legacy_confirmation_migration.h" @@ -13,9 +14,11 @@ namespace ads::confirmations { void Migrate(const bool should_migrate) { - Migrate([should_migrate](const bool success) { - CHECK_EQ(success, should_migrate); - }); + Migrate(base::BindOnce( + [](const bool should_migrate, const bool success) { + CHECK_EQ(success, should_migrate); + }, + should_migrate)); } uint64_t GetHash() { diff --git a/vendor/bat-native-ads/src/bat/ads/internal/legacy_migration/conversions/legacy_conversions_migration.cc b/vendor/bat-native-ads/src/bat/ads/internal/legacy_migration/conversions/legacy_conversions_migration.cc index 4d52b2ea3aa..f82ddba4736 100644 --- a/vendor/bat-native-ads/src/bat/ads/internal/legacy_migration/conversions/legacy_conversions_migration.cc +++ b/vendor/bat-native-ads/src/bat/ads/internal/legacy_migration/conversions/legacy_conversions_migration.cc @@ -6,6 +6,7 @@ #include "bat/ads/internal/legacy_migration/conversions/legacy_conversions_migration.h" #include +#include #include "absl/types/optional.h" #include "base/bind.h" @@ -34,14 +35,14 @@ bool HasMigrated() { prefs::kHasMigratedConversionState); } -void FailedToMigrate(const InitializeCallback& callback) { - callback(/*success*/ false); +void FailedToMigrate(InitializeCallback callback) { + std::move(callback).Run(/*success*/ false); } -void SuccessfullyMigrated(const InitializeCallback& callback) { +void SuccessfullyMigrated(InitializeCallback callback) { AdsClientHelper::GetInstance()->SetBooleanPref( prefs::kHasMigratedConversionState, true); - callback(/*success*/ true); + std::move(callback).Run(/*success*/ true); } absl::optional GetFromDictionary( @@ -121,7 +122,7 @@ void OnMigrate(InitializeCallback callback, const std::string& json) { if (!success) { // Conversion state does not exist - SuccessfullyMigrated(callback); + SuccessfullyMigrated(std::move(callback)); return; } @@ -129,7 +130,7 @@ void OnMigrate(InitializeCallback callback, FromJson(json); if (!conversion_queue_items) { BLOG(0, "Failed to parse conversion state"); - FailedToMigrate(callback); + FailedToMigrate(std::move(callback)); return; } @@ -141,31 +142,31 @@ void OnMigrate(InitializeCallback callback, conversion_queue.Save( *conversion_queue_items, base::BindOnce( - [](const InitializeCallback& callback, const bool success) { + [](InitializeCallback callback, const bool success) { if (!success) { BLOG(0, "Failed to save conversion state"); - FailedToMigrate(callback); + FailedToMigrate(std::move(callback)); return; } BLOG(3, "Successfully migrated conversion state"); - SuccessfullyMigrated(callback); + SuccessfullyMigrated(std::move(callback)); }, - callback)); + std::move(callback))); } } // namespace void Migrate(InitializeCallback callback) { if (HasMigrated()) { - callback(/*success*/ true); + std::move(callback).Run(/*success*/ true); return; } BLOG(3, "Loading conversion state"); - AdsClientHelper::GetInstance()->Load(kFilename, - base::BindOnce(&OnMigrate, callback)); + AdsClientHelper::GetInstance()->Load( + kFilename, base::BindOnce(&OnMigrate, std::move(callback))); } } // namespace ads::conversions diff --git a/vendor/bat-native-ads/src/bat/ads/internal/legacy_migration/notifications/legacy_notification_migration.cc b/vendor/bat-native-ads/src/bat/ads/internal/legacy_migration/notifications/legacy_notification_migration.cc index 6df3350c91a..edc322f5a22 100644 --- a/vendor/bat-native-ads/src/bat/ads/internal/legacy_migration/notifications/legacy_notification_migration.cc +++ b/vendor/bat-native-ads/src/bat/ads/internal/legacy_migration/notifications/legacy_notification_migration.cc @@ -6,6 +6,7 @@ #include "bat/ads/internal/legacy_migration/notifications/legacy_notification_migration.h" #include +#include #include "absl/types/optional.h" #include "base/bind.h" @@ -28,21 +29,21 @@ bool HasMigrated() { prefs::kHasMigratedNotificationState); } -void FailedToMigrate(const InitializeCallback& callback) { - callback(/*success*/ false); +void FailedToMigrate(InitializeCallback callback) { + std::move(callback).Run(/*success*/ false); } -void SuccessfullyMigrated(const InitializeCallback& callback) { +void SuccessfullyMigrated(InitializeCallback callback) { AdsClientHelper::GetInstance()->SetBooleanPref( prefs::kHasMigratedNotificationState, true); - callback(/*success*/ true); + std::move(callback).Run(/*success*/ true); } } // namespace void Migrate(InitializeCallback callback) { if (HasMigrated()) { - callback(/*success*/ true); + std::move(callback).Run(/*success*/ true); return; } @@ -51,11 +52,11 @@ void Migrate(InitializeCallback callback) { AdsClientHelper::GetInstance()->Load( kNotificationStateFilename, base::BindOnce( - [](const InitializeCallback& callback, const bool success, + [](InitializeCallback callback, const bool success, const std::string& json) { if (!success) { // Notification state does not exist - SuccessfullyMigrated(callback); + SuccessfullyMigrated(std::move(callback)); return; } @@ -63,7 +64,7 @@ void Migrate(InitializeCallback callback) { json::reader::ReadNotificationAds(json); if (!ads) { BLOG(0, "Failed to load notification state"); - FailedToMigrate(callback); + FailedToMigrate(std::move(callback)); return; } @@ -75,9 +76,9 @@ void Migrate(InitializeCallback callback) { prefs::kNotificationAds, NotificationAdsToValue(*ads)); BLOG(3, "Successfully migrated notification state"); - SuccessfullyMigrated(callback); + SuccessfullyMigrated(std::move(callback)); }, - callback)); + std::move(callback))); } } // namespace ads::notifications diff --git a/vendor/bat-native-ads/src/bat/ads/internal/legacy_migration/rewards/legacy_rewards_migration.cc b/vendor/bat-native-ads/src/bat/ads/internal/legacy_migration/rewards/legacy_rewards_migration.cc index ea96060a5e5..e31260f8c48 100644 --- a/vendor/bat-native-ads/src/bat/ads/internal/legacy_migration/rewards/legacy_rewards_migration.cc +++ b/vendor/bat-native-ads/src/bat/ads/internal/legacy_migration/rewards/legacy_rewards_migration.cc @@ -6,6 +6,7 @@ #include "bat/ads/internal/legacy_migration/rewards/legacy_rewards_migration.h" #include +#include #include "absl/types/optional.h" #include "base/bind.h" @@ -26,14 +27,14 @@ bool HasMigrated() { prefs::kHasMigratedRewardsState); } -void FailedToMigrate(const InitializeCallback& callback) { - callback(/*success*/ false); +void FailedToMigrate(InitializeCallback callback) { + std::move(callback).Run(/*success*/ false); } -void SuccessfullyMigrated(const InitializeCallback& callback) { +void SuccessfullyMigrated(InitializeCallback callback) { AdsClientHelper::GetInstance()->SetBooleanPref( prefs::kHasMigratedRewardsState, true); - callback(/*success*/ true); + std::move(callback).Run(/*success*/ true); } void OnMigrate(InitializeCallback callback, @@ -41,7 +42,7 @@ void OnMigrate(InitializeCallback callback, const std::string& json) { if (!success) { // Confirmations state does not exist - SuccessfullyMigrated(callback); + SuccessfullyMigrated(std::move(callback)); return; } @@ -53,39 +54,39 @@ void OnMigrate(InitializeCallback callback, BuildTransactionsFromJson(json); if (!transactions) { BLOG(0, "Failed to parse rewards state"); - FailedToMigrate(callback); + FailedToMigrate(std::move(callback)); return; } database::table::Transactions database_table; - database_table.Save( - *transactions, - base::BindOnce( - [](const InitializeCallback& callback, const bool success) { - if (!success) { - BLOG(0, "Failed to save rewards state"); - FailedToMigrate(callback); - return; - } + database_table.Save(*transactions, + base::BindOnce( + [](InitializeCallback callback, const bool success) { + if (!success) { + BLOG(0, "Failed to save rewards state"); + FailedToMigrate(std::move(callback)); + return; + } - BLOG(3, "Successfully migrated rewards state"); - SuccessfullyMigrated(callback); - }, - callback)); + BLOG(3, "Successfully migrated rewards state"); + SuccessfullyMigrated(std::move(callback)); + }, + std::move(callback))); } } // namespace void Migrate(InitializeCallback callback) { if (HasMigrated()) { - callback(/*success*/ true); + std::move(callback).Run(/*success*/ true); return; } BLOG(3, "Loading confirmations state"); - AdsClientHelper::GetInstance()->Load(kConfirmationStateFilename, - base::BindOnce(&OnMigrate, callback)); + AdsClientHelper::GetInstance()->Load( + kConfirmationStateFilename, + base::BindOnce(&OnMigrate, std::move(callback))); } } // namespace ads::rewards diff --git a/vendor/bat-native-ads/src/bat/ads/internal/legacy_migration/rewards/legacy_rewards_migration_issue_25384_unittest.cc b/vendor/bat-native-ads/src/bat/ads/internal/legacy_migration/rewards/legacy_rewards_migration_issue_25384_unittest.cc index 94a2650050b..3341a1c96c8 100644 --- a/vendor/bat-native-ads/src/bat/ads/internal/legacy_migration/rewards/legacy_rewards_migration_issue_25384_unittest.cc +++ b/vendor/bat-native-ads/src/bat/ads/internal/legacy_migration/rewards/legacy_rewards_migration_issue_25384_unittest.cc @@ -5,6 +5,7 @@ #include "bat/ads/internal/legacy_migration/rewards/legacy_rewards_migration.h" +#include "base/bind.h" #include "bat/ads/internal/base/unittest/unittest_base.h" #include "bat/ads/internal/deprecated/confirmations/confirmation_state_manager_constants.h" #include "brave/components/brave_ads/common/pref_names.h" @@ -35,7 +36,8 @@ TEST_F(BatAdsLegacyRewardsMigrationIssue25384Test, Migrate) { EXPECT_CALL(*ads_client_mock_, Load(kConfirmationStateFilename, _)); // Act - rewards::Migrate([=](const bool success) { ASSERT_TRUE(success); }); + rewards::Migrate( + base::BindOnce([](const bool success) { ASSERT_TRUE(success); })); // Assert EXPECT_TRUE(