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

Side by Side Diff: chrome/browser/ui/search_engines/template_url_table_model.cc

Issue 2487633003: Change behaivor to decide whether a search engine should be shown in the default list (Closed)
Patch Set: Update based on Peter and Nicolas's comments. Created 4 years, 1 month 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 #include "chrome/browser/ui/search_engines/template_url_table_model.h" 5 #include "chrome/browser/ui/search_engines/template_url_table_model.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/i18n/rtl.h" 10 #include "base/i18n/rtl.h"
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 void TemplateURLTableModel::Reload() { 136 void TemplateURLTableModel::Reload() {
137 entries_.clear(); 137 entries_.clear();
138 138
139 TemplateURLService::TemplateURLVector urls = 139 TemplateURLService::TemplateURLVector urls =
140 template_url_service_->GetTemplateURLs(); 140 template_url_service_->GetTemplateURLs();
141 141
142 std::vector<std::unique_ptr<ModelEntry>> default_entries, other_entries, 142 std::vector<std::unique_ptr<ModelEntry>> default_entries, other_entries,
143 extension_entries; 143 extension_entries;
144 // Keywords that can be made the default first. 144 // Keywords that can be made the default first.
145 for (auto* template_url : urls) { 145 for (auto* template_url : urls) {
146 // NOTE: we don't use ShowInDefaultList here to avoid items bouncing around 146 auto entry = base::MakeUnique<ModelEntry>(this, template_url);
147 // the lists while editing. 147 if (template_url_service_->ShowInDefaultList(template_url))
148 if (template_url->show_in_default_list()) 148 default_entries.push_back(std::move(entry));
149 default_entries.push_back(
150 base::MakeUnique<ModelEntry>(this, template_url));
151 else if (template_url->type() == TemplateURL::OMNIBOX_API_EXTENSION) 149 else if (template_url->type() == TemplateURL::OMNIBOX_API_EXTENSION)
152 extension_entries.push_back( 150 extension_entries.push_back(std::move(entry));
153 base::MakeUnique<ModelEntry>(this, template_url));
154 else 151 else
155 other_entries.push_back(base::MakeUnique<ModelEntry>(this, template_url)); 152 other_entries.push_back(std::move(entry));
156 } 153 }
157 154
158 last_search_engine_index_ = static_cast<int>(default_entries.size()); 155 last_search_engine_index_ = static_cast<int>(default_entries.size());
159 last_other_engine_index_ = last_search_engine_index_ + 156 last_other_engine_index_ = last_search_engine_index_ +
160 static_cast<int>(other_entries.size()); 157 static_cast<int>(other_entries.size());
161 158
162 std::move(default_entries.begin(), default_entries.end(), 159 std::move(default_entries.begin(), default_entries.end(),
163 std::back_inserter(entries_)); 160 std::back_inserter(entries_));
164 161
165 std::move(other_entries.begin(), other_entries.end(), 162 std::move(other_entries.begin(), other_entries.end(),
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
386 } 383 }
387 384
388 void TemplateURLTableModel::AddEntry(int index, 385 void TemplateURLTableModel::AddEntry(int index,
389 std::unique_ptr<ModelEntry> entry) { 386 std::unique_ptr<ModelEntry> entry) {
390 entries_.insert(entries_.begin() + index, std::move(entry)); 387 entries_.insert(entries_.begin() + index, std::move(entry));
391 if (index <= last_other_engine_index_) 388 if (index <= last_other_engine_index_)
392 ++last_other_engine_index_; 389 ++last_other_engine_index_;
393 if (observer_) 390 if (observer_)
394 observer_->OnItemsAdded(index, 1); 391 observer_->OnItemsAdded(index, 1);
395 } 392 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698