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

Side by Side 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, 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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/options/network_config_view.h" 5 #include "chrome/browser/chromeos/options/network_config_view.h"
6 6
7 #include "app/l10n_util.h" 7 #include "app/l10n_util.h"
8 #include "base/string_util.h" 8 #include "base/string_util.h"
9 #include "base/utf_string_conversions.h" 9 #include "base/utf_string_conversions.h"
10 #include "chrome/browser/chromeos/options/cellular_config_view.h" 10 #include "chrome/browser/chromeos/options/cellular_config_view.h"
11 #include "chrome/browser/chromeos/options/ip_config_view.h" 11 #include "chrome/browser/chromeos/options/ip_config_view.h"
12 #include "chrome/browser/chromeos/options/wifi_config_view.h" 12 #include "chrome/browser/chromeos/options/wifi_config_view.h"
13 #include "grit/chromium_strings.h" 13 #include "grit/chromium_strings.h"
14 #include "grit/generated_resources.h" 14 #include "grit/generated_resources.h"
15 #include "grit/locale_settings.h" 15 #include "grit/locale_settings.h"
16 #include "views/grid_layout.h" 16 #include "views/grid_layout.h"
17 #include "views/standard_layout.h" 17 #include "views/standard_layout.h"
18 #include "views/widget/widget_gtk.h" 18 #include "views/widget/widget_gtk.h"
19 #include "views/window/window.h" 19 #include "views/window/window.h"
20 20
21 using views::WidgetGtk; 21 using views::WidgetGtk;
22 22
23 namespace chromeos { 23 namespace chromeos {
24 24
25 NetworkConfigView::NetworkConfigView(EthernetNetwork ethernet) 25 NetworkConfigView::NetworkConfigView(const EthernetNetwork* ethernet)
26 : browser_mode_(true), 26 : browser_mode_(true),
27 flags_(FLAG_ETHERNET | FLAG_SHOW_IPCONFIG), 27 flags_(FLAG_ETHERNET | FLAG_SHOW_IPCONFIG),
28 ethernet_(ethernet), 28 ethernet_(new EthernetNetwork(*ethernet)),
29 cellularconfig_view_(NULL), 29 cellularconfig_view_(NULL),
30 wificonfig_view_(NULL), 30 wificonfig_view_(NULL),
31 ipconfig_view_(NULL), 31 ipconfig_view_(NULL),
32 delegate_(NULL) { 32 delegate_(NULL) {
33 } 33 }
34 34
35 NetworkConfigView::NetworkConfigView(WifiNetwork wifi, bool login_only) 35 NetworkConfigView::NetworkConfigView(const WifiNetwork* wifi, bool login_only)
36 : browser_mode_(true), 36 : browser_mode_(true),
37 flags_(FLAG_WIFI), 37 flags_(FLAG_WIFI),
38 wifi_(wifi), 38 wifi_(new WifiNetwork(*wifi)),
39 cellularconfig_view_(NULL), 39 cellularconfig_view_(NULL),
40 wificonfig_view_(NULL), 40 wificonfig_view_(NULL),
41 ipconfig_view_(NULL), 41 ipconfig_view_(NULL),
42 delegate_(NULL) { 42 delegate_(NULL) {
43 if (login_only) 43 if (login_only)
44 flags_ |= FLAG_LOGIN_ONLY; 44 flags_ |= FLAG_LOGIN_ONLY;
45 else 45 else
46 flags_ |= FLAG_SHOW_IPCONFIG; 46 flags_ |= FLAG_SHOW_IPCONFIG;
47 } 47 }
48 48
49 NetworkConfigView::NetworkConfigView(CellularNetwork cellular) 49 NetworkConfigView::NetworkConfigView(const CellularNetwork* cellular)
50 : browser_mode_(true), 50 : browser_mode_(true),
51 flags_(FLAG_CELLULAR | FLAG_SHOW_IPCONFIG), 51 flags_(FLAG_CELLULAR | FLAG_SHOW_IPCONFIG),
52 cellular_(cellular), 52 cellular_(new CellularNetwork(*cellular)),
53 cellularconfig_view_(NULL), 53 cellularconfig_view_(NULL),
54 wificonfig_view_(NULL), 54 wificonfig_view_(NULL),
55 ipconfig_view_(NULL), 55 ipconfig_view_(NULL),
56 delegate_(NULL) { 56 delegate_(NULL) {
57 } 57 }
58 58
59 NetworkConfigView::NetworkConfigView() 59 NetworkConfigView::NetworkConfigView()
60 : browser_mode_(true), 60 : browser_mode_(true),
61 flags_(FLAG_WIFI | FLAG_LOGIN_ONLY | FLAG_OTHER_NETWORK), 61 flags_(FLAG_WIFI | FLAG_LOGIN_ONLY | FLAG_OTHER_NETWORK),
62 ethernet_(NULL),
63 wifi_(NULL),
64 cellular_(NULL),
62 cellularconfig_view_(NULL), 65 cellularconfig_view_(NULL),
63 wificonfig_view_(NULL), 66 wificonfig_view_(NULL),
64 ipconfig_view_(NULL), 67 ipconfig_view_(NULL),
65 delegate_(NULL) { 68 delegate_(NULL) {
66 } 69 }
67 70
71 NetworkConfigView::~NetworkConfigView() {
72 if (ethernet_)
73 delete ethernet_;
74 if (wifi_)
75 delete wifi_;
76 if (cellular_)
77 delete cellular_;
78 }
79
68 gfx::NativeWindow NetworkConfigView::GetNativeWindow() const { 80 gfx::NativeWindow NetworkConfigView::GetNativeWindow() const {
69 return GTK_WINDOW(static_cast<WidgetGtk*>(GetWidget())->GetNativeView()); 81 return GTK_WINDOW(static_cast<WidgetGtk*>(GetWidget())->GetNativeView());
70 } 82 }
71 83
72 std::wstring NetworkConfigView::GetDialogButtonLabel( 84 std::wstring NetworkConfigView::GetDialogButtonLabel(
73 MessageBoxFlags::DialogButton button) const { 85 MessageBoxFlags::DialogButton button) const {
74 if (button == MessageBoxFlags::DIALOGBUTTON_OK) { 86 if (button == MessageBoxFlags::DIALOGBUTTON_OK) {
75 if (flags_ & FLAG_LOGIN_ONLY) 87 if (flags_ & FLAG_LOGIN_ONLY)
76 return l10n_util::GetString(IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_LOGIN); 88 return l10n_util::GetString(IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_LOGIN);
77 else 89 else
(...skipping 29 matching lines...) Expand all
107 } 119 }
108 if (result && delegate_) 120 if (result && delegate_)
109 delegate_->OnDialogAccepted(); 121 delegate_->OnDialogAccepted();
110 return result; 122 return result;
111 } 123 }
112 124
113 std::wstring NetworkConfigView::GetWindowTitle() const { 125 std::wstring NetworkConfigView::GetWindowTitle() const {
114 if (flags_ & FLAG_OTHER_NETWORK) 126 if (flags_ & FLAG_OTHER_NETWORK)
115 return l10n_util::GetString(IDS_OPTIONS_SETTINGS_OTHER_NETWORKS); 127 return l10n_util::GetString(IDS_OPTIONS_SETTINGS_OTHER_NETWORKS);
116 if (flags_ & FLAG_WIFI) 128 if (flags_ & FLAG_WIFI)
117 return ASCIIToWide(wifi_.name()); 129 return ASCIIToWide(wifi_->name());
118 if (flags_ & FLAG_CELLULAR) 130 if (flags_ & FLAG_CELLULAR)
119 return ASCIIToWide(cellular_.name()); 131 return ASCIIToWide(cellular_->name());
120 return l10n_util::GetString(IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET); 132 return l10n_util::GetString(IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET);
121 } 133 }
122 134
123 void NetworkConfigView::TabSelectedAt(int index) { 135 void NetworkConfigView::TabSelectedAt(int index) {
124 } 136 }
125 137
126 void NetworkConfigView::SetLoginTextfieldFocus() { 138 void NetworkConfigView::SetLoginTextfieldFocus() {
127 if (wificonfig_view_) 139 if (wificonfig_view_)
128 wificonfig_view_->FocusFirstField(); 140 wificonfig_view_->FocusFirstField();
129 } 141 }
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 wificonfig_view_ = new WifiConfigView(this); 199 wificonfig_view_ = new WifiConfigView(this);
188 else 200 else
189 wificonfig_view_ = new WifiConfigView(this, wifi_); 201 wificonfig_view_ = new WifiConfigView(this, wifi_);
190 tabs_->AddTab( 202 tabs_->AddTab(
191 l10n_util::GetString(IDS_OPTIONS_SETTINGS_SECTION_TITLE_NETWORK_CONFIG), 203 l10n_util::GetString(IDS_OPTIONS_SETTINGS_SECTION_TITLE_NETWORK_CONFIG),
192 wificonfig_view_); 204 wificonfig_view_);
193 } 205 }
194 206
195 if (flags_ & FLAG_SHOW_IPCONFIG) { 207 if (flags_ & FLAG_SHOW_IPCONFIG) {
196 if (flags_ & FLAG_WIFI) 208 if (flags_ & FLAG_WIFI)
197 ipconfig_view_ = new IPConfigView(wifi_.device_path()); 209 ipconfig_view_ = new IPConfigView(wifi_->device_path());
198 else if (flags_ & FLAG_CELLULAR) 210 else if (flags_ & FLAG_CELLULAR)
199 ipconfig_view_ = new IPConfigView(cellular_.device_path()); 211 ipconfig_view_ = new IPConfigView(cellular_->device_path());
200 else 212 else
201 ipconfig_view_ = new IPConfigView(ethernet_.device_path()); 213 ipconfig_view_ = new IPConfigView(ethernet_->device_path());
202 tabs_->AddTab( 214 tabs_->AddTab(
203 l10n_util::GetString(IDS_OPTIONS_SETTINGS_SECTION_TITLE_IP_CONFIG), 215 l10n_util::GetString(IDS_OPTIONS_SETTINGS_SECTION_TITLE_IP_CONFIG),
204 ipconfig_view_); 216 ipconfig_view_);
205 } 217 }
206 } 218 }
207 219
208 } // namespace chromeos 220 } // namespace chromeos
OLDNEW
« 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