mirror of
https://github.com/servo/servo.git
synced 2025-06-21 07:38:59 +01:00
Decoupled DOMErrorName from legacy error codes
This commit is contained in:
parent
c08ef4cb23
commit
23f15c94ef
2 changed files with 6 additions and 10 deletions
|
@ -13,7 +13,7 @@ use crate::dom::globalscope::GlobalScope;
|
||||||
use dom_struct::dom_struct;
|
use dom_struct::dom_struct;
|
||||||
|
|
||||||
#[repr(u16)]
|
#[repr(u16)]
|
||||||
#[derive(Clone, Copy, Debug, JSTraceable, MallocSizeOf)]
|
#[derive(Clone, Copy, Debug, Eq, JSTraceable, MallocSizeOf, Ord, PartialEq, PartialOrd)]
|
||||||
pub enum DOMErrorName {
|
pub enum DOMErrorName {
|
||||||
IndexSizeError = DOMExceptionConstants::INDEX_SIZE_ERR,
|
IndexSizeError = DOMExceptionConstants::INDEX_SIZE_ERR,
|
||||||
HierarchyRequestError = DOMExceptionConstants::HIERARCHY_REQUEST_ERR,
|
HierarchyRequestError = DOMExceptionConstants::HIERARCHY_REQUEST_ERR,
|
||||||
|
@ -36,8 +36,8 @@ pub enum DOMErrorName {
|
||||||
TimeoutError = DOMExceptionConstants::TIMEOUT_ERR,
|
TimeoutError = DOMExceptionConstants::TIMEOUT_ERR,
|
||||||
InvalidNodeTypeError = DOMExceptionConstants::INVALID_NODE_TYPE_ERR,
|
InvalidNodeTypeError = DOMExceptionConstants::INVALID_NODE_TYPE_ERR,
|
||||||
DataCloneError = DOMExceptionConstants::DATA_CLONE_ERR,
|
DataCloneError = DOMExceptionConstants::DATA_CLONE_ERR,
|
||||||
NotReadableError = DOMExceptionConstants::NOT_READABLE_ERR,
|
NotReadableError,
|
||||||
OperationError = DOMExceptionConstants::OPERATION_ERR,
|
OperationError,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl DOMErrorName {
|
impl DOMErrorName {
|
||||||
|
@ -152,11 +152,11 @@ impl DOMException {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl DOMExceptionMethods for DOMException {
|
impl DOMExceptionMethods for DOMException {
|
||||||
// https://heycam.github.io/webidl/#dfn-DOMException
|
// https://heycam.github.io/webidl/#dom-domexception-code
|
||||||
fn Code(&self) -> u16 {
|
fn Code(&self) -> u16 {
|
||||||
match DOMErrorName::from(&self.name) {
|
match DOMErrorName::from(&self.name) {
|
||||||
Some(code) => code as u16,
|
Some(code) if code <= DOMErrorName::DataCloneError => code as u16,
|
||||||
None => 0 as u16,
|
_ => 0,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,10 +38,6 @@ interface DOMException {
|
||||||
const unsigned short TIMEOUT_ERR = 23;
|
const unsigned short TIMEOUT_ERR = 23;
|
||||||
const unsigned short INVALID_NODE_TYPE_ERR = 24;
|
const unsigned short INVALID_NODE_TYPE_ERR = 24;
|
||||||
const unsigned short DATA_CLONE_ERR = 25;
|
const unsigned short DATA_CLONE_ERR = 25;
|
||||||
// Only the first 25 errors are given codes in
|
|
||||||
// https://heycam.github.io/webidl/#idl-DOMException
|
|
||||||
const unsigned short NOT_READABLE_ERR = 26;
|
|
||||||
const unsigned short OPERATION_ERR = 27;
|
|
||||||
|
|
||||||
// Error code as u16
|
// Error code as u16
|
||||||
readonly attribute unsigned short code;
|
readonly attribute unsigned short code;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue