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

Side by Side Diff: chrome/browser/chromeos/options/network_config_view.cc

Issue 1610823003: Migrate call sites LoginDisplayHostImpl::default_host to LoginDisplayHost. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@fix-add-supervised-user
Patch Set: Address comments Created 4 years, 11 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/chromeos/options/network_config_view.h" 5 #include "chrome/browser/chromeos/options/network_config_view.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "ash/shell.h" 9 #include "ash/shell.h"
10 #include "base/strings/string_util.h" 10 #include "base/strings/string_util.h"
11 #include "base/strings/utf_string_conversions.h" 11 #include "base/strings/utf_string_conversions.h"
12 #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h" 12 #include "chrome/browser/chromeos/login/ui/login_display_host.h"
13 #include "chrome/browser/chromeos/options/network_property_ui_data.h" 13 #include "chrome/browser/chromeos/options/network_property_ui_data.h"
14 #include "chrome/browser/chromeos/options/vpn_config_view.h" 14 #include "chrome/browser/chromeos/options/vpn_config_view.h"
15 #include "chrome/browser/chromeos/options/wifi_config_view.h" 15 #include "chrome/browser/chromeos/options/wifi_config_view.h"
16 #include "chrome/browser/chromeos/options/wimax_config_view.h" 16 #include "chrome/browser/chromeos/options/wimax_config_view.h"
17 #include "chrome/browser/profiles/profile_manager.h" 17 #include "chrome/browser/profiles/profile_manager.h"
18 #include "chrome/browser/ui/browser.h" 18 #include "chrome/browser/ui/browser.h"
19 #include "chrome/browser/ui/browser_finder.h" 19 #include "chrome/browser/ui/browser_finder.h"
20 #include "chrome/browser/ui/browser_window.h" 20 #include "chrome/browser/ui/browser_window.h"
21 #include "chrome/browser/ui/host_desktop.h" 21 #include "chrome/browser/ui/host_desktop.h"
22 #include "chrome/grit/generated_resources.h" 22 #include "chrome/grit/generated_resources.h"
(...skipping 10 matching lines...) Expand all
33 #include "ui/base/resource/resource_bundle.h" 33 #include "ui/base/resource/resource_bundle.h"
34 #include "ui/gfx/geometry/rect.h" 34 #include "ui/gfx/geometry/rect.h"
35 #include "ui/gfx/image/image.h" 35 #include "ui/gfx/image/image.h"
36 #include "ui/views/controls/button/label_button.h" 36 #include "ui/views/controls/button/label_button.h"
37 #include "ui/views/controls/image_view.h" 37 #include "ui/views/controls/image_view.h"
38 #include "ui/views/layout/layout_constants.h" 38 #include "ui/views/layout/layout_constants.h"
39 #include "ui/views/widget/widget.h" 39 #include "ui/views/widget/widget.h"
40 40
41 using views::Widget; 41 using views::Widget;
42 42
43 namespace chromeos {
44
43 namespace { 45 namespace {
44 46
45 gfx::NativeWindow GetParentForUnhostedDialog() { 47 gfx::NativeWindow GetParentForUnhostedDialog() {
46 if (chromeos::LoginDisplayHostImpl::default_host()) { 48 if (LoginDisplayHost::default_host()) {
47 return chromeos::LoginDisplayHostImpl::default_host()->GetNativeWindow(); 49 return LoginDisplayHost::default_host()->GetNativeWindow();
48 } else { 50 } else {
49 Browser* browser = chrome::FindTabbedBrowser( 51 Browser* browser = chrome::FindTabbedBrowser(
50 ProfileManager::GetPrimaryUserProfile(), 52 ProfileManager::GetPrimaryUserProfile(),
51 true, 53 true,
52 chrome::HOST_DESKTOP_TYPE_ASH); 54 chrome::HOST_DESKTOP_TYPE_ASH);
53 if (browser) 55 if (browser)
54 return browser->window()->GetNativeWindow(); 56 return browser->window()->GetNativeWindow();
55 } 57 }
56 return NULL; 58 return nullptr;
57 } 59 }
58 60
59 // Avoid global static initializer. 61 // Avoid global static initializer.
60 chromeos::NetworkConfigView** GetActiveDialogPointer() { 62 NetworkConfigView** GetActiveDialogPointer() {
61 static chromeos::NetworkConfigView* active_dialog = NULL; 63 static NetworkConfigView* active_dialog = nullptr;
62 return &active_dialog; 64 return &active_dialog;
63 } 65 }
64 66
65 chromeos::NetworkConfigView* GetActiveDialog() { 67 NetworkConfigView* GetActiveDialog() {
66 return *(GetActiveDialogPointer()); 68 return *(GetActiveDialogPointer());
67 } 69 }
68 70
69 void SetActiveDialog(chromeos::NetworkConfigView* dialog) { 71 void SetActiveDialog(NetworkConfigView* dialog) {
70 *(GetActiveDialogPointer()) = dialog; 72 *(GetActiveDialogPointer()) = dialog;
71 } 73 }
72 74
73 } // namespace 75 } // namespace
74 76
75 namespace chromeos {
76
77 // static 77 // static
78 const int ChildNetworkConfigView::kInputFieldMinWidth = 270; 78 const int ChildNetworkConfigView::kInputFieldMinWidth = 270;
79 79
80 NetworkConfigView::NetworkConfigView() 80 NetworkConfigView::NetworkConfigView()
81 : child_config_view_(NULL), 81 : child_config_view_(nullptr),
82 delegate_(NULL), 82 delegate_(nullptr),
83 advanced_button_(NULL) { 83 advanced_button_(nullptr) {
84 DCHECK(GetActiveDialog() == NULL); 84 DCHECK(GetActiveDialog() == nullptr);
85 SetActiveDialog(this); 85 SetActiveDialog(this);
86 } 86 }
87 87
88 bool NetworkConfigView::InitWithNetworkState(const NetworkState* network) { 88 bool NetworkConfigView::InitWithNetworkState(const NetworkState* network) {
89 DCHECK(network); 89 DCHECK(network);
90 std::string service_path = network->path(); 90 std::string service_path = network->path();
91 if (network->type() == shill::kTypeWifi || 91 if (network->type() == shill::kTypeWifi ||
92 network->type() == shill::kTypeEthernet) { 92 network->type() == shill::kTypeEthernet) {
93 child_config_view_ = new WifiConfigView(this, service_path, false); 93 child_config_view_ = new WifiConfigView(this, service_path, false);
94 } else if (network->type() == shill::kTypeWimax) { 94 } else if (network->type() == shill::kTypeWimax) {
95 child_config_view_ = new WimaxConfigView(this, service_path); 95 child_config_view_ = new WimaxConfigView(this, service_path);
96 } else if (network->type() == shill::kTypeVPN) { 96 } else if (network->type() == shill::kTypeVPN) {
97 child_config_view_ = new VPNConfigView(this, service_path); 97 child_config_view_ = new VPNConfigView(this, service_path);
98 } 98 }
99 return child_config_view_ != NULL; 99 return child_config_view_ != nullptr;
100 } 100 }
101 101
102 bool NetworkConfigView::InitWithType(const std::string& type) { 102 bool NetworkConfigView::InitWithType(const std::string& type) {
103 if (type == shill::kTypeWifi) { 103 if (type == shill::kTypeWifi) {
104 child_config_view_ = new WifiConfigView(this, 104 child_config_view_ = new WifiConfigView(this,
105 "" /* service_path */, 105 "" /* service_path */,
106 false /* show_8021x */); 106 false /* show_8021x */);
107 advanced_button_ = new views::LabelButton(this, l10n_util::GetStringUTF16( 107 advanced_button_ = new views::LabelButton(this, l10n_util::GetStringUTF16(
108 IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_ADVANCED_BUTTON)); 108 IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_ADVANCED_BUTTON));
109 advanced_button_->SetStyle(views::Button::STYLE_BUTTON); 109 advanced_button_->SetStyle(views::Button::STYLE_BUTTON);
110 } else if (type == shill::kTypeVPN) { 110 } else if (type == shill::kTypeVPN) {
111 child_config_view_ = new VPNConfigView(this, 111 child_config_view_ = new VPNConfigView(this,
112 "" /* service_path */); 112 "" /* service_path */);
113 } 113 }
114 return child_config_view_ != NULL; 114 return child_config_view_ != nullptr;
115 } 115 }
116 116
117 NetworkConfigView::~NetworkConfigView() { 117 NetworkConfigView::~NetworkConfigView() {
118 DCHECK(GetActiveDialog() == this); 118 DCHECK(GetActiveDialog() == this);
119 SetActiveDialog(NULL); 119 SetActiveDialog(nullptr);
120 } 120 }
121 121
122 // static 122 // static
123 void NetworkConfigView::Show(const std::string& service_path, 123 void NetworkConfigView::Show(const std::string& service_path,
124 gfx::NativeWindow parent) { 124 gfx::NativeWindow parent) {
125 if (GetActiveDialog() != NULL) 125 if (GetActiveDialog() != nullptr)
126 return; 126 return;
127 NetworkConfigView* view = new NetworkConfigView(); 127 NetworkConfigView* view = new NetworkConfigView();
128 const NetworkState* network = NetworkHandler::Get()->network_state_handler()-> 128 const NetworkState* network = NetworkHandler::Get()->network_state_handler()->
129 GetNetworkState(service_path); 129 GetNetworkState(service_path);
130 if (!network) { 130 if (!network) {
131 LOG(ERROR) << "NetworkConfigView::Show called with invalid service_path"; 131 LOG(ERROR) << "NetworkConfigView::Show called with invalid service_path";
132 return; 132 return;
133 } 133 }
134 if (!view->InitWithNetworkState(network)) { 134 if (!view->InitWithNetworkState(network)) {
135 LOG(ERROR) << "NetworkConfigView::Show called with invalid network type: " 135 LOG(ERROR) << "NetworkConfigView::Show called with invalid network type: "
136 << network->type(); 136 << network->type();
137 delete view; 137 delete view;
138 return; 138 return;
139 } 139 }
140 NET_LOG(USER) << "NetworkConfigView::Show: " << service_path; 140 NET_LOG(USER) << "NetworkConfigView::Show: " << service_path;
141 view->ShowDialog(parent); 141 view->ShowDialog(parent);
142 } 142 }
143 143
144 // static 144 // static
145 void NetworkConfigView::ShowForType(const std::string& type, 145 void NetworkConfigView::ShowForType(const std::string& type,
146 gfx::NativeWindow parent) { 146 gfx::NativeWindow parent) {
147 if (GetActiveDialog() != NULL) 147 if (GetActiveDialog() != nullptr)
148 return; 148 return;
149 NetworkConfigView* view = new NetworkConfigView(); 149 NetworkConfigView* view = new NetworkConfigView();
150 if (!view->InitWithType(type)) { 150 if (!view->InitWithType(type)) {
151 LOG(ERROR) << "NetworkConfigView::ShowForType called with invalid type: " 151 LOG(ERROR) << "NetworkConfigView::ShowForType called with invalid type: "
152 << type; 152 << type;
153 delete view; 153 delete view;
154 return; 154 return;
155 } 155 }
156 NET_LOG(USER) << "NetworkConfigView::ShowForType: " << type; 156 NET_LOG(USER) << "NetworkConfigView::ShowForType: " << type;
157 view->ShowDialog(parent); 157 view->ShowDialog(parent);
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
269 const ViewHierarchyChangedDetails& details) { 269 const ViewHierarchyChangedDetails& details) {
270 // Can't init before we're inserted into a Container, because we require 270 // Can't init before we're inserted into a Container, because we require
271 // a HWND to parent native child controls to. 271 // a HWND to parent native child controls to.
272 views::DialogDelegateView::ViewHierarchyChanged(details); 272 views::DialogDelegateView::ViewHierarchyChanged(details);
273 if (details.is_add && details.child == this) { 273 if (details.is_add && details.child == this) {
274 AddChildView(child_config_view_); 274 AddChildView(child_config_view_);
275 } 275 }
276 } 276 }
277 277
278 void NetworkConfigView::ShowDialog(gfx::NativeWindow parent) { 278 void NetworkConfigView::ShowDialog(gfx::NativeWindow parent) {
279 if (parent == NULL) 279 if (parent == nullptr)
280 parent = GetParentForUnhostedDialog(); 280 parent = GetParentForUnhostedDialog();
281 // Failed connections may result in a pop-up with no natural parent window, 281 // Failed connections may result in a pop-up with no natural parent window,
282 // so provide a fallback context on the primary display. This is necessary 282 // so provide a fallback context on the primary display. This is necessary
283 // becase one of parent or context must be non NULL. 283 // becase one of parent or context must be non nullptr.
284 gfx::NativeWindow context = 284 gfx::NativeWindow context =
285 parent ? NULL : ash::Shell::GetPrimaryRootWindow(); 285 parent ? nullptr : ash::Shell::GetPrimaryRootWindow();
286 Widget* window = DialogDelegate::CreateDialogWidget(this, context, parent); 286 Widget* window = DialogDelegate::CreateDialogWidget(this, context, parent);
287 window->SetAlwaysOnTop(true); 287 window->SetAlwaysOnTop(true);
288 window->Show(); 288 window->Show();
289 } 289 }
290 290
291 // ChildNetworkConfigView 291 // ChildNetworkConfigView
292 292
293 ChildNetworkConfigView::ChildNetworkConfigView( 293 ChildNetworkConfigView::ChildNetworkConfigView(
294 NetworkConfigView* parent, 294 NetworkConfigView* parent,
295 const std::string& service_path) 295 const std::string& service_path)
(...skipping 12 matching lines...) Expand all
308 void ChildNetworkConfigView::GetShareStateForLoginState(bool* default_value, 308 void ChildNetworkConfigView::GetShareStateForLoginState(bool* default_value,
309 bool* modifiable) { 309 bool* modifiable) {
310 *default_value = !LoginState::Get()->UserHasNetworkProfile(); 310 *default_value = !LoginState::Get()->UserHasNetworkProfile();
311 // Allow only authenticated user to change the share state. 311 // Allow only authenticated user to change the share state.
312 *modifiable = LoginState::Get()->IsUserAuthenticated(); 312 *modifiable = LoginState::Get()->IsUserAuthenticated();
313 } 313 }
314 314
315 // ControlledSettingIndicatorView 315 // ControlledSettingIndicatorView
316 316
317 ControlledSettingIndicatorView::ControlledSettingIndicatorView() 317 ControlledSettingIndicatorView::ControlledSettingIndicatorView()
318 : managed_(false), 318 : managed_(false), image_view_(nullptr) {
319 image_view_(NULL) {
320 Init(); 319 Init();
321 } 320 }
322 321
323 ControlledSettingIndicatorView::ControlledSettingIndicatorView( 322 ControlledSettingIndicatorView::ControlledSettingIndicatorView(
324 const NetworkPropertyUIData& ui_data) 323 const NetworkPropertyUIData& ui_data)
325 : managed_(false), 324 : managed_(false), image_view_(nullptr) {
326 image_view_(NULL) {
327 Init(); 325 Init();
328 Update(ui_data); 326 Update(ui_data);
329 } 327 }
330 328
331 ControlledSettingIndicatorView::~ControlledSettingIndicatorView() {} 329 ControlledSettingIndicatorView::~ControlledSettingIndicatorView() {}
332 330
333 void ControlledSettingIndicatorView::Update( 331 void ControlledSettingIndicatorView::Update(
334 const NetworkPropertyUIData& ui_data) { 332 const NetworkPropertyUIData& ui_data) {
335 if (managed_ == ui_data.IsManaged()) 333 if (managed_ == ui_data.IsManaged())
336 return; 334 return;
(...skipping 18 matching lines...) Expand all
355 image_view_ = new views::ImageView(); 353 image_view_ = new views::ImageView();
356 // Disable |image_view_| so mouse events propagate to the parent. 354 // Disable |image_view_| so mouse events propagate to the parent.
357 image_view_->SetEnabled(false); 355 image_view_->SetEnabled(false);
358 image_view_->SetImage(image_); 356 image_view_->SetImage(image_);
359 image_view_->SetTooltipText( 357 image_view_->SetTooltipText(
360 l10n_util::GetStringUTF16(IDS_OPTIONS_CONTROLLED_SETTING_POLICY)); 358 l10n_util::GetStringUTF16(IDS_OPTIONS_CONTROLLED_SETTING_POLICY));
361 AddChildView(image_view_); 359 AddChildView(image_view_);
362 } 360 }
363 361
364 } // namespace chromeos 362 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698