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

Unified Diff: chrome/browser/printing/cloud_print/privet_notifications.cc

Issue 2027883002: Fix PrivetNotificationService::PrivetNotify() silliness. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: nits Created 4 years, 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/printing/cloud_print/privet_notifications_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/printing/cloud_print/privet_notifications.cc
diff --git a/chrome/browser/printing/cloud_print/privet_notifications.cc b/chrome/browser/printing/cloud_print/privet_notifications.cc
index 8b93ec0dae05d49f4d6727b8c1296de9d85b6580..3ccc57a340fec1cfa41d7b4e3811ca9a7e1351d1 100644
--- a/chrome/browser/printing/cloud_print/privet_notifications.cc
+++ b/chrome/browser/printing/cloud_print/privet_notifications.cc
@@ -91,11 +91,12 @@ void PrivetNotificationsListener::DeviceChanged(
const std::string& name,
const DeviceDescription& description) {
ReportPrivetUmaEvent(PRIVET_DEVICE_CHANGED);
- DeviceContextMap::iterator found = devices_seen_.find(name);
- if (found != devices_seen_.end()) {
+ DeviceContextMap::iterator it = devices_seen_.find(name);
+ if (it != devices_seen_.end()) {
if (!description.id.empty() && // Device is registered
- found->second->notification_may_be_active) {
- found->second->notification_may_be_active = false;
+ it->second->notification_may_be_active) {
+ it->second->notification_may_be_active = false;
+ devices_active_--;
NotifyDeviceRemoved();
}
return; // Already saw this device.
@@ -106,28 +107,29 @@ void PrivetNotificationsListener::DeviceChanged(
device_context->notification_may_be_active = false;
device_context->registered = !description.id.empty();
- if (!device_context->registered) {
- device_context->privet_http_resolution =
- privet_http_factory_->CreatePrivetHTTP(name);
- device_context->privet_http_resolution->Start(
- description.address,
- base::Bind(&PrivetNotificationsListener::CreateInfoOperation,
- base::Unretained(this)));
- }
+ if (device_context->registered)
+ return;
+
+ device_context->privet_http_resolution =
+ privet_http_factory_->CreatePrivetHTTP(name);
+ device_context->privet_http_resolution->Start(
+ description.address,
+ base::Bind(&PrivetNotificationsListener::CreateInfoOperation,
+ base::Unretained(this)));
}
void PrivetNotificationsListener::CreateInfoOperation(
std::unique_ptr<PrivetHTTPClient> http_client) {
- if (!http_client) {
- // Do nothing if resolution fails.
+ // Do nothing if resolution fails.
+ if (!http_client)
return;
- }
std::string name = http_client->GetName();
- DeviceContextMap::iterator device_iter = devices_seen_.find(name);
- if (device_iter == devices_seen_.end())
+ DeviceContextMap::iterator it = devices_seen_.find(name);
+ if (it == devices_seen_.end())
return;
- DeviceContext* device = device_iter->second.get();
+
+ DeviceContext* device = it->second.get();
device->privet_http.swap(http_client);
device->info_operation = device->privet_http->CreateInfoOperation(
base::Bind(&PrivetNotificationsListener::OnPrivetInfoDone,
@@ -154,35 +156,34 @@ void PrivetNotificationsListener::OnPrivetInfoDone(
}
void PrivetNotificationsListener::DeviceRemoved(const std::string& name) {
- DeviceContextMap::iterator device_iter = devices_seen_.find(name);
- if (device_iter == devices_seen_.end())
+ DeviceContextMap::iterator it = devices_seen_.find(name);
+ if (it == devices_seen_.end())
return;
- DeviceContext* device = device_iter->second.get();
+ DeviceContext* device = it->second.get();
device->info_operation.reset();
device->privet_http_resolution.reset();
+ if (!device->notification_may_be_active)
+ return;
+
device->notification_may_be_active = false;
+ devices_active_--;
NotifyDeviceRemoved();
}
void PrivetNotificationsListener::DeviceCacheFlushed() {
- for (DeviceContextMap::iterator i = devices_seen_.begin();
- i != devices_seen_.end(); ++i) {
- DeviceContext* device = i->second.get();
-
+ for (const auto& it : devices_seen_) {
+ DeviceContext* device = it.second.get();
device->info_operation.reset();
device->privet_http_resolution.reset();
- if (device->notification_may_be_active) {
- device->notification_may_be_active = false;
- }
+ device->notification_may_be_active = false;
}
devices_active_ = 0;
- delegate_->PrivetRemoveNotification();
+ NotifyDeviceRemoved();
}
void PrivetNotificationsListener::NotifyDeviceRemoved() {
- devices_active_--;
if (devices_active_ == 0) {
delegate_->PrivetRemoveNotification();
} else {
@@ -237,25 +238,23 @@ bool PrivetNotificationService::IsForced() {
void PrivetNotificationService::PrivetNotify(int devices_active,
bool added) {
- base::string16 product_name = l10n_util::GetStringUTF16(
- IDS_LOCAL_DISCOVERY_SERVICE_NAME_PRINTER);
+ DCHECK_GT(devices_active, 0);
- base::string16 title = l10n_util::GetPluralStringFUTF16(
- IDS_LOCAL_DISCOVERY_NOTIFICATION_TITLE_PRINTER, devices_active);
- base::string16 body = l10n_util::GetPluralStringFUTF16(
- IDS_LOCAL_DISCOVERY_NOTIFICATION_CONTENTS_PRINTER, devices_active);
-
- Profile* profile_object = Profile::FromBrowserContext(profile_);
message_center::RichNotificationData rich_notification_data;
-
rich_notification_data.buttons.push_back(
message_center::ButtonInfo(l10n_util::GetStringUTF16(
IDS_LOCAL_DISCOVERY_NOTIFICATION_BUTTON_PRINTER)));
-
rich_notification_data.buttons.push_back(
message_center::ButtonInfo(l10n_util::GetStringUTF16(
IDS_LOCAL_DISCOVERY_NOTIFICATIONS_DISABLE_BUTTON_LABEL)));
+ base::string16 title = l10n_util::GetPluralStringFUTF16(
+ IDS_LOCAL_DISCOVERY_NOTIFICATION_TITLE_PRINTER, devices_active);
+ base::string16 body = l10n_util::GetPluralStringFUTF16(
+ IDS_LOCAL_DISCOVERY_NOTIFICATION_CONTENTS_PRINTER, devices_active);
+ base::string16 product_name =
+ l10n_util::GetStringUTF16(IDS_LOCAL_DISCOVERY_SERVICE_NAME_PRINTER);
+
Notification notification(
message_center::NOTIFICATION_TYPE_SIMPLE, title, body,
ui::ResourceBundle::GetSharedInstance().GetImageNamed(
@@ -265,13 +264,13 @@ void PrivetNotificationService::PrivetNotify(int devices_active,
product_name, GURL(kPrivetNotificationOriginUrl), kPrivetNotificationID,
rich_notification_data, new PrivetNotificationDelegate(profile_));
- bool updated = g_browser_process->notification_ui_manager()->Update(
- notification, profile_object);
+ auto* notification_ui_manager = g_browser_process->notification_ui_manager();
+ Profile* profile = Profile::FromBrowserContext(profile_);
+ bool updated = notification_ui_manager->Update(notification, profile);
if (!updated && added &&
!local_discovery::LocalDiscoveryUIHandler::GetHasVisible()) {
ReportPrivetUmaEvent(PRIVET_NOTIFICATION_SHOWN);
- g_browser_process->notification_ui_manager()->Add(notification,
- profile_object);
+ notification_ui_manager->Add(notification, profile);
}
}
@@ -313,9 +312,9 @@ void PrivetNotificationService::OnNotificationsEnabledChanged() {
base::Bind(&PrivetNotificationService::StartLister, AsWeakPtr()));
traffic_detector_->Start();
} else {
- traffic_detector_ = NULL;
+ traffic_detector_ = nullptr;
device_lister_.reset();
- service_discovery_client_ = NULL;
+ service_discovery_client_ = nullptr;
privet_notifications_listener_.reset();
}
#else
@@ -323,7 +322,7 @@ void PrivetNotificationService::OnNotificationsEnabledChanged() {
StartLister();
} else {
device_lister_.reset();
- service_discovery_client_ = NULL;
+ service_discovery_client_ = nullptr;
privet_notifications_listener_.reset();
}
#endif
@@ -332,7 +331,7 @@ void PrivetNotificationService::OnNotificationsEnabledChanged() {
void PrivetNotificationService::StartLister() {
ReportPrivetUmaEvent(PRIVET_LISTER_STARTED);
#if defined(ENABLE_MDNS)
- traffic_detector_ = NULL;
+ traffic_detector_ = nullptr;
#endif // ENABLE_MDNS
service_discovery_client_ =
local_discovery::ServiceDiscoverySharedClient::GetInstance();
@@ -366,28 +365,26 @@ void PrivetNotificationDelegate::ButtonClick(int button_index) {
if (button_index == 0) {
ReportPrivetUmaEvent(PRIVET_NOTIFICATION_CLICKED);
OpenTab(GURL(kPrivetNotificationOriginUrl));
- } else if (button_index == 1) {
- ReportPrivetUmaEvent(PRIVET_DISABLE_NOTIFICATIONS_CLICKED);
- DisableNotifications();
+ return;
}
+
+ DCHECK_EQ(1, button_index);
+ ReportPrivetUmaEvent(PRIVET_DISABLE_NOTIFICATIONS_CLICKED);
+ DisableNotifications();
}
void PrivetNotificationDelegate::OpenTab(const GURL& url) {
- Profile* profile_obj = Profile::FromBrowserContext(profile_);
-
- chrome::NavigateParams params(profile_obj,
- url,
- ui::PAGE_TRANSITION_AUTO_TOPLEVEL);
+ Profile* profile = Profile::FromBrowserContext(profile_);
+ chrome::NavigateParams params(profile, url,
+ ui::PAGE_TRANSITION_AUTO_TOPLEVEL);
params.disposition = NEW_FOREGROUND_TAB;
chrome::Navigate(&params);
}
void PrivetNotificationDelegate::DisableNotifications() {
- Profile* profile_obj = Profile::FromBrowserContext(profile_);
-
- profile_obj->GetPrefs()->SetBoolean(
- prefs::kLocalDiscoveryNotificationsEnabled,
- false);
+ Profile* profile = Profile::FromBrowserContext(profile_);
+ profile->GetPrefs()->SetBoolean(prefs::kLocalDiscoveryNotificationsEnabled,
+ false);
}
} // namespace cloud_print
« no previous file with comments | « no previous file | chrome/browser/printing/cloud_print/privet_notifications_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698