mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-31 06:05:44 +00:00
42 lines
1.3 KiB
Plaintext
42 lines
1.3 KiB
Plaintext
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
*/
|
|
|
|
[JSImplementation="@mozilla.org/settingsLock;1",
|
|
Pref="dom.mozSettings.enabled"]
|
|
interface SettingsLock : EventTarget {
|
|
// Whether this lock is invalid
|
|
readonly attribute boolean closed;
|
|
|
|
// Contains a JSON object with name/value pairs to be set.
|
|
DOMRequest set(object settings);
|
|
|
|
// Result contains the value of the setting.
|
|
DOMRequest get(DOMString name);
|
|
|
|
DOMRequest clear();
|
|
attribute EventHandler onsettingstransactionsuccess;
|
|
attribute EventHandler onsettingstransactionfailure;
|
|
};
|
|
|
|
dictionary SettingChange {
|
|
DOMString settingName;
|
|
DOMString settingValue;
|
|
};
|
|
|
|
callback SettingChangeCallback = void (SettingChange setting);
|
|
|
|
[JSImplementation="@mozilla.org/settingsManager;1",
|
|
NavigatorProperty="mozSettings",
|
|
Pref="dom.mozSettings.enabled"]
|
|
interface SettingsManager : EventTarget {
|
|
SettingsLock createLock();
|
|
|
|
void addObserver(DOMString name, SettingChangeCallback callback);
|
|
void removeObserver(DOMString name, SettingChangeCallback callback);
|
|
|
|
attribute EventHandler onsettingchange;
|
|
};
|