Chromium Code Reviews| Index: components/physical_web/data_source/physical_web_data_source_impl.cc |
| diff --git a/components/physical_web/data_source/physical_web_data_source_impl.cc b/components/physical_web/data_source/physical_web_data_source_impl.cc |
| index 86b4c185a14c34328c6e4c36de6b023f0730e925..b5f03558c15bd9866dbf8ea5457d0253283b5a2d 100644 |
| --- a/components/physical_web/data_source/physical_web_data_source_impl.cc |
| +++ b/components/physical_web/data_source/physical_web_data_source_impl.cc |
| @@ -14,13 +14,19 @@ PhysicalWebDataSourceImpl::PhysicalWebDataSourceImpl() {} |
| PhysicalWebDataSourceImpl::~PhysicalWebDataSourceImpl() {} |
| void PhysicalWebDataSourceImpl::RegisterListener( |
| - PhysicalWebListener* physical_web_listener) { |
| - observer_list_.AddObserver(physical_web_listener); |
| + PhysicalWebListener* physical_web_listener, ScanMode scan_mode) { |
| + if (!observer_list_.HasObserver(physical_web_listener)) { |
| + observer_list_.AddObserver(physical_web_listener); |
| + } |
| + scan_modes_[physical_web_listener] = scan_mode; |
| } |
| void PhysicalWebDataSourceImpl::UnregisterListener( |
| PhysicalWebListener* physical_web_listener) { |
| + if (!observer_list_.HasObserver(physical_web_listener)) return; |
| + |
| observer_list_.RemoveObserver(physical_web_listener); |
| + scan_modes_.erase(scan_modes_.find(physical_web_listener)); |
|
vitaliii
2017/03/24 09:41:49
Nit: unordered_map.erase seems to accept key type
|
| } |
| void PhysicalWebDataSourceImpl::NotifyOnFound(const GURL& url) { |