diff options
Diffstat (limited to 'dom/webidl')
29 files changed, 90 insertions, 958 deletions
diff --git a/dom/webidl/CanvasRenderingContext2D.webidl b/dom/webidl/CanvasRenderingContext2D.webidl index 38a30f9e3..1c5564215 100644 --- a/dom/webidl/CanvasRenderingContext2D.webidl +++ b/dom/webidl/CanvasRenderingContext2D.webidl @@ -27,6 +27,9 @@ dictionary HitRegionOptions { }; typedef (HTMLImageElement or + SVGImageElement) HTMLOrSVGImageElement; + +typedef (HTMLOrSVGImageElement or HTMLCanvasElement or HTMLVideoElement or ImageBitmap) CanvasImageSource; diff --git a/dom/webidl/Document.webidl b/dom/webidl/Document.webidl index f05656e84..0b8c278fe 100644 --- a/dom/webidl/Document.webidl +++ b/dom/webidl/Document.webidl @@ -430,6 +430,12 @@ partial interface Document { void removeAnonymousContent(AnonymousContent aContent); }; +// http://w3c.github.io/selection-api/#extensions-to-document-interface +partial interface Document { + [Throws] + Selection? getSelection(); +}; + // Extension to give chrome JS the ability to determine whether // the user has interacted with the document or not. partial interface Document { diff --git a/dom/webidl/EventHandler.webidl b/dom/webidl/EventHandler.webidl index e65a75787..1edc45ac9 100644 --- a/dom/webidl/EventHandler.webidl +++ b/dom/webidl/EventHandler.webidl @@ -33,6 +33,7 @@ interface GlobalEventHandlers { // attribute OnErrorEventHandler onerror; attribute EventHandler onfocus; //(Not implemented)attribute EventHandler oncancel; + attribute EventHandler onauxclick; attribute EventHandler oncanplay; attribute EventHandler oncanplaythrough; attribute EventHandler onchange; @@ -128,14 +129,14 @@ interface GlobalEventHandlers { attribute EventHandler onmozpointerlockerror; // CSS-Animation and CSS-Transition handlers. + attribute EventHandler onanimationcancel; attribute EventHandler onanimationend; attribute EventHandler onanimationiteration; attribute EventHandler onanimationstart; + attribute EventHandler ontransitioncancel; attribute EventHandler ontransitionend; - // We will ship transitionrun and transitionstart events - // on Firefox 53. (For detail, see bug 1324985) -// attribute EventHandler ontransitionrun; -// attribute EventHandler ontransitionstart; + attribute EventHandler ontransitionrun; + attribute EventHandler ontransitionstart; // CSS-Animation and CSS-Transition legacy handlers. // This handler isn't standard. diff --git a/dom/webidl/HTMLDocument.webidl b/dom/webidl/HTMLDocument.webidl index 61b466ff0..42f6d98f7 100644 --- a/dom/webidl/HTMLDocument.webidl +++ b/dom/webidl/HTMLDocument.webidl @@ -73,10 +73,6 @@ interface HTMLDocument : Document { readonly attribute HTMLAllCollection all; - // https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#selections - [Throws] - Selection? getSelection(); - // @deprecated These are old Netscape 4 methods. Do not use, // the implementation is no-op. // XXXbz do we actually need these anymore? diff --git a/dom/webidl/HTMLInputElement.webidl b/dom/webidl/HTMLInputElement.webidl index 050d19510..cf3e9a4c7 100644 --- a/dom/webidl/HTMLInputElement.webidl +++ b/dom/webidl/HTMLInputElement.webidl @@ -238,6 +238,9 @@ partial interface HTMLInputElement { dictionary DateTimeValue { long hour; long minute; + long year; + long month; + long day; }; partial interface HTMLInputElement { @@ -250,6 +253,14 @@ partial interface HTMLInputElement { [Pref="dom.forms.datetime", ChromeOnly] void setDateTimePickerState(boolean open); + [Pref="dom.forms.datetime", ChromeOnly, + BinaryName="getMinimumAsDouble"] + double getMinimum(); + + [Pref="dom.forms.datetime", ChromeOnly, + BinaryName="getMaximumAsDouble"] + double getMaximum(); + [Pref="dom.forms.datetime", Func="IsChromeOrXBL"] void openDateTimePicker(optional DateTimeValue initialValue); @@ -258,4 +269,12 @@ partial interface HTMLInputElement { [Pref="dom.forms.datetime", Func="IsChromeOrXBL"] void closeDateTimePicker(); + + [Pref="dom.forms.datetime", Func="IsChromeOrXBL", + BinaryName="getStepAsDouble"] + double getStep(); + + [Pref="dom.forms.datetime", Func="IsChromeOrXBL", + BinaryName="getStepBaseAsDouble"] + double getStepBase(); }; diff --git a/dom/webidl/MozApplicationEvent.webidl b/dom/webidl/MozApplicationEvent.webidl deleted file mode 100644 index e46fdca06..000000000 --- a/dom/webidl/MozApplicationEvent.webidl +++ /dev/null @@ -1,16 +0,0 @@ -/* -*- 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/. - */ - -[Constructor(DOMString type, optional MozApplicationEventInit eventInitDict), ChromeOnly] -interface MozApplicationEvent : Event -{ - readonly attribute DOMApplication? application; -}; - -dictionary MozApplicationEventInit : EventInit -{ - DOMApplication? application = null; -}; diff --git a/dom/webidl/MozNetworkStats.webidl b/dom/webidl/MozNetworkStats.webidl deleted file mode 100644 index dc8635b87..000000000 --- a/dom/webidl/MozNetworkStats.webidl +++ /dev/null @@ -1,73 +0,0 @@ -/* 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/. */ - -/** - * Provide the detailed options for specifying different kinds of data filtering - * in getSamples function. - */ -dictionary NetworkStatsGetOptions -{ - /** - * App manifest URL is used to filter network stats by app, while service type - * is used to filter stats by system service. - * Note that, these two options cannot be specified at the same time for now; - * others, an NS_ERROR_NOT_IMPLMENTED exception will be thrown. - */ - DOMString? appManifestURL = null; - DOMString serviceType = ""; - /** - * If it is set as true, only the browsing traffic, which is generated from - * the mozbrowser iframe element within an app, is returned in result. - * If it is set as false or not set, the total traffic, which is generated - * from both the mozapp and mozbrowser iframe elements, is returned. - */ - boolean browsingTrafficOnly = false; -}; - -dictionary NetworkStatsAlarmOptions -{ - Date startTime; - Date data; -}; - -[JSImplementation="@mozilla.org/networkstats;1", - ChromeOnly, - Pref="dom.mozNetworkStats.enabled"] -interface MozNetworkStats { - /** - * App manifest URL of an application for specifying the per-app stats of the - * specified app. - */ - readonly attribute DOMString appManifestURL; - - /** - * True if this stats is the browsing traffic of an app (the traffic generated - * by a mozbrowser iframe element). - * Otherwise this stats represents the total traffic of an app. - */ - readonly attribute boolean browsingTrafficOnly; - - /** - * Service type is used to retrieve the corresponding "system-only" stats. - * E.g., "Tethering", "OTA", etc. - */ - readonly attribute DOMString serviceType; - - /** - * Network the returned data belongs to. - */ - readonly attribute MozNetworkStatsInterface network; - - /** - * Stats for a network. - */ - [Cached, Pure] - readonly attribute sequence<MozNetworkStatsData> data; - - /** - * Dates - */ - readonly attribute object start; - readonly attribute object end; -}; diff --git a/dom/webidl/MozNetworkStatsAlarm.webidl b/dom/webidl/MozNetworkStatsAlarm.webidl deleted file mode 100644 index e8bc01998..000000000 --- a/dom/webidl/MozNetworkStatsAlarm.webidl +++ /dev/null @@ -1,13 +0,0 @@ -/* 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/networkstatsalarm;1", - ChromeOnly, - Pref="dom.mozNetworkStats.enabled"] -interface MozNetworkStatsAlarm { - readonly attribute unsigned long alarmId; - readonly attribute MozNetworkStatsInterface network; - readonly attribute long long threshold; - readonly attribute any data; -}; diff --git a/dom/webidl/MozNetworkStatsData.webidl b/dom/webidl/MozNetworkStatsData.webidl deleted file mode 100644 index 60d1e0d36..000000000 --- a/dom/webidl/MozNetworkStatsData.webidl +++ /dev/null @@ -1,12 +0,0 @@ -/* 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/networkStatsdata;1", - ChromeOnly, - Pref="dom.mozNetworkStats.enabled"] -interface MozNetworkStatsData { - readonly attribute unsigned long rxBytes; // Received bytes. - readonly attribute unsigned long txBytes; // Sent bytes. - readonly attribute Date date; // Date. -}; diff --git a/dom/webidl/MozNetworkStatsInterface.webidl b/dom/webidl/MozNetworkStatsInterface.webidl deleted file mode 100644 index 82acfad6b..000000000 --- a/dom/webidl/MozNetworkStatsInterface.webidl +++ /dev/null @@ -1,26 +0,0 @@ -/* 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/. */ - -dictionary NetworkInterface { - long type; - DOMString id; -}; - -/** - * Represents a data interface for which the manager is recording statistics. - */ -[Constructor(optional NetworkInterface networkinterface), - JSImplementation="@mozilla.org/networkstatsinterface;1", - ChromeOnly, - Pref="dom.mozNetworkStats.enabled"] -interface MozNetworkStatsInterface { - readonly attribute long type; - - /** - * Id value is '0' for wifi or the iccid for mobile (SIM). - */ - readonly attribute DOMString id; - - jsonifier; -}; diff --git a/dom/webidl/MozNetworkStatsManager.webidl b/dom/webidl/MozNetworkStatsManager.webidl deleted file mode 100644 index 2c0e374d7..000000000 --- a/dom/webidl/MozNetworkStatsManager.webidl +++ /dev/null @@ -1,96 +0,0 @@ -/* -*- 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/. - */ - -[NavigatorProperty="mozNetworkStats", - JSImplementation="@mozilla.org/networkStatsManager;1", - ChromeOnly, - Pref="dom.mozNetworkStats.enabled"] -interface MozNetworkStatsManager { - /** - * Constants for known interface types. - */ - const long WIFI = 0; - const long MOBILE = 1; - - /** - * Find samples between two dates start and end, both included. - * - * If options is provided, per-app or per-system service usage will be - * retrieved; otherwise the target will be overall system usage. - * - * If success, the request result will be an MozNetworkStats object. - */ - DOMRequest getSamples(MozNetworkStatsInterface network, - Date start, - Date end, - optional NetworkStatsGetOptions options); - - /** - * Install an alarm on a network. The network must be in the return of - * getAvailableNetworks() otherwise an "InvalidNetwork" exception will - * be raised. - * - * When total data usage reaches threshold bytes, a "networkstats-alarm" - * system message is sent to the application, where the optional parameter - * |data| must be a cloneable object. - * - * If success, the |result| field of the DOMRequest keeps the alarm Id. - */ - DOMRequest addAlarm(MozNetworkStatsInterface network, - long long threshold, - optional NetworkStatsAlarmOptions options); - - /** - * Obtain all alarms for those networks returned by getAvailableNetworks(). - * If a network is provided, only retrieves the alarms for that network. - * The network must be one of those returned by getAvailebleNetworks() or an - * "InvalidNetwork" exception will be raised. - * - * Each alarm object has the same fields as that in the system message: - * - alarmId - * - network - * - threshold - * - data - */ - DOMRequest getAllAlarms(optional MozNetworkStatsInterface network); - - /** - * Remove all network alarms. If an |alarmId| is provided, then only that - * alarm is removed. - */ - DOMRequest removeAlarms(optional unsigned long alarmId = 0); - - /** - * Remove all stats related with the provided network from DB. - */ - DOMRequest clearStats(MozNetworkStatsInterface network); - - /** - * Remove all stats in the database. - */ - DOMRequest clearAllStats(); - - /** - * Return available networks that used to be saved in the database. - */ - DOMRequest getAvailableNetworks(); // array of MozNetworkStatsInterface. - - /** - * Return available service types that used to be saved in the database. - */ - DOMRequest getAvailableServiceTypes(); // array of string. - - /** - * Minimum time in milliseconds between samples stored in the database. - */ - readonly attribute long sampleRate; - - /** - * Time in milliseconds recorded by the API until present time. All samples - * older than maxStorageAge from now are deleted. - */ - readonly attribute long long maxStorageAge; -}; diff --git a/dom/webidl/MozSpeakerManager.webidl b/dom/webidl/MozSpeakerManager.webidl deleted file mode 100644 index 56ecf866f..000000000 --- a/dom/webidl/MozSpeakerManager.webidl +++ /dev/null @@ -1,18 +0,0 @@ -/* 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/. - */ - -/* - * Allow application can control acoustic sound output through speaker. - * Reference https://wiki.mozilla.org/WebAPI/SpeakerManager - */ -[Constructor()] -interface MozSpeakerManager : EventTarget { - /* query the speaker status */ - readonly attribute boolean speakerforced; - /* force device device's acoustic sound output through speaker */ - attribute boolean forcespeaker; - /* this event will be fired when device's speaker forced status change */ - attribute EventHandler onspeakerforcedchange; -}; diff --git a/dom/webidl/MozWifiCapabilities.webidl b/dom/webidl/MozWifiCapabilities.webidl deleted file mode 100644 index 3acf5fd55..000000000 --- a/dom/webidl/MozWifiCapabilities.webidl +++ /dev/null @@ -1,46 +0,0 @@ -/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ -/* 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/. - */ - -/* - * The capabilities of Wifi. These are guaranteed not to change over the - * lifetime of that particular instance. - */ -enum WifiSecurityMethod { - "OPEN", - "WEP", - "WPA-PSK", - "WPA-EAP" -}; - -enum WifiWpaMethod { - "SIM", - "PEAP", - "TTLS", - "TLS" -}; - -enum WifiWpaPhase2Method { - "MSCHAPV2", - "GTC" -}; - -enum WifiWpaCertificate { - "SERVER", - "USER" -}; - -[JSImplementation="@mozilla.org/mozwificapabilities;1", - Func="Navigator::HasWifiManagerSupport"] -interface MozWifiCapabilities { - [Constant, Cached] readonly attribute sequence<WifiSecurityMethod> security; - [Constant, Cached] readonly attribute sequence<WifiWpaMethod> eapMethod; - [Constant, Cached] readonly attribute sequence<WifiWpaPhase2Method> eapPhase2; - [Constant, Cached] readonly attribute sequence<WifiWpaCertificate> certificate; - - jsonifier; -}; - diff --git a/dom/webidl/MozWifiConnectionInfoEvent.webidl b/dom/webidl/MozWifiConnectionInfoEvent.webidl deleted file mode 100644 index cfba1aa3e..000000000 --- a/dom/webidl/MozWifiConnectionInfoEvent.webidl +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- 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/. - */ - -[Constructor(DOMString type, optional MozWifiConnectionInfoEventInit eventInitDict)] -interface MozWifiConnectionInfoEvent : Event -{ - /** - * Network object with an SSID field. - */ - readonly attribute any network; - - /** - * Strength of the signal to network, in dBm between -55 and -100 dBm. - */ - readonly attribute short signalStrength; - - /** - * Relative signal strength between 0 and 100. - */ - readonly attribute short relSignalStrength; - - /** - * Link speed in Mb/s. - */ - readonly attribute long linkSpeed; - - /** - * IP address in the dotted quad format. - */ - readonly attribute DOMString? ipAddress; -}; - -dictionary MozWifiConnectionInfoEventInit : EventInit -{ - any network = null; - short signalStrength = 0; - short relSignalStrength = 0; - long linkSpeed = 0; - DOMString ipAddress = ""; -}; diff --git a/dom/webidl/MozWifiManager.webidl b/dom/webidl/MozWifiManager.webidl deleted file mode 100644 index dd5aa5932..000000000 --- a/dom/webidl/MozWifiManager.webidl +++ /dev/null @@ -1,347 +0,0 @@ -/* 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/. */ - -enum WifiWPSMethod { - "pbc", - "pin", - "cancel" -}; - -enum ConnectionStatus { - "connecting", - "authenticating", - "associated", - "connected", - "disconnected", - "wps-timedout", - "wps-failed", - "wps-overlapped", - "connectingfailed" -}; - -dictionary WifiWPSInfo { - WifiWPSMethod method; - DOMString? pin; - DOMString? bssid; -}; - -dictionary NetworkProperties { - DOMString ssid; - long mode; - long frequency; - sequence<DOMString>? security; - sequence<DOMString>? capabilities; - boolean known; - boolean connected; - boolean hidden; - DOMString bssid; - DOMString signalStrength; - long relSignalStrength; - DOMString psk; - DOMString wep; - DOMString wep_key0; - DOMString wep_key1; - DOMString wep_key2; - DOMString wep_key3; - long wep_tx_keyidx; - long priority; - long scan_ssid; - DOMString keyManagement; - DOMString identity; - DOMString password; - DOMString auth_alg; - DOMString phase1; - DOMString phase2; - DOMString eap; - DOMString pin; - boolean dontConnect; - DOMString serverCertificate; - DOMString subjectMatch; - DOMString userCertificate; -}; - -[Constructor(optional NetworkProperties properties), - JSImplementation="@mozilla.org/mozwifinetwork;1", - Func="Navigator::HasWifiManagerSupport"] -interface MozWifiNetwork { - readonly attribute DOMString ssid; - readonly attribute long mode; - readonly attribute long frequency; - [Constant, Cached] readonly attribute sequence<DOMString>? security; - [Constant, Cached] readonly attribute sequence<DOMString>? capabilities; - readonly attribute boolean known; - readonly attribute boolean connected; - readonly attribute boolean hidden; - - attribute DOMString? bssid; - attribute DOMString? signalStrength; - attribute long? relSignalStrength; - attribute DOMString? psk; - attribute DOMString? wep; - attribute DOMString? wep_key0; - attribute DOMString? wep_key1; - attribute DOMString? wep_key2; - attribute DOMString? wep_key3; - attribute long? wep_tx_keyidx; - attribute long? priority; - attribute long? scan_ssid; - attribute DOMString? keyManagement; - attribute DOMString? identity; - attribute DOMString? password; - attribute DOMString? auth_alg; - attribute DOMString? phase1; - attribute DOMString? phase2; - attribute DOMString? eap; - attribute DOMString? pin; - attribute boolean? dontConnect; - attribute DOMString? serverCertificate; - attribute DOMString? subjectMatch; - attribute DOMString? userCertificate; -}; - -[JSImplementation="@mozilla.org/mozwificonnection;1", - ChromeOnly] -interface MozWifiConnection { - readonly attribute ConnectionStatus status; - readonly attribute MozWifiNetwork? network; -}; - -[JSImplementation="@mozilla.org/mozwificonnectioninfo;1", - ChromeOnly] -interface MozWifiConnectionInfo { - readonly attribute short signalStrength; - readonly attribute short relSignalStrength; - readonly attribute long linkSpeed; - readonly attribute DOMString? ipAddress; -}; - -dictionary IPConfiguration { - boolean enabled; - DOMString ipaddr; - DOMString proxy; - short maskLength; - DOMString gateway; - DOMString dns1; - DOMString dns2; -}; - -[JSImplementation="@mozilla.org/wifimanager;1", - NavigatorProperty="mozWifiManager", - Func="Navigator::HasWifiManagerSupport", - UnsafeInPrerendering] -interface MozWifiManager : EventTarget { - /** - * Turn on/off wifi functionality. - * @param enable true for enable, false for disable. - * onsuccess: Wifi enable/disable successfully, including no status change. - * onerror: Wifi enable/disable failed or prohibited. - */ - DOMRequest setWifiEnabled(boolean enabled); - - /** - * Returns the list of currently available networks. - * onsuccess: We have obtained the current list of networks. request.value - * is an object whose property names are SSIDs and values are - * network objects. - * onerror: We were unable to obtain a list of property names. - */ - DOMRequest getNetworks(); - - /** - * Returns the list of networks known to the system that will be - * automatically connected to if they're in range. - * onsuccess: request.value is an object whose property names are - * SSIDs and values are network objects. - * onerror: We were unable to obtain a list of known networks. - */ - DOMRequest getKnownNetworks(); - - /** - * Takes one of the networks returned from getNetworks and tries to - * connect to it. - * @param network A network object with information about the network, - * such as the SSID, key management desired, etc. - * onsuccess: We have started attempting to associate with the network. - * request.value is true. - * onerror: We were unable to select the network. This most likely means a - * configuration error. - */ - DOMRequest associate(MozWifiNetwork network); - - /** - * Given a network, removes it from the list of networks that we'll - * automatically connect to. In order to re-connect to the network, it is - * necessary to call associate on it. - * @param network A network object with the SSID of the network to remove. - * onsuccess: We have removed this network. If we were previously - * connected to it, we have started reconnecting to the next - * network in the list. - * onerror: We were unable to remove the network. - */ - DOMRequest forget(MozWifiNetwork network); - - /** - * Wi-Fi Protected Setup functionality. - * @param detail WPS detail which has 'method' and 'pin' field. - * The possible method field values are: - * - pbc: The Push Button Configuration. - * - pin: The PIN configuration. - * - cancel: Request to cancel WPS in progress. - * If method field is 'pin', 'pin' field can exist and has - * a PIN number. - * If method field is 'pin', 'bssid' field can exist and has - * a opposite BSSID. - * onsuccess: We have successfully started/canceled wps. - * onerror: We have failed to start/cancel wps. - */ - DOMRequest wps(optional WifiWPSInfo detail); - - /** - * Turn on/off wifi power saving mode. - * @param enabled true or false. - * onsuccess: We have successfully turn on/off wifi power saving mode. - * onerror: We have failed to turn on/off wifi power saving mode. - */ - DOMRequest setPowerSavingMode(boolean enabled); - - /** - * Given a network, configure using static IP instead of running DHCP - * @param network A network object with the SSID of the network to set static ip. - * @param info info should have following field: - * - enabled True to enable static IP, false to use DHCP - * - ipaddr configured static IP address - * - proxy configured proxy server address - * - maskLength configured mask length - * - gateway configured gateway address - * - dns1 configured first DNS server address - * - dns2 configured seconf DNS server address - * onsuccess: We have successfully configure the static ip mode. - * onerror: We have failed to configure the static ip mode. - */ - DOMRequest setStaticIpMode(MozWifiNetwork network, optional IPConfiguration info); - - /** - * Given a network, configure http proxy when using wifi. - * @param network A network object with the SSID of the network to set http proxy. - * @param info info should have following field: - * - httpProxyHost ip address of http proxy. - * - httpProxyPort port of http proxy, set 0 to use default port 8080. - * set info to null to clear http proxy. - * onsuccess: We have successfully configure http proxy. - * onerror: We have failed to configure http proxy. - */ - DOMRequest setHttpProxy(MozWifiNetwork network, any info); - - /** - * Import a certificate file, only support CA certificate now. - * @param certBlob A Blob object containing raw data of certificate to be imported. - * Supported format: binary/base64 encoded DER certificates. - * (.der/.crt/.cer/.pem) - * Cause error if importing certificates already imported. - * @param certPassword Password of certificate. - * @param certNickname User assigned nickname for imported certificate. - * Nickname must be unique, it causes error on redundant nickname. - * onsuccess: We have successfully imported certificate. request.result is an - * object, containing information of imported CA: - * { - * nickname: Nickname of imported CA, String. - * usage: Supported usage of imported CA, Array of String, - * includes: "ServerCert". - * } - * onerror: We have failed to import certificate. - */ - DOMRequest importCert(Blob certBlob, - DOMString certPassword, - DOMString certNickname); - - /** - * Get list of imported WIFI certificates. - * onsuccess: We have successfully gotten imported certificate list. - * request.result is an object using nickname as key, array of usage - * string as value. - * request.result[USAGE] = [CA_NICKNAME1, CA_NICKNAME2, ...] - * USAGE string includes: "ServerCert". - * onerror: We have failed to list certificate. - */ - DOMRequest getImportedCerts(); - - /** - * Delete an imported certificate. - * @param certNickname Nickname of imported to be deleted. - * onsuccess: We have successfully deleted certificate. - * onerror: We have failed to delete certificate. - */ - DOMRequest deleteCert(DOMString certNickname); - - /** - * Returns whether or not wifi is currently enabled. - */ - readonly attribute boolean enabled; - - /** - * Returns the MAC address of the wifi adapter. - */ - readonly attribute DOMString macAddress; - - /** - * An non-null object containing the following information: - * - status ("disconnected", "connecting", "associated", "connected") - * - network - * - * Note that the object returned is read only. Any changes required must - * be done by calling other APIs. - */ - readonly attribute MozWifiConnection connection; - - /** - * A connectionInformation object with the same information found in an - * MozWifiConnectionInfoEvent (but without the network). - * If we are not currently connected to a network, this will be null. - */ - readonly attribute MozWifiConnectionInfo? connectionInformation; - - /** - * Capabilities of Wifi. - */ - readonly attribute MozWifiCapabilities? capabilities; - - /** - * State notification listeners. These all take an - * MozWifiStatusChangeEvent with the new status and a network (which may be - * null). - * - * The possible statuses are: - * - connecting: Fires when we start the process of connecting to a - * network. - * - associated: Fires when we have connected to an access point but do - * not yet have an IP address. - * - connected: Fires once we are fully connected to an access point and - * can access the internet. - * - disconnected: Fires when we either fail to connect to an access - * point (transition: associated -> disconnected) or - * when we were connected to a network but have - * disconnected for any reason (transition: connected -> - * disconnected). - */ - attribute EventHandler onstatuschange; - - /** - * An event listener that is called with information about the signal - * strength and link speed every 5 seconds. - */ - attribute EventHandler onconnectioninfoupdate; - - /** - * These two events fire when the wifi system is brought online or taken - * offline. - */ - attribute EventHandler onenabled; - attribute EventHandler ondisabled; - - /** - * An event listener that is called with information about the number - * of wifi stations connected to wifi hotspot every 5 seconds. - */ - attribute EventHandler onstationinfoupdate; -}; diff --git a/dom/webidl/MozWifiP2pManager.webidl b/dom/webidl/MozWifiP2pManager.webidl deleted file mode 100644 index 58ac1f7be..000000000 --- a/dom/webidl/MozWifiP2pManager.webidl +++ /dev/null @@ -1,147 +0,0 @@ -/* 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/. */ - -enum WPSMethod { - "pbc", - "keypad", - "display" -}; - -dictionary WPSInfo { - WPSMethod method; - DOMString pin; -}; - -[JSImplementation="@mozilla.org/wifip2pgroupowner;1", - Func="Navigator::HasWifiManagerSupport"] -interface MozWifiP2pGroupOwner { - readonly attribute DOMString groupName; - readonly attribute DOMString macAddress; - readonly attribute DOMString ipAddress; - readonly attribute DOMString passphrase; - readonly attribute DOMString ssid; - readonly attribute any wpsCapabilities; - readonly attribute unsigned long freq; - readonly attribute boolean isLocal; -}; - -[JSImplementation="@mozilla.org/wifip2pmanager;1", - NavigatorProperty="mozWifiP2pManager", - Func="Navigator::HasWifiManagerSupport"] -interface MozWifiP2pManager : EventTarget -{ - /** - * Enable/Disable wifi direct scan. - * - * onsuccess: Succeeded in starting/stopping wifi direct scan. - * onerror: Failed to start/stop wifi direct scan. - * - */ - DOMRequest setScanEnabled(boolean enabled); - - /** - * Connect to a peer with given configuration. - * - * @param address The peer MAC address we are going to connect. - * @param wpsMethod The WPS method we want to use. - * @param goIntent Number from 0 ~ 15 to indicate how much we want to be - * the group owner. - * - * onsuccess: Succeeded in issueing a 'connect' request. It doesn't mean we - * have connected to the peer. - * - * onerror: Failed to issue a 'connect' request, probably due to an - * invalid peer address, unsupported wps method or any - * preliminary error. - * - **/ - DOMRequest connect(DOMString address, WPSMethod wpsMethod, optional byte goIntent); - - /** - * Disconnect with a peer. - * - * @param address The mac address of the peer. - * - * onsuccess: Succeeded to issue a 'disconnect' request. It doesn't mean we - * have disconnected with the peer. - * - * onerror: Failed to issue a 'disconnect' request, probably due to the - * invalid peer address or any preliminary error. - * - */ - DOMRequest disconnect(DOMString address); - - /** - * Get peer list - * - * onsuccess: Command success, req.result contains an array of peer objects. - * onerror: Command failed. - * - * Peer object format: - * .address MAC address of the peer (string) - * .name the peer's device name (string) - * .isGroupOwner if the peer is the group owner (boolean) - * .wpsCapabilities array of the supported |WPSMethod| - * .connectionStatus one of { "disconnected", "connecting", "connected", "disconnecting" } - * - */ - DOMRequest getPeerList(); - - /** - * Set pairing confirmation result. - * - * @param accepted Boolean to indicate whether we accepted the request or not. - * @param pin The user input pin number if the wps method is keypad. - * - * onsuccess: Command succeeded. - * onerror: Command failed. - * - */ - DOMRequest setPairingConfirmation(boolean accepted, optional DOMString pin); - - /** - * Set device name. - * - * @param devieName The new device name we are going to set. - * - * onsuccess: Command succeeded. - * onerror: Command failed. - * - */ - DOMRequest setDeviceName(DOMString deviceName); - - /** - * Returns if Wifi Direct is enabled. - * - */ - readonly attribute boolean enabled; - - /** - * The current group owner, null if none. - */ - readonly attribute MozWifiP2pGroupOwner? groupOwner; - - /** - * An event listener that is called whenever the Wifi Direct peer list is - * updated. Use getPeerList() to get the up-to-date peer list. - */ - attribute EventHandler onpeerinfoupdate; - - /** - * An event listener that is called whenever Wifi Direct status changed. - * The address of the changed peer will be stored in event.peerList. - * See MozWifiP2pStatusChangeEvent.webidl. - */ - attribute EventHandler onstatuschange; - - /** - * An event listener that is called whenever Wifi Direct is enabled. - */ - attribute EventHandler onenabled; - - /** - * An event listener that is called whenever Wifi Direct is disabled. - */ - attribute EventHandler ondisabled; -}; diff --git a/dom/webidl/MozWifiP2pStatusChangeEvent.webidl b/dom/webidl/MozWifiP2pStatusChangeEvent.webidl deleted file mode 100644 index be96e2786..000000000 --- a/dom/webidl/MozWifiP2pStatusChangeEvent.webidl +++ /dev/null @@ -1,20 +0,0 @@ -/* -*- 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/. - */ - -[Constructor(DOMString type, optional MozWifiP2pStatusChangeEventInit eventInitDict), - Func="Navigator::HasWifiManagerSupport"] -interface MozWifiP2pStatusChangeEvent : Event -{ - /** - * The mac address of the peer whose status has just changed. - */ - readonly attribute DOMString peerAddress; -}; - -dictionary MozWifiP2pStatusChangeEventInit : EventInit -{ - DOMString peerAddress = ""; -}; diff --git a/dom/webidl/MozWifiStationInfoEvent.webidl b/dom/webidl/MozWifiStationInfoEvent.webidl deleted file mode 100644 index ff3f5ac6a..000000000 --- a/dom/webidl/MozWifiStationInfoEvent.webidl +++ /dev/null @@ -1,19 +0,0 @@ -/* -*- 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/. - */ - -[Constructor(DOMString type, optional MozWifiStationInfoEventInit eventInitDict)] -interface MozWifiStationInfoEvent : Event -{ - /** - * The number of wifi stations connected to wifi hotspot. - */ - readonly attribute short station; -}; - -dictionary MozWifiStationInfoEventInit : EventInit -{ - short station = 0; -}; diff --git a/dom/webidl/MozWifiStatusChangeEvent.webidl b/dom/webidl/MozWifiStatusChangeEvent.webidl deleted file mode 100644 index 20d16e4d9..000000000 --- a/dom/webidl/MozWifiStatusChangeEvent.webidl +++ /dev/null @@ -1,27 +0,0 @@ -/* -*- 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/. - */ - -[Constructor(DOMString type, optional MozWifiStatusChangeEventInit eventInitDict)] -interface MozWifiStatusChangeEvent : Event -{ - /** - * Network object with a SSID field describing the network affected by - * this change. This might be null. - */ - readonly attribute any network; - - /** - * String describing the current status of the wifi manager. See above for - * the possible values. - */ - readonly attribute DOMString? status; -}; - -dictionary MozWifiStatusChangeEventInit : EventInit -{ - any network = null; - DOMString status = ""; -}; diff --git a/dom/webidl/Performance.webidl b/dom/webidl/Performance.webidl index eaede253c..0bd2677df 100644 --- a/dom/webidl/Performance.webidl +++ b/dom/webidl/Performance.webidl @@ -17,6 +17,9 @@ typedef sequence <PerformanceEntry> PerformanceEntryList; interface Performance { [DependsOn=DeviceState, Affects=Nothing] DOMHighResTimeStamp now(); + + [Constant] + readonly attribute DOMHighResTimeStamp timeOrigin; }; [Exposed=Window] diff --git a/dom/webidl/PerformanceNavigationTiming.webidl b/dom/webidl/PerformanceNavigationTiming.webidl new file mode 100644 index 000000000..fa3ecaec4 --- /dev/null +++ b/dom/webidl/PerformanceNavigationTiming.webidl @@ -0,0 +1,33 @@ +/* -*- 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/. + * + * The origin of this IDL file is + * https://www.w3.org/TR/navigation-timing-2/#sec-PerformanceNavigationTiming + * + * Copyright © 2016 W3C® (MIT, ERCIM, Keio, Beihang). + * W3C liability, trademark and document use rules apply. + */ + +enum NavigationType { + "navigate", + "reload", + "back_forward", + "prerender" +}; + +interface PerformanceNavigationTiming : PerformanceResourceTiming { + readonly attribute DOMHighResTimeStamp unloadEventStart; + readonly attribute DOMHighResTimeStamp unloadEventEnd; + readonly attribute DOMHighResTimeStamp domInteractive; + readonly attribute DOMHighResTimeStamp domContentLoadedEventStart; + readonly attribute DOMHighResTimeStamp domContentLoadedEventEnd; + readonly attribute DOMHighResTimeStamp domComplete; + readonly attribute DOMHighResTimeStamp loadEventStart; + readonly attribute DOMHighResTimeStamp loadEventEnd; + readonly attribute NavigationType type; + readonly attribute unsigned short redirectCount; + + jsonifier; +}; diff --git a/dom/webidl/PerformanceObserver.webidl b/dom/webidl/PerformanceObserver.webidl index a3a14cb1e..4cebecbeb 100644 --- a/dom/webidl/PerformanceObserver.webidl +++ b/dom/webidl/PerformanceObserver.webidl @@ -9,6 +9,7 @@ dictionary PerformanceObserverInit { required sequence<DOMString> entryTypes; + boolean buffered = false; }; callback PerformanceObserverCallback = void (PerformanceObserverEntryList entries, PerformanceObserver observer); diff --git a/dom/webidl/PerformanceResourceTiming.webidl b/dom/webidl/PerformanceResourceTiming.webidl index 021b84ae2..112228325 100644 --- a/dom/webidl/PerformanceResourceTiming.webidl +++ b/dom/webidl/PerformanceResourceTiming.webidl @@ -4,7 +4,7 @@ * You can obtain one at http://mozilla.org/MPL/2.0/. * * The origin of this IDL file is - * http://w3c-test.org/webperf/specs/ResourceTiming/#performanceresourcetiming + * https://w3c.github.io/resource-timing/#performanceresourcetiming * * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C * liability, trademark and document use rules apply. @@ -12,14 +12,10 @@ interface PerformanceResourceTiming : PerformanceEntry { - // A string with the name of that element that initiated the load. - // If the initiator is a CSS resource, the initiatorType attribute must return - // the string "css". - // If the initiator is an XMLHttpRequest object, the initiatorType attribute - // must return the string "xmlhttprequest". readonly attribute DOMString initiatorType; readonly attribute DOMString nextHopProtocol; + readonly attribute DOMHighResTimeStamp workerStart; readonly attribute DOMHighResTimeStamp redirectStart; readonly attribute DOMHighResTimeStamp redirectEnd; readonly attribute DOMHighResTimeStamp fetchStart; diff --git a/dom/webidl/PerformanceTiming.webidl b/dom/webidl/PerformanceTiming.webidl index e14201440..4aa403a50 100644 --- a/dom/webidl/PerformanceTiming.webidl +++ b/dom/webidl/PerformanceTiming.webidl @@ -33,5 +33,11 @@ interface PerformanceTiming { readonly attribute unsigned long long loadEventStart; readonly attribute unsigned long long loadEventEnd; + // This is a Chrome proprietary extension and not part of the + // performance/navigation timing specification. + // Returns 0 if a non-blank paint has not happened. + [Pref="dom.performance.time_to_non_blank_paint.enabled"] + readonly attribute unsigned long long timeToNonBlankPaint; + jsonifier; }; diff --git a/dom/webidl/PointerEvent.webidl b/dom/webidl/PointerEvent.webidl index 2e83922c8..4e8a0eb90 100644 --- a/dom/webidl/PointerEvent.webidl +++ b/dom/webidl/PointerEvent.webidl @@ -17,8 +17,10 @@ interface PointerEvent : MouseEvent readonly attribute long width; readonly attribute long height; readonly attribute float pressure; + readonly attribute float tangentialPressure; readonly attribute long tiltX; readonly attribute long tiltY; + readonly attribute long twist; readonly attribute DOMString pointerType; readonly attribute boolean isPrimary; }; @@ -29,8 +31,10 @@ dictionary PointerEventInit : MouseEventInit long width = 1; long height = 1; float pressure = 0; + float tangentialPressure = 0; long tiltX = 0; long tiltY = 0; + long twist = 0; DOMString pointerType = ""; boolean isPrimary = false; }; diff --git a/dom/webidl/Response.webidl b/dom/webidl/Response.webidl index 8713146aa..08f31fe29 100644 --- a/dom/webidl/Response.webidl +++ b/dom/webidl/Response.webidl @@ -7,7 +7,7 @@ * https://fetch.spec.whatwg.org/#response-class */ -[Constructor(optional BodyInit body, optional ResponseInit init), +[Constructor(optional BodyInit? body, optional ResponseInit init), Exposed=(Window,Worker)] interface Response { [NewObject] static Response error(); diff --git a/dom/webidl/Selection.webidl b/dom/webidl/Selection.webidl index c90844dfa..c3eac016c 100644 --- a/dom/webidl/Selection.webidl +++ b/dom/webidl/Selection.webidl @@ -33,6 +33,7 @@ interface Selection { void deleteFromDocument(); readonly attribute unsigned long rangeCount; + readonly attribute DOMString type; [Throws] Range getRangeAt(unsigned long index); [Throws] @@ -77,7 +78,7 @@ partial interface Selection { void removeSelectionListener(nsISelectionListener listenerToRemove); [ChromeOnly,BinaryName="rawType"] - readonly attribute short type; + readonly attribute short selectionType; [ChromeOnly,Throws,Pref="dom.testing.selection.GetRangesForInterval"] sequence<Range> GetRangesForInterval(Node beginNode, long beginOffset, Node endNode, long endOffset, diff --git a/dom/webidl/Window.webidl b/dom/webidl/Window.webidl index 36b1f0313..468f1cc8a 100644 --- a/dom/webidl/Window.webidl +++ b/dom/webidl/Window.webidl @@ -343,12 +343,6 @@ partial interface Window { attribute EventHandler onuserproximity; attribute EventHandler ondevicelight; -#ifdef MOZ_B2G - attribute EventHandler onmoztimechange; - attribute EventHandler onmoznetworkupload; - attribute EventHandler onmoznetworkdownload; -#endif - void dump(DOMString str); /** @@ -385,7 +379,7 @@ Window implements TouchEventHandlers; Window implements OnErrorEventHandlerForWindow; -#if defined(MOZ_WIDGET_ANDROID) || defined(MOZ_WIDGET_GONK) +#if defined(MOZ_WIDGET_ANDROID) // https://compat.spec.whatwg.org/#windoworientation-interface partial interface Window { [NeedsCallerType] diff --git a/dom/webidl/moz.build b/dom/webidl/moz.build index 8682aee97..4c2567a1c 100644 --- a/dom/webidl/moz.build +++ b/dom/webidl/moz.build @@ -347,6 +347,7 @@ WEBIDL_FILES = [ 'PerformanceMark.webidl', 'PerformanceMeasure.webidl', 'PerformanceNavigation.webidl', + 'PerformanceNavigationTiming.webidl', 'PerformanceObserver.webidl', 'PerformanceObserverEntryList.webidl', 'PerformanceResourceTiming.webidl', @@ -676,22 +677,9 @@ if CONFIG['MOZ_SECUREELEMENT']: 'SecureElementManager.webidl', ] -if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk': - WEBIDL_FILES += [ - 'MozNetworkStats.webidl', - 'MozNetworkStatsAlarm.webidl', - 'MozNetworkStatsData.webidl', - 'MozNetworkStatsInterface.webidl', - 'MozNetworkStatsManager.webidl', - 'MozSpeakerManager.webidl', - 'MozWifiCapabilities.webidl', - 'MozWifiManager.webidl', - 'MozWifiP2pManager.webidl', - ] -else: - WEBIDL_FILES += [ - 'InstallTrigger.webidl', - ] +WEBIDL_FILES += [ + 'InstallTrigger.webidl', +] GENERATED_EVENTS_WEBIDL_FILES = [ 'AnimationPlaybackEvent.webidl', @@ -760,14 +748,6 @@ if CONFIG['MOZ_GAMEPAD']: 'GamepadEvent.webidl', ] -if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk': - GENERATED_EVENTS_WEBIDL_FILES += [ - 'MozWifiConnectionInfoEvent.webidl', - 'MozWifiP2pStatusChangeEvent.webidl', - 'MozWifiStationInfoEvent.webidl', - 'MozWifiStatusChangeEvent.webidl', - ] - if CONFIG['MOZ_BUILD_APP'] in ['xulrunner'] or CONFIG['MOZ_PHOENIX'] or CONFIG['MOZ_SUITE']: WEBIDL_FILES += [ 'BrowserFeedWriter.webidl', @@ -778,14 +758,6 @@ if CONFIG['MOZ_PHOENIX'] or CONFIG['MOZ_FENNEC'] or CONFIG['MOZ_XULRUNNER']: 'External.webidl', ] -if CONFIG['MOZ_B2G']: - WEBIDL_FILES += [ - 'MozApplicationEvent.webidl' - ] - GENERATED_EVENTS_WEBIDL_FILES += [ - 'MozApplicationEvent.webidl' - ] - if CONFIG['ACCESSIBILITY']: WEBIDL_FILES += [ 'AccessibleNode.webidl', |