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

Side by Side Diff: chrome/browser/ui/webui/options/browser_options_handler.cc

Issue 2476493003: Remove FundamentalValue
Patch Set: Fix 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/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 #include <utility>
(...skipping 1147 matching lines...) Expand 10 before | Expand all | Expand 10 after
1158 ->GetPolicies(policy::PolicyNamespace(policy::POLICY_DOMAIN_CHROME, 1158 ->GetPolicies(policy::PolicyNamespace(policy::POLICY_DOMAIN_CHROME,
1159 std::string())) 1159 std::string()))
1160 .Get(policy::key::kUserAvatarImage)); 1160 .Get(policy::key::kUserAvatarImage));
1161 1161
1162 OnWallpaperManagedChanged( 1162 OnWallpaperManagedChanged(
1163 chromeos::WallpaperManager::Get()->IsPolicyControlled( 1163 chromeos::WallpaperManager::Get()->IsPolicyControlled(
1164 user->GetAccountId())); 1164 user->GetAccountId()));
1165 1165
1166 if (arc::ArcSessionManager::IsAllowedForProfile(profile) && 1166 if (arc::ArcSessionManager::IsAllowedForProfile(profile) &&
1167 !arc::ArcSessionManager::IsOptInVerificationDisabled()) { 1167 !arc::ArcSessionManager::IsOptInVerificationDisabled()) {
1168 base::FundamentalValue is_arc_enabled( 1168 base::Value is_arc_enabled(arc::ArcSessionManager::Get()->IsArcEnabled());
1169 arc::ArcSessionManager::Get()->IsArcEnabled());
1170 web_ui()->CallJavascriptFunctionUnsafe( 1169 web_ui()->CallJavascriptFunctionUnsafe(
1171 "BrowserOptions.showAndroidAppsSection", 1170 "BrowserOptions.showAndroidAppsSection",
1172 is_arc_enabled); 1171 is_arc_enabled);
1173 // Get the initial state of Android Settings app readiness. 1172 // Get the initial state of Android Settings app readiness.
1174 std::unique_ptr<ArcAppListPrefs::AppInfo> app_info = 1173 std::unique_ptr<ArcAppListPrefs::AppInfo> app_info =
1175 ArcAppListPrefs::Get(profile)->GetApp(arc::kSettingsAppId); 1174 ArcAppListPrefs::Get(profile)->GetApp(arc::kSettingsAppId);
1176 if (app_info && app_info->ready) 1175 if (app_info && app_info->ready)
1177 UpdateAndroidSettingsAppState(app_info->ready); 1176 UpdateAndroidSettingsAppState(app_info->ready);
1178 } 1177 }
1179 1178
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
1256 } 1255 }
1257 1256
1258 SetDefaultBrowserUIString(status_string_id); 1257 SetDefaultBrowserUIString(status_string_id);
1259 } 1258 }
1260 1259
1261 void BrowserOptionsHandler::SetDefaultBrowserUIString(int status_string_id) { 1260 void BrowserOptionsHandler::SetDefaultBrowserUIString(int status_string_id) {
1262 base::StringValue status_string( 1261 base::StringValue status_string(
1263 l10n_util::GetStringFUTF16(status_string_id, 1262 l10n_util::GetStringFUTF16(status_string_id,
1264 l10n_util::GetStringUTF16(IDS_PRODUCT_NAME))); 1263 l10n_util::GetStringUTF16(IDS_PRODUCT_NAME)));
1265 1264
1266 base::FundamentalValue is_default( 1265 base::Value is_default(
1267 status_string_id == IDS_OPTIONS_DEFAULTBROWSER_DEFAULT); 1266 status_string_id == IDS_OPTIONS_DEFAULTBROWSER_DEFAULT);
1268 1267
1269 base::FundamentalValue can_be_default( 1268 base::Value can_be_default(
1270 !IsDisabledByPolicy(default_browser_policy_) && 1269 !IsDisabledByPolicy(default_browser_policy_) &&
1271 (status_string_id == IDS_OPTIONS_DEFAULTBROWSER_DEFAULT || 1270 (status_string_id == IDS_OPTIONS_DEFAULTBROWSER_DEFAULT ||
1272 status_string_id == IDS_OPTIONS_DEFAULTBROWSER_NOTDEFAULT)); 1271 status_string_id == IDS_OPTIONS_DEFAULTBROWSER_NOTDEFAULT));
1273 1272
1274 web_ui()->CallJavascriptFunctionUnsafe( 1273 web_ui()->CallJavascriptFunctionUnsafe(
1275 "BrowserOptions.updateDefaultBrowserState", status_string, is_default, 1274 "BrowserOptions.updateDefaultBrowserState", status_string, is_default,
1276 can_be_default); 1275 can_be_default);
1277 } 1276 }
1278 #endif // !defined(OS_CHROMEOS) 1277 #endif // !defined(OS_CHROMEOS)
1279 1278
(...skipping 16 matching lines...) Expand all
1296 std::unique_ptr<base::DictionaryValue> entry(new base::DictionaryValue()); 1295 std::unique_ptr<base::DictionaryValue> entry(new base::DictionaryValue());
1297 entry->SetString("name", t_url->short_name()); 1296 entry->SetString("name", t_url->short_name());
1298 entry->SetInteger("index", i); 1297 entry->SetInteger("index", i);
1299 search_engines.Append(std::move(entry)); 1298 search_engines.Append(std::move(entry));
1300 if (t_url == default_url) 1299 if (t_url == default_url)
1301 default_index = i; 1300 default_index = i;
1302 } 1301 }
1303 1302
1304 web_ui()->CallJavascriptFunctionUnsafe( 1303 web_ui()->CallJavascriptFunctionUnsafe(
1305 "BrowserOptions.updateSearchEngines", search_engines, 1304 "BrowserOptions.updateSearchEngines", search_engines,
1306 base::FundamentalValue(default_index), 1305 base::Value(default_index),
1307 base::FundamentalValue( 1306 base::Value(
1308 template_url_service_->is_default_search_managed() || 1307 template_url_service_->is_default_search_managed() ||
1309 template_url_service_->IsExtensionControlledDefaultSearch())); 1308 template_url_service_->IsExtensionControlledDefaultSearch()));
1310 1309
1311 SetupExtensionControlledIndicators(); 1310 SetupExtensionControlledIndicators();
1312 1311
1313 HandleRequestHotwordAvailable(nullptr); 1312 HandleRequestHotwordAvailable(nullptr);
1314 HandleRequestGoogleNowAvailable(nullptr); 1313 HandleRequestGoogleNowAvailable(nullptr);
1315 } 1314 }
1316 1315
1317 void BrowserOptionsHandler::SetDefaultSearchEngine( 1316 void BrowserOptionsHandler::SetDefaultSearchEngine(
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
1470 } 1469 }
1471 1470
1472 void BrowserOptionsHandler::ObserveThemeChanged() { 1471 void BrowserOptionsHandler::ObserveThemeChanged() {
1473 Profile* profile = Profile::FromWebUI(web_ui()); 1472 Profile* profile = Profile::FromWebUI(web_ui());
1474 ThemeService* theme_service = ThemeServiceFactory::GetForProfile(profile); 1473 ThemeService* theme_service = ThemeServiceFactory::GetForProfile(profile);
1475 bool is_system_theme = false; 1474 bool is_system_theme = false;
1476 1475
1477 #if defined(OS_LINUX) && !defined(OS_CHROMEOS) 1476 #if defined(OS_LINUX) && !defined(OS_CHROMEOS)
1478 bool profile_is_supervised = profile->IsSupervised(); 1477 bool profile_is_supervised = profile->IsSupervised();
1479 is_system_theme = theme_service->UsingSystemTheme(); 1478 is_system_theme = theme_service->UsingSystemTheme();
1480 base::FundamentalValue native_theme_enabled(!is_system_theme && 1479 base::Value native_theme_enabled(!is_system_theme &&
1481 !profile_is_supervised); 1480 !profile_is_supervised);
1482 web_ui()->CallJavascriptFunctionUnsafe( 1481 web_ui()->CallJavascriptFunctionUnsafe(
1483 "BrowserOptions.setNativeThemeButtonEnabled", native_theme_enabled); 1482 "BrowserOptions.setNativeThemeButtonEnabled", native_theme_enabled);
1484 #endif 1483 #endif
1485 1484
1486 bool is_classic_theme = !is_system_theme && 1485 bool is_classic_theme = !is_system_theme &&
1487 theme_service->UsingDefaultTheme(); 1486 theme_service->UsingDefaultTheme();
1488 base::FundamentalValue enabled(!is_classic_theme); 1487 base::Value enabled(!is_classic_theme);
1489 web_ui()->CallJavascriptFunctionUnsafe( 1488 web_ui()->CallJavascriptFunctionUnsafe(
1490 "BrowserOptions.setThemesResetButtonEnabled", enabled); 1489 "BrowserOptions.setThemesResetButtonEnabled", enabled);
1491 } 1490 }
1492 1491
1493 void BrowserOptionsHandler::ThemesReset(const base::ListValue* args) { 1492 void BrowserOptionsHandler::ThemesReset(const base::ListValue* args) {
1494 Profile* profile = Profile::FromWebUI(web_ui()); 1493 Profile* profile = Profile::FromWebUI(web_ui());
1495 content::RecordAction(UserMetricsAction("Options_ThemesReset")); 1494 content::RecordAction(UserMetricsAction("Options_ThemesReset"));
1496 ThemeServiceFactory::GetForProfile(profile)->UseDefaultTheme(); 1495 ThemeServiceFactory::GetForProfile(profile)->UseDefaultTheme();
1497 } 1496 }
1498 1497
(...skipping 18 matching lines...) Expand all
1517 web_ui()->CallJavascriptFunctionUnsafe( 1516 web_ui()->CallJavascriptFunctionUnsafe(
1518 "BrowserOptions.updateAccountPicture", email_value); 1517 "BrowserOptions.updateAccountPicture", email_value);
1519 web_ui()->CallJavascriptFunctionUnsafe( 1518 web_ui()->CallJavascriptFunctionUnsafe(
1520 "AccountsOptions.getInstance().updateAccountPicture", email_value); 1519 "AccountsOptions.getInstance().updateAccountPicture", email_value);
1521 } 1520 }
1522 } 1521 }
1523 1522
1524 void BrowserOptionsHandler::OnAccountPictureManagedChanged(bool managed) { 1523 void BrowserOptionsHandler::OnAccountPictureManagedChanged(bool managed) {
1525 web_ui()->CallJavascriptFunctionUnsafe( 1524 web_ui()->CallJavascriptFunctionUnsafe(
1526 "BrowserOptions.setAccountPictureManaged", 1525 "BrowserOptions.setAccountPictureManaged",
1527 base::FundamentalValue(managed)); 1526 base::Value(managed));
1528 } 1527 }
1529 1528
1530 void BrowserOptionsHandler::OnWallpaperManagedChanged(bool managed) { 1529 void BrowserOptionsHandler::OnWallpaperManagedChanged(bool managed) {
1531 web_ui()->CallJavascriptFunctionUnsafe("BrowserOptions.setWallpaperManaged", 1530 web_ui()->CallJavascriptFunctionUnsafe("BrowserOptions.setWallpaperManaged",
1532 base::FundamentalValue(managed)); 1531 base::Value(managed));
1533 } 1532 }
1534 1533
1535 void BrowserOptionsHandler::OnSystemTimezonePolicyChanged() { 1534 void BrowserOptionsHandler::OnSystemTimezonePolicyChanged() {
1536 web_ui()->CallJavascriptFunctionUnsafe( 1535 web_ui()->CallJavascriptFunctionUnsafe(
1537 "BrowserOptions.setSystemTimezoneManaged", 1536 "BrowserOptions.setSystemTimezoneManaged",
1538 base::FundamentalValue(chromeos::system::HasSystemTimezonePolicy())); 1537 base::Value(chromeos::system::HasSystemTimezonePolicy()));
1539 } 1538 }
1540 1539
1541 void BrowserOptionsHandler::OnSystemTimezoneAutomaticDetectionPolicyChanged() { 1540 void BrowserOptionsHandler::OnSystemTimezoneAutomaticDetectionPolicyChanged() {
1542 if (base::CommandLine::ForCurrentProcess()->HasSwitch( 1541 if (base::CommandLine::ForCurrentProcess()->HasSwitch(
1543 chromeos::switches::kDisableSystemTimezoneAutomaticDetectionPolicy)) { 1542 chromeos::switches::kDisableSystemTimezoneAutomaticDetectionPolicy)) {
1544 return; 1543 return;
1545 } 1544 }
1546 1545
1547 PrefService* prefs = g_browser_process->local_state(); 1546 PrefService* prefs = g_browser_process->local_state();
1548 const bool is_managed = prefs->IsManagedPreference( 1547 const bool is_managed = prefs->IsManagedPreference(
1549 prefs::kSystemTimezoneAutomaticDetectionPolicy); 1548 prefs::kSystemTimezoneAutomaticDetectionPolicy);
1550 const int value = 1549 const int value =
1551 prefs->GetInteger(prefs::kSystemTimezoneAutomaticDetectionPolicy); 1550 prefs->GetInteger(prefs::kSystemTimezoneAutomaticDetectionPolicy);
1552 web_ui()->CallJavascriptFunctionUnsafe( 1551 web_ui()->CallJavascriptFunctionUnsafe(
1553 "BrowserOptions.setSystemTimezoneAutomaticDetectionManaged", 1552 "BrowserOptions.setSystemTimezoneAutomaticDetectionManaged",
1554 base::FundamentalValue(is_managed), base::FundamentalValue(value)); 1553 base::Value(is_managed), base::Value(value));
1555 } 1554 }
1556 #endif 1555 #endif
1557 1556
1558 std::unique_ptr<base::DictionaryValue> 1557 std::unique_ptr<base::DictionaryValue>
1559 BrowserOptionsHandler::GetSyncStateDictionary() { 1558 BrowserOptionsHandler::GetSyncStateDictionary() {
1560 // The items which are to be written into |sync_status| are also described in 1559 // The items which are to be written into |sync_status| are also described in
1561 // chrome/browser/resources/options/browser_options.js in @typedef 1560 // chrome/browser/resources/options/browser_options.js in @typedef
1562 // for SyncStatus. Please update it whenever you add or remove any keys here. 1561 // for SyncStatus. Please update it whenever you add or remove any keys here.
1563 std::unique_ptr<base::DictionaryValue> sync_status(new base::DictionaryValue); 1562 std::unique_ptr<base::DictionaryValue> sync_status(new base::DictionaryValue);
1564 Profile* profile = Profile::FromWebUI(web_ui()); 1563 Profile* profile = Profile::FromWebUI(web_ui());
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
1636 void BrowserOptionsHandler::FileSelected(const base::FilePath& path, int index, 1635 void BrowserOptionsHandler::FileSelected(const base::FilePath& path, int index,
1637 void* params) { 1636 void* params) {
1638 content::RecordAction(UserMetricsAction("Options_SetDownloadDirectory")); 1637 content::RecordAction(UserMetricsAction("Options_SetDownloadDirectory"));
1639 PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs(); 1638 PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs();
1640 pref_service->SetFilePath(prefs::kDownloadDefaultDirectory, path); 1639 pref_service->SetFilePath(prefs::kDownloadDefaultDirectory, path);
1641 pref_service->SetFilePath(prefs::kSaveFileDefaultDirectory, path); 1640 pref_service->SetFilePath(prefs::kSaveFileDefaultDirectory, path);
1642 } 1641 }
1643 1642
1644 #if defined(OS_CHROMEOS) 1643 #if defined(OS_CHROMEOS)
1645 void BrowserOptionsHandler::TouchpadExists(bool exists) { 1644 void BrowserOptionsHandler::TouchpadExists(bool exists) {
1646 base::FundamentalValue val(exists); 1645 base::Value val(exists);
1647 web_ui()->CallJavascriptFunctionUnsafe("BrowserOptions.showTouchpadControls", 1646 web_ui()->CallJavascriptFunctionUnsafe("BrowserOptions.showTouchpadControls",
1648 val); 1647 val);
1649 } 1648 }
1650 1649
1651 void BrowserOptionsHandler::MouseExists(bool exists) { 1650 void BrowserOptionsHandler::MouseExists(bool exists) {
1652 base::FundamentalValue val(exists); 1651 base::Value val(exists);
1653 web_ui()->CallJavascriptFunctionUnsafe("BrowserOptions.showMouseControls", 1652 web_ui()->CallJavascriptFunctionUnsafe("BrowserOptions.showMouseControls",
1654 val); 1653 val);
1655 } 1654 }
1656 1655
1657 void BrowserOptionsHandler::OnUserImagePolicyChanged( 1656 void BrowserOptionsHandler::OnUserImagePolicyChanged(
1658 const base::Value* previous_policy, 1657 const base::Value* previous_policy,
1659 const base::Value* current_policy) { 1658 const base::Value* current_policy) {
1660 const bool had_policy = previous_policy; 1659 const bool had_policy = previous_policy;
1661 const bool has_policy = current_policy; 1660 const bool has_policy = current_policy;
1662 if (had_policy != has_policy) 1661 if (had_policy != has_policy)
(...skipping 20 matching lines...) Expand all
1683 #endif // defined(OS_CHROMEOS) 1682 #endif // defined(OS_CHROMEOS)
1684 1683
1685 void BrowserOptionsHandler::UpdateSyncState() { 1684 void BrowserOptionsHandler::UpdateSyncState() {
1686 web_ui()->CallJavascriptFunctionUnsafe("BrowserOptions.updateSyncState", 1685 web_ui()->CallJavascriptFunctionUnsafe("BrowserOptions.updateSyncState",
1687 *GetSyncStateDictionary()); 1686 *GetSyncStateDictionary());
1688 1687
1689 // A change in sign-in state also affects how hotwording and audio history are 1688 // A change in sign-in state also affects how hotwording and audio history are
1690 // displayed. Hide all hotwording and re-display properly. 1689 // displayed. Hide all hotwording and re-display properly.
1691 web_ui()->CallJavascriptFunctionUnsafe( 1690 web_ui()->CallJavascriptFunctionUnsafe(
1692 "BrowserOptions.setAllHotwordSectionsVisible", 1691 "BrowserOptions.setAllHotwordSectionsVisible",
1693 base::FundamentalValue(false)); 1692 base::Value(false));
1694 HandleRequestHotwordAvailable(nullptr); 1693 HandleRequestHotwordAvailable(nullptr);
1695 } 1694 }
1696 1695
1697 void BrowserOptionsHandler::OnSigninAllowedPrefChange() { 1696 void BrowserOptionsHandler::OnSigninAllowedPrefChange() {
1698 UpdateSyncState(); 1697 UpdateSyncState();
1699 } 1698 }
1700 1699
1701 void BrowserOptionsHandler::HandleAutoOpenButton(const base::ListValue* args) { 1700 void BrowserOptionsHandler::HandleAutoOpenButton(const base::ListValue* args) {
1702 content::RecordAction(UserMetricsAction("Options_ResetAutoOpenFiles")); 1701 content::RecordAction(UserMetricsAction("Options_ResetAutoOpenFiles"));
1703 DownloadManager* manager = BrowserContext::GetDownloadManager( 1702 DownloadManager* manager = BrowserContext::GetDownloadManager(
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
1776 web_ui()->GetWebContents()->OpenURL(params); 1775 web_ui()->GetWebContents()->OpenURL(params);
1777 } 1776 }
1778 #endif 1777 #endif
1779 1778
1780 void BrowserOptionsHandler::SetHotwordAudioHistorySectionVisible( 1779 void BrowserOptionsHandler::SetHotwordAudioHistorySectionVisible(
1781 const base::string16& audio_history_state, 1780 const base::string16& audio_history_state,
1782 bool success, bool logging_enabled) { 1781 bool success, bool logging_enabled) {
1783 bool visible = logging_enabled && success; 1782 bool visible = logging_enabled && success;
1784 web_ui()->CallJavascriptFunctionUnsafe( 1783 web_ui()->CallJavascriptFunctionUnsafe(
1785 "BrowserOptions.setAudioHistorySectionVisible", 1784 "BrowserOptions.setAudioHistorySectionVisible",
1786 base::FundamentalValue(visible), base::StringValue(audio_history_state)); 1785 base::Value(visible), base::StringValue(audio_history_state));
1787 } 1786 }
1788 1787
1789 void BrowserOptionsHandler::HandleRequestGoogleNowAvailable( 1788 void BrowserOptionsHandler::HandleRequestGoogleNowAvailable(
1790 const base::ListValue* args) { 1789 const base::ListValue* args) {
1791 bool is_search_provider_google = false; 1790 bool is_search_provider_google = false;
1792 if (template_url_service_ && template_url_service_->loaded()) { 1791 if (template_url_service_ && template_url_service_->loaded()) {
1793 const TemplateURL* default_url = 1792 const TemplateURL* default_url =
1794 template_url_service_->GetDefaultSearchProvider(); 1793 template_url_service_->GetDefaultSearchProvider();
1795 if (default_url && default_url->HasGoogleBaseURLs( 1794 if (default_url && default_url->HasGoogleBaseURLs(
1796 template_url_service_->search_terms_data())) { 1795 template_url_service_->search_terms_data())) {
1797 is_search_provider_google = true; 1796 is_search_provider_google = true;
1798 } 1797 }
1799 } 1798 }
1800 1799
1801 std::string group = base::FieldTrialList::FindFullName("GoogleNowExtension"); 1800 std::string group = base::FieldTrialList::FindFullName("GoogleNowExtension");
1802 bool has_field_trial = !group.empty() && group != "Disabled"; 1801 bool has_field_trial = !group.empty() && group != "Disabled";
1803 1802
1804 bool should_show = is_search_provider_google && has_field_trial; 1803 bool should_show = is_search_provider_google && has_field_trial;
1805 web_ui()->CallJavascriptFunctionUnsafe("BrowserOptions.setNowSectionVisible", 1804 web_ui()->CallJavascriptFunctionUnsafe("BrowserOptions.setNowSectionVisible",
1806 base::FundamentalValue(should_show)); 1805 base::Value(should_show));
1807 } 1806 }
1808 1807
1809 void BrowserOptionsHandler::HandleRequestHotwordAvailable( 1808 void BrowserOptionsHandler::HandleRequestHotwordAvailable(
1810 const base::ListValue* args) { 1809 const base::ListValue* args) {
1811 Profile* profile = Profile::FromWebUI(web_ui()); 1810 Profile* profile = Profile::FromWebUI(web_ui());
1812 1811
1813 bool is_search_provider_google = false; 1812 bool is_search_provider_google = false;
1814 // The check for default search provider is only valid if the 1813 // The check for default search provider is only valid if the
1815 // |template_url_service_| has loaded already. 1814 // |template_url_service_| has loaded already.
1816 if (template_url_service_ && template_url_service_->loaded()) { 1815 if (template_url_service_ && template_url_service_->loaded()) {
(...skipping 12 matching lines...) Expand all
1829 } 1828 }
1830 } 1829 }
1831 1830
1832 // |is_search_provider_google| may be false because |template_url_service_| 1831 // |is_search_provider_google| may be false because |template_url_service_|
1833 // does not exist yet or because the user selected a different search 1832 // does not exist yet or because the user selected a different search
1834 // provider. In either case it does not make sense to show the hotwording 1833 // provider. In either case it does not make sense to show the hotwording
1835 // options. 1834 // options.
1836 if (!is_search_provider_google) { 1835 if (!is_search_provider_google) {
1837 web_ui()->CallJavascriptFunctionUnsafe( 1836 web_ui()->CallJavascriptFunctionUnsafe(
1838 "BrowserOptions.setAllHotwordSectionsVisible", 1837 "BrowserOptions.setAllHotwordSectionsVisible",
1839 base::FundamentalValue(false)); 1838 base::Value(false));
1840 return; 1839 return;
1841 } 1840 }
1842 1841
1843 // Don't need to check the field trial here since |IsHotwordAllowed| also 1842 // Don't need to check the field trial here since |IsHotwordAllowed| also
1844 // checks it. 1843 // checks it.
1845 if (HotwordServiceFactory::IsHotwordAllowed(profile)) { 1844 if (HotwordServiceFactory::IsHotwordAllowed(profile)) {
1846 // Update the current error value. 1845 // Update the current error value.
1847 HotwordServiceFactory::IsServiceAvailable(profile); 1846 HotwordServiceFactory::IsServiceAvailable(profile);
1848 int error = HotwordServiceFactory::GetCurrentError(profile); 1847 int error = HotwordServiceFactory::GetCurrentError(profile);
1849 1848
1850 std::string function_name; 1849 std::string function_name;
1851 bool always_on = false; 1850 bool always_on = false;
1852 SigninManagerBase* signin = SigninManagerFactory::GetForProfile(profile); 1851 SigninManagerBase* signin = SigninManagerFactory::GetForProfile(profile);
1853 bool authenticated = signin && signin->IsAuthenticated(); 1852 bool authenticated = signin && signin->IsAuthenticated();
1854 if (HotwordServiceFactory::IsAlwaysOnAvailable() && authenticated) { 1853 if (HotwordServiceFactory::IsAlwaysOnAvailable() && authenticated) {
1855 function_name = "BrowserOptions.showHotwordAlwaysOnSection"; 1854 function_name = "BrowserOptions.showHotwordAlwaysOnSection";
1856 always_on = true; 1855 always_on = true;
1857 // Show the retrain link if always-on is enabled. 1856 // Show the retrain link if always-on is enabled.
1858 if (profile->GetPrefs()->GetBoolean( 1857 if (profile->GetPrefs()->GetBoolean(
1859 prefs::kHotwordAlwaysOnSearchEnabled)) { 1858 prefs::kHotwordAlwaysOnSearchEnabled)) {
1860 web_ui()->CallJavascriptFunctionUnsafe( 1859 web_ui()->CallJavascriptFunctionUnsafe(
1861 "BrowserOptions.setHotwordRetrainLinkVisible", 1860 "BrowserOptions.setHotwordRetrainLinkVisible",
1862 base::FundamentalValue(true)); 1861 base::Value(true));
1863 } 1862 }
1864 } else { 1863 } else {
1865 function_name = "BrowserOptions.showHotwordNoDspSection"; 1864 function_name = "BrowserOptions.showHotwordNoDspSection";
1866 } 1865 }
1867 1866
1868 // Audio history should be displayed if it's enabled regardless of the 1867 // Audio history should be displayed if it's enabled regardless of the
1869 // hotword error state if the user is signed in. If the user is not signed 1868 // hotword error state if the user is signed in. If the user is not signed
1870 // in, audio history is meaningless. This is only displayed if always-on 1869 // in, audio history is meaningless. This is only displayed if always-on
1871 // hotwording is available. 1870 // hotwording is available.
1872 if (authenticated && always_on) { 1871 if (authenticated && always_on) {
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
1987 1986
1988 void BrowserOptionsHandler::OnAppReadyChanged( 1987 void BrowserOptionsHandler::OnAppReadyChanged(
1989 const std::string& app_id, 1988 const std::string& app_id,
1990 bool ready) { 1989 bool ready) {
1991 if (app_id == arc::kSettingsAppId) { 1990 if (app_id == arc::kSettingsAppId) {
1992 UpdateAndroidSettingsAppState(ready); 1991 UpdateAndroidSettingsAppState(ready);
1993 } 1992 }
1994 } 1993 }
1995 1994
1996 void BrowserOptionsHandler::UpdateAndroidSettingsAppState(bool visible) { 1995 void BrowserOptionsHandler::UpdateAndroidSettingsAppState(bool visible) {
1997 base::FundamentalValue is_visible(visible); 1996 base::Value is_visible(visible);
1998 web_ui()->CallJavascriptFunctionUnsafe( 1997 web_ui()->CallJavascriptFunctionUnsafe(
1999 "BrowserOptions.setAndroidAppsSettingsVisibility", is_visible); 1998 "BrowserOptions.setAndroidAppsSettingsVisibility", is_visible);
2000 } 1999 }
2001 2000
2002 void BrowserOptionsHandler::ShowAndroidAppsSettings( 2001 void BrowserOptionsHandler::ShowAndroidAppsSettings(
2003 const base::ListValue* args) { 2002 const base::ListValue* args) {
2004 Profile* profile = Profile::FromWebUI(web_ui()); 2003 Profile* profile = Profile::FromWebUI(web_ui());
2005 // Settings in secondary profile cannot access ARC. 2004 // Settings in secondary profile cannot access ARC.
2006 if (!arc::ArcSessionManager::IsAllowedForProfile(profile)) { 2005 if (!arc::ArcSessionManager::IsAllowedForProfile(profile)) {
2007 LOG(ERROR) << "Settings can't be invoked for non-primary profile"; 2006 LOG(ERROR) << "Settings can't be invoked for non-primary profile";
(...skipping 10 matching lines...) Expand all
2018 if (!arc::ArcSessionManager::IsAllowedForProfile(profile)) { 2017 if (!arc::ArcSessionManager::IsAllowedForProfile(profile)) {
2019 LOG(WARNING) << "Settings can't be invoked for non-primary profile"; 2018 LOG(WARNING) << "Settings can't be invoked for non-primary profile";
2020 return; 2019 return;
2021 } 2020 }
2022 2021
2023 arc::ShowTalkBackSettings(); 2022 arc::ShowTalkBackSettings();
2024 } 2023 }
2025 2024
2026 void BrowserOptionsHandler::SetupAccessibilityFeatures() { 2025 void BrowserOptionsHandler::SetupAccessibilityFeatures() {
2027 PrefService* pref_service = g_browser_process->local_state(); 2026 PrefService* pref_service = g_browser_process->local_state();
2028 base::FundamentalValue virtual_keyboard_enabled( 2027 base::Value virtual_keyboard_enabled(
2029 pref_service->GetBoolean(prefs::kAccessibilityVirtualKeyboardEnabled)); 2028 pref_service->GetBoolean(prefs::kAccessibilityVirtualKeyboardEnabled));
2030 web_ui()->CallJavascriptFunctionUnsafe( 2029 web_ui()->CallJavascriptFunctionUnsafe(
2031 "BrowserOptions.setVirtualKeyboardCheckboxState", 2030 "BrowserOptions.setVirtualKeyboardCheckboxState",
2032 virtual_keyboard_enabled); 2031 virtual_keyboard_enabled);
2033 } 2032 }
2034 #endif 2033 #endif
2035 2034
2036 void BrowserOptionsHandler::SetupMetricsReportingSettingVisibility() { 2035 void BrowserOptionsHandler::SetupMetricsReportingSettingVisibility() {
2037 #if defined(GOOGLE_CHROME_BUILD) 2036 #if defined(GOOGLE_CHROME_BUILD)
2038 // Don't show the reporting setting if we are in the guest mode. 2037 // Don't show the reporting setting if we are in the guest mode.
2039 if (Profile::FromWebUI(web_ui())->IsGuestSession()) { 2038 if (Profile::FromWebUI(web_ui())->IsGuestSession()) {
2040 base::FundamentalValue visible(false); 2039 base::Value visible(false);
2041 web_ui()->CallJavascriptFunctionUnsafe( 2040 web_ui()->CallJavascriptFunctionUnsafe(
2042 "BrowserOptions.setMetricsReportingSettingVisibility", visible); 2041 "BrowserOptions.setMetricsReportingSettingVisibility", visible);
2043 } 2042 }
2044 #endif 2043 #endif
2045 } 2044 }
2046 2045
2047 void BrowserOptionsHandler::SetupNetworkPredictionControl() { 2046 void BrowserOptionsHandler::SetupNetworkPredictionControl() {
2048 PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs(); 2047 PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs();
2049 2048
2050 base::DictionaryValue dict; 2049 base::DictionaryValue dict;
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
2125 zoom_factors_value); 2124 zoom_factors_value);
2126 } 2125 }
2127 2126
2128 void BrowserOptionsHandler::SetupAutoOpenFileTypes() { 2127 void BrowserOptionsHandler::SetupAutoOpenFileTypes() {
2129 // Set the hidden state for the AutoOpenFileTypesResetToDefault button. 2128 // Set the hidden state for the AutoOpenFileTypesResetToDefault button.
2130 // We show the button if the user has any auto-open file types registered. 2129 // We show the button if the user has any auto-open file types registered.
2131 DownloadManager* manager = BrowserContext::GetDownloadManager( 2130 DownloadManager* manager = BrowserContext::GetDownloadManager(
2132 web_ui()->GetWebContents()->GetBrowserContext()); 2131 web_ui()->GetWebContents()->GetBrowserContext());
2133 bool display = manager && 2132 bool display = manager &&
2134 DownloadPrefs::FromDownloadManager(manager)->IsAutoOpenUsed(); 2133 DownloadPrefs::FromDownloadManager(manager)->IsAutoOpenUsed();
2135 base::FundamentalValue value(display); 2134 base::Value value(display);
2136 web_ui()->CallJavascriptFunctionUnsafe( 2135 web_ui()->CallJavascriptFunctionUnsafe(
2137 "BrowserOptions.setAutoOpenFileTypesDisplayed", value); 2136 "BrowserOptions.setAutoOpenFileTypesDisplayed", value);
2138 } 2137 }
2139 2138
2140 void BrowserOptionsHandler::SetupProxySettingsSection() { 2139 void BrowserOptionsHandler::SetupProxySettingsSection() {
2141 #if !defined(OS_CHROMEOS) 2140 #if !defined(OS_CHROMEOS)
2142 PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs(); 2141 PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs();
2143 const PrefService::Preference* proxy_config = 2142 const PrefService::Preference* proxy_config =
2144 pref_service->FindPreference(proxy_config::prefs::kProxy); 2143 pref_service->FindPreference(proxy_config::prefs::kProxy);
2145 bool is_extension_controlled = (proxy_config && 2144 bool is_extension_controlled = (proxy_config &&
2146 proxy_config->IsExtensionControlled()); 2145 proxy_config->IsExtensionControlled());
2147 2146
2148 base::FundamentalValue disabled(proxy_config && 2147 base::Value disabled(proxy_config &&
2149 !proxy_config->IsUserModifiable()); 2148 !proxy_config->IsUserModifiable());
2150 base::FundamentalValue extension_controlled(is_extension_controlled); 2149 base::Value extension_controlled(is_extension_controlled);
2151 web_ui()->CallJavascriptFunctionUnsafe( 2150 web_ui()->CallJavascriptFunctionUnsafe(
2152 "BrowserOptions.setupProxySettingsButton", disabled, 2151 "BrowserOptions.setupProxySettingsButton", disabled,
2153 extension_controlled); 2152 extension_controlled);
2154 2153
2155 #if defined(OS_WIN) 2154 #if defined(OS_WIN)
2156 SetupExtensionControlledIndicators(); 2155 SetupExtensionControlledIndicators();
2157 #endif // defined(OS_WIN) 2156 #endif // defined(OS_WIN)
2158 2157
2159 #endif // !defined(OS_CHROMEOS) 2158 #endif // !defined(OS_CHROMEOS)
2160 } 2159 }
2161 2160
2162 void BrowserOptionsHandler::SetupManagingSupervisedUsers() { 2161 void BrowserOptionsHandler::SetupManagingSupervisedUsers() {
2163 bool has_users = !Profile::FromWebUI(web_ui())-> 2162 bool has_users = !Profile::FromWebUI(web_ui())->
2164 GetPrefs()->GetDictionary(prefs::kSupervisedUsers)->empty(); 2163 GetPrefs()->GetDictionary(prefs::kSupervisedUsers)->empty();
2165 base::FundamentalValue has_users_value(has_users); 2164 base::Value has_users_value(has_users);
2166 web_ui()->CallJavascriptFunctionUnsafe( 2165 web_ui()->CallJavascriptFunctionUnsafe(
2167 "BrowserOptions.updateManagesSupervisedUsers", has_users_value); 2166 "BrowserOptions.updateManagesSupervisedUsers", has_users_value);
2168 } 2167 }
2169 2168
2170 void BrowserOptionsHandler::SetupEasyUnlock() { 2169 void BrowserOptionsHandler::SetupEasyUnlock() {
2171 base::FundamentalValue is_enabled( 2170 base::Value is_enabled(
2172 EasyUnlockService::Get(Profile::FromWebUI(web_ui()))->IsEnabled()); 2171 EasyUnlockService::Get(Profile::FromWebUI(web_ui()))->IsEnabled());
2173 web_ui()->CallJavascriptFunctionUnsafe("BrowserOptions.updateEasyUnlock", 2172 web_ui()->CallJavascriptFunctionUnsafe("BrowserOptions.updateEasyUnlock",
2174 is_enabled); 2173 is_enabled);
2175 } 2174 }
2176 2175
2177 void BrowserOptionsHandler::SetupExtensionControlledIndicators() { 2176 void BrowserOptionsHandler::SetupExtensionControlledIndicators() {
2178 base::DictionaryValue extension_controlled; 2177 base::DictionaryValue extension_controlled;
2179 2178
2180 Profile* profile = Profile::FromWebUI(web_ui()); 2179 Profile* profile = Profile::FromWebUI(web_ui());
2181 2180
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
2252 void BrowserOptionsHandler::NotifyUIOfMetricsReportingChange(bool enabled) { 2251 void BrowserOptionsHandler::NotifyUIOfMetricsReportingChange(bool enabled) {
2253 SetMetricsReportingCheckbox(enabled, IsMetricsReportingPolicyManaged(), 2252 SetMetricsReportingCheckbox(enabled, IsMetricsReportingPolicyManaged(),
2254 !IsDeviceOwnerProfile()); 2253 !IsDeviceOwnerProfile());
2255 } 2254 }
2256 2255
2257 void BrowserOptionsHandler::SetMetricsReportingCheckbox(bool checked, 2256 void BrowserOptionsHandler::SetMetricsReportingCheckbox(bool checked,
2258 bool policy_managed, 2257 bool policy_managed,
2259 bool owner_managed) { 2258 bool owner_managed) {
2260 web_ui()->CallJavascriptFunctionUnsafe( 2259 web_ui()->CallJavascriptFunctionUnsafe(
2261 "BrowserOptions.setMetricsReportingCheckboxState", 2260 "BrowserOptions.setMetricsReportingCheckboxState",
2262 base::FundamentalValue(checked), base::FundamentalValue(policy_managed), 2261 base::Value(checked), base::Value(policy_managed),
2263 base::FundamentalValue(owner_managed)); 2262 base::Value(owner_managed));
2264 } 2263 }
2265 2264
2266 void BrowserOptionsHandler::SetupSafeBrowsingExtendedReporting() { 2265 void BrowserOptionsHandler::SetupSafeBrowsingExtendedReporting() {
2267 base::FundamentalValue is_enabled(safe_browsing::IsExtendedReportingEnabled( 2266 base::Value is_enabled(safe_browsing::IsExtendedReportingEnabled(
2268 *Profile::FromWebUI(web_ui())->GetPrefs())); 2267 *Profile::FromWebUI(web_ui())->GetPrefs()));
2269 web_ui()->CallJavascriptFunctionUnsafe( 2268 web_ui()->CallJavascriptFunctionUnsafe(
2270 "BrowserOptions.setExtendedReportingEnabledCheckboxState", is_enabled); 2269 "BrowserOptions.setExtendedReportingEnabledCheckboxState", is_enabled);
2271 } 2270 }
2272 2271
2273 void BrowserOptionsHandler::HandleSafeBrowsingExtendedReporting( 2272 void BrowserOptionsHandler::HandleSafeBrowsingExtendedReporting(
2274 const base::ListValue* args) { 2273 const base::ListValue* args) {
2275 bool checked; 2274 bool checked;
2276 if (args->GetBoolean(0, &checked)) { 2275 if (args->GetBoolean(0, &checked)) {
2277 safe_browsing::SetExtendedReportingPref( 2276 safe_browsing::SetExtendedReportingPref(
(...skipping 12 matching lines...) Expand all
2290 2289
2291 bool BrowserOptionsHandler::IsDeviceOwnerProfile() { 2290 bool BrowserOptionsHandler::IsDeviceOwnerProfile() {
2292 #if defined(OS_CHROMEOS) 2291 #if defined(OS_CHROMEOS)
2293 return chromeos::ProfileHelper::IsOwnerProfile(Profile::FromWebUI(web_ui())); 2292 return chromeos::ProfileHelper::IsOwnerProfile(Profile::FromWebUI(web_ui()));
2294 #else 2293 #else
2295 return true; 2294 return true;
2296 #endif 2295 #endif
2297 } 2296 }
2298 2297
2299 } // namespace options 2298 } // namespace options
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698