OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/webui/settings/search_engines_handler.h" | 5 #include "chrome/browser/ui/webui/settings/search_engines_handler.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/memory/ptr_util.h" |
8 #include "base/strings/string_number_conversions.h" | 9 #include "base/strings/string_number_conversions.h" |
9 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
10 #include "base/values.h" | 11 #include "base/values.h" |
11 #include "chrome/browser/extensions/extension_service.h" | 12 #include "chrome/browser/extensions/extension_service.h" |
12 #include "chrome/browser/extensions/extension_util.h" | 13 #include "chrome/browser/extensions/extension_util.h" |
13 #include "chrome/browser/profiles/profile.h" | 14 #include "chrome/browser/profiles/profile.h" |
14 #include "chrome/browser/search_engines/ui_thread_search_terms_data.h" | 15 #include "chrome/browser/search_engines/ui_thread_search_terms_data.h" |
15 #include "chrome/browser/ui/search_engines/keyword_editor_controller.h" | 16 #include "chrome/browser/ui/search_engines/keyword_editor_controller.h" |
16 #include "chrome/browser/ui/search_engines/template_url_table_model.h" | 17 #include "chrome/browser/ui/search_engines/template_url_table_model.h" |
17 #include "chrome/common/url_constants.h" | 18 #include "chrome/common/url_constants.h" |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
78 web_ui()->RegisterMessageCallback( | 79 web_ui()->RegisterMessageCallback( |
79 "searchEngineEditCompleted", | 80 "searchEngineEditCompleted", |
80 base::Bind(&SearchEnginesHandler::HandleSearchEngineEditCompleted, | 81 base::Bind(&SearchEnginesHandler::HandleSearchEngineEditCompleted, |
81 base::Unretained(this))); | 82 base::Unretained(this))); |
82 web_ui()->RegisterMessageCallback( | 83 web_ui()->RegisterMessageCallback( |
83 "disableExtension", | 84 "disableExtension", |
84 base::Bind(&SearchEnginesHandler::HandleDisableExtension, | 85 base::Bind(&SearchEnginesHandler::HandleDisableExtension, |
85 base::Unretained(this))); | 86 base::Unretained(this))); |
86 } | 87 } |
87 | 88 |
88 scoped_ptr<base::DictionaryValue> SearchEnginesHandler::GetSearchEnginesList() { | 89 std::unique_ptr<base::DictionaryValue> |
| 90 SearchEnginesHandler::GetSearchEnginesList() { |
89 DCHECK(list_controller_.get()); | 91 DCHECK(list_controller_.get()); |
90 // Find the default engine. | 92 // Find the default engine. |
91 const TemplateURL* default_engine = | 93 const TemplateURL* default_engine = |
92 list_controller_->GetDefaultSearchProvider(); | 94 list_controller_->GetDefaultSearchProvider(); |
93 int default_index = | 95 int default_index = |
94 list_controller_->table_model()->IndexOfTemplateURL(default_engine); | 96 list_controller_->table_model()->IndexOfTemplateURL(default_engine); |
95 | 97 |
96 // Build the first list (default search engines). | 98 // Build the first list (default search engines). |
97 scoped_ptr<base::ListValue> defaults = make_scoped_ptr(new base::ListValue()); | 99 std::unique_ptr<base::ListValue> defaults = |
| 100 base::WrapUnique(new base::ListValue()); |
98 int last_default_engine_index = | 101 int last_default_engine_index = |
99 list_controller_->table_model()->last_search_engine_index(); | 102 list_controller_->table_model()->last_search_engine_index(); |
100 for (int i = 0; i < last_default_engine_index; ++i) { | 103 for (int i = 0; i < last_default_engine_index; ++i) { |
101 // Third argument is false, as the engine is not from an extension. | 104 // Third argument is false, as the engine is not from an extension. |
102 defaults->Append(CreateDictionaryForEngine(i, i == default_index)); | 105 defaults->Append(CreateDictionaryForEngine(i, i == default_index)); |
103 } | 106 } |
104 | 107 |
105 // Build the second list (other search engines). | 108 // Build the second list (other search engines). |
106 scoped_ptr<base::ListValue> others = make_scoped_ptr(new base::ListValue()); | 109 std::unique_ptr<base::ListValue> others = |
| 110 base::WrapUnique(new base::ListValue()); |
107 int last_other_engine_index = | 111 int last_other_engine_index = |
108 list_controller_->table_model()->last_other_engine_index(); | 112 list_controller_->table_model()->last_other_engine_index(); |
109 for (int i = std::max(last_default_engine_index, 0); | 113 for (int i = std::max(last_default_engine_index, 0); |
110 i < last_other_engine_index; ++i) { | 114 i < last_other_engine_index; ++i) { |
111 others->Append(CreateDictionaryForEngine(i, i == default_index)); | 115 others->Append(CreateDictionaryForEngine(i, i == default_index)); |
112 } | 116 } |
113 | 117 |
114 // Build the third list (omnibox extensions). | 118 // Build the third list (omnibox extensions). |
115 scoped_ptr<base::ListValue> extensions = | 119 std::unique_ptr<base::ListValue> extensions = |
116 make_scoped_ptr(new base::ListValue()); | 120 base::WrapUnique(new base::ListValue()); |
117 int engine_count = list_controller_->table_model()->RowCount(); | 121 int engine_count = list_controller_->table_model()->RowCount(); |
118 for (int i = std::max(last_other_engine_index, 0); i < engine_count; ++i) { | 122 for (int i = std::max(last_other_engine_index, 0); i < engine_count; ++i) { |
119 extensions->Append(CreateDictionaryForEngine(i, i == default_index)); | 123 extensions->Append(CreateDictionaryForEngine(i, i == default_index)); |
120 } | 124 } |
121 | 125 |
122 scoped_ptr<base::DictionaryValue> search_engines_info( | 126 std::unique_ptr<base::DictionaryValue> search_engines_info( |
123 new base::DictionaryValue); | 127 new base::DictionaryValue); |
124 search_engines_info->Set("defaults", make_scoped_ptr(defaults.release())); | 128 search_engines_info->Set("defaults", base::WrapUnique(defaults.release())); |
125 search_engines_info->Set("others", make_scoped_ptr(others.release())); | 129 search_engines_info->Set("others", base::WrapUnique(others.release())); |
126 search_engines_info->Set("extensions", make_scoped_ptr(extensions.release())); | 130 search_engines_info->Set("extensions", |
| 131 base::WrapUnique(extensions.release())); |
127 return search_engines_info; | 132 return search_engines_info; |
128 } | 133 } |
129 | 134 |
130 void SearchEnginesHandler::OnModelChanged() { | 135 void SearchEnginesHandler::OnModelChanged() { |
131 web_ui()->CallJavascriptFunction("cr.webUIListenerCallback", | 136 web_ui()->CallJavascriptFunction("cr.webUIListenerCallback", |
132 base::StringValue("search-engines-changed"), | 137 base::StringValue("search-engines-changed"), |
133 *GetSearchEnginesList()); | 138 *GetSearchEnginesList()); |
134 } | 139 } |
135 | 140 |
136 void SearchEnginesHandler::OnItemsChanged(int start, int length) { | 141 void SearchEnginesHandler::OnItemsChanged(int start, int length) { |
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
335 std::string extension_id; | 340 std::string extension_id; |
336 CHECK(args->GetString(0, &extension_id)); | 341 CHECK(args->GetString(0, &extension_id)); |
337 ExtensionService* extension_service = | 342 ExtensionService* extension_service = |
338 extensions::ExtensionSystem::Get(profile_)->extension_service(); | 343 extensions::ExtensionSystem::Get(profile_)->extension_service(); |
339 DCHECK(extension_service); | 344 DCHECK(extension_service); |
340 extension_service->DisableExtension( | 345 extension_service->DisableExtension( |
341 extension_id, extensions::Extension::DISABLE_USER_ACTION); | 346 extension_id, extensions::Extension::DISABLE_USER_ACTION); |
342 } | 347 } |
343 | 348 |
344 } // namespace settings | 349 } // namespace settings |
OLD | NEW |