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

Side by Side Diff: chrome/browser/chromeos/status/data_promo_notification.cc

Issue 11312139: Add SystemTrayObservers (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 1 month 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 (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/chromeos/status/data_promo_notification.h" 5 #include "chrome/browser/chromeos/status/data_promo_notification.h"
6 6
7 #include "ash/shell.h" 7 #include "ash/shell.h"
8 #include "ash/shell_window_ids.h" 8 #include "ash/shell_window_ids.h"
9 #include "ash/system/chromeos/network/network_observer.h" 9 #include "ash/system/chromeos/network/network_observer.h"
10 #include "ash/system/tray/system_tray.h" 10 #include "ash/system/tray/system_tray.h"
11 #include "ash/system/tray/system_tray_delegate.h"
12 #include "ash/system/tray/system_tray_observers.h"
11 #include "base/utf_string_conversions.h" 13 #include "base/utf_string_conversions.h"
12 #include "chrome/browser/browser_process.h" 14 #include "chrome/browser/browser_process.h"
13 #include "chrome/browser/chromeos/cros/cros_library.h" 15 #include "chrome/browser/chromeos/cros/cros_library.h"
14 #include "chrome/browser/chromeos/cros/network_library.h" 16 #include "chrome/browser/chromeos/cros/network_library.h"
15 #include "chrome/browser/chromeos/login/helper.h" 17 #include "chrome/browser/chromeos/login/helper.h"
16 #include "chrome/browser/chromeos/login/user_manager.h" 18 #include "chrome/browser/chromeos/login/user_manager.h"
17 #include "chrome/browser/chromeos/mobile_config.h" 19 #include "chrome/browser/chromeos/mobile_config.h"
18 #include "chrome/browser/prefs/pref_service.h" 20 #include "chrome/browser/prefs/pref_service.h"
19 #include "chrome/browser/profiles/profile.h" 21 #include "chrome/browser/profiles/profile.h"
20 #include "chrome/browser/profiles/profile_manager.h" 22 #include "chrome/browser/profiles/profile_manager.h"
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 int link_message_id; 197 int link_message_id;
196 if (deal_topup_url_.empty()) 198 if (deal_topup_url_.empty())
197 link_message_id = IDS_OFFLINE_NETWORK_SETTINGS; 199 link_message_id = IDS_OFFLINE_NETWORK_SETTINGS;
198 else 200 else
199 link_message_id = IDS_STATUSBAR_NETWORK_VIEW_ACCOUNT; 201 link_message_id = IDS_STATUSBAR_NETWORK_VIEW_ACCOUNT;
200 202
201 std::vector<string16> links; 203 std::vector<string16> links;
202 links.push_back(l10n_util::GetStringUTF16(link_message_id)); 204 links.push_back(l10n_util::GetStringUTF16(link_message_id));
203 if (!deal_info_url_.empty()) 205 if (!deal_info_url_.empty())
204 links.push_back(l10n_util::GetStringUTF16(IDS_LEARN_MORE)); 206 links.push_back(l10n_util::GetStringUTF16(IDS_LEARN_MORE));
205 if (ash::Shell::GetInstance()->system_tray()->network_observer()) { 207 ash::SystemTrayObservers* observers =
206 ash::Shell::GetInstance()->system_tray()->network_observer()-> 208 ash::Shell::GetInstance()->tray_delegate()->GetSystemTrayObservers();
209 if (observers) {
210 FOR_EACH_OBSERVER(
211 ash::NetworkObserver,
212 observers->network_observers(),
207 SetNetworkMessage(listener, ash::NetworkObserver::MESSAGE_DATA_PROMO, 213 SetNetworkMessage(listener, ash::NetworkObserver::MESSAGE_DATA_PROMO,
208 string16(), message, links); 214 string16(), message, links));
209 } 215 }
210
211 check_for_promo_ = false; 216 check_for_promo_ = false;
212 SetShow3gPromoNotification(false); 217 SetShow3gPromoNotification(false);
213 if (carrier_deal_promo_pref != kNotificationCountPrefDefault) 218 if (carrier_deal_promo_pref != kNotificationCountPrefDefault)
214 SetCarrierDealPromoShown(carrier_deal_promo_pref + 1); 219 SetCarrierDealPromoShown(carrier_deal_promo_pref + 1);
215 } 220 }
216 } 221 }
217 222
218 void DataPromoNotification::CloseNotification() { 223 void DataPromoNotification::CloseNotification() {
219 if (ash::Shell::GetInstance()->status_area_widget() && 224 ash::SystemTrayObservers* observers =
220 ash::Shell::GetInstance()->system_tray()->network_observer()) { 225 ash::Shell::GetInstance()->tray_delegate()->GetSystemTrayObservers();
221 ash::Shell::GetInstance()->system_tray()->network_observer()-> 226 if (observers) {
222 ClearNetworkMessage(ash::NetworkObserver::MESSAGE_DATA_PROMO); 227 FOR_EACH_OBSERVER(
228 ash::NetworkObserver,
229 observers->network_observers(),
230 ClearNetworkMessage(ash::NetworkObserver::MESSAGE_DATA_PROMO));
223 } 231 }
224 } 232 }
225 233
226 } // namespace chromeos 234 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698