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 }; 44