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

Unified Diff: chrome/browser/resources/md_user_manager/profile_browser_proxy.js

Issue 1722843002: MD user manager (html/js/css for create profile flow) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: ProfileApi -> ProfileBrowserProxy. Fixed broken old user manager. Addressed comments #5 Created 4 years, 9 months 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/md_user_manager/profile_browser_proxy.js
diff --git a/chrome/browser/resources/md_user_manager/profile_browser_proxy.js b/chrome/browser/resources/md_user_manager/profile_browser_proxy.js
new file mode 100644
index 0000000000000000000000000000000000000000..78e82c284fc1f4f8c2bcdbaf167328fefaec9320
--- /dev/null
+++ b/chrome/browser/resources/md_user_manager/profile_browser_proxy.js
@@ -0,0 +1,139 @@
+// 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 Helper object and related behavior that encapsulate messaging
+ * between JS and C++ for creating/importing profiles in the user-manager page.
+ */
+
+/** @typedef {{username: string, profilePath: string}} */
+var SignedInUser;
+
+/** @typedef {{name: string, filePath: string, isSupervised: boolean}} */
+var ProfileInfo;
+
+cr.define('signin', function() {
+ /** @interface */
+ function ProfileBrowserProxy() {}
+
+ ProfileBrowserProxy.prototype = {
+ /**
+ * Gets the available profile icons to choose from.
+ */
+ getAvailableIcons: function() {},
Dan Beam 2016/03/09 18:21:37 nit: can this be assertNotReached or something els
Moe 2016/03/09 19:30:08 Done.
+
+ /**
+ * Gets the current signed-in users.
+ */
+ getSignedInUsers: function() {},
+
+ /**
+ * Launches the guest user.
+ */
+ launchGuestUser: function() {},
+
+ /**
+ * Creates a profile.
+ * @param {string} profileName Name of the new profile.
+ * @param {string} profileIconUrl URL of the selected icon of the new profile.
Dan Beam 2016/03/09 18:21:37 80 col wrap
Moe 2016/03/09 19:30:08 Done.
+ * @param {boolean} isSupervised True if the new profile is supervised.
+ * @param {string|undefined} supervisorProfilePath Profile path of the
+ * supervisor if the new profile is supervised.
+ */
+ createProfile: function(profileName, profileIconUrl, isSupervised,
+ supervisorProfilePath) {},
+
+ /**
+ * Cancels creation of the new profile.
+ */
+ cancelCreateProfile: function() {},
+
+ /**
+ * Initializes the UserManager
+ * @param {string} locationHash
+ */
+ initializeUserManager: function(locationHash) {},
+
+ /**
+ * Launches the user with the given |profilePath|
+ * @param {string} profilePath Profile Path of the user.
+ */
+ launchUser: function(profilePath) {}
+ };
+
+ /**
+ * @constructor
+ * @implements {signin.ProfileBrowserProxy}
+ */
+ function ProfileBrowserProxyImpl() {}
+
+ // The singleton instance_ is replaced with a test version of this wrapper
+ // during testing.
+ cr.addSingletonGetter(ProfileBrowserProxyImpl);
+
+ ProfileBrowserProxyImpl.prototype = {
+ /** @override */
+ getAvailableIcons: function() {
+ chrome.send('requestDefaultProfileIcons');
+ },
+
+ /** @override */
+ getSignedInUsers: function() {
+ chrome.send('requestSignedInProfiles');
+ },
+
+ /** @override */
+ launchGuestUser: function() {
+ chrome.send('launchGuest');
+ },
+
+ /** @override */
+ createProfile: function(profileName, profileIconUrl, isSupervised,
+ supervisorProfilePath) {
+ chrome.send('createProfile',
+ [profileName, profileIconUrl, false, isSupervised, '',
+ supervisorProfilePath]);
+ },
+
+ /** @override */
+ cancelCreateProfile: function() {
+ chrome.send('cancelCreateProfile');
+ },
+
+ /** @override */
+ initializeUserManager: function(locationHash) {
+ chrome.send('userManagerInitialize', [locationHash]);
+ },
+
+ /** @override */
+ launchUser: function(profilePath) {
+ chrome.send('launchUser', [profilePath]);
+ }
+ };
+
+ return {
+ ProfileBrowserProxy: ProfileBrowserProxy,
Moe 2016/03/09 15:29:03 I noticed in the existing examples under settings/
Dan Beam 2016/03/09 18:21:37 yeah, this is because of 2 things: 1) technically
Moe 2016/03/09 19:30:08 Acknowledged.
+ ProfileBrowserProxyImpl: ProfileBrowserProxyImpl,
+ };
+});
+
Dan Beam 2016/03/09 18:21:37 nit: remove extra \n
Moe 2016/03/09 19:30:08 Done.
+
+cr.define('signin', function() {
+ /** @polymerBehavior */
+ var ProfileBrowserProxyBehavior = {
+ properties: {
+ /** @private {!signin.ProfileBrowserProxy} */
Dan Beam 2016/03/09 18:21:37 this should not be @private if it's externally use
Moe 2016/03/09 19:30:08 Done.
+ browserProxy_: Object,
+ },
+
+ /** @override */
+ created: function() {
+ this.browserProxy_ = signin.ProfileBrowserProxyImpl.getInstance();
Dan Beam 2016/03/09 18:21:37 i think it's probably better to set/inject this or
Moe 2016/03/09 19:30:08 Done.
+ }
+ };
+
+ return {
+ ProfileBrowserProxyBehavior: ProfileBrowserProxyBehavior
+ };
+});

Powered by Google App Engine
This is Rietveld 408576698