summaryrefslogtreecommitdiffstats
path: root/layout/tools/reftest/gaia_lock_screen.js
blob: ca0953e91c2ae52bd9f49b3e992e4d535ffcd685 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
 * You can obtain one at http://mozilla.org/MPL/2.0/. */

// NOTE: This code was forked from:
// https://github.com/mozilla-b2g/gaia/blob/master/tests/atoms/gaia_lock_screen.js

'use strict';
/* globals waitFor, finish */
/* exported GaiaLockScreen */

var GaiaLockScreen = {

  unlock: function(forcibly) {
    let setlock = window.wrappedJSObject.SettingsListener.getSettingsLock();
    let service = window.wrappedJSObject.Service;
    let obj = {'screen.timeout': 0};
    setlock.set(obj);

    waitFor(
      function() {
        service.request('unlock', { forcibly: forcibly });
        waitFor(
          function() {
            finish(service.locked);
          },
          function() {
            return !service.locked;
          }
        );
      },
      function() {
        return !!service;
      }
    );
  },

  lock: function(forcibly) {
    let service = window.wrappedJSObject.Service;
    let setlock = window.wrappedJSObject.SettingsListener.getSettingsLock();
    let obj = {'screen.timeout': 0};
    setlock.set(obj);
    waitFor(
      function() {
      service.request('lock', { forcibly: forcibly });
        waitFor(
          function() {
            finish(!service.locked);
          },
          function() {
            return service.locked;
          }
        );
      },
      function() {
        return !!service;
      }
    );
  }
};