MD Settings: Adding Powerwash dialog for ChromeOS.
The dialog is not styled at all yet, while waiting for mocks. C++ handlers will
be migrated in follow up CL.
BUG=546840
Review URL: https://codereview.chromium.org/1426943011
Cr-Commit-Position: refs/heads/master@{#359193}
diff --git a/chrome/browser/resources/settings/reset_page/powerwash_dialog.html b/chrome/browser/resources/settings/reset_page/powerwash_dialog.html
new file mode 100644
index 0000000..472239dd3
--- /dev/null
+++ b/chrome/browser/resources/settings/reset_page/powerwash_dialog.html
@@ -0,0 +1,25 @@
+<link rel="import" href="chrome://resources/polymer/v1_0/polymer/polymer.html">
+<link rel="import" href="chrome://resources/polymer/v1_0/iron-flex-layout/classes/iron-flex-layout.html">
+<link rel="import" href="chrome://resources/polymer/v1_0/paper-button/paper-button.html">
+<link rel="import" href="chrome://resources/polymer/v1_0/paper-checkbox/paper-checkbox.html">
+<link rel="import" href="chrome://resources/polymer/v1_0/paper-dialog/paper-dialog.html">
+
+<dom-module id="settings-powerwash-dialog">
+ <template>
+ <paper-dialog modal id="dialog">
+ <h2 i18n-content="powerwashDialogTitle"></h2>
+ <div i18n-content="powerwashDialogBody"></div>
+ <div class="layout center horizontal" id="buttonContainer">
+ <paper-button i18n-content="learnMore"
+ on-tap="onLearnMoreTap_" id="learnMore"></paper-button>
+ <div class="layout center buttons flex-1">
+ <paper-button on-tap="onCancelTap_" id="cancel"
+ i18n-content="cancel"></paper-button>
+ <paper-button on-tap="onRestartTap_"
+ i18n-content="powerwashDialogButton"></paper-button>
+ </div>
+ </div>
+ </paper-dialog>
+ </template>
+ <script src="powerwash_dialog.js"></script>
+</dom-module>
diff --git a/chrome/browser/resources/settings/reset_page/powerwash_dialog.js b/chrome/browser/resources/settings/reset_page/powerwash_dialog.js
new file mode 100644
index 0000000..cd91533
--- /dev/null
+++ b/chrome/browser/resources/settings/reset_page/powerwash_dialog.js
@@ -0,0 +1,34 @@
+// 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
+ * 'settings-reset-page' is the settings page containing reset
+ * settings.
+ *
+ * @group Chrome Settings Elements
+ * @element settings-reset-page
+ */
+Polymer({
+ is: 'settings-powerwash-dialog',
+
+ open: function() {
+ this.$.dialog.open();
+ },
+
+ /** @private */
+ onCancelTap_: function() {
+ this.$.dialog.close();
+ },
+
+ /** @private */
+ onRestartTap_: function() {
+ this.$.dialog.close();
+ },
+
+ /** @private */
+ onLearnMoreTap_: function() {
+ window.open(loadTimeData.getString('powerwashLearnMoreUrl'));
+ },
+});
diff --git a/chrome/browser/resources/settings/reset_page/reset_page.html b/chrome/browser/resources/settings/reset_page/reset_page.html
index ac983c1..13f77b3 100644
--- a/chrome/browser/resources/settings/reset_page/reset_page.html
+++ b/chrome/browser/resources/settings/reset_page/reset_page.html
@@ -1,14 +1,24 @@
<link rel="import" href="chrome://resources/polymer/v1_0/polymer/polymer.html">
<link rel="import" href="chrome://md-settings/reset_page/reset_profile_dialog.html">
+<if expr="chromeos">
+<link rel="import" href="chrome://md-settings/reset_page/powerwash_dialog.html">
+</if>
+
<dom-module id="settings-reset-page">
<link rel="import" type="css"
href="chrome://md-settings/settings_page/settings_page.css">
<template>
- <div on-tap="onShowDialog_">
+ <div on-tap="onShowResetProfileDialog_">
<div i18n-content="resetPageTitle"></div>
<div i18n-content="resetPageDescription"></div>
</div>
+<if expr="chromeos">
+ <div on-tap="onShowPowerwashDialog_">
+ <div i18n-content="powerwashTitle"></div>
+ <div i18n-content="powerwashDescription"></div>
+ </div>
+</if>
</template>
<script src="reset_page.js"></script>
</dom-module>
diff --git a/chrome/browser/resources/settings/reset_page/reset_page.js b/chrome/browser/resources/settings/reset_page/reset_page.js
index c0a5777..ab42ba5 100644
--- a/chrome/browser/resources/settings/reset_page/reset_page.js
+++ b/chrome/browser/resources/settings/reset_page/reset_page.js
@@ -23,8 +23,23 @@
/** @private */
- onShowDialog_: function() {
- var dialog = document.createElement('settings-reset-profile-dialog');
+ onShowResetProfileDialog_: function() {
+ this.showDialog_('settings-reset-profile-dialog');
+ },
+
+ /** @private */
+ onShowPowerwashDialog_: function() {
+ this.showDialog_('settings-powerwash-dialog');
+ },
+
+
+ /**
+ * Creates and shows the specified dialog.
+ * @param {string} dialogName
+ * @private
+ */
+ showDialog_: function(dialogName) {
+ var dialog = document.createElement(dialogName);
this.shadowRoot.appendChild(dialog);
dialog.open();
diff --git a/chrome/browser/resources/settings/settings_resources.grd b/chrome/browser/resources/settings/settings_resources.grd
index d19e897d..1e16817 100644
--- a/chrome/browser/resources/settings/settings_resources.grd
+++ b/chrome/browser/resources/settings/settings_resources.grd
@@ -223,6 +223,12 @@
<structure name="IDR_SETTINGS_DOWNLOADS_PAGE_JS"
file="downloads_page/downloads_page.js"
type="chrome_html" />
+ <structure name="IDR_SETTINGS_POWERWASH_DIALOG_HTML"
+ file="reset_page/powerwash_dialog.html"
+ type="chrome_html" />
+ <structure name="IDR_SETTINGS_POWERWASH_DIALOG_JS"
+ file="reset_page/powerwash_dialog.js"
+ type="chrome_html" />
<structure name="IDR_SETTINGS_RESET_PAGE_HTML"
file="reset_page/reset_page.html"
type="chrome_html" />
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 c2587e6e..47b8387 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
@@ -246,6 +246,24 @@
html_source->AddString(
"resetPageLearnMoreUrl",
chrome::kResetProfileSettingsLearnMoreURL);
+
+#if defined(OS_CHROMEOS)
+ html_source->AddLocalizedString(
+ "powerwashTitle", IDS_OPTIONS_FACTORY_RESET);
+ html_source->AddString(
+ "powerwashDescription",
+ l10n_util::GetStringFUTF16(
+ IDS_OPTIONS_FACTORY_RESET_DESCRIPTION,
+ l10n_util::GetStringUTF16(IDS_PRODUCT_NAME)));
+ html_source->AddLocalizedString(
+ "powerwashDialogTitle", IDS_OPTIONS_FACTORY_RESET_HEADING);
+ html_source->AddLocalizedString(
+ "powerwashDialogBody", IDS_OPTIONS_FACTORY_RESET_WARNING);
+ html_source->AddLocalizedString(
+ "powerwashDialogButton", IDS_RELAUNCH_BUTTON);
+ html_source->AddLocalizedString(
+ "powerwashLearnMoreUrl", IDS_FACTORY_RESET_HELP_URL);
+#endif
}
void AddDateTimeStrings(content::WebUIDataSource* html_source) {