Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
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 {
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 };
22 dictionary SettingChange {
23 DOMString settingName;
24 DOMString settingValue;
25 };
27 callback SettingChangeCallback = void (SettingChange setting);
29 [JSImplementation="@mozilla.org/settingsManager;1",
30 NavigatorProperty="mozSettings",
31 Pref="dom.mozSettings.enabled"]
32 interface SettingsManager : EventTarget {
33 SettingsLock createLock();
35 void addObserver(DOMString name, SettingChangeCallback callback);
36 void removeObserver(DOMString name, SettingChangeCallback callback);
38 attribute EventHandler onsettingchange;
39 };