Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(232)

Side by Side Diff: chrome/browser/notifications/desktop_notification_service.cc

Issue 582673002: Fixed Build breaks while notification is enabled and extension is disabled. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 Notification notification(origin_url, icon, title, message, 91 Notification notification(origin_url, icon, title, message,
92 blink::WebTextDirectionDefault, 92 blink::WebTextDirectionDefault,
93 base::string16(), replace_id, delegate); 93 base::string16(), replace_id, delegate);
94 g_browser_process->notification_ui_manager()->Add(notification, profile); 94 g_browser_process->notification_ui_manager()->Add(notification, profile);
95 return notification.delegate_id(); 95 return notification.delegate_id();
96 } 96 }
97 97
98 DesktopNotificationService::DesktopNotificationService(Profile* profile) 98 DesktopNotificationService::DesktopNotificationService(Profile* profile)
99 : PermissionContextBase(profile, CONTENT_SETTINGS_TYPE_NOTIFICATIONS), 99 : PermissionContextBase(profile, CONTENT_SETTINGS_TYPE_NOTIFICATIONS),
100 profile_(profile), 100 profile_(profile),
101 #if defined(ENABLE_EXTENSION)
dewittj 2014/09/19 17:33:05 this should be ENABLE_EXTENSIONS
Jitu( very slow this week) 2014/09/22 05:49:44 Done.
101 extension_registry_observer_(this), 102 extension_registry_observer_(this),
103 #endif
102 weak_factory_(this) { 104 weak_factory_(this) {
103 OnStringListPrefChanged( 105 OnStringListPrefChanged(
104 prefs::kMessageCenterDisabledExtensionIds, &disabled_extension_ids_); 106 prefs::kMessageCenterDisabledExtensionIds, &disabled_extension_ids_);
105 OnStringListPrefChanged( 107 OnStringListPrefChanged(
106 prefs::kMessageCenterDisabledSystemComponentIds, 108 prefs::kMessageCenterDisabledSystemComponentIds,
107 &disabled_system_component_ids_); 109 &disabled_system_component_ids_);
108 disabled_extension_id_pref_.Init( 110 disabled_extension_id_pref_.Init(
109 prefs::kMessageCenterDisabledExtensionIds, 111 prefs::kMessageCenterDisabledExtensionIds,
110 profile_->GetPrefs(), 112 profile_->GetPrefs(),
111 base::Bind( 113 base::Bind(
112 &DesktopNotificationService::OnStringListPrefChanged, 114 &DesktopNotificationService::OnStringListPrefChanged,
113 base::Unretained(this), 115 base::Unretained(this),
114 base::Unretained(prefs::kMessageCenterDisabledExtensionIds), 116 base::Unretained(prefs::kMessageCenterDisabledExtensionIds),
115 base::Unretained(&disabled_extension_ids_))); 117 base::Unretained(&disabled_extension_ids_)));
116 disabled_system_component_id_pref_.Init( 118 disabled_system_component_id_pref_.Init(
117 prefs::kMessageCenterDisabledSystemComponentIds, 119 prefs::kMessageCenterDisabledSystemComponentIds,
118 profile_->GetPrefs(), 120 profile_->GetPrefs(),
119 base::Bind( 121 base::Bind(
120 &DesktopNotificationService::OnStringListPrefChanged, 122 &DesktopNotificationService::OnStringListPrefChanged,
121 base::Unretained(this), 123 base::Unretained(this),
122 base::Unretained(prefs::kMessageCenterDisabledSystemComponentIds), 124 base::Unretained(prefs::kMessageCenterDisabledSystemComponentIds),
123 base::Unretained(&disabled_system_component_ids_))); 125 base::Unretained(&disabled_system_component_ids_)));
126 #if defined(ENABLE_EXTENSION)
dewittj 2014/09/19 17:33:05 Same.
Jitu( very slow this week) 2014/09/22 05:49:44 Done.
124 extension_registry_observer_.Add( 127 extension_registry_observer_.Add(
125 extensions::ExtensionRegistry::Get(profile_)); 128 extensions::ExtensionRegistry::Get(profile_));
129 #endif
126 } 130 }
127 131
128 DesktopNotificationService::~DesktopNotificationService() { 132 DesktopNotificationService::~DesktopNotificationService() {
129 } 133 }
130 134
131 void DesktopNotificationService::RequestNotificationPermission( 135 void DesktopNotificationService::RequestNotificationPermission(
132 content::WebContents* web_contents, 136 content::WebContents* web_contents,
133 const PermissionRequestID& request_id, 137 const PermissionRequestID& request_id,
134 const GURL& requesting_frame, 138 const GURL& requesting_frame,
135 bool user_gesture, 139 bool user_gesture,
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
283 const base::ListValue* pref_list = pref_service->GetList(pref_name); 287 const base::ListValue* pref_list = pref_service->GetList(pref_name);
284 for (size_t i = 0; i < pref_list->GetSize(); ++i) { 288 for (size_t i = 0; i < pref_list->GetSize(); ++i) {
285 std::string element; 289 std::string element;
286 if (pref_list->GetString(i, &element) && !element.empty()) 290 if (pref_list->GetString(i, &element) && !element.empty())
287 ids_field->insert(element); 291 ids_field->insert(element);
288 else 292 else
289 LOG(WARNING) << i << "-th element is not a string for " << pref_name; 293 LOG(WARNING) << i << "-th element is not a string for " << pref_name;
290 } 294 }
291 } 295 }
292 296
297 #if defined(ENABLE_EXTENSIONS)
293 void DesktopNotificationService::OnExtensionUninstalled( 298 void DesktopNotificationService::OnExtensionUninstalled(
294 content::BrowserContext* browser_context, 299 content::BrowserContext* browser_context,
295 const extensions::Extension* extension, 300 const extensions::Extension* extension,
296 extensions::UninstallReason reason) { 301 extensions::UninstallReason reason) {
297 #if defined(ENABLE_EXTENSIONS)
298 NotifierId notifier_id(NotifierId::APPLICATION, extension->id()); 302 NotifierId notifier_id(NotifierId::APPLICATION, extension->id());
299 if (IsNotifierEnabled(notifier_id)) 303 if (IsNotifierEnabled(notifier_id))
300 return; 304 return;
301 305
302 // The settings for ephemeral apps will be persisted across cache evictions. 306 // The settings for ephemeral apps will be persisted across cache evictions.
303 if (extensions::util::IsEphemeralApp(extension->id(), profile_)) 307 if (extensions::util::IsEphemeralApp(extension->id(), profile_))
304 return; 308 return;
305 309
306 SetNotifierEnabled(notifier_id, true); 310 SetNotifierEnabled(notifier_id, true);
311 }
307 #endif 312 #endif
308 }
309 313
310 void DesktopNotificationService::OnNotificationPermissionRequested( 314 void DesktopNotificationService::OnNotificationPermissionRequested(
311 const NotificationPermissionCallback& callback, bool allowed) { 315 const NotificationPermissionCallback& callback, bool allowed) {
312 blink::WebNotificationPermission permission = allowed ? 316 blink::WebNotificationPermission permission = allowed ?
313 blink::WebNotificationPermissionAllowed : 317 blink::WebNotificationPermissionAllowed :
314 blink::WebNotificationPermissionDenied; 318 blink::WebNotificationPermissionDenied;
315 319
316 callback.Run(permission); 320 callback.Run(permission);
317 } 321 }
318 322
(...skipping 16 matching lines...) Expand all
335 // Tell the IO thread that this extension's permission for notifications 339 // Tell the IO thread that this extension's permission for notifications
336 // has changed. 340 // has changed.
337 extensions::InfoMap* extension_info_map = 341 extensions::InfoMap* extension_info_map =
338 extensions::ExtensionSystem::Get(profile_)->info_map(); 342 extensions::ExtensionSystem::Get(profile_)->info_map();
339 BrowserThread::PostTask( 343 BrowserThread::PostTask(
340 BrowserThread::IO, FROM_HERE, 344 BrowserThread::IO, FROM_HERE,
341 base::Bind(&extensions::InfoMap::SetNotificationsDisabled, 345 base::Bind(&extensions::InfoMap::SetNotificationsDisabled,
342 extension_info_map, notifier_id.id, !enabled)); 346 extension_info_map, notifier_id.id, !enabled));
343 #endif 347 #endif
344 } 348 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698