diff options
author | csilv@chromium.org <csilv@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-19 19:04:12 +0000 |
---|---|---|
committer | csilv@chromium.org <csilv@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-19 19:04:12 +0000 |
commit | b498f6a7c21e19b94432e3d3941ccd2218550dc6 (patch) | |
tree | fcb044339d1ddb68aa0954adc2a26211a354311a | |
parent | a347c245b4f3985f0e9c09086b876caeabe72951 (diff) | |
download | chromium_src-b498f6a7c21e19b94432e3d3941ccd2218550dc6.zip chromium_src-b498f6a7c21e19b94432e3d3941ccd2218550dc6.tar.gz chromium_src-b498f6a7c21e19b94432e3d3941ccd2218550dc6.tar.bz2 |
Add starter code for 'Clear Browser Data' and 'Font Settings' overlay dialogs.
BUG=49037,49038
TEST=Verify skeleton overlay dialogs for 'Clear Browser Data' and 'Font Settings' when using --enable-tabbed-options.
Review URL: http://codereview.chromium.org/2812063
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52930 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/dom_ui/clear_browser_data_handler.cc | 25 | ||||
-rw-r--r-- | chrome/browser/dom_ui/clear_browser_data_handler.h | 24 | ||||
-rw-r--r-- | chrome/browser/dom_ui/font_settings_handler.cc | 26 | ||||
-rw-r--r-- | chrome/browser/dom_ui/font_settings_handler.h | 24 | ||||
-rw-r--r-- | chrome/browser/dom_ui/options_ui.cc | 4 | ||||
-rw-r--r-- | chrome/browser/resources/options.html | 18 | ||||
-rw-r--r-- | chrome/browser/resources/options/advanced_options.js | 10 | ||||
-rw-r--r-- | chrome/browser/resources/options/clear_browser_data_overlay.html | 3 | ||||
-rw-r--r-- | chrome/browser/resources/options/clear_browser_data_overlay.js | 31 | ||||
-rw-r--r-- | chrome/browser/resources/options/font_settings_overlay.html | 3 | ||||
-rw-r--r-- | chrome/browser/resources/options/font_settings_overlay.js | 31 | ||||
-rw-r--r-- | chrome/chrome_browser.gypi | 4 |
12 files changed, 187 insertions, 16 deletions
diff --git a/chrome/browser/dom_ui/clear_browser_data_handler.cc b/chrome/browser/dom_ui/clear_browser_data_handler.cc new file mode 100644 index 0000000..b8eeb55 --- /dev/null +++ b/chrome/browser/dom_ui/clear_browser_data_handler.cc @@ -0,0 +1,25 @@ +// Copyright (c) 2010 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. + +#include "chrome/browser/dom_ui/clear_browser_data_handler.h" + +#include "app/l10n_util.h" +#include "base/basictypes.h" +#include "base/values.h" +#include "grit/chromium_strings.h" +#include "grit/generated_resources.h" + +ClearBrowserDataHandler::ClearBrowserDataHandler() { +} + +ClearBrowserDataHandler::~ClearBrowserDataHandler() { +} + +void ClearBrowserDataHandler::GetLocalizedValues( + DictionaryValue* localized_strings) { + DCHECK(localized_strings); + localized_strings->SetString(L"clearBrowsingDataTitle", + l10n_util::GetString(IDS_CLEAR_BROWSING_DATA_TITLE)); +} + diff --git a/chrome/browser/dom_ui/clear_browser_data_handler.h b/chrome/browser/dom_ui/clear_browser_data_handler.h new file mode 100644 index 0000000..138c5ec --- /dev/null +++ b/chrome/browser/dom_ui/clear_browser_data_handler.h @@ -0,0 +1,24 @@ +// Copyright (c) 2010 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. + +#ifndef CHROME_BROWSER_DOM_UI_CLEAR_BROWSER_DATA_HANDLER_H_ +#define CHROME_BROWSER_DOM_UI_CLEAR_BROWSER_DATA_HANDLER_H_ + +#include "chrome/browser/dom_ui/options_ui.h" + +// Chrome personal options page UI handler. +class ClearBrowserDataHandler : public OptionsPageUIHandler { + public: + ClearBrowserDataHandler(); + virtual ~ClearBrowserDataHandler(); + + // OptionsUIHandler implementation. + virtual void GetLocalizedValues(DictionaryValue* localized_strings); + + private: + DISALLOW_COPY_AND_ASSIGN(ClearBrowserDataHandler); +}; + +#endif // CHROME_BROWSER_DOM_UI_CLEAR_BROWSER_DATA_HANDLER_H_ + diff --git a/chrome/browser/dom_ui/font_settings_handler.cc b/chrome/browser/dom_ui/font_settings_handler.cc new file mode 100644 index 0000000..821150b --- /dev/null +++ b/chrome/browser/dom_ui/font_settings_handler.cc @@ -0,0 +1,26 @@ +// Copyright (c) 2010 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. + +#include "chrome/browser/dom_ui/font_settings_handler.h" + +#include "app/l10n_util.h" +#include "base/basictypes.h" +#include "base/values.h" +#include "grit/chromium_strings.h" +#include "grit/generated_resources.h" + +FontSettingsHandler::FontSettingsHandler() { +} + +FontSettingsHandler::~FontSettingsHandler() { +} + +void FontSettingsHandler::GetLocalizedValues( + DictionaryValue* localized_strings) { + DCHECK(localized_strings); + + localized_strings->SetString(L"fontSettingsTitle", + l10n_util::GetString(IDS_FONT_LANGUAGE_SETTING_FONT_TAB_TITLE)); +} + diff --git a/chrome/browser/dom_ui/font_settings_handler.h b/chrome/browser/dom_ui/font_settings_handler.h new file mode 100644 index 0000000..4463c9e --- /dev/null +++ b/chrome/browser/dom_ui/font_settings_handler.h @@ -0,0 +1,24 @@ +// Copyright (c) 2010 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. + +#ifndef CHROME_BROWSER_DOM_UI_FONT_SETTINGS_HANDLER_H_ +#define CHROME_BROWSER_DOM_UI_FONT_SETTINGS_HANDLER_H_ + +#include "chrome/browser/dom_ui/options_ui.h" + +// Chrome personal options page UI handler. +class FontSettingsHandler : public OptionsPageUIHandler { + public: + FontSettingsHandler(); + virtual ~FontSettingsHandler(); + + // OptionsUIHandler implementation. + virtual void GetLocalizedValues(DictionaryValue* localized_strings); + + private: + DISALLOW_COPY_AND_ASSIGN(FontSettingsHandler); +}; + +#endif // CHROME_BROWSER_DOM_UI_FONT_SETTINGS_HANDLER_H_ + diff --git a/chrome/browser/dom_ui/options_ui.cc b/chrome/browser/dom_ui/options_ui.cc index 7a6f3a4..3305df3 100644 --- a/chrome/browser/dom_ui/options_ui.cc +++ b/chrome/browser/dom_ui/options_ui.cc @@ -18,8 +18,10 @@ #include "chrome/browser/chrome_thread.h" #include "chrome/browser/dom_ui/advanced_options_handler.h" #include "chrome/browser/dom_ui/browser_options_handler.h" +#include "chrome/browser/dom_ui/clear_browser_data_handler.h" #include "chrome/browser/dom_ui/content_settings_handler.h" #include "chrome/browser/dom_ui/core_options_handler.h" +#include "chrome/browser/dom_ui/font_settings_handler.h" #include "chrome/browser/dom_ui/personal_options_handler.h" #include "chrome/browser/metrics/user_metrics.h" #include "chrome/browser/pref_service.h" @@ -129,6 +131,8 @@ OptionsUI::OptionsUI(TabContents* contents) : DOMUI(contents) { new chromeos::AccountsOptionsHandler()); #endif AddOptionsPageUIHandler(localized_strings, new ContentSettingsHandler()); + AddOptionsPageUIHandler(localized_strings, new ClearBrowserDataHandler()); + AddOptionsPageUIHandler(localized_strings, new FontSettingsHandler()); // |localized_strings| ownership is taken over by this constructor. OptionsUIHTMLSource* html_source = diff --git a/chrome/browser/resources/options.html b/chrome/browser/resources/options.html index fcf3b5f..596213b 100644 --- a/chrome/browser/resources/options.html +++ b/chrome/browser/resources/options.html @@ -32,6 +32,8 @@ <script src="options/personal_options.js"></script> <script src="options/content_settings_ui.js"></script> <script src="options/content_settings.js"></script> +<script src="options/clear_browser_data_overlay.js"></script> +<script src="options/font_settings_overlay.js"></script> <script> /////////////////////////////////////////////////////////////////////////////// @@ -41,6 +43,7 @@ */ function load() { localStrings = new LocalStrings(); + if (cr.isChromeOS) { OptionsPage.register(SystemOptions.getInstance()); OptionsPage.register(AccountsOptions.getInstance()); @@ -52,6 +55,8 @@ function load() { OptionsPage.register(PersonalOptions.getInstance()); OptionsPage.register(AdvancedOptions.getInstance()); OptionsPage.registerSubPage(ContentSettings.getInstance()); + OptionsPage.registerOverlay(ClearBrowserDataOverlay.getInstance()); + OptionsPage.registerOverlay(FontSettingsOverlay.getInstance()); if (cr.isChromeOS) { var labsOptions = new OptionsPage('labs', @@ -70,12 +75,10 @@ function load() { 'syncPage'); OptionsPage.registerSubPage(syncSettings); - var dummyPage = new OptionsPage('dummy', 'Overlay Test Page', 'dummyPage'); - OptionsPage.registerOverlay(dummyPage); - Preferences.getInstance().initialize(); OptionsPage.initialize(); - + + // TODO(csilv): Save/restore last selected page. if (cr.isChromeOS) { OptionsPage.showPageByName(SystemOptions.getInstance().name); } else { @@ -91,7 +94,6 @@ window.onpopstate = function(e) { </script> <link rel="stylesheet" href="chrome://resources/css/list.css"> - <link rel="stylesheet" href="dom_ui.css"> <link rel="stylesheet" href="options/options_page.css"> <link rel="stylesheet" href="options/browser_options_page.css"> @@ -106,10 +108,8 @@ window.onpopstate = function(e) { <div id="overlay" class="overlay hidden"> <div id="overlayview"> <button id="close-overlay" onclick="OptionsPage.clearOverlays();"></button> - <div class="page hidden" id="dummyPage"> - <!-- TODO(dhg): remove this one once we get another page here --> - Dummy Overlay Page - </div> + <include src="options/clear_browser_data_overlay.html"> + <include src="options/font_settings_overlay.html"> <if expr="pp_ifdef('chromeos')"> <include src="options/chromeos_accounts_add_user_overlay.html"> </if> diff --git a/chrome/browser/resources/options/advanced_options.js b/chrome/browser/resources/options/advanced_options.js index ebf98a79..0f2a3c4 100644 --- a/chrome/browser/resources/options/advanced_options.js +++ b/chrome/browser/resources/options/advanced_options.js @@ -26,14 +26,10 @@ AdvancedOptions.prototype = { OptionsPage.showPageByName('content'); }; $('privacyClearDataButton').onclick = function(event) { - // TODO(csilv): spawn clear data overlay dialog. + OptionsPage.showOverlay('clearBrowserDataOverlay'); }; $('proxiesConfigureButton').onclick = function(event) { - if (cr.isMac) { - chrome.send('showNetworkProxySettings'); - } else { - // TODO(csilv): spawn network proxy settings sub-dialog. - } + chrome.send('showNetworkProxySettings'); }; $('downloadLocationBrowseButton').onclick = function(event) { chrome.send('selectDownloadLocation'); @@ -42,7 +38,7 @@ AdvancedOptions.prototype = { chrome.send('autoOpenFileTypesAction'); }; $('fontSettingsConfigureFontsOnlyButton').onclick = function(event) { - // TODO(csilv): spawn font settings sub-dialog. + OptionsPage.showOverlay('fontSettingsOverlay'); }; $('certificatesManageButton').onclick = function(event) { chrome.send('showManageSSLCertificates'); diff --git a/chrome/browser/resources/options/clear_browser_data_overlay.html b/chrome/browser/resources/options/clear_browser_data_overlay.html new file mode 100644 index 0000000..f9a92b1 --- /dev/null +++ b/chrome/browser/resources/options/clear_browser_data_overlay.html @@ -0,0 +1,3 @@ +<div class="page hidden" id="clearBrowserDataOverlay"> + <h1 i18n-content="clearBrowsingDataTitle"></h1> +</div> diff --git a/chrome/browser/resources/options/clear_browser_data_overlay.js b/chrome/browser/resources/options/clear_browser_data_overlay.js new file mode 100644 index 0000000..f93a12c --- /dev/null +++ b/chrome/browser/resources/options/clear_browser_data_overlay.js @@ -0,0 +1,31 @@ +// Copyright (c) 2010 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. + +/** + * ClearBrowserData class + * Encapsulated handling of the 'Clear Browser Data' overlay page. + * @class + */ +function ClearBrowserDataOverlay() { + OptionsPage.call(this, 'clearBrowserDataOverlay', + templateData.clearBrowserDataTitle, + 'clearBrowserDataOverlay'); +} + +cr.addSingletonGetter(ClearBrowserDataOverlay); + +ClearBrowserDataOverlay.prototype = { + // Inherit ClearBrowserDataOverlay from OptionsPage. + __proto__: OptionsPage.prototype, + + /** + * Initialize the page. + */ + initializePage: function() { + // Call base class implementation to starts preference initialization. + OptionsPage.prototype.initializePage.call(this); + + // TODO(csilv): add any initialization here or delete method and/or class. + } +}; diff --git a/chrome/browser/resources/options/font_settings_overlay.html b/chrome/browser/resources/options/font_settings_overlay.html new file mode 100644 index 0000000..3edc53e --- /dev/null +++ b/chrome/browser/resources/options/font_settings_overlay.html @@ -0,0 +1,3 @@ +<div class="page hidden" id="fontSettingsOverlay"> + <h1 i18n-content="fontSettingsTitle"></h1> +</div> diff --git a/chrome/browser/resources/options/font_settings_overlay.js b/chrome/browser/resources/options/font_settings_overlay.js new file mode 100644 index 0000000..14e2c6b --- /dev/null +++ b/chrome/browser/resources/options/font_settings_overlay.js @@ -0,0 +1,31 @@ +// Copyright (c) 2010 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. + +/** + * FontSettingsOverlay class + * Encapsulated handling of the 'Font Settings' overlay page. + * @class + */ +function FontSettingsOverlay() { + OptionsPage.call(this, 'fontSettingsOverlay', + templateData.fontSettingsOverlayTitle, + 'fontSettingsOverlay'); +} + +cr.addSingletonGetter(FontSettingsOverlay); + +FontSettingsOverlay.prototype = { + // Inherit FontSettingsOverlay from OptionsPage. + __proto__: OptionsPage.prototype, + + /** + * Initialize the page. + */ + initializePage: function() { + // Call base class implementation to starts preference initialization. + OptionsPage.prototype.initializePage.call(this); + + // TODO(csilv): add any initialization here or delete method and/or class. + } +}; diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi index 5365775..2ae0757 100644 --- a/chrome/chrome_browser.gypi +++ b/chrome/chrome_browser.gypi @@ -1075,10 +1075,14 @@ 'browser/dom_ui/advanced_options_utils_mac.h', 'browser/dom_ui/browser_options_handler.cc', 'browser/dom_ui/browser_options_handler.h', + 'browser/dom_ui/clear_browser_data_handler.cc', + 'browser/dom_ui/clear_browser_data_handler.h', 'browser/dom_ui/content_settings_handler.cc', 'browser/dom_ui/content_settings_handler.h', 'browser/dom_ui/core_options_handler.cc', 'browser/dom_ui/core_options_handler.h', + 'browser/dom_ui/font_settings_handler.cc', + 'browser/dom_ui/font_settings_handler.h', 'browser/dom_ui/personal_options_handler.cc', 'browser/dom_ui/personal_options_handler.h', 'browser/dom_ui/devtools_ui.cc', |