1#!/usr/bin/env python 2from __future__ import absolute_import 3from collections import OrderedDict 4 5 6class Mod: 7 """ 8 A nserror module. When used with a `with` statement, binds the itself to 9 Mod.active. 10 """ 11 12 active = None 13 14 def __init__(self, num): 15 self.num = num 16 17 def __enter__(self): 18 Mod.active = self 19 20 def __exit__(self, _type, _value, _traceback): 21 Mod.active = None 22 23 24modules = OrderedDict() 25 26# To add error code to your module, you need to do the following: 27# 28# 1) Add a module offset code. Add yours to the bottom of the list 29# right below this comment, adding 1. 30# 31# 2) In your module, define a header file which uses one of the 32# NE_ERROR_GENERATExxxxxx macros. Some examples below: 33# 34# #define NS_ERROR_MYMODULE_MYERROR1 \ 35# NS_ERROR_GENERATE(NS_ERROR_SEVERITY_ERROR,NS_ERROR_MODULE_MYMODULE,1) 36# #define NS_ERROR_MYMODULE_MYERROR2 NS_ERROR_GENERATE_SUCCESS(NS_ERROR_MODULE_MYMODULE,2) 37# #define NS_ERROR_MYMODULE_MYERROR3 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_MYMODULE,3) 38 39# @name Standard Module Offset Code. Each Module should identify a unique number 40# and then all errors associated with that module become offsets from the 41# base associated with that module id. There are 16 bits of code bits for 42# each module. 43 44modules["XPCOM"] = Mod(1) 45modules["BASE"] = Mod(2) 46modules["GFX"] = Mod(3) 47modules["WIDGET"] = Mod(4) 48modules["CALENDAR"] = Mod(5) 49modules["NETWORK"] = Mod(6) 50modules["PLUGINS"] = Mod(7) 51modules["LAYOUT"] = Mod(8) 52modules["HTMLPARSER"] = Mod(9) 53modules["RDF"] = Mod(10) 54modules["UCONV"] = Mod(11) 55modules["REG"] = Mod(12) 56modules["FILES"] = Mod(13) 57modules["DOM"] = Mod(14) 58modules["IMGLIB"] = Mod(15) 59modules["MAILNEWS"] = Mod(16) 60modules["EDITOR"] = Mod(17) 61modules["XPCONNECT"] = Mod(18) 62modules["PROFILE"] = Mod(19) 63modules["LDAP"] = Mod(20) 64modules["SECURITY"] = Mod(21) 65modules["DOM_XPATH"] = Mod(22) 66# Mod(23) used to be NS_ERROR_MODULE_DOM_RANGE (see bug 711047) 67modules["URILOADER"] = Mod(24) 68modules["CONTENT"] = Mod(25) 69modules["PYXPCOM"] = Mod(26) 70modules["XSLT"] = Mod(27) 71modules["IPC"] = Mod(28) 72modules["SVG"] = Mod(29) 73modules["STORAGE"] = Mod(30) 74modules["SCHEMA"] = Mod(31) 75modules["DOM_FILE"] = Mod(32) 76modules["DOM_INDEXEDDB"] = Mod(33) 77modules["DOM_FILEHANDLE"] = Mod(34) 78modules["SIGNED_JAR"] = Mod(35) 79modules["DOM_FILESYSTEM"] = Mod(36) 80modules["DOM_BLUETOOTH"] = Mod(37) 81modules["SIGNED_APP"] = Mod(38) 82modules["DOM_ANIM"] = Mod(39) 83modules["DOM_PUSH"] = Mod(40) 84modules["DOM_MEDIA"] = Mod(41) 85modules["URL_CLASSIFIER"] = Mod(42) 86# ErrorResult gets its own module to reduce the chance of someone accidentally 87# defining an error code matching one of the ErrorResult ones. 88modules["ERRORRESULT"] = Mod(43) 89# Win32 system error codes, which are not mapped to a specific other value, 90# see Bug 1686041. 91modules["WIN32"] = Mod(44) 92 93# NS_ERROR_MODULE_GENERAL should be used by modules that do not 94# care if return code values overlap. Callers of methods that 95# return such codes should be aware that they are not 96# globally unique. Implementors should be careful about blindly 97# returning codes from other modules that might also use 98# the generic base. 99modules["GENERAL"] = Mod(51) 100 101MODULE_BASE_OFFSET = 0x45 102 103NS_ERROR_SEVERITY_SUCCESS = 0 104NS_ERROR_SEVERITY_ERROR = 1 105 106 107def SUCCESS_OR_FAILURE(sev, module, code): 108 return (sev << 31) | ((module + MODULE_BASE_OFFSET) << 16) | code 109 110 111def FAILURE(code): 112 return SUCCESS_OR_FAILURE(NS_ERROR_SEVERITY_ERROR, Mod.active.num, code) 113 114 115def SUCCESS(code): 116 return SUCCESS_OR_FAILURE(NS_ERROR_SEVERITY_SUCCESS, Mod.active.num, code) 117 118 119# Errors is an ordered dictionary, so that we can recover the order in which 120# they were defined. This is important for determining which name is the 121# canonical name for an error code. 122errors = OrderedDict() 123 124# Standard "it worked" return value 125errors["NS_OK"] = 0 126 127# ======================================================================= 128# Core errors, not part of any modules 129# ======================================================================= 130errors["NS_ERROR_BASE"] = 0xC1F30000 131# Returned when an instance is not initialized 132errors["NS_ERROR_NOT_INITIALIZED"] = errors["NS_ERROR_BASE"] + 1 133# Returned when an instance is already initialized 134errors["NS_ERROR_ALREADY_INITIALIZED"] = errors["NS_ERROR_BASE"] + 2 135# Returned by a not implemented function 136errors["NS_ERROR_NOT_IMPLEMENTED"] = 0x80004001 137# Returned when a given interface is not supported. 138errors["NS_NOINTERFACE"] = 0x80004002 139errors["NS_ERROR_NO_INTERFACE"] = errors["NS_NOINTERFACE"] 140# Returned when a function aborts 141errors["NS_ERROR_ABORT"] = 0x80004004 142# Returned when a function fails 143errors["NS_ERROR_FAILURE"] = 0x80004005 144# Returned when an unexpected error occurs 145errors["NS_ERROR_UNEXPECTED"] = 0x8000FFFF 146# Returned when a memory allocation fails 147errors["NS_ERROR_OUT_OF_MEMORY"] = 0x8007000E 148# Returned when an illegal value is passed 149errors["NS_ERROR_ILLEGAL_VALUE"] = 0x80070057 150errors["NS_ERROR_INVALID_ARG"] = errors["NS_ERROR_ILLEGAL_VALUE"] 151errors["NS_ERROR_INVALID_POINTER"] = errors["NS_ERROR_INVALID_ARG"] 152errors["NS_ERROR_NULL_POINTER"] = errors["NS_ERROR_INVALID_ARG"] 153# Returned when a class doesn't allow aggregation 154errors["NS_ERROR_NO_AGGREGATION"] = 0x80040110 155# Returned when an operation can't complete due to an unavailable resource 156errors["NS_ERROR_NOT_AVAILABLE"] = 0x80040111 157# Returned when a class is not registered 158errors["NS_ERROR_FACTORY_NOT_REGISTERED"] = 0x80040154 159# Returned when a class cannot be registered, but may be tried again later 160errors["NS_ERROR_FACTORY_REGISTER_AGAIN"] = 0x80040155 161# Returned when a dynamically loaded factory couldn't be found 162errors["NS_ERROR_FACTORY_NOT_LOADED"] = 0x800401F8 163# Returned when a factory doesn't support signatures 164errors["NS_ERROR_FACTORY_NO_SIGNATURE_SUPPORT"] = errors["NS_ERROR_BASE"] + 0x101 165# Returned when a factory already is registered 166errors["NS_ERROR_FACTORY_EXISTS"] = errors["NS_ERROR_BASE"] + 0x100 167 168 169# ======================================================================= 170# 1: NS_ERROR_MODULE_XPCOM 171# ======================================================================= 172with modules["XPCOM"]: 173 # Result codes used by nsIVariant 174 errors["NS_ERROR_CANNOT_CONVERT_DATA"] = FAILURE(1) 175 errors["NS_ERROR_OBJECT_IS_IMMUTABLE"] = FAILURE(2) 176 errors["NS_ERROR_LOSS_OF_SIGNIFICANT_DATA"] = FAILURE(3) 177 # Result code used by nsIThreadManager 178 errors["NS_ERROR_NOT_SAME_THREAD"] = FAILURE(4) 179 # Various operations are not permitted during XPCOM shutdown and will fail 180 # with this exception. 181 errors["NS_ERROR_ILLEGAL_DURING_SHUTDOWN"] = FAILURE(30) 182 errors["NS_ERROR_SERVICE_NOT_AVAILABLE"] = FAILURE(22) 183 184 errors["NS_SUCCESS_LOSS_OF_INSIGNIFICANT_DATA"] = SUCCESS(1) 185 # Used by nsCycleCollectionParticipant 186 errors["NS_SUCCESS_INTERRUPTED_TRAVERSE"] = SUCCESS(2) 187 188# ======================================================================= 189# 2: NS_ERROR_MODULE_BASE 190# ======================================================================= 191with modules["BASE"]: 192 # I/O Errors 193 194 # Stream closed 195 errors["NS_BASE_STREAM_CLOSED"] = FAILURE(2) 196 # Error from the operating system 197 errors["NS_BASE_STREAM_OSERROR"] = FAILURE(3) 198 # Illegal arguments 199 errors["NS_BASE_STREAM_ILLEGAL_ARGS"] = FAILURE(4) 200 # For unichar streams 201 errors["NS_BASE_STREAM_NO_CONVERTER"] = FAILURE(5) 202 # For unichar streams 203 errors["NS_BASE_STREAM_BAD_CONVERSION"] = FAILURE(6) 204 errors["NS_BASE_STREAM_WOULD_BLOCK"] = FAILURE(7) 205 206 207# ======================================================================= 208# 3: NS_ERROR_MODULE_GFX 209# ======================================================================= 210with modules["GFX"]: 211 # no printer available (e.g. cannot find _any_ printer) 212 errors["NS_ERROR_GFX_PRINTER_NO_PRINTER_AVAILABLE"] = FAILURE(1) 213 # _specified_ (by name) printer not found 214 errors["NS_ERROR_GFX_PRINTER_NAME_NOT_FOUND"] = FAILURE(2) 215 # print-to-file: could not open output file 216 errors["NS_ERROR_GFX_PRINTER_COULD_NOT_OPEN_FILE"] = FAILURE(3) 217 # print: starting document 218 errors["NS_ERROR_GFX_PRINTER_STARTDOC"] = FAILURE(4) 219 # print: ending document 220 errors["NS_ERROR_GFX_PRINTER_ENDDOC"] = FAILURE(5) 221 # print: starting page 222 errors["NS_ERROR_GFX_PRINTER_STARTPAGE"] = FAILURE(6) 223 # The document is still being loaded 224 errors["NS_ERROR_GFX_PRINTER_DOC_IS_BUSY"] = FAILURE(7) 225 226 # Font cmap is strangely structured - avoid this font! 227 errors["NS_ERROR_GFX_CMAP_MALFORMED"] = FAILURE(51) 228 229 230# ======================================================================= 231# 4: NS_ERROR_MODULE_WIDGET 232# ======================================================================= 233with modules["WIDGET"]: 234 # Used by: 235 # - nsIWidget::NotifyIME() 236 # Returned when the notification or the event is handled and it's consumed 237 # by somebody. 238 errors["NS_SUCCESS_EVENT_CONSUMED"] = SUCCESS(1) 239 240 241# ======================================================================= 242# 6: NS_ERROR_MODULE_NETWORK 243# ======================================================================= 244with modules["NETWORK"]: 245 # General async request error codes: 246 # 247 # These error codes are commonly passed through callback methods to indicate 248 # the status of some requested async request. 249 # 250 # For example, see nsIRequestObserver::onStopRequest. 251 252 # The async request completed successfully. 253 errors["NS_BINDING_SUCCEEDED"] = errors["NS_OK"] 254 255 # The async request failed for some unknown reason. 256 errors["NS_BINDING_FAILED"] = FAILURE(1) 257 # The async request failed because it was aborted by some user action. 258 errors["NS_BINDING_ABORTED"] = FAILURE(2) 259 # The async request has been "redirected" to a different async request. 260 # (e.g., an HTTP redirect occurred). 261 # 262 # This error code is used with load groups to notify the load group observer 263 # when a request in the load group is redirected to another request. 264 errors["NS_BINDING_REDIRECTED"] = FAILURE(3) 265 # The async request has been "retargeted" to a different "handler." 266 # 267 # This error code is used with load groups to notify the load group observer 268 # when a request in the load group is removed from the load group and added 269 # to a different load group. 270 errors["NS_BINDING_RETARGETED"] = FAILURE(4) 271 272 # Miscellaneous error codes: These errors are not typically passed via 273 # onStopRequest. 274 275 # The URI is malformed. 276 errors["NS_ERROR_MALFORMED_URI"] = FAILURE(10) 277 # The requested action could not be completed while the object is busy. 278 # Implementations of nsIChannel::asyncOpen will commonly return this error 279 # if the channel has already been opened (and has not yet been closed). 280 errors["NS_ERROR_IN_PROGRESS"] = FAILURE(15) 281 # Returned from nsIChannel::asyncOpen to indicate that OnDataAvailable will 282 # not be called because there is no content available. This is used by 283 # helper app style protocols (e.g., mailto). XXX perhaps this should be a 284 # success code. 285 errors["NS_ERROR_NO_CONTENT"] = FAILURE(17) 286 # The URI scheme corresponds to an unknown protocol handler. 287 errors["NS_ERROR_UNKNOWN_PROTOCOL"] = FAILURE(18) 288 # The content encoding of the source document was incorrect, for example 289 # returning a plain HTML document advertised as Content-Encoding: gzip 290 errors["NS_ERROR_INVALID_CONTENT_ENCODING"] = FAILURE(27) 291 # A transport level corruption was found in the source document. for example 292 # a document with a calculated checksum that does not match the Content-MD5 293 # http header. 294 errors["NS_ERROR_CORRUPTED_CONTENT"] = FAILURE(29) 295 # A content signature verification failed for some reason. This can be either 296 # an actual verification error, or any other error that led to the fact that 297 # a content signature that was expected couldn't be verified. 298 errors["NS_ERROR_INVALID_SIGNATURE"] = FAILURE(58) 299 # While parsing for the first component of a header field using syntax as in 300 # Content-Disposition or Content-Type, the first component was found to be 301 # empty, such as in: Content-Disposition: ; filename=foo 302 errors["NS_ERROR_FIRST_HEADER_FIELD_COMPONENT_EMPTY"] = FAILURE(34) 303 # Returned from nsIChannel::asyncOpen when trying to open the channel again 304 # (reopening is not supported). 305 errors["NS_ERROR_ALREADY_OPENED"] = FAILURE(73) 306 307 # Connectivity error codes: 308 309 # The connection is already established. XXX unused - consider removing. 310 errors["NS_ERROR_ALREADY_CONNECTED"] = FAILURE(11) 311 # The connection does not exist. XXX unused - consider removing. 312 errors["NS_ERROR_NOT_CONNECTED"] = FAILURE(12) 313 # The connection attempt failed, for example, because no server was 314 # listening at specified host:port. 315 errors["NS_ERROR_CONNECTION_REFUSED"] = FAILURE(13) 316 # The connection was lost due to a timeout error. 317 errors["NS_ERROR_NET_TIMEOUT"] = FAILURE(14) 318 # The requested action could not be completed while the networking library 319 # is in the offline state. 320 errors["NS_ERROR_OFFLINE"] = FAILURE(16) 321 # The requested action was prohibited because it would have caused the 322 # networking library to establish a connection to an unsafe or otherwise 323 # banned port. 324 errors["NS_ERROR_PORT_ACCESS_NOT_ALLOWED"] = FAILURE(19) 325 # The connection was established, but no data was ever received. 326 errors["NS_ERROR_NET_RESET"] = FAILURE(20) 327 # The connection was established, but the data transfer was interrupted. 328 errors["NS_ERROR_NET_INTERRUPT"] = FAILURE(71) 329 # The connection attempt to a proxy failed. 330 errors["NS_ERROR_PROXY_CONNECTION_REFUSED"] = FAILURE(72) 331 # A transfer was only partially done when it completed. 332 errors["NS_ERROR_NET_PARTIAL_TRANSFER"] = FAILURE(76) 333 # HTTP/2 detected invalid TLS configuration 334 errors["NS_ERROR_NET_INADEQUATE_SECURITY"] = FAILURE(82) 335 # HTTP/2 sent a GOAWAY 336 errors["NS_ERROR_NET_HTTP2_SENT_GOAWAY"] = FAILURE(83) 337 # HTTP/3 protocol internal error 338 errors["NS_ERROR_NET_HTTP3_PROTOCOL_ERROR"] = FAILURE(84) 339 # A timeout error code that can be used to cancel requests. 340 errors["NS_ERROR_NET_TIMEOUT_EXTERNAL"] = FAILURE(85) 341 342 # XXX really need to better rationalize these error codes. are consumers of 343 # necko really expected to know how to discern the meaning of these?? 344 # This request is not resumable, but it was tried to resume it, or to 345 # request resume-specific data. 346 errors["NS_ERROR_NOT_RESUMABLE"] = FAILURE(25) 347 # The request failed as a result of a detected redirection loop. 348 errors["NS_ERROR_REDIRECT_LOOP"] = FAILURE(31) 349 # It was attempted to resume the request, but the entity has changed in the 350 # meantime. 351 errors["NS_ERROR_ENTITY_CHANGED"] = FAILURE(32) 352 # The request failed because the content type returned by the server was not 353 # a type expected by the channel (for nested channels such as the JAR 354 # channel). 355 errors["NS_ERROR_UNSAFE_CONTENT_TYPE"] = FAILURE(74) 356 # The request failed because the user tried to access to a remote XUL 357 # document from a website that is not in its white-list. 358 errors["NS_ERROR_REMOTE_XUL"] = FAILURE(75) 359 # The request resulted in an error page being displayed. 360 errors["NS_ERROR_LOAD_SHOWED_ERRORPAGE"] = FAILURE(77) 361 # The request occurred in docshell that lacks a treeowner, so it is 362 # probably in the process of being torn down. 363 errors["NS_ERROR_DOCSHELL_DYING"] = FAILURE(78) 364 365 # DNS specific error codes: 366 367 # The lookup of a hostname failed. This generally refers to the hostname 368 # from the URL being loaded. 369 errors["NS_ERROR_UNKNOWN_HOST"] = FAILURE(30) 370 # A low or medium priority DNS lookup failed because the pending queue was 371 # already full. High priorty (the default) always makes room 372 errors["NS_ERROR_DNS_LOOKUP_QUEUE_FULL"] = FAILURE(33) 373 # The lookup of a proxy hostname failed. If a channel is configured to 374 # speak to a proxy server, then it will generate this error if the proxy 375 # hostname cannot be resolved. 376 errors["NS_ERROR_UNKNOWN_PROXY_HOST"] = FAILURE(42) 377 # This DNS error will occur when the resolver uses the Extended DNS Error 378 # option to indicate an error code for which we should not fall back to the 379 # default DNS resolver. This means the DNS failure is definitive. 380 errors["NS_ERROR_DEFINITIVE_UNKNOWN_HOST"] = FAILURE(43) 381 382 # Socket specific error codes: 383 384 # The specified socket type does not exist. 385 errors["NS_ERROR_UNKNOWN_SOCKET_TYPE"] = FAILURE(51) 386 # The specified socket type could not be created. 387 errors["NS_ERROR_SOCKET_CREATE_FAILED"] = FAILURE(52) 388 # The operating system doesn't support the given type of address. 389 errors["NS_ERROR_SOCKET_ADDRESS_NOT_SUPPORTED"] = FAILURE(53) 390 # The address to which we tried to bind the socket was busy. 391 errors["NS_ERROR_SOCKET_ADDRESS_IN_USE"] = FAILURE(54) 392 393 # Cache specific error codes: 394 errors["NS_ERROR_CACHE_KEY_NOT_FOUND"] = FAILURE(61) 395 errors["NS_ERROR_CACHE_DATA_IS_STREAM"] = FAILURE(62) 396 errors["NS_ERROR_CACHE_DATA_IS_NOT_STREAM"] = FAILURE(63) 397 errors["NS_ERROR_CACHE_WAIT_FOR_VALIDATION"] = FAILURE(64) 398 errors["NS_ERROR_CACHE_ENTRY_DOOMED"] = FAILURE(65) 399 errors["NS_ERROR_CACHE_READ_ACCESS_DENIED"] = FAILURE(66) 400 errors["NS_ERROR_CACHE_WRITE_ACCESS_DENIED"] = FAILURE(67) 401 errors["NS_ERROR_CACHE_IN_USE"] = FAILURE(68) 402 # Error passed through onStopRequest if the document could not be fetched 403 # from the cache. 404 errors["NS_ERROR_DOCUMENT_NOT_CACHED"] = FAILURE(70) 405 406 # Effective TLD Service specific error codes: 407 408 # The requested number of domain levels exceeds those present in the host 409 # string. 410 errors["NS_ERROR_INSUFFICIENT_DOMAIN_LEVELS"] = FAILURE(80) 411 # The host string is an IP address. 412 errors["NS_ERROR_HOST_IS_IP_ADDRESS"] = FAILURE(81) 413 414 # StreamLoader specific result codes: 415 416 # Result code returned by nsIStreamLoaderObserver to indicate that the 417 # observer is taking over responsibility for the data buffer, and the loader 418 # should NOT free it. 419 errors["NS_SUCCESS_ADOPTED_DATA"] = SUCCESS(90) 420 421 # This success code may be returned by nsIAuthModule::getNextToken to 422 # indicate that the authentication is finished and thus there's no need 423 # to call getNextToken again. 424 errors["NS_SUCCESS_AUTH_FINISHED"] = SUCCESS(40) 425 426 # These are really not "results", they're statuses, used by nsITransport and 427 # friends. This is abuse of nsresult, but we'll put up with it for now. 428 # nsITransport 429 errors["NS_NET_STATUS_READING"] = FAILURE(8) 430 errors["NS_NET_STATUS_WRITING"] = FAILURE(9) 431 432 # nsISocketTransport 433 errors["NS_NET_STATUS_RESOLVING_HOST"] = FAILURE(3) 434 errors["NS_NET_STATUS_RESOLVED_HOST"] = FAILURE(11) 435 errors["NS_NET_STATUS_CONNECTING_TO"] = FAILURE(7) 436 errors["NS_NET_STATUS_CONNECTED_TO"] = FAILURE(4) 437 errors["NS_NET_STATUS_TLS_HANDSHAKE_STARTING"] = FAILURE(12) 438 errors["NS_NET_STATUS_TLS_HANDSHAKE_ENDED"] = FAILURE(13) 439 errors["NS_NET_STATUS_SENDING_TO"] = FAILURE(5) 440 errors["NS_NET_STATUS_WAITING_FOR"] = FAILURE(10) 441 errors["NS_NET_STATUS_RECEIVING_FROM"] = FAILURE(6) 442 443 # nsIInterceptedChannel 444 # Generic error for non-specific failures during service worker interception 445 errors["NS_ERROR_INTERCEPTION_FAILED"] = FAILURE(100) 446 447 # All Http proxy CONNECT response codes 448 errors["NS_ERROR_PROXY_CODE_BASE"] = FAILURE(1000) 449 # Redirection 3xx 450 errors["NS_ERROR_PROXY_MULTIPLE_CHOICES"] = errors["NS_ERROR_PROXY_CODE_BASE"] + 300 451 errors["NS_ERROR_PROXY_MOVED_PERMANENTLY"] = ( 452 errors["NS_ERROR_PROXY_CODE_BASE"] + 301 453 ) 454 errors["NS_ERROR_PROXY_FOUND"] = errors["NS_ERROR_PROXY_CODE_BASE"] + 302 455 errors["NS_ERROR_PROXY_SEE_OTHER"] = errors["NS_ERROR_PROXY_CODE_BASE"] + 303 456 errors["NS_ERROR_PROXY_NOT_MODIFIED"] = errors["NS_ERROR_PROXY_CODE_BASE"] + 304 457 errors["NS_ERROR_PROXY_TEMPORARY_REDIRECT"] = ( 458 errors["NS_ERROR_PROXY_CODE_BASE"] + 307 459 ) 460 errors["NS_ERROR_PROXY_PERMANENT_REDIRECT"] = ( 461 errors["NS_ERROR_PROXY_CODE_BASE"] + 308 462 ) 463 464 # Client error 4xx 465 errors["NS_ERROR_PROXY_BAD_REQUEST"] = errors["NS_ERROR_PROXY_CODE_BASE"] + 400 466 errors["NS_ERROR_PROXY_UNAUTHORIZED"] = errors["NS_ERROR_PROXY_CODE_BASE"] + 401 467 errors["NS_ERROR_PROXY_PAYMENT_REQUIRED"] = errors["NS_ERROR_PROXY_CODE_BASE"] + 402 468 errors["NS_ERROR_PROXY_FORBIDDEN"] = errors["NS_ERROR_PROXY_CODE_BASE"] + 403 469 errors["NS_ERROR_PROXY_NOT_FOUND"] = errors["NS_ERROR_PROXY_CODE_BASE"] + 404 470 errors["NS_ERROR_PROXY_METHOD_NOT_ALLOWED"] = ( 471 errors["NS_ERROR_PROXY_CODE_BASE"] + 405 472 ) 473 errors["NS_ERROR_PROXY_NOT_ACCEPTABLE"] = errors["NS_ERROR_PROXY_CODE_BASE"] + 406 474 # The proxy requires authentication; used when we can't easily propagate 407s. 475 errors["NS_ERROR_PROXY_AUTHENTICATION_FAILED"] = ( 476 errors["NS_ERROR_PROXY_CODE_BASE"] + 407 477 ) 478 errors["NS_ERROR_PROXY_REQUEST_TIMEOUT"] = errors["NS_ERROR_PROXY_CODE_BASE"] + 408 479 errors["NS_ERROR_PROXY_CONFLICT"] = errors["NS_ERROR_PROXY_CODE_BASE"] + 409 480 errors["NS_ERROR_PROXY_GONE"] = errors["NS_ERROR_PROXY_CODE_BASE"] + 410 481 errors["NS_ERROR_PROXY_LENGTH_REQUIRED"] = errors["NS_ERROR_PROXY_CODE_BASE"] + 411 482 errors["NS_ERROR_PROXY_PRECONDITION_FAILED"] = ( 483 errors["NS_ERROR_PROXY_CODE_BASE"] + 412 484 ) 485 errors["NS_ERROR_PROXY_REQUEST_ENTITY_TOO_LARGE"] = ( 486 errors["NS_ERROR_PROXY_CODE_BASE"] + 413 487 ) 488 errors["NS_ERROR_PROXY_REQUEST_URI_TOO_LONG"] = ( 489 errors["NS_ERROR_PROXY_CODE_BASE"] + 414 490 ) 491 errors["NS_ERROR_PROXY_UNSUPPORTED_MEDIA_TYPE"] = ( 492 errors["NS_ERROR_PROXY_CODE_BASE"] + 415 493 ) 494 errors["NS_ERROR_PROXY_REQUESTED_RANGE_NOT_SATISFIABLE"] = ( 495 errors["NS_ERROR_PROXY_CODE_BASE"] + 416 496 ) 497 errors["NS_ERROR_PROXY_EXPECTATION_FAILED"] = ( 498 errors["NS_ERROR_PROXY_CODE_BASE"] + 417 499 ) 500 errors["NS_ERROR_PROXY_MISDIRECTED_REQUEST"] = ( 501 errors["NS_ERROR_PROXY_CODE_BASE"] + 421 502 ) 503 errors["NS_ERROR_PROXY_TOO_EARLY"] = errors["NS_ERROR_PROXY_CODE_BASE"] + 425 504 errors["NS_ERROR_PROXY_UPGRADE_REQUIRED"] = errors["NS_ERROR_PROXY_CODE_BASE"] + 426 505 errors["NS_ERROR_PROXY_PRECONDITION_REQUIRED"] = ( 506 errors["NS_ERROR_PROXY_CODE_BASE"] + 428 507 ) 508 # Indicates that we have sent too many requests in a given amount of time. 509 errors["NS_ERROR_PROXY_TOO_MANY_REQUESTS"] = ( 510 errors["NS_ERROR_PROXY_CODE_BASE"] + 429 511 ) 512 errors["NS_ERROR_PROXY_REQUEST_HEADER_FIELDS_TOO_LARGE"] = ( 513 errors["NS_ERROR_PROXY_CODE_BASE"] + 431 514 ) 515 errors["NS_ERROR_PROXY_UNAVAILABLE_FOR_LEGAL_REASONS"] = ( 516 errors["NS_ERROR_PROXY_CODE_BASE"] + 451 517 ) 518 519 # Server error 5xx 520 errors["NS_ERROR_PROXY_INTERNAL_SERVER_ERROR"] = ( 521 errors["NS_ERROR_PROXY_CODE_BASE"] + 500 522 ) 523 errors["NS_ERROR_PROXY_NOT_IMPLEMENTED"] = errors["NS_ERROR_PROXY_CODE_BASE"] + 501 524 errors["NS_ERROR_PROXY_BAD_GATEWAY"] = errors["NS_ERROR_PROXY_CODE_BASE"] + 502 525 errors["NS_ERROR_PROXY_SERVICE_UNAVAILABLE"] = ( 526 errors["NS_ERROR_PROXY_CODE_BASE"] + 503 527 ) 528 # The proxy did get any response from the remote server in time. 529 errors["NS_ERROR_PROXY_GATEWAY_TIMEOUT"] = errors["NS_ERROR_PROXY_CODE_BASE"] + 504 530 errors["NS_ERROR_PROXY_VERSION_NOT_SUPPORTED"] = ( 531 errors["NS_ERROR_PROXY_CODE_BASE"] + 505 532 ) 533 errors["NS_ERROR_PROXY_VARIANT_ALSO_NEGOTIATES"] = ( 534 errors["NS_ERROR_PROXY_CODE_BASE"] + 506 535 ) 536 errors["NS_ERROR_PROXY_NOT_EXTENDED"] = errors["NS_ERROR_PROXY_CODE_BASE"] + 510 537 errors["NS_ERROR_PROXY_NETWORK_AUTHENTICATION_REQUIRED"] = ( 538 errors["NS_ERROR_PROXY_CODE_BASE"] + 511 539 ) 540 541# ======================================================================= 542# 7: NS_ERROR_MODULE_PLUGINS 543# ======================================================================= 544with modules["PLUGINS"]: 545 errors["NS_ERROR_PLUGINS_PLUGINSNOTCHANGED"] = FAILURE(1000) 546 errors["NS_ERROR_PLUGIN_DISABLED"] = FAILURE(1001) 547 errors["NS_ERROR_PLUGIN_BLOCKLISTED"] = FAILURE(1002) 548 errors["NS_ERROR_PLUGIN_TIME_RANGE_NOT_SUPPORTED"] = FAILURE(1003) 549 errors["NS_ERROR_PLUGIN_CLICKTOPLAY"] = FAILURE(1004) 550 551 552# ======================================================================= 553# 8: NS_ERROR_MODULE_LAYOUT 554# ======================================================================= 555with modules["LAYOUT"]: 556 # Return code for SheetLoadData::VerifySheetReadyToParse 557 errors["NS_OK_PARSE_SHEET"] = SUCCESS(1) 558 # Return code for nsFrame::GetNextPrevLineFromeBlockFrame 559 errors["NS_POSITION_BEFORE_TABLE"] = SUCCESS(3) 560 561 562# ======================================================================= 563# 9: NS_ERROR_MODULE_HTMLPARSER 564# ======================================================================= 565with modules["HTMLPARSER"]: 566 errors["NS_ERROR_HTMLPARSER_CONTINUE"] = errors["NS_OK"] 567 568 errors["NS_ERROR_HTMLPARSER_EOF"] = FAILURE(1000) 569 errors["NS_ERROR_HTMLPARSER_UNKNOWN"] = FAILURE(1001) 570 errors["NS_ERROR_HTMLPARSER_CANTPROPAGATE"] = FAILURE(1002) 571 errors["NS_ERROR_HTMLPARSER_CONTEXTMISMATCH"] = FAILURE(1003) 572 errors["NS_ERROR_HTMLPARSER_BADFILENAME"] = FAILURE(1004) 573 errors["NS_ERROR_HTMLPARSER_BADURL"] = FAILURE(1005) 574 errors["NS_ERROR_HTMLPARSER_INVALIDPARSERCONTEXT"] = FAILURE(1006) 575 errors["NS_ERROR_HTMLPARSER_INTERRUPTED"] = FAILURE(1007) 576 errors["NS_ERROR_HTMLPARSER_BLOCK"] = FAILURE(1008) 577 errors["NS_ERROR_HTMLPARSER_BADTOKENIZER"] = FAILURE(1009) 578 errors["NS_ERROR_HTMLPARSER_BADATTRIBUTE"] = FAILURE(1010) 579 errors["NS_ERROR_HTMLPARSER_UNRESOLVEDDTD"] = FAILURE(1011) 580 errors["NS_ERROR_HTMLPARSER_MISPLACEDTABLECONTENT"] = FAILURE(1012) 581 errors["NS_ERROR_HTMLPARSER_BADDTD"] = FAILURE(1013) 582 errors["NS_ERROR_HTMLPARSER_BADCONTEXT"] = FAILURE(1014) 583 errors["NS_ERROR_HTMLPARSER_STOPPARSING"] = FAILURE(1015) 584 errors["NS_ERROR_HTMLPARSER_UNTERMINATEDSTRINGLITERAL"] = FAILURE(1016) 585 errors["NS_ERROR_HTMLPARSER_HIERARCHYTOODEEP"] = FAILURE(1017) 586 errors["NS_ERROR_HTMLPARSER_FAKE_ENDTAG"] = FAILURE(1018) 587 errors["NS_ERROR_HTMLPARSER_INVALID_COMMENT"] = FAILURE(1019) 588 589 590# ======================================================================= 591# 10: NS_ERROR_MODULE_RDF 592# ======================================================================= 593with modules["RDF"]: 594 # Returned from nsIRDFDataSource::Assert() and Unassert() if the assertion 595 # (or unassertion was accepted by the datasource 596 errors["NS_RDF_ASSERTION_ACCEPTED"] = errors["NS_OK"] 597 # Returned from nsIRDFDataSource::GetSource() and GetTarget() if the 598 # source/target has no value 599 errors["NS_RDF_NO_VALUE"] = SUCCESS(2) 600 # Returned from nsIRDFDataSource::Assert() and Unassert() if the assertion 601 # (or unassertion) was rejected by the datasource; i.e., the datasource was 602 # not willing to record the statement. 603 errors["NS_RDF_ASSERTION_REJECTED"] = SUCCESS(3) 604 # Return this from rdfITripleVisitor to stop cycling 605 errors["NS_RDF_STOP_VISIT"] = SUCCESS(4) 606 607 608# ======================================================================= 609# 11: NS_ERROR_MODULE_UCONV 610# ======================================================================= 611with modules["UCONV"]: 612 errors["NS_ERROR_UCONV_NOCONV"] = FAILURE(1) 613 errors["NS_ERROR_UDEC_ILLEGALINPUT"] = FAILURE(14) 614 615 errors["NS_OK_HAD_REPLACEMENTS"] = SUCCESS(3) 616 errors["NS_OK_UDEC_MOREINPUT"] = SUCCESS(12) 617 errors["NS_OK_UDEC_MOREOUTPUT"] = SUCCESS(13) 618 errors["NS_OK_UENC_MOREOUTPUT"] = SUCCESS(34) 619 errors["NS_ERROR_UENC_NOMAPPING"] = SUCCESS(35) 620 621 # BEGIN DEPRECATED 622 errors["NS_ERROR_ILLEGAL_INPUT"] = errors["NS_ERROR_UDEC_ILLEGALINPUT"] 623 # END DEPRECATED 624 625 626# ======================================================================= 627# 13: NS_ERROR_MODULE_FILES 628# ======================================================================= 629with modules["FILES"]: 630 errors["NS_ERROR_FILE_UNRECOGNIZED_PATH"] = FAILURE(1) 631 errors["NS_ERROR_FILE_UNRESOLVABLE_SYMLINK"] = FAILURE(2) 632 errors["NS_ERROR_FILE_EXECUTION_FAILED"] = FAILURE(3) 633 errors["NS_ERROR_FILE_UNKNOWN_TYPE"] = FAILURE(4) 634 errors["NS_ERROR_FILE_DESTINATION_NOT_DIR"] = FAILURE(5) 635 errors["NS_ERROR_FILE_TARGET_DOES_NOT_EXIST"] = FAILURE(6) 636 errors["NS_ERROR_FILE_COPY_OR_MOVE_FAILED"] = FAILURE(7) 637 errors["NS_ERROR_FILE_ALREADY_EXISTS"] = FAILURE(8) 638 errors["NS_ERROR_FILE_INVALID_PATH"] = FAILURE(9) 639 errors["NS_ERROR_FILE_CORRUPTED"] = FAILURE(11) 640 errors["NS_ERROR_FILE_NOT_DIRECTORY"] = FAILURE(12) 641 errors["NS_ERROR_FILE_IS_DIRECTORY"] = FAILURE(13) 642 errors["NS_ERROR_FILE_IS_LOCKED"] = FAILURE(14) 643 errors["NS_ERROR_FILE_TOO_BIG"] = FAILURE(15) 644 errors["NS_ERROR_FILE_NO_DEVICE_SPACE"] = FAILURE(16) 645 errors["NS_ERROR_FILE_NAME_TOO_LONG"] = FAILURE(17) 646 errors["NS_ERROR_FILE_NOT_FOUND"] = FAILURE(18) 647 errors["NS_ERROR_FILE_READ_ONLY"] = FAILURE(19) 648 errors["NS_ERROR_FILE_DIR_NOT_EMPTY"] = FAILURE(20) 649 errors["NS_ERROR_FILE_ACCESS_DENIED"] = FAILURE(21) 650 errors["NS_ERROR_FILE_FS_CORRUPTED"] = FAILURE(22) 651 errors["NS_ERROR_FILE_DEVICE_FAILURE"] = FAILURE(23) 652 653 errors["NS_SUCCESS_FILE_DIRECTORY_EMPTY"] = SUCCESS(1) 654 # Result codes used by nsIDirectoryServiceProvider2 655 errors["NS_SUCCESS_AGGREGATE_RESULT"] = SUCCESS(2) 656 657 658# ======================================================================= 659# 14: NS_ERROR_MODULE_DOM 660# ======================================================================= 661with modules["DOM"]: 662 # XXX If you add a new DOM error code, also add an error string to 663 # dom/base/domerr.msg 664 665 # Standard DOM error codes: http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html 666 errors["NS_ERROR_DOM_INDEX_SIZE_ERR"] = FAILURE(1) 667 errors["NS_ERROR_DOM_HIERARCHY_REQUEST_ERR"] = FAILURE(3) 668 errors["NS_ERROR_DOM_WRONG_DOCUMENT_ERR"] = FAILURE(4) 669 errors["NS_ERROR_DOM_INVALID_CHARACTER_ERR"] = FAILURE(5) 670 errors["NS_ERROR_DOM_NO_MODIFICATION_ALLOWED_ERR"] = FAILURE(7) 671 errors["NS_ERROR_DOM_NOT_FOUND_ERR"] = FAILURE(8) 672 errors["NS_ERROR_DOM_NOT_SUPPORTED_ERR"] = FAILURE(9) 673 errors["NS_ERROR_DOM_INUSE_ATTRIBUTE_ERR"] = FAILURE(10) 674 errors["NS_ERROR_DOM_INVALID_STATE_ERR"] = FAILURE(11) 675 errors["NS_ERROR_DOM_SYNTAX_ERR"] = FAILURE(12) 676 errors["NS_ERROR_DOM_INVALID_MODIFICATION_ERR"] = FAILURE(13) 677 errors["NS_ERROR_DOM_NAMESPACE_ERR"] = FAILURE(14) 678 errors["NS_ERROR_DOM_INVALID_ACCESS_ERR"] = FAILURE(15) 679 errors["NS_ERROR_DOM_TYPE_MISMATCH_ERR"] = FAILURE(17) 680 errors["NS_ERROR_DOM_SECURITY_ERR"] = FAILURE(18) 681 errors["NS_ERROR_DOM_NETWORK_ERR"] = FAILURE(19) 682 errors["NS_ERROR_DOM_ABORT_ERR"] = FAILURE(20) 683 errors["NS_ERROR_DOM_URL_MISMATCH_ERR"] = FAILURE(21) 684 errors["NS_ERROR_DOM_QUOTA_EXCEEDED_ERR"] = FAILURE(22) 685 errors["NS_ERROR_DOM_TIMEOUT_ERR"] = FAILURE(23) 686 errors["NS_ERROR_DOM_INVALID_NODE_TYPE_ERR"] = FAILURE(24) 687 errors["NS_ERROR_DOM_DATA_CLONE_ERR"] = FAILURE(25) 688 # StringEncoding API errors from http://wiki.whatwg.org/wiki/StringEncoding 689 errors["NS_ERROR_DOM_ENCODING_NOT_SUPPORTED_ERR"] = FAILURE(28) 690 # WebCrypto API errors from http://www.w3.org/TR/WebCryptoAPI/ 691 errors["NS_ERROR_DOM_UNKNOWN_ERR"] = FAILURE(30) 692 errors["NS_ERROR_DOM_DATA_ERR"] = FAILURE(31) 693 errors["NS_ERROR_DOM_OPERATION_ERR"] = FAILURE(32) 694 # https://heycam.github.io/webidl/#notallowederror 695 errors["NS_ERROR_DOM_NOT_ALLOWED_ERR"] = FAILURE(33) 696 # DOM error codes defined by us 697 errors["NS_ERROR_DOM_SECMAN_ERR"] = FAILURE(1001) 698 errors["NS_ERROR_DOM_WRONG_TYPE_ERR"] = FAILURE(1002) 699 errors["NS_ERROR_DOM_NOT_OBJECT_ERR"] = FAILURE(1003) 700 errors["NS_ERROR_DOM_NOT_XPC_OBJECT_ERR"] = FAILURE(1004) 701 errors["NS_ERROR_DOM_NOT_NUMBER_ERR"] = FAILURE(1005) 702 errors["NS_ERROR_DOM_NOT_BOOLEAN_ERR"] = FAILURE(1006) 703 errors["NS_ERROR_DOM_NOT_FUNCTION_ERR"] = FAILURE(1007) 704 errors["NS_ERROR_DOM_TOO_FEW_PARAMETERS_ERR"] = FAILURE(1008) 705 errors["NS_ERROR_DOM_PROP_ACCESS_DENIED"] = FAILURE(1010) 706 errors["NS_ERROR_DOM_XPCONNECT_ACCESS_DENIED"] = FAILURE(1011) 707 errors["NS_ERROR_DOM_BAD_URI"] = FAILURE(1012) 708 errors["NS_ERROR_DOM_RETVAL_UNDEFINED"] = FAILURE(1013) 709 710 # A way to represent uncatchable exceptions 711 errors["NS_ERROR_UNCATCHABLE_EXCEPTION"] = FAILURE(1015) 712 713 errors["NS_ERROR_DOM_MALFORMED_URI"] = FAILURE(1016) 714 errors["NS_ERROR_DOM_INVALID_HEADER_NAME"] = FAILURE(1017) 715 716 errors["NS_ERROR_DOM_INVALID_STATE_XHR_HAS_INVALID_CONTEXT"] = FAILURE(1018) 717 718 # When manipulating the bytecode cache with the JS API, some transcoding 719 # errors, such as a different bytecode format can cause failures of the 720 # decoding process. 721 errors["NS_ERROR_DOM_JS_DECODING_ERROR"] = FAILURE(1026) 722 723 # Image decode errors. 724 errors["NS_ERROR_DOM_IMAGE_INACTIVE_DOCUMENT"] = FAILURE(1027) 725 errors["NS_ERROR_DOM_IMAGE_INVALID_REQUEST"] = FAILURE(1028) 726 errors["NS_ERROR_DOM_IMAGE_BROKEN"] = FAILURE(1029) 727 728 # Used to indicate that a resource with the Cross-Origin-Resource-Policy 729 # response header set failed the origin check. 730 # https://fetch.spec.whatwg.org/#cross-origin-resource-policy-header 731 errors["NS_ERROR_DOM_CORP_FAILED"] = FAILURE(1036) 732 733 # Used to indicate that a URI may not be loaded into a cross-origin 734 # context. 735 errors["NS_ERROR_DOM_BAD_CROSS_ORIGIN_URI"] = FAILURE(1037) 736 737 # The request failed because there are too many recursive iframes or 738 # objects being loaded. 739 errors["NS_ERROR_RECURSIVE_DOCUMENT_LOAD"] = FAILURE(1038) 740 741 # WebExtension content script may not load this URL. 742 errors["NS_ERROR_DOM_WEBEXT_CONTENT_SCRIPT_URI"] = FAILURE(1039) 743 744 # May be used to indicate when e.g. setting a property value didn't 745 # actually change the value, like for obj.foo = "bar"; obj.foo = "bar"; 746 # the second assignment throws NS_SUCCESS_DOM_NO_OPERATION. 747 errors["NS_SUCCESS_DOM_NO_OPERATION"] = SUCCESS(1) 748 749 # A success code that indicates that evaluating a string of JS went 750 # just fine except it threw an exception. Only for legacy use by 751 # nsJSUtils. 752 errors["NS_SUCCESS_DOM_SCRIPT_EVALUATION_THREW"] = SUCCESS(2) 753 754 # A success code that indicates that evaluating a string of JS went 755 # just fine except it was killed by an uncatchable exception. 756 # Only for legacy use by nsJSUtils. 757 errors["NS_SUCCESS_DOM_SCRIPT_EVALUATION_THREW_UNCATCHABLE"] = SUCCESS(3) 758 759 760# ======================================================================= 761# 15: NS_ERROR_MODULE_IMGLIB 762# ======================================================================= 763with modules["IMGLIB"]: 764 errors["NS_IMAGELIB_ERROR_FAILURE"] = FAILURE(5) 765 errors["NS_IMAGELIB_ERROR_NO_DECODER"] = FAILURE(6) 766 errors["NS_IMAGELIB_ERROR_NOT_FINISHED"] = FAILURE(7) 767 errors["NS_IMAGELIB_ERROR_NO_ENCODER"] = FAILURE(9) 768 769 770# ======================================================================= 771# 17: NS_ERROR_MODULE_EDITOR 772# ======================================================================= 773with modules["EDITOR"]: 774 errors["NS_ERROR_EDITOR_DESTROYED"] = FAILURE(1) 775 776 # An error code that indicates that the DOM tree has been modified by 777 # web app or add-on while the editor modifying the tree. However, 778 # this shouldn't be exposed to the web because the result should've 779 # been expected by the web app. 780 errors["NS_ERROR_EDITOR_UNEXPECTED_DOM_TREE"] = FAILURE(2) 781 782 # An error code that indicates that the edit action canceled by 783 # clipboard event listener or beforeinput event listener. Note that 784 # don't make this as a success code since it's not check with NS_FAILED() 785 # and may keep handling the operation unexpectedly. 786 errors["NS_ERROR_EDITOR_ACTION_CANCELED"] = FAILURE(3) 787 788 # An error code that indicates that there is no editable selection ranges. 789 # E.g., Selection has no range, caret is in non-editable element, 790 # non-collapsed range crosses editing host boundaries. 791 errors["NS_ERROR_EDITOR_NO_EDITABLE_RANGE"] = FAILURE(4) 792 793 errors["NS_SUCCESS_EDITOR_ELEMENT_NOT_FOUND"] = SUCCESS(1) 794 errors["NS_SUCCESS_EDITOR_FOUND_TARGET"] = SUCCESS(2) 795 796 797# ======================================================================= 798# 18: NS_ERROR_MODULE_XPCONNECT 799# ======================================================================= 800with modules["XPCONNECT"]: 801 errors["NS_ERROR_XPC_NOT_ENOUGH_ARGS"] = FAILURE(1) 802 errors["NS_ERROR_XPC_NEED_OUT_OBJECT"] = FAILURE(2) 803 errors["NS_ERROR_XPC_CANT_SET_OUT_VAL"] = FAILURE(3) 804 errors["NS_ERROR_XPC_NATIVE_RETURNED_FAILURE"] = FAILURE(4) 805 errors["NS_ERROR_XPC_CANT_GET_INTERFACE_INFO"] = FAILURE(5) 806 errors["NS_ERROR_XPC_CANT_GET_PARAM_IFACE_INFO"] = FAILURE(6) 807 errors["NS_ERROR_XPC_CANT_GET_METHOD_INFO"] = FAILURE(7) 808 errors["NS_ERROR_XPC_UNEXPECTED"] = FAILURE(8) 809 errors["NS_ERROR_XPC_BAD_CONVERT_JS"] = FAILURE(9) 810 errors["NS_ERROR_XPC_BAD_CONVERT_NATIVE"] = FAILURE(10) 811 errors["NS_ERROR_XPC_BAD_CONVERT_JS_NULL_REF"] = FAILURE(11) 812 errors["NS_ERROR_XPC_BAD_OP_ON_WN_PROTO"] = FAILURE(12) 813 errors["NS_ERROR_XPC_CANT_CONVERT_WN_TO_FUN"] = FAILURE(13) 814 errors["NS_ERROR_XPC_CANT_DEFINE_PROP_ON_WN"] = FAILURE(14) 815 errors["NS_ERROR_XPC_CANT_WATCH_WN_STATIC"] = FAILURE(15) 816 errors["NS_ERROR_XPC_CANT_EXPORT_WN_STATIC"] = FAILURE(16) 817 errors["NS_ERROR_XPC_SCRIPTABLE_CALL_FAILED"] = FAILURE(17) 818 errors["NS_ERROR_XPC_SCRIPTABLE_CTOR_FAILED"] = FAILURE(18) 819 errors["NS_ERROR_XPC_CANT_CALL_WO_SCRIPTABLE"] = FAILURE(19) 820 errors["NS_ERROR_XPC_CANT_CTOR_WO_SCRIPTABLE"] = FAILURE(20) 821 errors["NS_ERROR_XPC_CI_RETURNED_FAILURE"] = FAILURE(21) 822 errors["NS_ERROR_XPC_GS_RETURNED_FAILURE"] = FAILURE(22) 823 errors["NS_ERROR_XPC_BAD_CID"] = FAILURE(23) 824 errors["NS_ERROR_XPC_BAD_IID"] = FAILURE(24) 825 errors["NS_ERROR_XPC_CANT_CREATE_WN"] = FAILURE(25) 826 errors["NS_ERROR_XPC_JS_THREW_EXCEPTION"] = FAILURE(26) 827 errors["NS_ERROR_XPC_JS_THREW_NATIVE_OBJECT"] = FAILURE(27) 828 errors["NS_ERROR_XPC_JS_THREW_JS_OBJECT"] = FAILURE(28) 829 errors["NS_ERROR_XPC_JS_THREW_NULL"] = FAILURE(29) 830 errors["NS_ERROR_XPC_JS_THREW_STRING"] = FAILURE(30) 831 errors["NS_ERROR_XPC_JS_THREW_NUMBER"] = FAILURE(31) 832 errors["NS_ERROR_XPC_JAVASCRIPT_ERROR"] = FAILURE(32) 833 errors["NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS"] = FAILURE(33) 834 errors["NS_ERROR_XPC_CANT_CONVERT_PRIMITIVE_TO_ARRAY"] = FAILURE(34) 835 errors["NS_ERROR_XPC_CANT_CONVERT_OBJECT_TO_ARRAY"] = FAILURE(35) 836 errors["NS_ERROR_XPC_NOT_ENOUGH_ELEMENTS_IN_ARRAY"] = FAILURE(36) 837 errors["NS_ERROR_XPC_CANT_GET_ARRAY_INFO"] = FAILURE(37) 838 errors["NS_ERROR_XPC_NOT_ENOUGH_CHARS_IN_STRING"] = FAILURE(38) 839 errors["NS_ERROR_XPC_SECURITY_MANAGER_VETO"] = FAILURE(39) 840 errors["NS_ERROR_XPC_INTERFACE_NOT_SCRIPTABLE"] = FAILURE(40) 841 errors["NS_ERROR_XPC_INTERFACE_NOT_FROM_NSISUPPORTS"] = FAILURE(41) 842 errors["NS_ERROR_XPC_CANT_SET_READ_ONLY_CONSTANT"] = FAILURE(43) 843 errors["NS_ERROR_XPC_CANT_SET_READ_ONLY_ATTRIBUTE"] = FAILURE(44) 844 errors["NS_ERROR_XPC_CANT_SET_READ_ONLY_METHOD"] = FAILURE(45) 845 errors["NS_ERROR_XPC_CANT_ADD_PROP_TO_WRAPPED_NATIVE"] = FAILURE(46) 846 errors["NS_ERROR_XPC_CALL_TO_SCRIPTABLE_FAILED"] = FAILURE(47) 847 errors["NS_ERROR_XPC_JSOBJECT_HAS_NO_FUNCTION_NAMED"] = FAILURE(48) 848 errors["NS_ERROR_XPC_BAD_ID_STRING"] = FAILURE(49) 849 errors["NS_ERROR_XPC_BAD_INITIALIZER_NAME"] = FAILURE(50) 850 errors["NS_ERROR_XPC_HAS_BEEN_SHUTDOWN"] = FAILURE(51) 851 errors["NS_ERROR_XPC_CANT_MODIFY_PROP_ON_WN"] = FAILURE(52) 852 errors["NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL"] = FAILURE(53) 853 # any new errors here should have an associated entry added in xpc.msg 854 855 856# ======================================================================= 857# 19: NS_ERROR_MODULE_PROFILE 858# ======================================================================= 859with modules["PROFILE"]: 860 errors["NS_ERROR_LAUNCHED_CHILD_PROCESS"] = FAILURE(200) 861 errors["NS_ERROR_SHOW_PROFILE_MANAGER"] = FAILURE(201) 862 errors["NS_ERROR_DATABASE_CHANGED"] = FAILURE(202) 863 864 865# ======================================================================= 866# 21: NS_ERROR_MODULE_SECURITY 867# ======================================================================= 868with modules["SECURITY"]: 869 # Error code for XFO 870 errors["NS_ERROR_XFO_VIOLATION"] = FAILURE(96) 871 872 # Error code for CSP 873 errors["NS_ERROR_CSP_NAVIGATE_TO_VIOLATION"] = FAILURE(97) 874 errors["NS_ERROR_CSP_FORM_ACTION_VIOLATION"] = FAILURE(98) 875 errors["NS_ERROR_CSP_FRAME_ANCESTOR_VIOLATION"] = FAILURE(99) 876 877 # Error code for Sub-Resource Integrity 878 errors["NS_ERROR_SRI_CORRUPT"] = FAILURE(200) 879 errors["NS_ERROR_SRI_NOT_ELIGIBLE"] = FAILURE(201) 880 errors["NS_ERROR_SRI_UNEXPECTED_HASH_TYPE"] = FAILURE(202) 881 errors["NS_ERROR_SRI_IMPORT"] = FAILURE(203) 882 883 # CMS specific nsresult error codes. Note: the numbers used here correspond 884 # to the values in nsICMSMessageErrors.idl. 885 errors["NS_ERROR_CMS_VERIFY_NOT_SIGNED"] = FAILURE(1024) 886 errors["NS_ERROR_CMS_VERIFY_NO_CONTENT_INFO"] = FAILURE(1025) 887 errors["NS_ERROR_CMS_VERIFY_BAD_DIGEST"] = FAILURE(1026) 888 errors["NS_ERROR_CMS_VERIFY_NOCERT"] = FAILURE(1028) 889 errors["NS_ERROR_CMS_VERIFY_UNTRUSTED"] = FAILURE(1029) 890 errors["NS_ERROR_CMS_VERIFY_ERROR_UNVERIFIED"] = FAILURE(1031) 891 errors["NS_ERROR_CMS_VERIFY_ERROR_PROCESSING"] = FAILURE(1032) 892 errors["NS_ERROR_CMS_VERIFY_BAD_SIGNATURE"] = FAILURE(1033) 893 errors["NS_ERROR_CMS_VERIFY_DIGEST_MISMATCH"] = FAILURE(1034) 894 errors["NS_ERROR_CMS_VERIFY_UNKNOWN_ALGO"] = FAILURE(1035) 895 errors["NS_ERROR_CMS_VERIFY_UNSUPPORTED_ALGO"] = FAILURE(1036) 896 errors["NS_ERROR_CMS_VERIFY_MALFORMED_SIGNATURE"] = FAILURE(1037) 897 errors["NS_ERROR_CMS_VERIFY_HEADER_MISMATCH"] = FAILURE(1038) 898 errors["NS_ERROR_CMS_VERIFY_NOT_YET_ATTEMPTED"] = FAILURE(1039) 899 errors["NS_ERROR_CMS_VERIFY_CERT_WITHOUT_ADDRESS"] = FAILURE(1040) 900 errors["NS_ERROR_CMS_ENCRYPT_NO_BULK_ALG"] = FAILURE(1056) 901 errors["NS_ERROR_CMS_ENCRYPT_INCOMPLETE"] = FAILURE(1057) 902 903 904# ======================================================================= 905# 24: NS_ERROR_MODULE_URILOADER 906# ======================================================================= 907with modules["URILOADER"]: 908 errors["NS_ERROR_WONT_HANDLE_CONTENT"] = FAILURE(1) 909 # The load has been cancelled because it was found on a malware or phishing 910 # list. 911 errors["NS_ERROR_MALWARE_URI"] = FAILURE(30) 912 errors["NS_ERROR_PHISHING_URI"] = FAILURE(31) 913 errors["NS_ERROR_TRACKING_URI"] = FAILURE(34) 914 errors["NS_ERROR_UNWANTED_URI"] = FAILURE(35) 915 errors["NS_ERROR_BLOCKED_URI"] = FAILURE(37) 916 errors["NS_ERROR_HARMFUL_URI"] = FAILURE(38) 917 errors["NS_ERROR_FINGERPRINTING_URI"] = FAILURE(41) 918 errors["NS_ERROR_CRYPTOMINING_URI"] = FAILURE(42) 919 errors["NS_ERROR_SOCIALTRACKING_URI"] = FAILURE(43) 920 # Used when "Save Link As..." doesn't see the headers quickly enough to 921 # choose a filename. See nsContextMenu.js. 922 errors["NS_ERROR_SAVE_LINK_AS_TIMEOUT"] = FAILURE(32) 923 # Used when the data from a channel has already been parsed and cached so it 924 # doesn't need to be reparsed from the original source. 925 errors["NS_ERROR_PARSED_DATA_CACHED"] = FAILURE(33) 926 927 # This success code indicates that a refresh header was found and 928 # successfully setup. 929 errors["NS_REFRESHURI_HEADER_FOUND"] = SUCCESS(2) 930 931 932# ======================================================================= 933# 25: NS_ERROR_MODULE_CONTENT 934# ======================================================================= 935with modules["CONTENT"]: 936 # Error codes for content policy blocking 937 errors["NS_ERROR_CONTENT_BLOCKED"] = FAILURE(6) 938 errors["NS_ERROR_CONTENT_BLOCKED_SHOW_ALT"] = FAILURE(7) 939 # Success variations of content policy blocking 940 errors["NS_PROPTABLE_PROP_NOT_THERE"] = FAILURE(10) 941 # Error code for when the content process crashed 942 errors["NS_ERROR_CONTENT_CRASHED"] = FAILURE(16) 943 # Error code for when a subframe process crashed 944 errors["NS_ERROR_FRAME_CRASHED"] = FAILURE(14) 945 # Error code for when the content process had a different buildID than the 946 # parent 947 errors["NS_ERROR_BUILDID_MISMATCH"] = FAILURE(17) 948 949 errors["NS_PROPTABLE_PROP_OVERWRITTEN"] = SUCCESS(11) 950 # Error codes for FindBroadcaster in XULBroadcastManager.cpp 951 errors["NS_FINDBROADCASTER_NOT_FOUND"] = SUCCESS(12) 952 errors["NS_FINDBROADCASTER_FOUND"] = SUCCESS(13) 953 954 955# ======================================================================= 956# 27: NS_ERROR_MODULE_XSLT 957# ======================================================================= 958with modules["XSLT"]: 959 errors["NS_ERROR_XPATH_INVALID_ARG"] = errors["NS_ERROR_INVALID_ARG"] 960 961 errors["NS_ERROR_XSLT_PARSE_FAILURE"] = FAILURE(1) 962 errors["NS_ERROR_XPATH_PARSE_FAILURE"] = FAILURE(2) 963 errors["NS_ERROR_XSLT_ALREADY_SET"] = FAILURE(3) 964 errors["NS_ERROR_XSLT_EXECUTION_FAILURE"] = FAILURE(4) 965 errors["NS_ERROR_XPATH_UNKNOWN_FUNCTION"] = FAILURE(5) 966 errors["NS_ERROR_XSLT_BAD_RECURSION"] = FAILURE(6) 967 errors["NS_ERROR_XSLT_BAD_VALUE"] = FAILURE(7) 968 errors["NS_ERROR_XSLT_NODESET_EXPECTED"] = FAILURE(8) 969 errors["NS_ERROR_XSLT_ABORTED"] = FAILURE(9) 970 errors["NS_ERROR_XSLT_NETWORK_ERROR"] = FAILURE(10) 971 errors["NS_ERROR_XSLT_WRONG_MIME_TYPE"] = FAILURE(11) 972 errors["NS_ERROR_XSLT_LOAD_RECURSION"] = FAILURE(12) 973 errors["NS_ERROR_XPATH_BAD_ARGUMENT_COUNT"] = FAILURE(13) 974 errors["NS_ERROR_XPATH_BAD_EXTENSION_FUNCTION"] = FAILURE(14) 975 errors["NS_ERROR_XPATH_PAREN_EXPECTED"] = FAILURE(15) 976 errors["NS_ERROR_XPATH_INVALID_AXIS"] = FAILURE(16) 977 errors["NS_ERROR_XPATH_NO_NODE_TYPE_TEST"] = FAILURE(17) 978 errors["NS_ERROR_XPATH_BRACKET_EXPECTED"] = FAILURE(18) 979 errors["NS_ERROR_XPATH_INVALID_VAR_NAME"] = FAILURE(19) 980 errors["NS_ERROR_XPATH_UNEXPECTED_END"] = FAILURE(20) 981 errors["NS_ERROR_XPATH_OPERATOR_EXPECTED"] = FAILURE(21) 982 errors["NS_ERROR_XPATH_UNCLOSED_LITERAL"] = FAILURE(22) 983 errors["NS_ERROR_XPATH_BAD_COLON"] = FAILURE(23) 984 errors["NS_ERROR_XPATH_BAD_BANG"] = FAILURE(24) 985 errors["NS_ERROR_XPATH_ILLEGAL_CHAR"] = FAILURE(25) 986 errors["NS_ERROR_XPATH_BINARY_EXPECTED"] = FAILURE(26) 987 errors["NS_ERROR_XSLT_LOAD_BLOCKED_ERROR"] = FAILURE(27) 988 errors["NS_ERROR_XPATH_INVALID_EXPRESSION_EVALUATED"] = FAILURE(28) 989 errors["NS_ERROR_XPATH_UNBALANCED_CURLY_BRACE"] = FAILURE(29) 990 errors["NS_ERROR_XSLT_BAD_NODE_NAME"] = FAILURE(30) 991 errors["NS_ERROR_XSLT_VAR_ALREADY_SET"] = FAILURE(31) 992 errors["NS_ERROR_XSLT_CALL_TO_KEY_NOT_ALLOWED"] = FAILURE(32) 993 994 errors["NS_XSLT_GET_NEW_HANDLER"] = SUCCESS(1) 995 996 997# ======================================================================= 998# 28: NS_ERROR_MODULE_IPC 999# ======================================================================= 1000with modules["IPC"]: 1001 # Initial creation of a Transport object failed internally for unknown reasons. 1002 errors["NS_ERROR_TRANSPORT_INIT"] = FAILURE(1) 1003 # Generic error related to duplicating handle failures. 1004 errors["NS_ERROR_DUPLICATE_HANDLE"] = FAILURE(2) 1005 # Bridging: failure trying to open the connection to the parent 1006 errors["NS_ERROR_BRIDGE_OPEN_PARENT"] = FAILURE(3) 1007 # Bridging: failure trying to open the connection to the child 1008 errors["NS_ERROR_BRIDGE_OPEN_CHILD"] = FAILURE(4) 1009 1010 1011# ======================================================================= 1012# 30: NS_ERROR_MODULE_STORAGE 1013# ======================================================================= 1014with modules["STORAGE"]: 1015 # To add additional errors to Storage, please append entries to the bottom 1016 # of the list in the following format: 1017 # NS_ERROR_STORAGE_YOUR_ERR, FAILURE(n) 1018 # where n is the next unique positive integer. You must also add an entry 1019 # to js/xpconnect/src/xpc.msg under the code block beginning with the 1020 # comment 'storage related codes (from mozStorage.h)', in the following 1021 # format: 'XPC_MSG_DEF(NS_ERROR_STORAGE_YOUR_ERR, "brief description of your 1022 # error")' 1023 errors["NS_ERROR_STORAGE_BUSY"] = FAILURE(1) 1024 errors["NS_ERROR_STORAGE_IOERR"] = FAILURE(2) 1025 errors["NS_ERROR_STORAGE_CONSTRAINT"] = FAILURE(3) 1026 1027 1028# ======================================================================= 1029# 32: NS_ERROR_MODULE_DOM_FILE 1030# ======================================================================= 1031with modules["DOM_FILE"]: 1032 errors["NS_ERROR_DOM_FILE_NOT_FOUND_ERR"] = FAILURE(0) 1033 errors["NS_ERROR_DOM_FILE_NOT_READABLE_ERR"] = FAILURE(1) 1034 1035 1036# ======================================================================= 1037# 33: NS_ERROR_MODULE_DOM_INDEXEDDB 1038# ======================================================================= 1039with modules["DOM_INDEXEDDB"]: 1040 # IndexedDB error codes http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html 1041 errors["NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR"] = FAILURE(1) 1042 errors["NS_ERROR_DOM_INDEXEDDB_NOT_FOUND_ERR"] = FAILURE(3) 1043 errors["NS_ERROR_DOM_INDEXEDDB_CONSTRAINT_ERR"] = FAILURE(4) 1044 errors["NS_ERROR_DOM_INDEXEDDB_DATA_ERR"] = FAILURE(5) 1045 errors["NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR"] = FAILURE(6) 1046 errors["NS_ERROR_DOM_INDEXEDDB_TRANSACTION_INACTIVE_ERR"] = FAILURE(7) 1047 errors["NS_ERROR_DOM_INDEXEDDB_ABORT_ERR"] = FAILURE(8) 1048 errors["NS_ERROR_DOM_INDEXEDDB_READ_ONLY_ERR"] = FAILURE(9) 1049 errors["NS_ERROR_DOM_INDEXEDDB_TIMEOUT_ERR"] = FAILURE(10) 1050 errors["NS_ERROR_DOM_INDEXEDDB_QUOTA_ERR"] = FAILURE(11) 1051 errors["NS_ERROR_DOM_INDEXEDDB_VERSION_ERR"] = FAILURE(12) 1052 errors["NS_ERROR_DOM_INDEXEDDB_RECOVERABLE_ERR"] = FAILURE(1001) 1053 errors["NS_ERROR_DOM_INDEXEDDB_KEY_ERR"] = FAILURE(1002) 1054 errors["NS_ERROR_DOM_INDEXEDDB_RENAME_OBJECT_STORE_ERR"] = FAILURE(1003) 1055 errors["NS_ERROR_DOM_INDEXEDDB_RENAME_INDEX_ERR"] = FAILURE(1004) 1056 1057 1058# ======================================================================= 1059# 34: NS_ERROR_MODULE_DOM_FILEHANDLE 1060# ======================================================================= 1061with modules["DOM_FILEHANDLE"]: 1062 errors["NS_ERROR_DOM_FILEHANDLE_UNKNOWN_ERR"] = FAILURE(1) 1063 errors["NS_ERROR_DOM_FILEHANDLE_NOT_ALLOWED_ERR"] = FAILURE(2) 1064 errors["NS_ERROR_DOM_FILEHANDLE_INACTIVE_ERR"] = FAILURE(3) 1065 errors["NS_ERROR_DOM_FILEHANDLE_ABORT_ERR"] = FAILURE(4) 1066 errors["NS_ERROR_DOM_FILEHANDLE_READ_ONLY_ERR"] = FAILURE(5) 1067 errors["NS_ERROR_DOM_FILEHANDLE_QUOTA_ERR"] = FAILURE(6) 1068 1069 1070# ======================================================================= 1071# 35: NS_ERROR_MODULE_SIGNED_JAR 1072# ======================================================================= 1073with modules["SIGNED_JAR"]: 1074 errors["NS_ERROR_SIGNED_JAR_NOT_SIGNED"] = FAILURE(1) 1075 errors["NS_ERROR_SIGNED_JAR_MODIFIED_ENTRY"] = FAILURE(2) 1076 errors["NS_ERROR_SIGNED_JAR_UNSIGNED_ENTRY"] = FAILURE(3) 1077 errors["NS_ERROR_SIGNED_JAR_ENTRY_MISSING"] = FAILURE(4) 1078 errors["NS_ERROR_SIGNED_JAR_WRONG_SIGNATURE"] = FAILURE(5) 1079 errors["NS_ERROR_SIGNED_JAR_ENTRY_TOO_LARGE"] = FAILURE(6) 1080 errors["NS_ERROR_SIGNED_JAR_ENTRY_INVALID"] = FAILURE(7) 1081 errors["NS_ERROR_SIGNED_JAR_MANIFEST_INVALID"] = FAILURE(8) 1082 1083 1084# ======================================================================= 1085# 36: NS_ERROR_MODULE_DOM_FILESYSTEM 1086# ======================================================================= 1087with modules["DOM_FILESYSTEM"]: 1088 errors["NS_ERROR_DOM_FILESYSTEM_INVALID_PATH_ERR"] = FAILURE(1) 1089 errors["NS_ERROR_DOM_FILESYSTEM_INVALID_MODIFICATION_ERR"] = FAILURE(2) 1090 errors["NS_ERROR_DOM_FILESYSTEM_NO_MODIFICATION_ALLOWED_ERR"] = FAILURE(3) 1091 errors["NS_ERROR_DOM_FILESYSTEM_PATH_EXISTS_ERR"] = FAILURE(4) 1092 errors["NS_ERROR_DOM_FILESYSTEM_TYPE_MISMATCH_ERR"] = FAILURE(5) 1093 errors["NS_ERROR_DOM_FILESYSTEM_UNKNOWN_ERR"] = FAILURE(6) 1094 1095 1096# ======================================================================= 1097# 38: NS_ERROR_MODULE_SIGNED_APP 1098# ======================================================================= 1099with modules["SIGNED_APP"]: 1100 errors["NS_ERROR_SIGNED_APP_MANIFEST_INVALID"] = FAILURE(1) 1101 1102 1103# ======================================================================= 1104# 40: NS_ERROR_MODULE_DOM_PUSH 1105# ======================================================================= 1106with modules["DOM_PUSH"]: 1107 errors["NS_ERROR_DOM_PUSH_INVALID_REGISTRATION_ERR"] = FAILURE(1) 1108 errors["NS_ERROR_DOM_PUSH_DENIED_ERR"] = FAILURE(2) 1109 errors["NS_ERROR_DOM_PUSH_ABORT_ERR"] = FAILURE(3) 1110 errors["NS_ERROR_DOM_PUSH_SERVICE_UNREACHABLE"] = FAILURE(4) 1111 errors["NS_ERROR_DOM_PUSH_INVALID_KEY_ERR"] = FAILURE(5) 1112 errors["NS_ERROR_DOM_PUSH_MISMATCHED_KEY_ERR"] = FAILURE(6) 1113 errors["NS_ERROR_DOM_PUSH_GCM_DISABLED"] = FAILURE(7) 1114 1115 1116# ======================================================================= 1117# 41: NS_ERROR_MODULE_DOM_MEDIA 1118# ======================================================================= 1119with modules["DOM_MEDIA"]: 1120 # HTMLMediaElement API errors from 1121 # https://html.spec.whatwg.org/multipage/embedded-content.html#media-elements 1122 errors["NS_ERROR_DOM_MEDIA_ABORT_ERR"] = FAILURE(1) 1123 errors["NS_ERROR_DOM_MEDIA_NOT_ALLOWED_ERR"] = FAILURE(2) 1124 errors["NS_ERROR_DOM_MEDIA_NOT_SUPPORTED_ERR"] = FAILURE(3) 1125 1126 # HTMLMediaElement internal decoding error 1127 errors["NS_ERROR_DOM_MEDIA_DECODE_ERR"] = FAILURE(4) 1128 errors["NS_ERROR_DOM_MEDIA_FATAL_ERR"] = FAILURE(5) 1129 errors["NS_ERROR_DOM_MEDIA_METADATA_ERR"] = FAILURE(6) 1130 errors["NS_ERROR_DOM_MEDIA_OVERFLOW_ERR"] = FAILURE(7) 1131 errors["NS_ERROR_DOM_MEDIA_END_OF_STREAM"] = FAILURE(8) 1132 errors["NS_ERROR_DOM_MEDIA_WAITING_FOR_DATA"] = FAILURE(9) 1133 errors["NS_ERROR_DOM_MEDIA_CANCELED"] = FAILURE(10) 1134 errors["NS_ERROR_DOM_MEDIA_MEDIASINK_ERR"] = FAILURE(11) 1135 errors["NS_ERROR_DOM_MEDIA_DEMUXER_ERR"] = FAILURE(12) 1136 errors["NS_ERROR_DOM_MEDIA_CDM_ERR"] = FAILURE(13) 1137 errors["NS_ERROR_DOM_MEDIA_NEED_NEW_DECODER"] = FAILURE(14) 1138 errors["NS_ERROR_DOM_MEDIA_INITIALIZING_DECODER"] = FAILURE(15) 1139 1140 # Internal platform-related errors 1141 errors["NS_ERROR_DOM_MEDIA_CUBEB_INITIALIZATION_ERR"] = FAILURE(101) 1142 1143 1144# ======================================================================= 1145# 42: NS_ERROR_MODULE_URL_CLASSIFIER 1146# ======================================================================= 1147with modules["URL_CLASSIFIER"]: 1148 # Errors during list updates 1149 errors["NS_ERROR_UC_UPDATE_UNKNOWN"] = FAILURE(1) 1150 errors["NS_ERROR_UC_UPDATE_DUPLICATE_PREFIX"] = FAILURE(2) 1151 errors["NS_ERROR_UC_UPDATE_INFINITE_LOOP"] = FAILURE(3) 1152 errors["NS_ERROR_UC_UPDATE_WRONG_REMOVAL_INDICES"] = FAILURE(4) 1153 errors["NS_ERROR_UC_UPDATE_CHECKSUM_MISMATCH"] = FAILURE(5) 1154 errors["NS_ERROR_UC_UPDATE_MISSING_CHECKSUM"] = FAILURE(6) 1155 errors["NS_ERROR_UC_UPDATE_SHUTDOWNING"] = FAILURE(7) 1156 errors["NS_ERROR_UC_UPDATE_TABLE_NOT_FOUND"] = FAILURE(8) 1157 errors["NS_ERROR_UC_UPDATE_BUILD_PREFIX_FAILURE"] = FAILURE(9) 1158 errors["NS_ERROR_UC_UPDATE_FAIL_TO_WRITE_DISK"] = FAILURE(10) 1159 errors["NS_ERROR_UC_UPDATE_UNEXPECTED_VERSION"] = FAILURE(11) 1160 1161 # Specific errors while parsing pver2/pver4 responses 1162 errors["NS_ERROR_UC_PARSER_MISSING_PARAM"] = FAILURE(12) 1163 errors["NS_ERROR_UC_PARSER_DECODE_FAILURE"] = FAILURE(13) 1164 errors["NS_ERROR_UC_PARSER_UNKNOWN_THREAT"] = FAILURE(14) 1165 errors["NS_ERROR_UC_PARSER_MISSING_VALUE"] = FAILURE(15) 1166 1167 1168# ======================================================================= 1169# 43: NS_ERROR_MODULE_ERRORRESULT 1170# ======================================================================= 1171with modules["ERRORRESULT"]: 1172 # Represents a JS Value being thrown as an exception. 1173 errors["NS_ERROR_INTERNAL_ERRORRESULT_JS_EXCEPTION"] = FAILURE(1) 1174 # Used to indicate that we want to throw a DOMException. 1175 errors["NS_ERROR_INTERNAL_ERRORRESULT_DOMEXCEPTION"] = FAILURE(2) 1176 # Used to indicate that an exception is already pending on the JSContext. 1177 errors["NS_ERROR_INTERNAL_ERRORRESULT_EXCEPTION_ON_JSCONTEXT"] = FAILURE(3) 1178 # Used to indicate that we want to throw a TypeError. 1179 errors["NS_ERROR_INTERNAL_ERRORRESULT_TYPEERROR"] = FAILURE(4) 1180 # Used to indicate that we want to throw a RangeError. 1181 errors["NS_ERROR_INTERNAL_ERRORRESULT_RANGEERROR"] = FAILURE(5) 1182 1183 1184# ======================================================================= 1185# 51: NS_ERROR_MODULE_GENERAL 1186# ======================================================================= 1187with modules["GENERAL"]: 1188 # Error code used internally by the incremental downloader to cancel the 1189 # network channel when the download is already complete. 1190 errors["NS_ERROR_DOWNLOAD_COMPLETE"] = FAILURE(1) 1191 # Error code used internally by the incremental downloader to cancel the 1192 # network channel when the response to a range request is 200 instead of 1193 # 206. 1194 errors["NS_ERROR_DOWNLOAD_NOT_PARTIAL"] = FAILURE(2) 1195 errors["NS_ERROR_UNORM_MOREOUTPUT"] = FAILURE(33) 1196 1197 errors["NS_ERROR_DOCSHELL_REQUEST_REJECTED"] = FAILURE(1001) 1198 # This is needed for displaying an error message when navigation is 1199 # attempted on a document when printing The value arbitrary as long as it 1200 # doesn't conflict with any of the other values in the errors in 1201 # DisplayLoadError 1202 errors["NS_ERROR_DOCUMENT_IS_PRINTMODE"] = FAILURE(2001) 1203 1204 errors["NS_SUCCESS_DONT_FIXUP"] = SUCCESS(1) 1205 # This success code may be returned by nsIAppStartup::Run to indicate that 1206 # the application should be restarted. This condition corresponds to the 1207 # case in which nsIAppStartup::Quit was called with the eRestart flag. 1208 errors["NS_SUCCESS_RESTART_APP"] = SUCCESS(1) 1209 1210 # a11y 1211 # raised when current pivot's position is needed but it's not in the tree 1212 errors["NS_ERROR_NOT_IN_TREE"] = FAILURE(38) 1213 1214 # see nsTextEquivUtils 1215 errors["NS_OK_NO_NAME_CLAUSE_HANDLED"] = SUCCESS(34) 1216 1217 # Error code used to indicate that functionality has been blocked by the 1218 # Policy Manager 1219 errors["NS_ERROR_BLOCKED_BY_POLICY"] = FAILURE(3) 1220 1221 1222# ============================================================================ 1223# Write out the resulting module declarations to C++ and rust files 1224# ============================================================================ 1225 1226 1227def error_list_h(output): 1228 output.write( 1229 """ 1230/* THIS FILE IS GENERATED BY ErrorList.py - DO NOT EDIT */ 1231 1232#ifndef ErrorList_h__ 1233#define ErrorList_h__ 1234 1235#include <stdint.h> 1236 1237""" 1238 ) 1239 1240 output.write("#define NS_ERROR_MODULE_BASE_OFFSET {}\n".format(MODULE_BASE_OFFSET)) 1241 1242 for mod, val in modules.items(): 1243 output.write("#define NS_ERROR_MODULE_{} {}\n".format(mod, val.num)) 1244 1245 items = [] 1246 for error, val in errors.items(): 1247 items.append(" {} = 0x{:X}".format(error, val)) 1248 output.write( 1249 """ 1250enum class nsresult : uint32_t 1251{{ 1252{} 1253}}; 1254 1255""".format( 1256 ",\n".join(items) 1257 ) 1258 ) 1259 1260 items = [] 1261 for error, val in errors.items(): 1262 items.append(" {0} = nsresult::{0}".format(error)) 1263 1264 output.write( 1265 """ 1266const nsresult 1267{} 1268; 1269 1270#endif // ErrorList_h__ 1271""".format( 1272 ",\n".join(items) 1273 ) 1274 ) 1275 1276 1277def error_names_internal_h(output): 1278 """Generate ErrorNamesInternal.h, which is a header file declaring one 1279 function, const char* GetErrorNameInternal(nsresult). This method is not 1280 intended to be used by consumer code, which should instead call 1281 GetErrorName in ErrorNames.h.""" 1282 1283 output.write( 1284 """ 1285/* THIS FILE IS GENERATED BY ErrorList.py - DO NOT EDIT */ 1286 1287#ifndef ErrorNamesInternal_h__ 1288#define ErrorNamesInternal_h__ 1289 1290#include "ErrorNames.h" 1291 1292namespace { 1293 1294const char* 1295GetErrorNameInternal(nsresult rv) 1296{ 1297 switch (rv) { 1298""" 1299 ) 1300 1301 # NOTE: Making sure we don't write out duplicate values is important as 1302 # we're using a switch statement to implement this. 1303 seen = set() 1304 for error, val in errors.items(): 1305 if val not in seen: 1306 output.write(' case nsresult::{0}: return "{0}";\n'.format(error)) 1307 seen.add(val) 1308 1309 output.write( 1310 """ 1311 default: return nullptr; 1312 } 1313} // GetErrorNameInternal 1314 1315} // namespace 1316 1317#endif // ErrorNamesInternal_h__ 1318""" 1319 ) 1320 1321 1322def error_list_rs(output): 1323 output.write( 1324 """ 1325/* THIS FILE IS GENERATED BY ErrorList.py - DO NOT EDIT */ 1326 1327use super::nsresult; 1328 1329""" 1330 ) 1331 1332 output.write( 1333 "pub const NS_ERROR_MODULE_BASE_OFFSET: nsresult = nsresult({});\n".format( 1334 MODULE_BASE_OFFSET 1335 ) 1336 ) 1337 1338 for mod, val in modules.items(): 1339 output.write( 1340 "pub const NS_ERROR_MODULE_{}: nsresult = nsresult({});\n".format( 1341 mod, val.num 1342 ) 1343 ) 1344 1345 for error, val in errors.items(): 1346 output.write("pub const {}: nsresult = nsresult(0x{:X});\n".format(error, val)) 1347