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/metrics/histogram.h" | 7 #include "base/metrics/histogram.h" |
8 #include "base/prefs/scoped_user_pref_update.h" | 8 #include "base/prefs/scoped_user_pref_update.h" |
9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
10 #include "base/threading/thread.h" | 10 #include "base/threading/thread.h" |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 NotificationPermissionRequest( | 70 NotificationPermissionRequest( |
71 DesktopNotificationService* notification_service, | 71 DesktopNotificationService* notification_service, |
72 const GURL& origin, | 72 const GURL& origin, |
73 base::string16 display_name, | 73 base::string16 display_name, |
74 int process_id, | 74 int process_id, |
75 int route_id, | 75 int route_id, |
76 int callback_context); | 76 int callback_context); |
77 virtual ~NotificationPermissionRequest(); | 77 virtual ~NotificationPermissionRequest(); |
78 | 78 |
79 // PermissionBubbleDelegate: | 79 // PermissionBubbleDelegate: |
| 80 virtual int GetIconID() const OVERRIDE; |
80 virtual base::string16 GetMessageText() const OVERRIDE; | 81 virtual base::string16 GetMessageText() const OVERRIDE; |
81 virtual base::string16 GetMessageTextFragment() const OVERRIDE; | 82 virtual base::string16 GetMessageTextFragment() const OVERRIDE; |
82 virtual base::string16 GetAlternateAcceptButtonText() const OVERRIDE; | 83 virtual bool HasUserGesture() const OVERRIDE; |
83 virtual base::string16 GetAlternateDenyButtonText() const OVERRIDE; | |
84 virtual void PermissionGranted() OVERRIDE; | 84 virtual void PermissionGranted() OVERRIDE; |
85 virtual void PermissionDenied() OVERRIDE; | 85 virtual void PermissionDenied() OVERRIDE; |
86 virtual void Cancelled() OVERRIDE; | 86 virtual void Cancelled() OVERRIDE; |
87 virtual void RequestFinished() OVERRIDE; | 87 virtual void RequestFinished() OVERRIDE; |
88 | 88 |
89 private: | 89 private: |
90 // The notification service to be used. | 90 // The notification service to be used. |
91 DesktopNotificationService* notification_service_; | 91 DesktopNotificationService* notification_service_; |
92 | 92 |
93 // The origin we are asking for permissions on. | 93 // The origin we are asking for permissions on. |
(...skipping 25 matching lines...) Expand all Loading... |
119 : notification_service_(notification_service), | 119 : notification_service_(notification_service), |
120 origin_(origin), | 120 origin_(origin), |
121 display_name_(display_name), | 121 display_name_(display_name), |
122 process_id_(process_id), | 122 process_id_(process_id), |
123 route_id_(route_id), | 123 route_id_(route_id), |
124 callback_context_(callback_context), | 124 callback_context_(callback_context), |
125 action_taken_(false) {} | 125 action_taken_(false) {} |
126 | 126 |
127 NotificationPermissionRequest::~NotificationPermissionRequest() {} | 127 NotificationPermissionRequest::~NotificationPermissionRequest() {} |
128 | 128 |
| 129 int NotificationPermissionRequest::GetIconID() const { |
| 130 return IDR_INFOBAR_DESKTOP_NOTIFICATIONS; |
| 131 } |
| 132 |
129 base::string16 NotificationPermissionRequest::GetMessageText() const { | 133 base::string16 NotificationPermissionRequest::GetMessageText() const { |
130 return l10n_util::GetStringFUTF16(IDS_NOTIFICATION_PERMISSIONS, | 134 return l10n_util::GetStringFUTF16(IDS_NOTIFICATION_PERMISSIONS, |
131 display_name_); | 135 display_name_); |
132 } | 136 } |
133 | 137 |
134 base::string16 | 138 base::string16 |
135 NotificationPermissionRequest::GetMessageTextFragment() const { | 139 NotificationPermissionRequest::GetMessageTextFragment() const { |
136 return l10n_util::GetStringUTF16(IDS_NOTIFICATION_PERMISSIONS_FRAGMENT); | 140 return l10n_util::GetStringUTF16(IDS_NOTIFICATION_PERMISSIONS_FRAGMENT); |
137 } | 141 } |
138 | 142 |
139 base::string16 | 143 bool NotificationPermissionRequest::HasUserGesture() const { |
140 NotificationPermissionRequest::GetAlternateAcceptButtonText() const { | 144 // TODO(gbillock): plumb this through |
141 return l10n_util::GetStringUTF16(IDS_NOTIFICATION_PERMISSION_YES); | 145 return false; |
142 } | |
143 | |
144 base::string16 | |
145 NotificationPermissionRequest::GetAlternateDenyButtonText() const { | |
146 return l10n_util::GetStringUTF16(IDS_NOTIFICATION_PERMISSION_NO); | |
147 } | 146 } |
148 | 147 |
149 void NotificationPermissionRequest::PermissionGranted() { | 148 void NotificationPermissionRequest::PermissionGranted() { |
150 action_taken_ = true; | 149 action_taken_ = true; |
151 UMA_HISTOGRAM_COUNTS("NotificationPermissionRequest.Allowed", 1); | 150 UMA_HISTOGRAM_COUNTS("NotificationPermissionRequest.Allowed", 1); |
152 notification_service_->GrantPermission(origin_); | 151 notification_service_->GrantPermission(origin_); |
153 } | 152 } |
154 | 153 |
155 void NotificationPermissionRequest::PermissionDenied() { | 154 void NotificationPermissionRequest::PermissionDenied() { |
156 action_taken_ = true; | 155 action_taken_ = true; |
(...skipping 649 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
806 // Tell the IO thread that this extension's permission for notifications | 805 // Tell the IO thread that this extension's permission for notifications |
807 // has changed. | 806 // has changed. |
808 extensions::InfoMap* extension_info_map = | 807 extensions::InfoMap* extension_info_map = |
809 extensions::ExtensionSystem::Get(profile_)->info_map(); | 808 extensions::ExtensionSystem::Get(profile_)->info_map(); |
810 BrowserThread::PostTask( | 809 BrowserThread::PostTask( |
811 BrowserThread::IO, FROM_HERE, | 810 BrowserThread::IO, FROM_HERE, |
812 base::Bind(&extensions::InfoMap::SetNotificationsDisabled, | 811 base::Bind(&extensions::InfoMap::SetNotificationsDisabled, |
813 extension_info_map, notifier_id.id, !enabled)); | 812 extension_info_map, notifier_id.id, !enabled)); |
814 | 813 |
815 } | 814 } |
OLD | NEW |