OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "ash/shelf/shelf_item_delegate_manager.h" | 5 #include "ash/shelf/shelf_item_delegate_manager.h" |
6 | 6 |
7 #include "ash/shelf/shelf_item_delegate.h" | 7 #include "ash/shelf/shelf_item_delegate.h" |
8 #include "ash/shelf/shelf_model.h" | 8 #include "ash/shelf/shelf_model.h" |
9 #include "ash/shell.h" | 9 #include "ash/shell.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 18 matching lines...) Expand all Loading... |
29 observers_.AddObserver(observer); | 29 observers_.AddObserver(observer); |
30 } | 30 } |
31 | 31 |
32 void ShelfItemDelegateManager::RemoveObserver( | 32 void ShelfItemDelegateManager::RemoveObserver( |
33 ShelfItemDelegateManagerObserver* observer) { | 33 ShelfItemDelegateManagerObserver* observer) { |
34 observers_.RemoveObserver(observer); | 34 observers_.RemoveObserver(observer); |
35 } | 35 } |
36 | 36 |
37 void ShelfItemDelegateManager::SetShelfItemDelegate( | 37 void ShelfItemDelegateManager::SetShelfItemDelegate( |
38 ShelfID id, | 38 ShelfID id, |
39 scoped_ptr<ShelfItemDelegate> item_delegate) { | 39 std::unique_ptr<ShelfItemDelegate> item_delegate) { |
40 // If another ShelfItemDelegate is already registered for |id|, we assume | 40 // If another ShelfItemDelegate is already registered for |id|, we assume |
41 // that this request is replacing ShelfItemDelegate for |id| with | 41 // that this request is replacing ShelfItemDelegate for |id| with |
42 // |item_delegate|. | 42 // |item_delegate|. |
43 RemoveShelfItemDelegate(id); | 43 RemoveShelfItemDelegate(id); |
44 | 44 |
45 FOR_EACH_OBSERVER(ShelfItemDelegateManagerObserver, | 45 FOR_EACH_OBSERVER(ShelfItemDelegateManagerObserver, |
46 observers_, | 46 observers_, |
47 OnSetShelfItemDelegate(id, item_delegate.get())); | 47 OnSetShelfItemDelegate(id, item_delegate.get())); |
48 | 48 |
49 id_to_item_delegate_map_[id] = item_delegate.release(); | 49 id_to_item_delegate_map_[id] = item_delegate.release(); |
(...skipping 24 matching lines...) Expand all Loading... |
74 const ShelfItem& old_item) {} | 74 const ShelfItem& old_item) {} |
75 | 75 |
76 void ShelfItemDelegateManager::RemoveShelfItemDelegate(ShelfID id) { | 76 void ShelfItemDelegateManager::RemoveShelfItemDelegate(ShelfID id) { |
77 if (id_to_item_delegate_map_.find(id) != id_to_item_delegate_map_.end()) { | 77 if (id_to_item_delegate_map_.find(id) != id_to_item_delegate_map_.end()) { |
78 delete id_to_item_delegate_map_[id]; | 78 delete id_to_item_delegate_map_[id]; |
79 id_to_item_delegate_map_.erase(id); | 79 id_to_item_delegate_map_.erase(id); |
80 } | 80 } |
81 } | 81 } |
82 | 82 |
83 } // namespace ash | 83 } // namespace ash |
OLD | NEW |