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

Unified Diff: chrome/browser/chromeos/options/network_config_view.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
Index: chrome/browser/chromeos/options/network_config_view.cc
===================================================================
--- chrome/browser/chromeos/options/network_config_view.cc (revision 64441)
+++ chrome/browser/chromeos/options/network_config_view.cc (working copy)
@@ -22,20 +22,20 @@
namespace chromeos {
-NetworkConfigView::NetworkConfigView(EthernetNetwork ethernet)
+NetworkConfigView::NetworkConfigView(const EthernetNetwork* ethernet)
: browser_mode_(true),
flags_(FLAG_ETHERNET | FLAG_SHOW_IPCONFIG),
- ethernet_(ethernet),
+ ethernet_(new EthernetNetwork(*ethernet)),
cellularconfig_view_(NULL),
wificonfig_view_(NULL),
ipconfig_view_(NULL),
delegate_(NULL) {
}
-NetworkConfigView::NetworkConfigView(WifiNetwork wifi, bool login_only)
+NetworkConfigView::NetworkConfigView(const WifiNetwork* wifi, bool login_only)
: browser_mode_(true),
flags_(FLAG_WIFI),
- wifi_(wifi),
+ wifi_(new WifiNetwork(*wifi)),
cellularconfig_view_(NULL),
wificonfig_view_(NULL),
ipconfig_view_(NULL),
@@ -46,10 +46,10 @@
flags_ |= FLAG_SHOW_IPCONFIG;
}
-NetworkConfigView::NetworkConfigView(CellularNetwork cellular)
+NetworkConfigView::NetworkConfigView(const CellularNetwork* cellular)
: browser_mode_(true),
flags_(FLAG_CELLULAR | FLAG_SHOW_IPCONFIG),
- cellular_(cellular),
+ cellular_(new CellularNetwork(*cellular)),
cellularconfig_view_(NULL),
wificonfig_view_(NULL),
ipconfig_view_(NULL),
@@ -59,12 +59,24 @@
NetworkConfigView::NetworkConfigView()
: browser_mode_(true),
flags_(FLAG_WIFI | FLAG_LOGIN_ONLY | FLAG_OTHER_NETWORK),
+ ethernet_(NULL),
+ wifi_(NULL),
+ cellular_(NULL),
cellularconfig_view_(NULL),
wificonfig_view_(NULL),
ipconfig_view_(NULL),
delegate_(NULL) {
}
+NetworkConfigView::~NetworkConfigView() {
+ if (ethernet_)
+ delete ethernet_;
+ if (wifi_)
+ delete wifi_;
+ if (cellular_)
+ delete cellular_;
+}
+
gfx::NativeWindow NetworkConfigView::GetNativeWindow() const {
return GTK_WINDOW(static_cast<WidgetGtk*>(GetWidget())->GetNativeView());
}
@@ -114,9 +126,9 @@
if (flags_ & FLAG_OTHER_NETWORK)
return l10n_util::GetString(IDS_OPTIONS_SETTINGS_OTHER_NETWORKS);
if (flags_ & FLAG_WIFI)
- return ASCIIToWide(wifi_.name());
+ return ASCIIToWide(wifi_->name());
if (flags_ & FLAG_CELLULAR)
- return ASCIIToWide(cellular_.name());
+ return ASCIIToWide(cellular_->name());
return l10n_util::GetString(IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET);
}
@@ -194,11 +206,11 @@
if (flags_ & FLAG_SHOW_IPCONFIG) {
if (flags_ & FLAG_WIFI)
- ipconfig_view_ = new IPConfigView(wifi_.device_path());
+ ipconfig_view_ = new IPConfigView(wifi_->device_path());
else if (flags_ & FLAG_CELLULAR)
- ipconfig_view_ = new IPConfigView(cellular_.device_path());
+ ipconfig_view_ = new IPConfigView(cellular_->device_path());
else
- ipconfig_view_ = new IPConfigView(ethernet_.device_path());
+ ipconfig_view_ = new IPConfigView(ethernet_->device_path());
tabs_->AddTab(
l10n_util::GetString(IDS_OPTIONS_SETTINGS_SECTION_TITLE_IP_CONFIG),
ipconfig_view_);
« no previous file with comments | « chrome/browser/chromeos/options/network_config_view.h ('k') | chrome/browser/chromeos/options/wifi_config_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698