diff --git a/brightray/browser/browser_client.cc b/brightray/browser/browser_client.cc index e425b7a83b1..7b25c6a7858 100644 --- a/brightray/browser/browser_client.cc +++ b/brightray/browser/browser_client.cc @@ -13,10 +13,6 @@ #include "browser/platform_notification_service.h" #include "content/public/common/url_constants.h" -#if defined(OS_WIN) -#include "base/win/windows_version.h" -#endif - namespace brightray { namespace { @@ -39,12 +35,6 @@ BrowserClient::~BrowserClient() { } NotificationPresenter* BrowserClient::GetNotificationPresenter() { - #if defined(OS_WIN) - // Bail out if on Windows 7 or even lower, no operating will follow - if (base::win::GetVersion() < base::win::VERSION_WIN8) - return nullptr; - #endif - if (!notification_presenter_) { // Create a new presenter if on OS X, Linux, or Windows 8+ notification_presenter_.reset(NotificationPresenter::Create()); diff --git a/brightray/browser/win/notification_presenter_win.cc b/brightray/browser/win/notification_presenter_win.cc index 5fc961008c9..faa95cc7e4b 100644 --- a/brightray/browser/win/notification_presenter_win.cc +++ b/brightray/browser/win/notification_presenter_win.cc @@ -10,6 +10,7 @@ #include "base/md5.h" #include "base/strings/utf_string_conversions.h" #include "base/win/windows_version.h" +#include "browser/win/notification_presenter_win7.h" #include "browser/win/windows_toast_notification.h" #include "content/public/browser/desktop_notification_delegate.h" #include "content/public/common/platform_notification_data.h" @@ -36,6 +37,11 @@ bool SaveIconToPath(const SkBitmap& bitmap, const base::FilePath& path) { // static NotificationPresenter* NotificationPresenter::Create() { + auto version = base::win::GetVersion(); + if (version < base::win::VERSION_WIN7) + return nullptr; + if (version < base::win::VERSION_WIN8) + return new NotificationPresenterWin7; if (!WindowsToastNotification::Initialize()) return nullptr; std::unique_ptr presenter(