mirror of
https://github.com/servo/servo.git
synced 2025-09-30 00:29:14 +01:00
These changes add compile-time assertions that: * any type that implements the Serializable/Transferable trait has a `[Serializable]` or `[Transferable]` annotation in the interface WebIDL * any WebIDL interface with the `[Serializable]` or `[Transferable]` annotation implements the corresponding trait This is useful because it means that WebIDL definitions will be less confusing if you're trying to figure out whether Servo supports serializing/transferring a particular interface type. It also makes fixing #21715 in the future a little bit easier, because the annotations will remain up to date. Testing: compile-time only; no point in writing tests for this since it involves webidl codegen. --------- Signed-off-by: Josh Matthews <josh@joshmatthews.net>
51 lines
2 KiB
Text
51 lines
2 KiB
Text
/* 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 https://mozilla.org/MPL/2.0/. */
|
|
/*
|
|
|
|
/* https://heycam.github.io/webidl/#es-DOMException
|
|
* https://heycam.github.io/webidl/#es-DOMException-constructor-object
|
|
*/
|
|
|
|
[
|
|
ExceptionClass,
|
|
Exposed=(Window,Worker,Worklet,DissimilarOriginWindow),
|
|
Serializable,
|
|
]
|
|
interface DOMException {
|
|
[Throws] constructor(optional DOMString message="", optional DOMString name="Error");
|
|
const unsigned short INDEX_SIZE_ERR = 1;
|
|
const unsigned short DOMSTRING_SIZE_ERR = 2; // historical
|
|
const unsigned short HIERARCHY_REQUEST_ERR = 3;
|
|
const unsigned short WRONG_DOCUMENT_ERR = 4;
|
|
const unsigned short INVALID_CHARACTER_ERR = 5;
|
|
const unsigned short NO_DATA_ALLOWED_ERR = 6; // historical
|
|
const unsigned short NO_MODIFICATION_ALLOWED_ERR = 7;
|
|
const unsigned short NOT_FOUND_ERR = 8;
|
|
const unsigned short NOT_SUPPORTED_ERR = 9;
|
|
const unsigned short INUSE_ATTRIBUTE_ERR = 10; // historical
|
|
const unsigned short INVALID_STATE_ERR = 11;
|
|
const unsigned short SYNTAX_ERR = 12;
|
|
const unsigned short INVALID_MODIFICATION_ERR = 13;
|
|
const unsigned short NAMESPACE_ERR = 14;
|
|
const unsigned short INVALID_ACCESS_ERR = 15;
|
|
const unsigned short VALIDATION_ERR = 16; // historical
|
|
const unsigned short TYPE_MISMATCH_ERR = 17; // historical; use JavaScript's TypeError instead
|
|
const unsigned short SECURITY_ERR = 18;
|
|
const unsigned short NETWORK_ERR = 19;
|
|
const unsigned short ABORT_ERR = 20;
|
|
const unsigned short URL_MISMATCH_ERR = 21;
|
|
const unsigned short QUOTA_EXCEEDED_ERR = 22;
|
|
const unsigned short TIMEOUT_ERR = 23;
|
|
const unsigned short INVALID_NODE_TYPE_ERR = 24;
|
|
const unsigned short DATA_CLONE_ERR = 25;
|
|
|
|
// Error code as u16
|
|
readonly attribute unsigned short code;
|
|
|
|
// The name of the error code (ie, a string repr of |code|)
|
|
readonly attribute DOMString name;
|
|
|
|
// A custom message set by the thrower.
|
|
readonly attribute DOMString message;
|
|
};
|