dom/webidl/SettingsManager.webidl

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:6f2c31511dc0
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 */
6
7 [JSImplementation="@mozilla.org/settingsLock;1",
8 Pref="dom.mozSettings.enabled"]
9 interface SettingsLock {
10 // Whether this lock is invalid
11 readonly attribute boolean closed;
12
13 // Contains a JSON object with name/value pairs to be set.
14 DOMRequest set(object settings);
15
16 // Result contains the value of the setting.
17 DOMRequest get(DOMString name);
18
19 DOMRequest clear();
20 };
21
22 dictionary SettingChange {
23 DOMString settingName;
24 DOMString settingValue;
25 };
26
27 callback SettingChangeCallback = void (SettingChange setting);
28
29 [JSImplementation="@mozilla.org/settingsManager;1",
30 NavigatorProperty="mozSettings",
31 Pref="dom.mozSettings.enabled"]
32 interface SettingsManager : EventTarget {
33 SettingsLock createLock();
34
35 void addObserver(DOMString name, SettingChangeCallback callback);
36 void removeObserver(DOMString name, SettingChangeCallback callback);
37
38 attribute EventHandler onsettingchange;
39 };

mercurial