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

The SettingsLock interface represents a lock on settings. it allows a script to modify settings asynchronously, but in a safe way: ordering is guaranteed and the no other script will modify the settings until the modification are done (the next lock objects will start processing after it has been closed).

Each call to SettingsManager.createLock() create a new SettingsLock object.

All SettingsLock objects are kept in a queue of active locks. When a SettingsLock object is created it's placed at the end of the queue. Calls to get/set places a request against the lock on which it's called. Requests run asynchronously and in the order they are placed against a lock. When the last request for a lock is run, and  the success/error event against it has been fired, the lock is removed from the queue and the next lock start to be processed.


Indicates if the lock is no longer the active lock (true) or if it's still the active lock (false)


Allows to change the values of a set of settings. This method is asychronous and return a DOMRequest object.
Allows to retrieve the value of a given setting. This method is asychronous and return a DOMRequest object.
Clears any action that have not been done yet (remember that get and set are asynchronous). This method is added for testing and it deletes the whole settings DB!


Not part of any specification yet; however, this API will be discuss at W3C as part of the System Applications Working Group.

See also


© 2016 Mozilla Contributors
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.

API B2G Firefox OS Non-standard Settings