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) {