Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / chrome / common / extensions / api / screenlock_private.idl
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 // Control and monitor the screen locker.
6 [permissions=screenlockPrivate, nodoc]
7 namespace screenlockPrivate {
8   // Supported authentication types shown on the user pod.
9   // |offlinePassword|: The standard password field, which authenticates using
10   //                   the user's regular password. The $(ref:onAuthAttempted)()
11   //                   event will not be fired for this authentication type.
12   // |numericPin|: An input field for a 4 digit numeric pin code.
13   // |userClick|: Makes the user pod clickable when it is focused, and
14   //                 clicking on it attempts the authentication. If |value| is
15   //                 specified with $(ref:setAuthType)(), the text is displayed
16   //                 in the password field.
17   enum AuthType {offlinePassword, numericPin, userClick};
18
19   callback BooleanCallback = void(boolean locked);
20
21   interface Functions {
22     // Returns true if the screen is currently locked, false otherwise.
23     static void getLocked(BooleanCallback callback);
24
25     // Set <code>locked=true</code> to lock the screen,
26     // <code>locked=false</code> to unlock it.
27     static void setLocked(boolean locked);
28
29     // Accepts or rejects the current auth attempt.
30     static void acceptAuthAttempt(boolean accept);
31   };
32
33   interface Events {
34     // Fires whenever the screen is locked or unlocked.
35     static void onChanged(boolean locked);
36
37     // Fires when the user attempts to authenticate with the user's input.
38     // There will be at most one auth attempt active at any time.
39     // Call $(ref:acceptAuthAttempt)() to accept or reject this attempt.
40     // Note: Some authentication types will not have an input.
41     static void onAuthAttempted(AuthType type, DOMString input);
42   };
43 };