Index: chrome/browser/resources/edit_search_engine_dialog.js |
diff --git a/chrome/browser/resources/edit_search_engine_dialog.js b/chrome/browser/resources/edit_search_engine_dialog.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..95773f536eeddf7bb397f9a154c26f1c3e8e58f2 |
--- /dev/null |
+++ b/chrome/browser/resources/edit_search_engine_dialog.js |
@@ -0,0 +1,67 @@ |
+// Copyright (c) 2011 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. |
+ |
+cr.define('editSearchEngineDialog', function() { |
+ 'use strict'; |
+ |
+ /** |
+ * Disables the controls while the dialog is busy. |
+ */ |
+ function disableControls() { |
+ $('cancel').disabled = true; |
+ $('save').disabled = true; |
+ } |
+ |
+ /** |
+ * Close the dialog and pass a result value to the dialog close handler. |
+ * @param {{description: string, details: string, url: string}=} opt_result |
+ * The value to pass to the dialog close handler. |
+ */ |
+ function closeWithResult(opt_result) { |
+ disableControls(); |
+ var json = JSON.stringify(opt_result ? [opt_result] : []); |
+ chrome.send('DialogClose', [json]); |
+ } |
+ |
+ /** |
+ * Sets the text of the dialog's editable text boxes. |
+ * @param {{description: string, details: string, url: string}} details Values |
+ * for corresponding text fields. |
+ */ |
+ function setDetails(details) { |
+ $('description-text').value = details.description; |
+ $('keyword-text').value = details.keyword; |
+ $('url-text').value = details.url; |
+ } |
+ |
+ /** |
+ * Inserts translated strings on loading. |
+ */ |
+ function initialize() { |
+ i18nTemplate.process(document, templateData); |
+ |
+ document.title = chrome.dialogArguments == 'add' ? templateData.titleNew : |
+ templateData.titleEdit; |
+ |
+ $('cancel').onclick = function() { |
+ closeWithResult(); |
+ } |
+ |
+ $('save').onclick = function() { |
+ closeWithResult({description: $('description-text').value, |
+ keyword: $('keyword-text').value, |
+ url: $('url-text').value}); |
+ } |
+ |
+ chrome.send('requestDetails') |
+ } |
+ |
+ return { |
+ initialize: initialize, |
+ setDetails: setDetails, |
+ }; |
+}); |
+ |
+document.addEventListener('DOMContentLoaded', |
+ editSearchEngineDialog.initialize); |