summaryrefslogtreecommitdiffstats
path: root/dom/chrome-webidl/NetDashboard.webidl
diff options
context:
space:
mode:
Diffstat (limited to 'dom/chrome-webidl/NetDashboard.webidl')
-rw-r--r--dom/chrome-webidl/NetDashboard.webidl155
1 files changed, 155 insertions, 0 deletions
diff --git a/dom/chrome-webidl/NetDashboard.webidl b/dom/chrome-webidl/NetDashboard.webidl
new file mode 100644
index 0000000000..937ffc11d8
--- /dev/null
+++ b/dom/chrome-webidl/NetDashboard.webidl
@@ -0,0 +1,155 @@
+/* -*- 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/. */
+
+// This file defines dictionaries used by about:networking page.
+
+dictionary SocketElement {
+ DOMString host = "";
+ unsigned long port = 0;
+ boolean active = false;
+ DOMString type = "";
+ double sent = 0;
+ double received = 0;
+};
+
+[GenerateConversionToJS]
+dictionary SocketsDict {
+ sequence<SocketElement> sockets;
+ double sent = 0;
+ double received = 0;
+};
+
+dictionary HttpConnInfo {
+ unsigned long rtt = 0;
+ unsigned long ttl = 0;
+ DOMString protocolVersion = "";
+};
+
+dictionary DnsAndSockInfoDict {
+ boolean speculative = false;
+};
+
+dictionary HttpConnectionElement {
+ DOMString host = "";
+ unsigned long port = 0;
+ DOMString httpVersion = "";
+ boolean ssl = false;
+ sequence<HttpConnInfo> active;
+ sequence<HttpConnInfo> idle;
+ sequence<DnsAndSockInfoDict> dnsAndSocks;
+};
+
+[GenerateConversionToJS]
+dictionary HttpConnDict {
+ sequence<HttpConnectionElement> connections;
+};
+
+dictionary WebSocketElement {
+ DOMString hostport = "";
+ unsigned long msgsent = 0;
+ unsigned long msgreceived = 0;
+ double sentsize = 0;
+ double receivedsize = 0;
+ boolean encrypted = false;
+};
+
+[GenerateConversionToJS]
+dictionary WebSocketDict {
+ sequence<WebSocketElement> websockets;
+};
+
+dictionary DnsCacheEntry {
+ DOMString hostname = "";
+ sequence<DOMString> hostaddr;
+ DOMString family = "";
+ double expiration = 0;
+ boolean trr = false;
+ DOMString originAttributesSuffix = "";
+ DOMString flags = "";
+};
+
+[GenerateConversionToJS]
+dictionary DNSCacheDict {
+ sequence<DnsCacheEntry> entries;
+};
+
+[GenerateConversionToJS]
+dictionary DNSLookupDict {
+ sequence<DOMString> address;
+ DOMString error = "";
+ boolean answer = false;
+};
+
+dictionary SVCParam {
+ unsigned short type = 0;
+};
+
+dictionary SVCParamAlpn : SVCParam {
+ DOMString alpn = "";
+};
+
+dictionary SVCParamNoDefaultAlpn : SVCParam {
+};
+
+dictionary SVCParamPort : SVCParam {
+ unsigned short port = 0;
+};
+
+dictionary SVCParamIPv4Hint : SVCParam {
+ sequence<DOMString> address;
+};
+
+dictionary SVCParamIPv6Hint : SVCParam {
+ sequence<DOMString> address;
+};
+
+dictionary SVCParamEchConfig : SVCParam {
+ DOMString echConfig = "";
+};
+
+dictionary SVCParamODoHConfig : SVCParam {
+ DOMString ODoHConfig = "";
+};
+
+dictionary HTTPSRecord {
+ unsigned short priority = 0;
+ DOMString targetName = "";
+ SVCParamAlpn alpn;
+ SVCParamNoDefaultAlpn noDefaultAlpn;
+ SVCParamPort port;
+ SVCParamIPv4Hint ipv4Hint;
+ SVCParamIPv6Hint ipv6Hint;
+ SVCParamEchConfig echConfig;
+ SVCParamODoHConfig ODoHConfig;
+};
+
+[GenerateConversionToJS]
+dictionary HTTPSRRLookupDict {
+ DOMString error = "";
+ boolean answer = false;
+ sequence<HTTPSRecord> records;
+};
+
+[GenerateConversionToJS]
+dictionary ConnStatusDict {
+ DOMString status = "";
+};
+
+dictionary RcwnPerfStats {
+ unsigned long avgShort = 0;
+ unsigned long avgLong = 0;
+ unsigned long stddevLong = 0;
+};
+
+[GenerateConversionToJS]
+dictionary RcwnStatus {
+ unsigned long totalNetworkRequests = 0;
+ unsigned long rcwnCacheWonCount = 0;
+ unsigned long rcwnNetWonCount = 0;
+ unsigned long cacheSlowCount = 0;
+ unsigned long cacheNotSlowCount = 0;
+ // Sequence is indexed by CachePerfStats::EDataType
+ sequence<RcwnPerfStats> perfStats;
+};