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

Side by Side Diff: chrome/browser/local_discovery/privet_notifications.cc

Issue 23851008: Added cache flush on network change to ServiceDiscoveryHostClient (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/local_discovery/privet_notifications.h" 5 #include "chrome/browser/local_discovery/privet_notifications.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/message_loop/message_loop.h" 8 #include "base/message_loop/message_loop.h"
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "chrome/browser/local_discovery/privet_device_lister_impl.h" 10 #include "chrome/browser/local_discovery/privet_device_lister_impl.h"
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 DeviceContextMap::iterator device_iter = devices_seen_.find(name); 118 DeviceContextMap::iterator device_iter = devices_seen_.find(name);
119 DCHECK(device_iter != devices_seen_.end()); 119 DCHECK(device_iter != devices_seen_.end());
120 DeviceContext* device = device_iter->second.get(); 120 DeviceContext* device = device_iter->second.get();
121 121
122 device->info_operation.reset(); 122 device->info_operation.reset();
123 device->privet_http_resolution.reset(); 123 device->privet_http_resolution.reset();
124 device->notification_may_be_active = false; 124 device->notification_may_be_active = false;
125 delegate_->PrivetRemoveNotification(name); 125 delegate_->PrivetRemoveNotification(name);
126 } 126 }
127 127
128 void PrivetNotificationsListener::DeviceCacheFlushed() {
129 for (DeviceContextMap::iterator i = devices_seen_.begin();
130 i != devices_seen_.end(); ++i) {
131 DeviceContext* device = i->second.get();
132
133 device->info_operation.reset();
134 device->privet_http_resolution.reset();
135 if (device->notification_may_be_active) {
136 device->notification_may_be_active = false;
137 delegate_->PrivetRemoveNotification(i->first);
138 }
139 }
140 }
141
128 PrivetNotificationsListener::DeviceContext::DeviceContext() { 142 PrivetNotificationsListener::DeviceContext::DeviceContext() {
129 } 143 }
130 144
131 PrivetNotificationsListener::DeviceContext::~DeviceContext() { 145 PrivetNotificationsListener::DeviceContext::~DeviceContext() {
132 } 146 }
133 147
134 PrivetNotificationService::PrivetNotificationService( 148 PrivetNotificationService::PrivetNotificationService(
135 content::BrowserContext* profile, 149 content::BrowserContext* profile,
136 NotificationUIManager* notification_manager) 150 NotificationUIManager* notification_manager)
137 : profile_(profile), 151 : profile_(profile),
(...skipping 11 matching lines...) Expand all
149 bool added, 163 bool added,
150 const std::string& name, 164 const std::string& name,
151 const DeviceDescription& description) { 165 const DeviceDescription& description) {
152 privet_notifications_listener_->DeviceChanged(added, name, description); 166 privet_notifications_listener_->DeviceChanged(added, name, description);
153 } 167 }
154 168
155 void PrivetNotificationService::DeviceRemoved(const std::string& name) { 169 void PrivetNotificationService::DeviceRemoved(const std::string& name) {
156 privet_notifications_listener_->DeviceRemoved(name); 170 privet_notifications_listener_->DeviceRemoved(name);
157 } 171 }
158 172
173 void PrivetNotificationService::DeviceCacheFlushed() {
174 privet_notifications_listener_->DeviceCacheFlushed();
175 }
176
159 void PrivetNotificationService::PrivetNotify( 177 void PrivetNotificationService::PrivetNotify(
160 const std::string& device_name, 178 const std::string& device_name,
161 const std::string& human_readable_name, 179 const std::string& human_readable_name,
162 const std::string& description) { 180 const std::string& description) {
163 if (!LocalDiscoveryUIHandler::GetHasVisible()) { 181 if (!LocalDiscoveryUIHandler::GetHasVisible()) {
164 Profile* profile_object = Profile::FromBrowserContext(profile_); 182 Profile* profile_object = Profile::FromBrowserContext(profile_);
165 message_center::RichNotificationData rich_notification_data; 183 message_center::RichNotificationData rich_notification_data;
166 184
167 rich_notification_data.buttons.push_back( 185 rich_notification_data.buttons.push_back(
168 message_center::ButtonInfo(l10n_util::GetStringUTF16( 186 message_center::ButtonInfo(l10n_util::GetStringUTF16(
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
259 contents->GetController().LoadURL(url, 277 contents->GetController().LoadURL(url,
260 content::Referrer(), 278 content::Referrer(),
261 content::PAGE_TRANSITION_AUTO_TOPLEVEL, 279 content::PAGE_TRANSITION_AUTO_TOPLEVEL,
262 ""); 280 "");
263 281
264 browser->tab_strip_model()->AppendWebContents(contents.release(), true); 282 browser->tab_strip_model()->AppendWebContents(contents.release(), true);
265 } 283 }
266 284
267 285
268 } // namespace local_discovery 286 } // namespace local_discovery
OLDNEW
« no previous file with comments | « chrome/browser/local_discovery/privet_notifications.h ('k') | chrome/browser/local_discovery/service_discovery_host_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698