blob: d1109750901ce67746feab2fc0b04b41d9b1f98c [file] [log] [blame]
// Copyright 2013 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.
// Control and monitor the screen locker.
[permissions=screenlockPrivate, nodoc]
namespace screenlockPrivate {
// Supported authentication types shown on the user pod.
// |offlinePassword|: The standard password field, which authenticates using
// the user's regular password. The $(ref:onAuthAttempted)()
// event will not be fired for this authentication type.
// |numericPin|: An input field for a 4 digit numeric pin code.
// |userClick|: Makes the user pod clickable when it is focused, and
// clicking on it attempts the authentication. If |value| is
// specified with $(ref:setAuthType)(), the text is displayed
// in the password field.
enum AuthType {offlinePassword, numericPin, userClick};
callback BooleanCallback = void(boolean locked);
interface Functions {
// Returns true if the screen is currently locked, false otherwise.
static void getLocked(BooleanCallback callback);
// Set <code>locked=true</code> to lock the screen,
// <code>locked=false</code> to unlock it.
static void setLocked(boolean locked);
// Accepts or rejects the current auth attempt.
static void acceptAuthAttempt(boolean accept);
};
interface Events {
// Fires whenever the screen is locked or unlocked.
static void onChanged(boolean locked);
};
};