MozPowerManager

Non-standard
This feature is not on a current W3C standards track, but it is supported on the Firefox OS platform. Although implementations may change in the future and it is not supported widely across browsers, it is suitable for use in code dedicated to Firefox OS apps.

This API is available on Firefox OS for internal applications only.

The MozPowerManager interface allows to explicitly control the part of the device that uses power.

Properties

MozPowerManager.screenEnabled
This property allows to know if the device's screen is currently enabled (true). This property also controls the device's screen, so setting it to false will turn off the screen.
MozPowerManager.screenBrightness
This property defines how bright the screen's backlight is, on a scale from 0 (very dim) to 1 (full brightness). Setting this attribute modifies the screen's brightness.
MozPowerManager.cpuSleepAllowed
This property determines if the device's CPU will sleep after the screen is disabled. Setting this attribute to false will prevent the device from entering a suspend state.

Methods

MozPowerManager.addWakeLockListener()
Register a handler to be called each time a resource changes its lock state.
MozPowerManager.factoryReset()
Reset the device to its factory state (all the user data will be lost).
MozPowerManager.getWakeLockState()
Return the current lock state of a given topic on the device.
MozPowerManager.powerOff()
Shut off the device.
MozPowerManager.reboot()
Completely shut down and boot the device.
MozPowerManager.removeWakeLockListener()
Remove a handler previously set with addWakeLockListener.

Example

var screenTimeout;
var power = window.navigator.mozPower;
var powerAction = {
  unlocked: function suspendDevice() {
    power.cpuSleepAllowed = true;
    power.screenEnabled   = false;
  },

  'locked-background': function shutOffOnlyScreen() {
    power.cpuSleepAllowed = false;
    power.screenEnabled   = false;
  }
}

function screenLockListener(topic, state) {
  if ('screen' !== topic) return;

  window.clearTimeout(screenTimeout);

  if (powerAction[state]) {
    screenTimeout = window.setTimeout(powerAction[state], 3000);
  }
}

power.addWakeLockListener(screenLockListener);

Specification

Not part of any specification

See also

Document Tags and Contributors

Contributors to this page: teoli, abhishekp, kscarfone, darnuria, Sheppy, Jeremie
Last updated by: teoli,