| Index: chrome/browser/notifications/platform_notification_service_unittest.cc
|
| diff --git a/chrome/browser/notifications/platform_notification_service_unittest.cc b/chrome/browser/notifications/platform_notification_service_unittest.cc
|
| index f26cae46a79145e3165d0a2cefcc3cb3afb25ba0..ae048892da1fa0020165dfe466966c60ec16d1f1 100644
|
| --- a/chrome/browser/notifications/platform_notification_service_unittest.cc
|
| +++ b/chrome/browser/notifications/platform_notification_service_unittest.cc
|
| @@ -6,8 +6,10 @@
|
|
|
| #include <utility>
|
|
|
| +#include "base/bind.h"
|
| #include "base/macros.h"
|
| #include "base/memory/ptr_util.h"
|
| +#include "base/run_loop.h"
|
| #include "base/strings/utf_string_conversions.h"
|
| #include "base/threading/platform_thread.h"
|
| #include "base/time/time.h"
|
| @@ -107,6 +109,12 @@ class PlatformNotificationServiceTest : public testing::Test {
|
| TestingBrowserProcess::DeleteInstance();
|
| }
|
|
|
| + void DidGetDisplayedNotifications(
|
| + std::unique_ptr<std::set<std::string>> displayed_notifications,
|
| + bool supports_synchronization) const {
|
| + displayed_notifications_ = std::move(displayed_notifications);
|
| + }
|
| +
|
| protected:
|
| // Displays a simple, fake notifications and returns a weak pointer to the
|
| // delegate receiving events for it (ownership is transferred to the service).
|
| @@ -143,9 +151,13 @@ class PlatformNotificationServiceTest : public testing::Test {
|
| Profile* profile() const { return profile_; }
|
|
|
| size_t GetNotificationCount() const {
|
| - std::set<std::string> notifications;
|
| - EXPECT_TRUE(display_service()->GetDisplayed(¬ifications));
|
| - return notifications.size();
|
| + display_service()->GetDisplayed(base::Bind(
|
| + &PlatformNotificationServiceTest::DidGetDisplayedNotifications,
|
| + base::Unretained(this)));
|
| + base::RunLoop().RunUntilIdle();
|
| +
|
| + EXPECT_TRUE(displayed_notifications_.get());
|
| + return displayed_notifications_->size();
|
| }
|
|
|
| Notification GetDisplayedNotification() {
|
| @@ -168,6 +180,7 @@ class PlatformNotificationServiceTest : public testing::Test {
|
| std::unique_ptr<TestingProfileManager> profile_manager_;
|
| TestingProfile* profile_;
|
| content::TestBrowserThreadBundle thread_bundle_;
|
| + mutable std::unique_ptr<std::set<std::string>> displayed_notifications_;
|
| };
|
|
|
| TEST_F(PlatformNotificationServiceTest, DisplayPageDisplayedEvent) {
|
|
|