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

Unified Diff: chrome/browser/chromeos/network_list.cc

Issue 4169001: Rewritten parts of NetworkLibrary to work around memory corruption that prev... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 2 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 | « chrome/browser/chromeos/network_list.h ('k') | chrome/browser/chromeos/network_message_observer.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/chromeos/network_list.cc
===================================================================
--- chrome/browser/chromeos/network_list.cc (revision 64441)
+++ chrome/browser/chromeos/network_list.cc (working copy)
@@ -65,34 +65,37 @@
IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET);
networks_.push_back(NetworkItem(NETWORK_ETHERNET,
label,
- WifiNetwork(),
- CellularNetwork()));
+ NULL,
+ NULL));
AddNetworkIndexToList(index++, ethernet_connected, ethernet_connecting);
}
// TODO(nkostylev): Show public WiFi networks first.
- WifiNetworkVector wifi = network_lib->wifi_networks();
+ const WifiNetworkVector& wifi = network_lib->wifi_networks();
for (WifiNetworkVector::const_iterator it = wifi.begin();
it != wifi.end(); ++it, ++index) {
networks_.push_back(NetworkItem(NETWORK_WIFI,
- ASCIIToUTF16(it->name()),
+ ASCIIToUTF16((*it)->name()),
*it,
- CellularNetwork()));
- if (network_lib->wifi_network().service_path() == it->service_path()) {
+ NULL));
+ if (network_lib->wifi_network() &&
+ network_lib->wifi_network()->service_path() == (*it)->service_path()) {
AddNetworkIndexToList(index,
network_lib->wifi_connected(),
network_lib->wifi_connecting());
}
}
- CellularNetworkVector cellular = network_lib->cellular_networks();
+ const CellularNetworkVector& cellular = network_lib->cellular_networks();
for (CellularNetworkVector::const_iterator it = cellular.begin();
it != cellular.end(); ++it, ++index) {
networks_.push_back(NetworkItem(NETWORK_CELLULAR,
- ASCIIToUTF16(it->name()),
- WifiNetwork(),
+ ASCIIToUTF16((*it)->name()),
+ NULL,
*it));
- if (network_lib->cellular_network().service_path() == it->service_path()) {
+ if (network_lib->cellular_network() &&
+ network_lib->cellular_network()->service_path() ==
+ (*it)->service_path()) {
AddNetworkIndexToList(index,
network_lib->cellular_connected(),
network_lib->cellular_connecting());
@@ -126,10 +129,11 @@
// Assuming that there's only single Ethernet network.
return true;
case NETWORK_WIFI:
- return id == network->wifi_network.name();
+ return network->wifi_network && id == network->wifi_network->name();
break;
case NETWORK_CELLULAR:
- return id == network->cellular_network.name();
+ return network->cellular_network &&
+ id == network->cellular_network->name();
break;
default:
return false;
« no previous file with comments | « chrome/browser/chromeos/network_list.h ('k') | chrome/browser/chromeos/network_message_observer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698