summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcsilv@chromium.org <csilv@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-19 19:04:12 +0000
committercsilv@chromium.org <csilv@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-19 19:04:12 +0000
commitb498f6a7c21e19b94432e3d3941ccd2218550dc6 (patch)
treefcb044339d1ddb68aa0954adc2a26211a354311a
parenta347c245b4f3985f0e9c09086b876caeabe72951 (diff)
downloadchromium_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.cc25
-rw-r--r--chrome/browser/dom_ui/clear_browser_data_handler.h24
-rw-r--r--chrome/browser/dom_ui/font_settings_handler.cc26
-rw-r--r--chrome/browser/dom_ui/font_settings_handler.h24
-rw-r--r--chrome/browser/dom_ui/options_ui.cc4
-rw-r--r--chrome/browser/resources/options.html18
-rw-r--r--chrome/browser/resources/options/advanced_options.js10
-rw-r--r--chrome/browser/resources/options/clear_browser_data_overlay.html3
-rw-r--r--chrome/browser/resources/options/clear_browser_data_overlay.js31
-rw-r--r--chrome/browser/resources/options/font_settings_overlay.html3
-rw-r--r--chrome/browser/resources/options/font_settings_overlay.js31
-rw-r--r--chrome/chrome_browser.gypi4
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',