| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/notifications/desktop_notification_service.h" | 5 #include "chrome/browser/notifications/desktop_notification_service.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/metrics/histogram.h" | 8 #include "base/metrics/histogram.h" |
| 9 #include "base/prefs/scoped_user_pref_update.h" | 9 #include "base/prefs/scoped_user_pref_update.h" |
| 10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 55 void DesktopNotificationService::RegisterProfilePrefs( | 55 void DesktopNotificationService::RegisterProfilePrefs( |
| 56 user_prefs::PrefRegistrySyncable* registry) { | 56 user_prefs::PrefRegistrySyncable* registry) { |
| 57 registry->RegisterListPref( | 57 registry->RegisterListPref( |
| 58 prefs::kMessageCenterDisabledExtensionIds, | 58 prefs::kMessageCenterDisabledExtensionIds, |
| 59 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 59 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 60 registry->RegisterListPref( | 60 registry->RegisterListPref( |
| 61 prefs::kMessageCenterDisabledSystemComponentIds, | 61 prefs::kMessageCenterDisabledSystemComponentIds, |
| 62 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 62 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 63 } | 63 } |
| 64 | 64 |
| 65 // static | |
| 66 std::string DesktopNotificationService::AddIconNotification( | |
| 67 const GURL& origin_url, | |
| 68 const base::string16& title, | |
| 69 const base::string16& message, | |
| 70 const gfx::Image& icon, | |
| 71 const base::string16& replace_id, | |
| 72 NotificationDelegate* delegate, | |
| 73 Profile* profile) { | |
| 74 Notification notification(message_center::NOTIFICATION_TYPE_SIMPLE, | |
| 75 origin_url, | |
| 76 title, | |
| 77 message, | |
| 78 icon, | |
| 79 blink::WebTextDirectionDefault, | |
| 80 NotifierId(origin_url), | |
| 81 base::string16(), | |
| 82 replace_id, | |
| 83 message_center::RichNotificationData(), | |
| 84 delegate); | |
| 85 g_browser_process->notification_ui_manager()->Add(notification, profile); | |
| 86 return notification.delegate_id(); | |
| 87 } | |
| 88 | |
| 89 DesktopNotificationService::DesktopNotificationService(Profile* profile) | 65 DesktopNotificationService::DesktopNotificationService(Profile* profile) |
| 90 : PermissionContextBase(profile, CONTENT_SETTINGS_TYPE_NOTIFICATIONS), | 66 : PermissionContextBase(profile, CONTENT_SETTINGS_TYPE_NOTIFICATIONS), |
| 91 profile_(profile) | 67 profile_(profile) |
| 92 #if defined(ENABLE_EXTENSIONS) | 68 #if defined(ENABLE_EXTENSIONS) |
| 93 , | 69 , |
| 94 extension_registry_observer_(this) | 70 extension_registry_observer_(this) |
| 95 #endif | 71 #endif |
| 96 { | 72 { |
| 97 OnStringListPrefChanged( | 73 OnStringListPrefChanged( |
| 98 prefs::kMessageCenterDisabledExtensionIds, &disabled_extension_ids_); | 74 prefs::kMessageCenterDisabledExtensionIds, &disabled_extension_ids_); |
| (...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 360 // Tell the IO thread that this extension's permission for notifications | 336 // Tell the IO thread that this extension's permission for notifications |
| 361 // has changed. | 337 // has changed. |
| 362 extensions::InfoMap* extension_info_map = | 338 extensions::InfoMap* extension_info_map = |
| 363 extensions::ExtensionSystem::Get(profile_)->info_map(); | 339 extensions::ExtensionSystem::Get(profile_)->info_map(); |
| 364 BrowserThread::PostTask( | 340 BrowserThread::PostTask( |
| 365 BrowserThread::IO, FROM_HERE, | 341 BrowserThread::IO, FROM_HERE, |
| 366 base::Bind(&extensions::InfoMap::SetNotificationsDisabled, | 342 base::Bind(&extensions::InfoMap::SetNotificationsDisabled, |
| 367 extension_info_map, notifier_id.id, !enabled)); | 343 extension_info_map, notifier_id.id, !enabled)); |
| 368 #endif | 344 #endif |
| 369 } | 345 } |
| OLD | NEW |