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

Side by Side Diff: chromeos/network/network_connection_handler.h

Issue 1562593002: Fix potential crashes in NetworkHandler code (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@test
Patch Set: Use NetworkStateHanlerObserver::IsShuttingDown instead 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 #ifndef CHROMEOS_NETWORK_NETWORK_CONNECTION_HANDLER_H_ 5 #ifndef CHROMEOS_NETWORK_NETWORK_CONNECTION_HANDLER_H_
6 #define CHROMEOS_NETWORK_NETWORK_CONNECTION_HANDLER_H_ 6 #define CHROMEOS_NETWORK_NETWORK_CONNECTION_HANDLER_H_
7 7
8 #include <map> 8 #include <map>
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 // Calls Shill.Manager.Disconnect asynchronously. 226 // Calls Shill.Manager.Disconnect asynchronously.
227 void CallShillDisconnect( 227 void CallShillDisconnect(
228 const std::string& service_path, 228 const std::string& service_path,
229 const base::Closure& success_callback, 229 const base::Closure& success_callback,
230 const network_handler::ErrorCallback& error_callback); 230 const network_handler::ErrorCallback& error_callback);
231 231
232 // Handle success from Shill.Service.Disconnect. 232 // Handle success from Shill.Service.Disconnect.
233 void HandleShillDisconnectSuccess(const std::string& service_path, 233 void HandleShillDisconnectSuccess(const std::string& service_path,
234 const base::Closure& success_callback); 234 const base::Closure& success_callback);
235 235
236 base::ObserverList<NetworkConnectionObserver> observers_; 236 base::ObserverList<NetworkConnectionObserver, true> observers_;
237 237
238 // Local references to the associated handler instances. 238 // Local references to the associated handler instances.
239 CertLoader* cert_loader_; 239 CertLoader* cert_loader_;
240 NetworkStateHandler* network_state_handler_; 240 NetworkStateHandler* network_state_handler_;
241 NetworkConfigurationHandler* configuration_handler_; 241 NetworkConfigurationHandler* configuration_handler_;
242 ManagedNetworkConfigurationHandler* managed_configuration_handler_; 242 ManagedNetworkConfigurationHandler* managed_configuration_handler_;
243 243
244 // Map of pending connect requests, used to prevent repeated attempts while 244 // Map of pending connect requests, used to prevent repeated attempts while
245 // waiting for Shill and to trigger callbacks on eventual success or failure. 245 // waiting for Shill and to trigger callbacks on eventual success or failure.
246 std::map<std::string, ConnectRequest> pending_requests_; 246 std::map<std::string, ConnectRequest> pending_requests_;
247 scoped_ptr<ConnectRequest> queued_connect_; 247 scoped_ptr<ConnectRequest> queued_connect_;
248 248
249 // Track certificate loading state. 249 // Track certificate loading state.
250 bool logged_in_; 250 bool logged_in_;
251 bool certificates_loaded_; 251 bool certificates_loaded_;
252 base::TimeTicks logged_in_time_; 252 base::TimeTicks logged_in_time_;
253 253
254 DISALLOW_COPY_AND_ASSIGN(NetworkConnectionHandler); 254 DISALLOW_COPY_AND_ASSIGN(NetworkConnectionHandler);
255 }; 255 };
256 256
257 } // namespace chromeos 257 } // namespace chromeos
258 258
259 #endif // CHROMEOS_NETWORK_NETWORK_CONNECTION_HANDLER_H_ 259 #endif // CHROMEOS_NETWORK_NETWORK_CONNECTION_HANDLER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698