// 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. // Use the chrome.usersPrivate API to manage users. [platforms=("chromeos"), implemented_in="chrome/browser/chromeos/extensions/users_private/users_private_api.h"] namespace usersPrivate { dictionary User { // Email for the user. DOMString email; // Whether this user is the device owner. boolean isOwner; }; callback UsersCallback = void (User[] users); callback UserAddedCallback = void (boolean success); callback UserRemovedCallback = void (boolean success); callback IsOwnerCallback = void (boolean isOwner); callback ManagedCallback = void (boolean managed); interface Functions { // Gets a list of the currently whitelisted users. static void getWhitelistedUsers(UsersCallback callback); // Adds a new user with the given email to the whitelist. // The callback is called with true if the user was added succesfully, or // with false if not (e.g. because the user was already present, or the // current user isn't the owner). static void addWhitelistedUser(DOMString email, UserAddedCallback callback); // Removes the user with the given email from the whitelist. // The callback is called with true if the user was removed succesfully, or // with false if not (e.g. because the user was not already present, or // the current user isn't the owner). static void removeWhitelistedUser(DOMString email, UserRemovedCallback callback); // Whether the current user is the owner of the device. static void isCurrentUserOwner(IsOwnerCallback callback); // Whether the whitelist is managed by enterprise. static void isWhitelistManaged(ManagedCallback callback); }; };