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

Side by Side Diff: content/shell/browser/layout_test/layout_test_notification_manager.cc

Issue 661643002: Adds a context message of the security origin for web notifications. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Adds a bug reference. Created 5 years, 10 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "content/shell/browser/layout_test/layout_test_notification_manager.h" 5 #include "content/shell/browser/layout_test/layout_test_notification_manager.h"
6 6
7 #include "base/guid.h" 7 #include "base/guid.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "content/public/browser/browser_thread.h" 9 #include "content/public/browser/browser_thread.h"
10 #include "content/public/browser/desktop_notification_delegate.h" 10 #include "content/public/browser/desktop_notification_delegate.h"
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 59 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
60 permission_map_.clear(); 60 permission_map_.clear();
61 } 61 }
62 62
63 void LayoutTestNotificationManager::DisplayNotification( 63 void LayoutTestNotificationManager::DisplayNotification(
64 BrowserContext* browser_context, 64 BrowserContext* browser_context,
65 const GURL& origin, 65 const GURL& origin,
66 const SkBitmap& icon, 66 const SkBitmap& icon,
67 const PlatformNotificationData& notification_data, 67 const PlatformNotificationData& notification_data,
68 scoped_ptr<DesktopNotificationDelegate> delegate, 68 scoped_ptr<DesktopNotificationDelegate> delegate,
69 int render_process_id,
70 base::Closure* cancel_callback) { 69 base::Closure* cancel_callback) {
71 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 70 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
72 std::string title = base::UTF16ToUTF8(notification_data.title); 71 std::string title = base::UTF16ToUTF8(notification_data.title);
73 72
74 DCHECK(cancel_callback); 73 DCHECK(cancel_callback);
75 *cancel_callback = base::Bind(&LayoutTestNotificationManager::Close, 74 *cancel_callback = base::Bind(&LayoutTestNotificationManager::Close,
76 weak_factory_.GetWeakPtr(), 75 weak_factory_.GetWeakPtr(),
77 title); 76 title);
78 77
79 ReplaceNotificationIfNeeded(notification_data); 78 ReplaceNotificationIfNeeded(notification_data);
80 79
81 page_notifications_[title] = delegate.release(); 80 page_notifications_[title] = delegate.release();
82 page_notifications_[title]->NotificationDisplayed(); 81 page_notifications_[title]->NotificationDisplayed();
83 } 82 }
84 83
85 void LayoutTestNotificationManager::DisplayPersistentNotification( 84 void LayoutTestNotificationManager::DisplayPersistentNotification(
86 BrowserContext* browser_context, 85 BrowserContext* browser_context,
87 int64 service_worker_registration_id, 86 int64 service_worker_registration_id,
88 const GURL& origin, 87 const GURL& origin,
89 const SkBitmap& icon, 88 const SkBitmap& icon,
90 const PlatformNotificationData& notification_data, 89 const PlatformNotificationData& notification_data) {
91 int render_process_id) {
92 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 90 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
93 std::string title = base::UTF16ToUTF8(notification_data.title); 91 std::string title = base::UTF16ToUTF8(notification_data.title);
94 92
95 ReplaceNotificationIfNeeded(notification_data); 93 ReplaceNotificationIfNeeded(notification_data);
96 94
97 PersistentNotification notification; 95 PersistentNotification notification;
98 notification.browser_context = browser_context; 96 notification.browser_context = browser_context;
99 notification.origin = origin; 97 notification.origin = origin;
100 notification.notification_data = notification_data; 98 notification.notification_data = notification_data;
101 notification.service_worker_registration_id = service_worker_registration_id; 99 notification.service_worker_registration_id = service_worker_registration_id;
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 const auto& persistent_notification_iter = 174 const auto& persistent_notification_iter =
177 persistent_notifications_.find(previous_title); 175 persistent_notifications_.find(previous_title);
178 if (persistent_notification_iter != persistent_notifications_.end()) 176 if (persistent_notification_iter != persistent_notifications_.end())
179 persistent_notifications_.erase(persistent_notification_iter); 177 persistent_notifications_.erase(persistent_notification_iter);
180 } 178 }
181 179
182 replacements_[replace_id] = base::UTF16ToUTF8(notification_data.title); 180 replacements_[replace_id] = base::UTF16ToUTF8(notification_data.title);
183 } 181 }
184 182
185 } // namespace content 183 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698