| OLD | NEW |
| 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/webui/options/browser_options_handler.h" | 5 #include "chrome/browser/ui/webui/options/browser_options_handler.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <set> | 9 #include <set> |
| 10 #include <utility> |
| 10 | 11 |
| 11 #include "base/bind.h" | 12 #include "base/bind.h" |
| 12 #include "base/bind_helpers.h" | 13 #include "base/bind_helpers.h" |
| 13 #include "base/command_line.h" | 14 #include "base/command_line.h" |
| 14 #include "base/environment.h" | 15 #include "base/environment.h" |
| 15 #include "base/i18n/number_formatting.h" | 16 #include "base/i18n/number_formatting.h" |
| 16 #include "base/macros.h" | 17 #include "base/macros.h" |
| 17 #include "base/memory/singleton.h" | 18 #include "base/memory/singleton.h" |
| 18 #include "base/metrics/field_trial.h" | 19 #include "base/metrics/field_trial.h" |
| 19 #include "base/metrics/histogram.h" | 20 #include "base/metrics/histogram.h" |
| (...skipping 1205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1225 | 1226 |
| 1226 int default_index = -1; | 1227 int default_index = -1; |
| 1227 base::ListValue search_engines; | 1228 base::ListValue search_engines; |
| 1228 TemplateURLService::TemplateURLVector model_urls( | 1229 TemplateURLService::TemplateURLVector model_urls( |
| 1229 template_url_service_->GetTemplateURLs()); | 1230 template_url_service_->GetTemplateURLs()); |
| 1230 for (size_t i = 0; i < model_urls.size(); ++i) { | 1231 for (size_t i = 0; i < model_urls.size(); ++i) { |
| 1231 if (!model_urls[i]->ShowInDefaultList( | 1232 if (!model_urls[i]->ShowInDefaultList( |
| 1232 template_url_service_->search_terms_data())) | 1233 template_url_service_->search_terms_data())) |
| 1233 continue; | 1234 continue; |
| 1234 | 1235 |
| 1235 base::DictionaryValue* entry = new base::DictionaryValue(); | 1236 std::unique_ptr<base::DictionaryValue> entry(new base::DictionaryValue()); |
| 1236 entry->SetString("name", model_urls[i]->short_name()); | 1237 entry->SetString("name", model_urls[i]->short_name()); |
| 1237 entry->SetInteger("index", i); | 1238 entry->SetInteger("index", i); |
| 1238 search_engines.Append(entry); | 1239 search_engines.Append(std::move(entry)); |
| 1239 if (model_urls[i] == default_url) | 1240 if (model_urls[i] == default_url) |
| 1240 default_index = i; | 1241 default_index = i; |
| 1241 } | 1242 } |
| 1242 | 1243 |
| 1243 web_ui()->CallJavascriptFunctionUnsafe( | 1244 web_ui()->CallJavascriptFunctionUnsafe( |
| 1244 "BrowserOptions.updateSearchEngines", search_engines, | 1245 "BrowserOptions.updateSearchEngines", search_engines, |
| 1245 base::FundamentalValue(default_index), | 1246 base::FundamentalValue(default_index), |
| 1246 base::FundamentalValue( | 1247 base::FundamentalValue( |
| 1247 template_url_service_->is_default_search_managed() || | 1248 template_url_service_->is_default_search_managed() || |
| 1248 template_url_service_->IsExtensionControlledDefaultSearch())); | 1249 template_url_service_->IsExtensionControlledDefaultSearch())); |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1348 g_browser_process->profile_manager()-> | 1349 g_browser_process->profile_manager()-> |
| 1349 GetProfileAttributesStorage().GetAllProfilesAttributesSortedByName(); | 1350 GetProfileAttributesStorage().GetAllProfilesAttributesSortedByName(); |
| 1350 std::unique_ptr<base::ListValue> profile_info_list(new base::ListValue); | 1351 std::unique_ptr<base::ListValue> profile_info_list(new base::ListValue); |
| 1351 base::FilePath current_profile_path = | 1352 base::FilePath current_profile_path = |
| 1352 web_ui()->GetWebContents()->GetBrowserContext()->GetPath(); | 1353 web_ui()->GetWebContents()->GetBrowserContext()->GetPath(); |
| 1353 | 1354 |
| 1354 for (const ProfileAttributesEntry* entry : entries) { | 1355 for (const ProfileAttributesEntry* entry : entries) { |
| 1355 // The items in |profile_value| are also described in | 1356 // The items in |profile_value| are also described in |
| 1356 // chrome/browser/resources/options/browser_options.js in a @typedef for | 1357 // chrome/browser/resources/options/browser_options.js in a @typedef for |
| 1357 // Profile. Please update it whenever you add or remove any keys here. | 1358 // Profile. Please update it whenever you add or remove any keys here. |
| 1358 base::DictionaryValue* profile_value = new base::DictionaryValue(); | 1359 std::unique_ptr<base::DictionaryValue> profile_value( |
| 1360 new base::DictionaryValue()); |
| 1359 profile_value->SetString("name", entry->GetName()); | 1361 profile_value->SetString("name", entry->GetName()); |
| 1360 base::FilePath profile_path = entry->GetPath(); | 1362 base::FilePath profile_path = entry->GetPath(); |
| 1361 profile_value->Set("filePath", base::CreateFilePathValue(profile_path)); | 1363 profile_value->Set("filePath", base::CreateFilePathValue(profile_path)); |
| 1362 profile_value->SetBoolean("isCurrentProfile", | 1364 profile_value->SetBoolean("isCurrentProfile", |
| 1363 profile_path == current_profile_path); | 1365 profile_path == current_profile_path); |
| 1364 profile_value->SetBoolean("isSupervised", entry->IsSupervised()); | 1366 profile_value->SetBoolean("isSupervised", entry->IsSupervised()); |
| 1365 profile_value->SetBoolean("isChild", entry->IsChild()); | 1367 profile_value->SetBoolean("isChild", entry->IsChild()); |
| 1366 | 1368 |
| 1367 if (entry->IsUsingGAIAPicture() && entry->GetGAIAPicture()) { | 1369 if (entry->IsUsingGAIAPicture() && entry->GetGAIAPicture()) { |
| 1368 gfx::Image icon = profiles::GetAvatarIconForWebUI(entry->GetAvatarIcon(), | 1370 gfx::Image icon = profiles::GetAvatarIconForWebUI(entry->GetAvatarIcon(), |
| 1369 true); | 1371 true); |
| 1370 profile_value->SetString("iconURL", | 1372 profile_value->SetString("iconURL", |
| 1371 webui::GetBitmapDataUrl(icon.AsBitmap())); | 1373 webui::GetBitmapDataUrl(icon.AsBitmap())); |
| 1372 } else { | 1374 } else { |
| 1373 size_t icon_index = entry->GetAvatarIconIndex(); | 1375 size_t icon_index = entry->GetAvatarIconIndex(); |
| 1374 profile_value->SetString("iconURL", | 1376 profile_value->SetString("iconURL", |
| 1375 profiles::GetDefaultAvatarIconUrl(icon_index)); | 1377 profiles::GetDefaultAvatarIconUrl(icon_index)); |
| 1376 } | 1378 } |
| 1377 | 1379 |
| 1378 profile_info_list->Append(profile_value); | 1380 profile_info_list->Append(std::move(profile_value)); |
| 1379 } | 1381 } |
| 1380 | 1382 |
| 1381 return profile_info_list; | 1383 return profile_info_list; |
| 1382 } | 1384 } |
| 1383 | 1385 |
| 1384 void BrowserOptionsHandler::SendProfilesInfo() { | 1386 void BrowserOptionsHandler::SendProfilesInfo() { |
| 1385 if (!ShouldShowMultiProfilesUserList()) | 1387 if (!ShouldShowMultiProfilesUserList()) |
| 1386 return; | 1388 return; |
| 1387 web_ui()->CallJavascriptFunctionUnsafe("BrowserOptions.setProfilesInfo", | 1389 web_ui()->CallJavascriptFunctionUnsafe("BrowserOptions.setProfilesInfo", |
| 1388 *GetProfilesInfoList()); | 1390 *GetProfilesInfoList()); |
| (...skipping 608 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1997 | 1999 |
| 1998 // Iterate through the zoom factors and and build the contents of the | 2000 // Iterate through the zoom factors and and build the contents of the |
| 1999 // selector that will be sent to the javascript handler. | 2001 // selector that will be sent to the javascript handler. |
| 2000 // Each item in the list has the following parameters: | 2002 // Each item in the list has the following parameters: |
| 2001 // 1. Title (string). | 2003 // 1. Title (string). |
| 2002 // 2. Value (double). | 2004 // 2. Value (double). |
| 2003 // 3. Is selected? (bool). | 2005 // 3. Is selected? (bool). |
| 2004 base::ListValue zoom_factors_value; | 2006 base::ListValue zoom_factors_value; |
| 2005 for (std::vector<double>::const_iterator i = zoom_factors.begin(); | 2007 for (std::vector<double>::const_iterator i = zoom_factors.begin(); |
| 2006 i != zoom_factors.end(); ++i) { | 2008 i != zoom_factors.end(); ++i) { |
| 2007 base::ListValue* option = new base::ListValue(); | 2009 std::unique_ptr<base::ListValue> option(new base::ListValue()); |
| 2008 double factor = *i; | 2010 double factor = *i; |
| 2009 int percent = static_cast<int>(factor * 100 + 0.5); | 2011 int percent = static_cast<int>(factor * 100 + 0.5); |
| 2010 option->AppendString(base::FormatPercent(percent)); | 2012 option->AppendString(base::FormatPercent(percent)); |
| 2011 option->AppendDouble(factor); | 2013 option->AppendDouble(factor); |
| 2012 bool selected = content::ZoomValuesEqual(factor, default_zoom_factor); | 2014 bool selected = content::ZoomValuesEqual(factor, default_zoom_factor); |
| 2013 option->AppendBoolean(selected); | 2015 option->AppendBoolean(selected); |
| 2014 zoom_factors_value.Append(option); | 2016 zoom_factors_value.Append(std::move(option)); |
| 2015 } | 2017 } |
| 2016 | 2018 |
| 2017 web_ui()->CallJavascriptFunctionUnsafe("BrowserOptions.setupPageZoomSelector", | 2019 web_ui()->CallJavascriptFunctionUnsafe("BrowserOptions.setupPageZoomSelector", |
| 2018 zoom_factors_value); | 2020 zoom_factors_value); |
| 2019 } | 2021 } |
| 2020 | 2022 |
| 2021 void BrowserOptionsHandler::SetupAutoOpenFileTypes() { | 2023 void BrowserOptionsHandler::SetupAutoOpenFileTypes() { |
| 2022 // Set the hidden state for the AutoOpenFileTypesResetToDefault button. | 2024 // Set the hidden state for the AutoOpenFileTypesResetToDefault button. |
| 2023 // We show the button if the user has any auto-open file types registered. | 2025 // We show the button if the user has any auto-open file types registered. |
| 2024 DownloadManager* manager = BrowserContext::GetDownloadManager( | 2026 DownloadManager* manager = BrowserContext::GetDownloadManager( |
| (...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2184 | 2186 |
| 2185 bool BrowserOptionsHandler::IsDeviceOwnerProfile() { | 2187 bool BrowserOptionsHandler::IsDeviceOwnerProfile() { |
| 2186 #if defined(OS_CHROMEOS) | 2188 #if defined(OS_CHROMEOS) |
| 2187 return chromeos::ProfileHelper::IsOwnerProfile(Profile::FromWebUI(web_ui())); | 2189 return chromeos::ProfileHelper::IsOwnerProfile(Profile::FromWebUI(web_ui())); |
| 2188 #else | 2190 #else |
| 2189 return true; | 2191 return true; |
| 2190 #endif | 2192 #endif |
| 2191 } | 2193 } |
| 2192 | 2194 |
| 2193 } // namespace options | 2195 } // namespace options |
| OLD | NEW |