Bumping manifests a=b2g-bump
[gecko.git] / dom / webidl / SettingsManager.webidl
blobe8c9ac196100cf91b9cf613f99638a4e366a05ba
1 /* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
4  * You can obtain one at http://mozilla.org/MPL/2.0/.
5  */
7 [JSImplementation="@mozilla.org/settingsLock;1",
8  Pref="dom.mozSettings.enabled"]
9 interface SettingsLock : EventTarget {
10   // Whether this lock is invalid
11   readonly attribute boolean closed;
13   // Contains a JSON object with name/value pairs to be set.
14   DOMRequest set(object settings);
16   // Result contains the value of the setting.
17   DOMRequest get(DOMString name);
19   DOMRequest clear();
20   attribute EventHandler onsettingstransactionsuccess;
21   attribute EventHandler onsettingstransactionfailure;
24 dictionary SettingChange {
25   DOMString settingName;
26   DOMString settingValue;
29 callback SettingChangeCallback = void (SettingChange setting);
31 [JSImplementation="@mozilla.org/settingsManager;1",
32  NavigatorProperty="mozSettings",
33  Pref="dom.mozSettings.enabled"]
34 interface SettingsManager : EventTarget {
35   SettingsLock createLock();
37   void addObserver(DOMString name, SettingChangeCallback callback);
38   void removeObserver(DOMString name, SettingChangeCallback callback);
40   attribute EventHandler onsettingchange;