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

Side by Side Diff: chrome/browser/chromeos/cros/network_library_impl_base.cc

Issue 23190045: Switch ObserverList::size() to ObserverList::might_have_observers() Pt.1 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Pure merge Created 7 years, 3 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 | Annotate | Revision Log
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/cros/network_library_impl_base.h" 5 #include "chrome/browser/chromeos/cros/network_library_impl_base.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/json/json_writer.h" 8 #include "base/json/json_writer.h"
9 #include "base/memory/scoped_vector.h" 9 #include "base/memory/scoped_vector.h"
10 #include "base/stl_util.h" 10 #include "base/stl_util.h"
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 MonitorNetworkStart(service_path); 120 MonitorNetworkStart(service_path);
121 } 121 }
122 122
123 void NetworkLibraryImplBase::RemoveNetworkObserver( 123 void NetworkLibraryImplBase::RemoveNetworkObserver(
124 const std::string& service_path, NetworkObserver* observer) { 124 const std::string& service_path, NetworkObserver* observer) {
125 DCHECK(service_path.size()); 125 DCHECK(service_path.size());
126 NetworkObserverMap::iterator map_iter = 126 NetworkObserverMap::iterator map_iter =
127 network_observers_.find(service_path); 127 network_observers_.find(service_path);
128 if (map_iter != network_observers_.end()) { 128 if (map_iter != network_observers_.end()) {
129 map_iter->second->RemoveObserver(observer); 129 map_iter->second->RemoveObserver(observer);
130 if (!map_iter->second->size()) { 130 if (!map_iter->second->might_have_observers()) {
131 MonitorNetworkStop(service_path); 131 MonitorNetworkStop(service_path);
132 delete map_iter->second; 132 delete map_iter->second;
133 network_observers_.erase(map_iter); 133 network_observers_.erase(map_iter);
134 } 134 }
135 } 135 }
136 } 136 }
137 137
138 void NetworkLibraryImplBase::RemoveObserverForAllNetworks( 138 void NetworkLibraryImplBase::RemoveObserverForAllNetworks(
139 NetworkObserver* observer) { 139 NetworkObserver* observer) {
140 DCHECK(observer); 140 DCHECK(observer);
141 NetworkObserverMap::iterator map_iter = network_observers_.begin(); 141 NetworkObserverMap::iterator map_iter = network_observers_.begin();
142 while (map_iter != network_observers_.end()) { 142 while (map_iter != network_observers_.end()) {
143 map_iter->second->RemoveObserver(observer); 143 map_iter->second->RemoveObserver(observer);
144 if (!map_iter->second->size()) { 144 if (!map_iter->second->might_have_observers()) {
145 MonitorNetworkStop(map_iter->first); 145 MonitorNetworkStop(map_iter->first);
146 delete map_iter->second; 146 delete map_iter->second;
147 network_observers_.erase(map_iter++); 147 network_observers_.erase(map_iter++);
148 } else { 148 } else {
149 ++map_iter; 149 ++map_iter;
150 } 150 }
151 } 151 }
152 } 152 }
153 153
154 void NetworkLibraryImplBase::AddNetworkDeviceObserver( 154 void NetworkLibraryImplBase::AddNetworkDeviceObserver(
(...skipping 1431 matching lines...) Expand 10 before | Expand all | Expand 10 after
1586 GetTpmInfo(); 1586 GetTpmInfo();
1587 return tpm_slot_; 1587 return tpm_slot_;
1588 } 1588 }
1589 1589
1590 const std::string& NetworkLibraryImplBase::GetTpmPin() { 1590 const std::string& NetworkLibraryImplBase::GetTpmPin() {
1591 GetTpmInfo(); 1591 GetTpmInfo();
1592 return tpm_pin_; 1592 return tpm_pin_;
1593 } 1593 }
1594 1594
1595 } // namespace chromeos 1595 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698