| Index: chrome/browser/notifications/platform_notification_service_impl.h
|
| diff --git a/chrome/browser/notifications/platform_notification_service_impl.h b/chrome/browser/notifications/platform_notification_service_impl.h
|
| index c2d08d4041d73865d1be0e6163661c224fda8000..9a801cfc952811771a0d33af0c87dc4645f7cdaf 100644
|
| --- a/chrome/browser/notifications/platform_notification_service_impl.h
|
| +++ b/chrome/browser/notifications/platform_notification_service_impl.h
|
| @@ -5,9 +5,13 @@
|
| #ifndef CHROME_BROWSER_NOTIFICATIONS_PLATFORM_NOTIFICATION_SERVICE_IMPL_H_
|
| #define CHROME_BROWSER_NOTIFICATIONS_PLATFORM_NOTIFICATION_SERVICE_IMPL_H_
|
|
|
| +#include "base/gtest_prod_util.h"
|
| #include "base/memory/singleton.h"
|
| #include "content/public/browser/platform_notification_service.h"
|
|
|
| +class NotificationUIManager;
|
| +class Profile;
|
| +
|
| // The platform notification service is the profile-agnostic entry point through
|
| // which Web Notifications can be controlled.
|
| class PlatformNotificationServiceImpl
|
| @@ -17,6 +21,10 @@ class PlatformNotificationServiceImpl
|
| // be called from any thread.
|
| static PlatformNotificationServiceImpl* GetInstance();
|
|
|
| + // Returns the Notification UI Manager through which notifications can be
|
| + // displayed to the user. Can be overridden for testing.
|
| + NotificationUIManager* GetNotificationUIManager() const;
|
| +
|
| // content::PlatformNotificationService implementation.
|
| blink::WebNotificationPermission CheckPermission(
|
| content::ResourceContext* resource_context,
|
| @@ -39,9 +47,28 @@ class PlatformNotificationServiceImpl
|
|
|
| private:
|
| friend struct DefaultSingletonTraits<PlatformNotificationServiceImpl>;
|
| + friend class PlatformNotificationServiceTest;
|
| + FRIEND_TEST_ALL_PREFIXES(
|
| + PlatformNotificationServiceTest, DisplayNameForOrigin);
|
|
|
| PlatformNotificationServiceImpl();
|
| ~PlatformNotificationServiceImpl() override;
|
| +
|
| + // Overrides the Notification UI Manager to use to |manager|. Only to be
|
| + // used by tests. Tests are responsible for cleaning up after themselves.
|
| + void SetNotificationUIManagerForTesting(NotificationUIManager* manager);
|
| +
|
| + // Returns a display name for an origin in the process id, to be used in
|
| + // permission infobar or on the frame of the notification toast. Different
|
| + // from the origin itself when dealing with extensions.
|
| + base::string16 DisplayNameForOriginInProcessId(Profile* profile,
|
| + const GURL& origin,
|
| + int process_id);
|
| +
|
| + // Weak reference. Ownership maintains with the test.
|
| + NotificationUIManager* notification_ui_manager_for_tests_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(PlatformNotificationServiceImpl);
|
| };
|
|
|
| #endif // CHROME_BROWSER_NOTIFICATIONS_PLATFORM_NOTIFICATION_SERVICE_IMPL_H_
|
|
|