Index: chrome/browser/chromeos/status/data_promo_notification.cc |
diff --git a/chrome/browser/chromeos/status/data_promo_notification.cc b/chrome/browser/chromeos/status/data_promo_notification.cc |
index 6d1cfcf43c996549729ce4b4a73e4f3f1afdbdd0..a243f4183d8e92d7d69d4f83588af3869facc611 100644 |
--- a/chrome/browser/chromeos/status/data_promo_notification.cc |
+++ b/chrome/browser/chromeos/status/data_promo_notification.cc |
@@ -8,6 +8,8 @@ |
#include "ash/shell_window_ids.h" |
#include "ash/system/chromeos/network/network_observer.h" |
#include "ash/system/tray/system_tray.h" |
+#include "ash/system/tray/system_tray_delegate.h" |
+#include "ash/system/tray/system_tray_observers.h" |
#include "base/utf_string_conversions.h" |
#include "chrome/browser/browser_process.h" |
#include "chrome/browser/chromeos/cros/cros_library.h" |
@@ -202,12 +204,15 @@ void DataPromoNotification::ShowOptionalMobileDataPromoNotification( |
links.push_back(l10n_util::GetStringUTF16(link_message_id)); |
if (!deal_info_url_.empty()) |
links.push_back(l10n_util::GetStringUTF16(IDS_LEARN_MORE)); |
- if (ash::Shell::GetInstance()->system_tray()->network_observer()) { |
- ash::Shell::GetInstance()->system_tray()->network_observer()-> |
+ ash::SystemTrayObservers* observers = |
+ ash::Shell::GetInstance()->tray_delegate()->GetSystemTrayObservers(); |
+ if (observers) { |
+ FOR_EACH_OBSERVER( |
+ ash::NetworkObserver, |
+ observers->network_observers(), |
SetNetworkMessage(listener, ash::NetworkObserver::MESSAGE_DATA_PROMO, |
- string16(), message, links); |
+ string16(), message, links)); |
} |
- |
check_for_promo_ = false; |
SetShow3gPromoNotification(false); |
if (carrier_deal_promo_pref != kNotificationCountPrefDefault) |
@@ -216,10 +221,13 @@ void DataPromoNotification::ShowOptionalMobileDataPromoNotification( |
} |
void DataPromoNotification::CloseNotification() { |
- if (ash::Shell::GetInstance()->status_area_widget() && |
- ash::Shell::GetInstance()->system_tray()->network_observer()) { |
- ash::Shell::GetInstance()->system_tray()->network_observer()-> |
- ClearNetworkMessage(ash::NetworkObserver::MESSAGE_DATA_PROMO); |
+ ash::SystemTrayObservers* observers = |
+ ash::Shell::GetInstance()->tray_delegate()->GetSystemTrayObservers(); |
+ if (observers) { |
+ FOR_EACH_OBSERVER( |
+ ash::NetworkObserver, |
+ observers->network_observers(), |
+ ClearNetworkMessage(ash::NetworkObserver::MESSAGE_DATA_PROMO)); |
} |
} |