| Index: chrome/browser/notifications/platform_notification_service_impl.cc
|
| diff --git a/chrome/browser/notifications/platform_notification_service_impl.cc b/chrome/browser/notifications/platform_notification_service_impl.cc
|
| index d1fb2b2e4e5ab70e6e87da895edeb0636a2178e4..4fbea96d98833a450d0dc7d3b711650c54a53798 100644
|
| --- a/chrome/browser/notifications/platform_notification_service_impl.cc
|
| +++ b/chrome/browser/notifications/platform_notification_service_impl.cc
|
| @@ -28,15 +28,8 @@
|
| #include "url/url_constants.h"
|
|
|
| #if defined(ENABLE_EXTENSIONS)
|
| -#include "chrome/browser/notifications/desktop_notification_service.h"
|
| -#include "chrome/browser/notifications/desktop_notification_service_factory.h"
|
| #include "extensions/browser/extension_registry.h"
|
| -#include "extensions/browser/extension_system.h"
|
| -#include "extensions/browser/info_map.h"
|
| #include "extensions/common/constants.h"
|
| -#include "extensions/common/extension_set.h"
|
| -#include "extensions/common/permissions/api_permission.h"
|
| -#include "extensions/common/permissions/permissions_data.h"
|
| #endif
|
|
|
| #if defined(OS_ANDROID)
|
| @@ -126,53 +119,6 @@ PlatformNotificationServiceImpl::CheckPermissionOnUIThread(
|
| Profile* profile = Profile::FromBrowserContext(browser_context);
|
| DCHECK(profile);
|
|
|
| -#if defined(ENABLE_EXTENSIONS)
|
| - // Extensions support an API permission named "notification". This will grant
|
| - // not only grant permission for using the Chrome App extension API, but also
|
| - // for the Web Notification API.
|
| - extensions::ExtensionRegistry* registry =
|
| - extensions::ExtensionRegistry::Get(browser_context);
|
| - extensions::ProcessMap* process_map =
|
| - extensions::ProcessMap::Get(browser_context);
|
| - extensions::ExtensionSet extensions;
|
| -
|
| - DesktopNotificationService* desktop_notification_service =
|
| - DesktopNotificationServiceFactory::GetForProfile(profile);
|
| - DCHECK(desktop_notification_service);
|
| -
|
| - // If |origin| is an enabled extension, only select that one. Otherwise select
|
| - // all extensions whose web content matches |origin|.
|
| - if (origin.SchemeIs(extensions::kExtensionScheme)) {
|
| - const extensions::Extension* extension = registry->GetExtensionById(
|
| - origin.host(), extensions::ExtensionRegistry::ENABLED);
|
| - if (extension)
|
| - extensions.Insert(extension);
|
| - } else {
|
| - for (const auto& extension : registry->enabled_extensions()) {
|
| - if (extension->web_extent().MatchesSecurityOrigin(origin))
|
| - extensions.Insert(extension);
|
| - }
|
| - }
|
| -
|
| - // Check if any of the selected extensions have the "notification" API
|
| - // permission, are active in |render_process_id| and has not been manually
|
| - // disabled by the user. If all of that is true, grant permission.
|
| - for (const auto& extension : extensions) {
|
| - if (!extension->permissions_data()->HasAPIPermission(
|
| - extensions::APIPermission::kNotifications))
|
| - continue;
|
| -
|
| - if (!process_map->Contains(extension->id(), render_process_id))
|
| - continue;
|
| -
|
| - NotifierId notifier_id(NotifierId::APPLICATION, extension->id());
|
| - if (!desktop_notification_service->IsNotifierEnabled(notifier_id))
|
| - continue;
|
| -
|
| - return blink::WebNotificationPermissionAllowed;
|
| - }
|
| -#endif
|
| -
|
| ContentSetting setting =
|
| DesktopNotificationProfileUtil::GetContentSetting(profile, origin);
|
|
|
| @@ -192,25 +138,7 @@ PlatformNotificationServiceImpl::CheckPermissionOnIOThread(
|
| DCHECK_CURRENTLY_ON(BrowserThread::IO);
|
|
|
| ProfileIOData* io_data = ProfileIOData::FromResourceContext(resource_context);
|
| -#if defined(ENABLE_EXTENSIONS)
|
| - extensions::InfoMap* extension_info_map = io_data->GetExtensionInfoMap();
|
| -
|
| - // We want to see if there is an extension that hasn't been manually disabled
|
| - // that has the notifications permission and applies to this security origin.
|
| - // First, get the list of extensions with permission for the origin.
|
| - extensions::ExtensionSet extensions;
|
| - extension_info_map->GetExtensionsWithAPIPermissionForSecurityOrigin(
|
| - origin,
|
| - render_process_id,
|
| - extensions::APIPermission::kNotifications,
|
| - &extensions);
|
| - for (const auto& extension : extensions) {
|
| - if (!extension_info_map->AreNotificationsDisabled(extension->id()))
|
| - return blink::WebNotificationPermissionAllowed;
|
| - }
|
| -#endif
|
|
|
| - // No enabled extensions exist, so check the normal host content settings.
|
| HostContentSettingsMap* host_content_settings_map =
|
| io_data->GetHostContentSettingsMap();
|
| ContentSetting setting = host_content_settings_map->GetContentSetting(
|
|
|