From 6bd797aeb80df9d2472422aa5f24b43c7999f60c Mon Sep 17 00:00:00 2001 From: James Hawkins Date: Tue, 2 Jun 2015 11:02:05 -0700 Subject: [PATCH] Settings: Add initial implementation of Appearance page. BUG=none R=khorimoto@chromium.org Review URL: https://codereview.chromium.org/1162293005 Cr-Commit-Position: refs/heads/master@{#332432} --- chrome/app/settings_strings.grdp | 11 ++++ .../extensions/api/settings_private/prefs_util.cc | 4 ++ .../settings/appearance_page/appearance_page.html | 21 ++++++ .../settings/appearance_page/appearance_page.js | 75 ++++++++++++++++++++++ chrome/browser/resources/settings/routes.html | 1 + .../settings/settings_main/settings_main.html | 3 + .../resources/settings/settings_resources.grd | 8 +++ .../md_settings_localized_strings_provider.cc | 12 ++++ 8 files changed, 135 insertions(+) create mode 100644 chrome/browser/resources/settings/appearance_page/appearance_page.html create mode 100644 chrome/browser/resources/settings/appearance_page/appearance_page.js diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp index dcec549d103a..00e16e698a00 100644 --- a/chrome/app/settings_strings.grdp +++ b/chrome/app/settings_strings.grdp @@ -60,6 +60,17 @@ Enable on-screen keyboard + + + Appearance + + + Show home button + + + Always show the bookmarks bar + + Downloads diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chrome/browser/extensions/api/settings_private/prefs_util.cc index d528899285cb..c22a846d42df 100644 --- a/chrome/browser/extensions/api/settings_private/prefs_util.cc +++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc @@ -19,6 +19,10 @@ const TypedPrefMap& GetWhitelistedKeys() { if (s_whitelist) return *s_whitelist; s_whitelist = new TypedPrefMap(); + (*s_whitelist)["browser.show_home_button"] = + settings_private::PrefType::PREF_TYPE_BOOLEAN; + (*s_whitelist)["bookmark_bar.show_on_all_tabs"] = + settings_private::PrefType::PREF_TYPE_BOOLEAN; (*s_whitelist)["download.default_directory"] = settings_private::PrefType::PREF_TYPE_STRING; (*s_whitelist)["download.prompt_for_download"] = diff --git a/chrome/browser/resources/settings/appearance_page/appearance_page.html b/chrome/browser/resources/settings/appearance_page/appearance_page.html new file mode 100644 index 000000000000..1f2a94419278 --- /dev/null +++ b/chrome/browser/resources/settings/appearance_page/appearance_page.html @@ -0,0 +1,21 @@ + + + + + + + + + \ No newline at end of file diff --git a/chrome/browser/resources/settings/appearance_page/appearance_page.js b/chrome/browser/resources/settings/appearance_page/appearance_page.js new file mode 100644 index 000000000000..d3f36a1efe91 --- /dev/null +++ b/chrome/browser/resources/settings/appearance_page/appearance_page.js @@ -0,0 +1,75 @@ +// Copyright 2015 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +/** + * @fileoverview + * 'cr-settings-appearance-page' is the settings page containing appearance + * settings. + * + * Example: + * + * + * + * + * ... other pages ... + * + * + * @group Chrome Settings Elements + * @element cr-settings-appearance-page + */ +Polymer({ + is: 'cr-settings-appearance-page', + + properties: { + /** + * Preferences state. + */ + prefs: { + type: Object, + notify: true, + }, + + /** + * Route for the page. + */ + route: String, + + /** + * Whether the page is a subpage. + */ + subpage: { + type: Boolean, + value: false, + readOnly: true, + }, + + /** + * ID of the page. + */ + PAGE_ID: { + type: String, + value: 'appearance', + readOnly: true, + }, + + /** + * Title for the page header and navigation menu. + */ + pageTitle: { + type: String, + value: function() { + return loadTimeData.getString('appearancePageTitle'); + }, + }, + + /** + * Name of the 'iron-icon' to show. + */ + icon: { + type: String, + value: 'home', + readOnly: true, + }, + }, +}); diff --git a/chrome/browser/resources/settings/routes.html b/chrome/browser/resources/settings/routes.html index 9d53c9b67a48..402fc9fbac0f 100644 --- a/chrome/browser/resources/settings/routes.html +++ b/chrome/browser/resources/settings/routes.html @@ -7,6 +7,7 @@ + diff --git a/chrome/browser/resources/settings/settings_main/settings_main.html b/chrome/browser/resources/settings/settings_main/settings_main.html index c74180e18c8f..0c0d71ad3d49 100644 --- a/chrome/browser/resources/settings/settings_main/settings_main.html +++ b/chrome/browser/resources/settings/settings_main/settings_main.html @@ -3,6 +3,7 @@ + @@ -37,6 +38,8 @@ + + diff --git a/chrome/browser/resources/settings/settings_resources.grd b/chrome/browser/resources/settings/settings_resources.grd index 1915cf7ce116..d872dded049c 100644 --- a/chrome/browser/resources/settings/settings_resources.grd +++ b/chrome/browser/resources/settings/settings_resources.grd @@ -23,6 +23,14 @@ + + diff --git a/chrome/browser/ui/webui/settings/md_settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/md_settings_localized_strings_provider.cc index c0fcd26b6158..093e42fb116f 100644 --- a/chrome/browser/ui/webui/settings/md_settings_localized_strings_provider.cc +++ b/chrome/browser/ui/webui/settings/md_settings_localized_strings_provider.cc @@ -72,6 +72,17 @@ void AddA11yStrings(content::WebUIDataSource* html_source) { IDS_SETTINGS_ACCESSIBILITY_ON_SCREEN_KEYBOARD_LABEL); } +void AddAppearanceStrings(content::WebUIDataSource* html_source) { + html_source->AddLocalizedString( + "appearancePageTitle", IDS_SETTINGS_APPEARANCE_PAGE_TITLE); + html_source->AddLocalizedString( + "appearanceShowHomeButtonLabel", + IDS_SETTINGS_APPEARANCE_SHOW_HOME_BUTTON_LABEL); + html_source->AddLocalizedString( + "appearanceShowBookmarksBarLabel", + IDS_SETTINGS_APPEARANCE_SHOW_BOOKMARKS_BAR_LABEL); +} + void AddDownloadsStrings(content::WebUIDataSource* html_source) { html_source->AddLocalizedString( "downloadsPageTitle", IDS_MD_SETTINGS_DOWNLOADS_PAGE_TITLE); @@ -153,6 +164,7 @@ namespace settings { void AddLocalizedStrings(content::WebUIDataSource* html_source) { AddA11yStrings(html_source); + AddAppearanceStrings(html_source); AddDownloadsStrings(html_source); AddDateTimeStrings(html_source); #if defined(OS_CHROMEOS) -- 2.11.4.GIT