mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-21 22:57:31 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
140
dom/webidl/ThreadSafeChromeUtils.webidl
Normal file
140
dom/webidl/ThreadSafeChromeUtils.webidl
Normal file
|
|
@ -0,0 +1,140 @@
|
|||
/* -*- 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/.
|
||||
*/
|
||||
|
||||
/**
|
||||
* A collection of **thread-safe** static utility methods that are only exposed
|
||||
* to Chrome. This interface is exposed in workers, while ChromeUtils is not.
|
||||
*/
|
||||
[ChromeOnly, Exposed=(Window,System,Worker)]
|
||||
interface ThreadSafeChromeUtils {
|
||||
/**
|
||||
* Serialize a snapshot of the heap graph, as seen by |JS::ubi::Node| and
|
||||
* restricted by |boundaries|, and write it to the provided file path.
|
||||
*
|
||||
* @param boundaries The portion of the heap graph to write.
|
||||
*
|
||||
* @returns The path to the file the heap snapshot was written
|
||||
* to. This is guaranteed to be within the temp
|
||||
* directory and its file name will match the regexp
|
||||
* `\d+(\-\d+)?\.fxsnapshot`.
|
||||
*/
|
||||
[Throws]
|
||||
static DOMString saveHeapSnapshot(optional HeapSnapshotBoundaries boundaries);
|
||||
|
||||
/**
|
||||
* Deserialize a core dump into a HeapSnapshot.
|
||||
*
|
||||
* @param filePath The file path to read the heap snapshot from.
|
||||
*/
|
||||
[Throws, NewObject]
|
||||
static HeapSnapshot readHeapSnapshot(DOMString filePath);
|
||||
|
||||
/**
|
||||
* Return the keys in a weak map. This operation is
|
||||
* non-deterministic because it is affected by the scheduling of the
|
||||
* garbage collector and the cycle collector.
|
||||
*
|
||||
* @param aMap weak map or other JavaScript value
|
||||
* @returns If aMap is a weak map object, return the keys of the weak
|
||||
* map as an array. Otherwise, return undefined.
|
||||
*/
|
||||
[Throws, NewObject]
|
||||
static any nondeterministicGetWeakMapKeys(any map);
|
||||
|
||||
/**
|
||||
* Return the keys in a weak set. This operation is
|
||||
* non-deterministic because it is affected by the scheduling of the
|
||||
* garbage collector and the cycle collector.
|
||||
*
|
||||
* @param aSet weak set or other JavaScript value
|
||||
* @returns If aSet is a weak set object, return the keys of the weak
|
||||
* set as an array. Otherwise, return undefined.
|
||||
*/
|
||||
[Throws, NewObject]
|
||||
static any nondeterministicGetWeakSetKeys(any aSet);
|
||||
|
||||
/**
|
||||
* Converts a buffer to a Base64 URL-encoded string per RFC 4648.
|
||||
*
|
||||
* @param source The buffer to encode.
|
||||
* @param options Additional encoding options.
|
||||
* @returns The encoded string.
|
||||
*/
|
||||
[Throws]
|
||||
static ByteString base64URLEncode(BufferSource source,
|
||||
Base64URLEncodeOptions options);
|
||||
|
||||
/**
|
||||
* Decodes a Base64 URL-encoded string per RFC 4648.
|
||||
*
|
||||
* @param string The string to decode.
|
||||
* @param options Additional decoding options.
|
||||
* @returns The decoded buffer.
|
||||
*/
|
||||
[Throws, NewObject]
|
||||
static ArrayBuffer base64URLDecode(ByteString string,
|
||||
Base64URLDecodeOptions options);
|
||||
};
|
||||
|
||||
/**
|
||||
* A JS object whose properties specify what portion of the heap graph to
|
||||
* write. The recognized properties are:
|
||||
*
|
||||
* * globals: [ global, ... ]
|
||||
* Dump only nodes that either:
|
||||
* - belong in the compartment of one of the given globals;
|
||||
* - belong to no compartment, but do belong to a Zone that contains one of
|
||||
* the given globals;
|
||||
* - are referred to directly by one of the last two kinds of nodes; or
|
||||
* - is the fictional root node, described below.
|
||||
*
|
||||
* * debugger: Debugger object
|
||||
* Like "globals", but use the Debugger's debuggees as the globals.
|
||||
*
|
||||
* * runtime: true
|
||||
* Dump the entire heap graph, starting with the JSRuntime's roots.
|
||||
*
|
||||
* One, and only one, of these properties must exist on the boundaries object.
|
||||
*
|
||||
* The root of the dumped graph is a fictional node whose ubi::Node type name is
|
||||
* "CoreDumpRoot". If we are dumping the entire ubi::Node graph, this root node
|
||||
* has an edge for each of the JSRuntime's roots. If we are dumping a selected
|
||||
* set of globals, the root has an edge to each global, and an edge for each
|
||||
* incoming JS reference to the selected Zones.
|
||||
*/
|
||||
dictionary HeapSnapshotBoundaries {
|
||||
sequence<object> globals;
|
||||
object debugger;
|
||||
boolean runtime;
|
||||
};
|
||||
|
||||
dictionary Base64URLEncodeOptions {
|
||||
/** Specifies whether the output should be padded with "=" characters. */
|
||||
required boolean pad;
|
||||
};
|
||||
|
||||
enum Base64URLDecodePadding {
|
||||
/**
|
||||
* Fails decoding if the input is unpadded. RFC 4648, section 3.2 requires
|
||||
* padding, unless the referring specification prohibits it.
|
||||
*/
|
||||
"require",
|
||||
|
||||
/** Tolerates padded and unpadded input. */
|
||||
"ignore",
|
||||
|
||||
/**
|
||||
* Fails decoding if the input is padded. This follows the strict base64url
|
||||
* variant used in JWS (RFC 7515, Appendix C) and HTTP Encrypted
|
||||
* Content-Encoding (draft-ietf-httpbis-encryption-encoding-01).
|
||||
*/
|
||||
"reject"
|
||||
};
|
||||
|
||||
dictionary Base64URLDecodeOptions {
|
||||
/** Specifies the padding mode for decoding the input. */
|
||||
required Base64URLDecodePadding padding;
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue