diff options
Diffstat (limited to 'chrome/browser/notifications/desktop_notification_service.cc')
-rw-r--r-- | chrome/browser/notifications/desktop_notification_service.cc | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/chrome/browser/notifications/desktop_notification_service.cc b/chrome/browser/notifications/desktop_notification_service.cc index f0eb62d..53cc37b 100644 --- a/chrome/browser/notifications/desktop_notification_service.cc +++ b/chrome/browser/notifications/desktop_notification_service.cc @@ -8,6 +8,7 @@ #include "app/resource_bundle.h" #include "base/thread.h" #include "base/utf_string_conversions.h" +#include "chrome/browser/browser_list.h" #include "chrome/browser/child_process_host.h" #include "chrome/browser/chrome_thread.h" #include "chrome/browser/extensions/extensions_service.h" @@ -375,12 +376,18 @@ void DesktopNotificationService::PersistPermissionChange( } void DesktopNotificationService::RequestPermission( - const GURL& origin, int process_id, int route_id, int callback_context, - TabContents* tab) { + const GURL& origin, int process_id, int route_id, int callback_context) { DCHECK(ChromeThread::CurrentlyOn(ChromeThread::UI)); + // Show an info bar requesting permission. + Browser* browser = BrowserList::GetLastActive(); + if (!browser) { + // Reached during ui tests. + return; + } + TabContents* tab = browser->GetSelectedTabContents(); if (!tab) return; - // Show an info bar requesting permission. + std::wstring display_name = DisplayNameForOrigin(origin); tab->AddInfoBar(new NotificationPermissionInfoBarDelegate( |