Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1915)

Unified Diff: chrome/browser/resources/settings/people_page/import_data_browser_proxy.js

Issue 2473053004: MD Settings: Add an Import Data BrowserProxy. (Closed)
Patch Set: fix Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/resources/settings/people_page/import_data_browser_proxy.js
diff --git a/chrome/browser/resources/settings/people_page/import_data_browser_proxy.js b/chrome/browser/resources/settings/people_page/import_data_browser_proxy.js
new file mode 100644
index 0000000000000000000000000000000000000000..24c108ec339dca52a30964ea449631c0850590a3
--- /dev/null
+++ b/chrome/browser/resources/settings/people_page/import_data_browser_proxy.js
@@ -0,0 +1,91 @@
+// Copyright 2016 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 A helper object used from the the Import Data dialog to allow
+ * users to import data (like bookmarks) from other web browsers.
+ */
+cr.exportPath('settings');
+
+/**
+ * An object describing a source browser profile that may be imported.
+ * The structure of this data must be kept in sync with C++ ImportDataHandler.
+ * @typedef {{
+ * name: string,
+ * index: number,
+ * history: boolean,
+ * favorites: boolean,
+ * passwords: boolean,
+ * search: boolean,
+ * autofillFormData: boolean,
+ * }}
+ */
+settings.BrowserProfile;
+
+/**
+ * @enum {string}
+ * These string values must be kept in sync with the C++ ImportDataHandler.
+ */
+settings.ImportDataStatus = {
+ INITIAL: 'initial',
+ IN_PROGRESS: 'inProgress',
+ SUCCEEDED: 'succeeded',
+ FAILED: 'failed',
+};
+
+cr.define('settings', function() {
+ /** @interface */
+ function ImportDataBrowserProxy() {}
+
+ ImportDataBrowserProxy.prototype = {
+ /**
+ * Returns the source profiles available for importing from other browsers.
+ * @return {!Promise<!Array<!settings.BrowserProfile>>}
+ */
+ initializeImportDialog: function() {},
+
+ /**
+ * Starts importing data for the specificed source browser profile. The C++
+ * responds with the 'import-data-status-changed' WebUIListener event.
+ * @param {number} sourceBrowserProfileIndex
+ */
+ importData: function(sourceBrowserProfileIndex) {},
+
+ /**
+ * Prompts the user to choose a bookmarks file to import bookmarks from.
+ */
+ importFromBookmarksFile: function() {},
+ };
+
+ /**
+ * @constructor
+ * @implements {settings.ImportDataBrowserProxy}
+ */
+ function ImportDataBrowserProxyImpl() {}
+ // The singleton instance_ is replaced with a test version of this wrapper
+ // during testing.
+ cr.addSingletonGetter(ImportDataBrowserProxyImpl);
+
+ ImportDataBrowserProxyImpl.prototype = {
+ /** @override */
+ initializeImportDialog: function() {
+ return cr.sendWithPromise('initializeImportDialog');
+ },
+
+ /** @override */
+ importData: function(sourceBrowserProfileIndex) {
+ chrome.send('importData', [sourceBrowserProfileIndex]);
+ },
+
+ /** @override */
+ importFromBookmarksFile: function() {
+ chrome.send('importFromBookmarksFile');
+ },
+ };
+
+ return {
+ ImportDataBrowserProxy: ImportDataBrowserProxy,
+ ImportDataBrowserProxyImpl: ImportDataBrowserProxyImpl,
+ };
+});

Powered by Google App Engine
This is Rietveld 408576698