Chromium Code Reviews| Index: ui/base/models/list_model.h |
| diff --git a/ui/base/models/list_model.h b/ui/base/models/list_model.h |
| index 9b4440d9a020d2db41d8bfb7adade37fe2ec173e..847cf78b31115a594dcb0c516bde6d3e1726c585 100644 |
| --- a/ui/base/models/list_model.h |
| +++ b/ui/base/models/list_model.h |
| @@ -34,6 +34,18 @@ class ListModel { |
| AddAt(item_count(), item); |
| } |
| + // Add a vector of items to the end of the model. This triggers one |
| + // notification after adding all items. |
| + void AddAll(ScopedVector<ItemType> new_items) { |
| + size_t count = item_count(); |
|
tapted
2013/08/05 03:01:39
I think this needs either a DCHECK(!new_items.empt
|
| + std::vector<ItemType*> new_items_released; |
| + new_items.release(&new_items_released); |
| + items_.insert(items_.end(), |
| + new_items_released.begin(), |
| + new_items_released.end()); |
| + NotifyItemsAdded(count, items_.size()); |
|
tapted
2013/08/05 03:01:39
items_.size() isn't right -- it should be new_item
|
| + } |
| + |
| // Removes an item at given |index| from the model. Note the removed item |
| // is NOT deleted and it's up to the caller to delete it. |
| ItemType* RemoveAt(size_t index) { |