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

Side by Side Diff: chrome/browser/ui/webui/chromeos/login/network_dropdown.cc

Issue 12729002: Add a unified observer to replace NetworkManagerObserver (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 7 years, 9 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 (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/ui/webui/chromeos/login/network_dropdown.h" 5 #include "chrome/browser/ui/webui/chromeos/login/network_dropdown.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/time.h" 9 #include "base/time.h"
10 #include "base/values.h" 10 #include "base/values.h"
11 #include "chrome/browser/chromeos/cros/cros_library.h"
12 #include "chrome/browser/chromeos/login/base_login_display_host.h" 11 #include "chrome/browser/chromeos/login/base_login_display_host.h"
13 #include "chrome/browser/chromeos/login/login_display_host.h" 12 #include "chrome/browser/chromeos/login/login_display_host.h"
13 #include "chrome/browser/chromeos/net/connectivity_state_helper.h"
14 #include "content/public/browser/web_ui.h" 14 #include "content/public/browser/web_ui.h"
15 #include "ui/base/models/menu_model.h" 15 #include "ui/base/models/menu_model.h"
16 #include "ui/gfx/font.h" 16 #include "ui/gfx/font.h"
17 #include "ui/gfx/image/image.h" 17 #include "ui/gfx/image/image.h"
18 #include "ui/gfx/image/image_skia.h" 18 #include "ui/gfx/image/image_skia.h"
19 #include "ui/webui/web_ui_util.h" 19 #include "ui/webui/web_ui_util.h"
20 20
21 namespace { 21 namespace {
22 22
23 // Timeout between consecutive requests to network library for network 23 // Timeout between consecutive requests to network library for network
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 107
108 // NetworkDropdown ------------------------------------------------------------- 108 // NetworkDropdown -------------------------------------------------------------
109 109
110 NetworkDropdown::NetworkDropdown(content::WebUI* web_ui, 110 NetworkDropdown::NetworkDropdown(content::WebUI* web_ui,
111 bool oobe) 111 bool oobe)
112 : web_ui_(web_ui), 112 : web_ui_(web_ui),
113 oobe_(oobe) { 113 oobe_(oobe) {
114 network_menu_.reset(new NetworkMenuWebUI(this, web_ui)); 114 network_menu_.reset(new NetworkMenuWebUI(this, web_ui));
115 network_icon_.reset( 115 network_icon_.reset(
116 new NetworkMenuIcon(this, NetworkMenuIcon::DROPDOWN_MODE)); 116 new NetworkMenuIcon(this, NetworkMenuIcon::DROPDOWN_MODE));
117 CrosLibrary::Get()->GetNetworkLibrary()->AddNetworkManagerObserver(this); 117 ConnectivityStateHelper::Get()->AddNetworkManagerObserver(this);
118 CrosLibrary::Get()->GetNetworkLibrary()->RequestNetworkScan(); 118 ConnectivityStateHelper::Get()->RequestScan();
119 Refresh(); 119 Refresh();
120 network_scan_timer_.Start(FROM_HERE, 120 network_scan_timer_.Start(FROM_HERE,
121 base::TimeDelta::FromSeconds(kNetworkScanIntervalSecs), 121 base::TimeDelta::FromSeconds(kNetworkScanIntervalSecs),
122 this, &NetworkDropdown::ForceNetworkScan); 122 this, &NetworkDropdown::ForceNetworkScan);
123 } 123 }
124 124
125 NetworkDropdown::~NetworkDropdown() { 125 NetworkDropdown::~NetworkDropdown() {
126 CrosLibrary::Get()->GetNetworkLibrary()->RemoveNetworkManagerObserver(this); 126 ConnectivityStateHelper::Get()->RemoveNetworkManagerObserver(this);
127 } 127 }
128 128
129 void NetworkDropdown::SetLastNetworkType(ConnectionType last_network_type) { 129 void NetworkDropdown::SetLastNetworkType(ConnectionType last_network_type) {
130 // No longer implemented. TODO(stevenjb): Purge from JS. 130 // No longer implemented. TODO(stevenjb): Purge from JS.
131 } 131 }
132 132
133 void NetworkDropdown::OnItemChosen(int id) { 133 void NetworkDropdown::OnItemChosen(int id) {
134 network_menu_->OnItemChosen(id); 134 network_menu_->OnItemChosen(id);
135 } 135 }
136 136
137 gfx::NativeWindow NetworkDropdown::GetNativeWindow() const { 137 gfx::NativeWindow NetworkDropdown::GetNativeWindow() const {
138 return BaseLoginDisplayHost::default_host()->GetNativeWindow(); 138 return BaseLoginDisplayHost::default_host()->GetNativeWindow();
139 } 139 }
140 140
141 void NetworkDropdown::OpenButtonOptions() { 141 void NetworkDropdown::OpenButtonOptions() {
142 BaseLoginDisplayHost::default_host()->OpenProxySettings(); 142 BaseLoginDisplayHost::default_host()->OpenProxySettings();
143 } 143 }
144 144
145 bool NetworkDropdown::ShouldOpenButtonOptions() const { 145 bool NetworkDropdown::ShouldOpenButtonOptions() const {
146 return !oobe_; 146 return !oobe_;
147 } 147 }
148 148
149 void NetworkDropdown::OnNetworkManagerChanged(NetworkLibrary* cros) { 149 void NetworkDropdown::NetworkManagerChanged() {
150 Refresh(); 150 Refresh();
151 } 151 }
152 152
153 void NetworkDropdown::Refresh() { 153 void NetworkDropdown::Refresh() {
154 SetNetworkIconAndText(); 154 SetNetworkIconAndText();
155 network_menu_->UpdateMenu(); 155 network_menu_->UpdateMenu();
156 } 156 }
157 157
158 void NetworkDropdown::NetworkMenuIconChanged() { 158 void NetworkDropdown::NetworkMenuIconChanged() {
159 SetNetworkIconAndText(); 159 SetNetworkIconAndText();
160 } 160 }
161 161
162 void NetworkDropdown::SetNetworkIconAndText() { 162 void NetworkDropdown::SetNetworkIconAndText() {
163 string16 text; 163 string16 text;
164 const gfx::ImageSkia icon_image = network_icon_->GetIconAndText(&text); 164 const gfx::ImageSkia icon_image = network_icon_->GetIconAndText(&text);
165 SkBitmap icon_bitmap = icon_image.GetRepresentation( 165 SkBitmap icon_bitmap = icon_image.GetRepresentation(
166 web_ui_->GetDeviceScaleFactor()).sk_bitmap(); 166 web_ui_->GetDeviceScaleFactor()).sk_bitmap();
167 std::string icon_str = 167 std::string icon_str =
168 icon_image.isNull() ? 168 icon_image.isNull() ?
169 std::string() : webui::GetBitmapDataUrl(icon_bitmap); 169 std::string() : webui::GetBitmapDataUrl(icon_bitmap);
170 base::StringValue title(text); 170 base::StringValue title(text);
171 base::StringValue icon(icon_str); 171 base::StringValue icon(icon_str);
172 web_ui_->CallJavascriptFunction("cr.ui.DropDown.updateNetworkTitle", 172 web_ui_->CallJavascriptFunction("cr.ui.DropDown.updateNetworkTitle",
173 title, icon); 173 title, icon);
174 } 174 }
175 175
176 void NetworkDropdown::ForceNetworkScan() { 176 void NetworkDropdown::ForceNetworkScan() {
177 CrosLibrary::Get()->GetNetworkLibrary()->RequestNetworkScan(); 177 ConnectivityStateHelper::Get()->RequestScan();
178 Refresh(); 178 Refresh();
179 } 179 }
180 180
181 } // namespace chromeos 181 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698