]>
Commit | Line | Data |
---|---|---|
a90939db JF |
1 | /* |
2 | * Copyright (C) 2006, 2007 Apple Inc. All rights reserved. | |
3 | * | |
4 | * This library is free software; you can redistribute it and/or | |
5 | * modify it under the terms of the GNU Lesser General Public | |
6 | * License as published by the Free Software Foundation; either | |
7 | * version 2 of the License, or (at your option) any later version. | |
8 | * | |
9 | * This library is distributed in the hope that it will be useful, | |
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
12 | * Lesser General Public License for more details. | |
13 | * | |
14 | * You should have received a copy of the GNU Lesser General Public | |
15 | * License along with this library; if not, write to the Free Software | |
16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | |
17 | */ | |
18 | ||
19 | #ifndef ExceptionCode_h | |
20 | #define ExceptionCode_h | |
21 | ||
22 | namespace WebCore { | |
23 | ||
24 | // The DOM standards use unsigned short for exception codes. | |
25 | // In our DOM implementation we use int instead, and use different | |
26 | // numerical ranges for different types of DOM exception, so that | |
27 | // an exception of any type can be expressed with a single integer. | |
28 | typedef int ExceptionCode; | |
29 | ||
30 | enum { | |
31 | INDEX_SIZE_ERR = 1, | |
32 | DOMSTRING_SIZE_ERR = 2, | |
33 | HIERARCHY_REQUEST_ERR = 3, | |
34 | WRONG_DOCUMENT_ERR = 4, | |
35 | INVALID_CHARACTER_ERR = 5, | |
36 | NO_DATA_ALLOWED_ERR = 6, | |
37 | NO_MODIFICATION_ALLOWED_ERR = 7, | |
38 | NOT_FOUND_ERR = 8, | |
39 | NOT_SUPPORTED_ERR = 9, | |
40 | INUSE_ATTRIBUTE_ERR = 10, | |
41 | ||
42 | // Introduced in DOM Level 2: | |
43 | INVALID_STATE_ERR = 11, | |
44 | SYNTAX_ERR = 12, | |
45 | INVALID_MODIFICATION_ERR = 13, | |
46 | NAMESPACE_ERR = 14, | |
47 | INVALID_ACCESS_ERR = 15, | |
48 | ||
49 | // Introduced in DOM Level 3: | |
50 | VALIDATION_ERR = 16, | |
51 | TYPE_MISMATCH_ERR = 17, | |
52 | ||
53 | // XMLHttpRequest extension: | |
54 | SECURITY_ERR = 18, | |
55 | ||
56 | // Introduced in HTML5: | |
57 | NETWORK_ERR = 19, | |
58 | ABORT_ERR = 20, | |
59 | URL_MISMATCH_ERR = 21, | |
60 | QUOTA_EXCEEDED_ERR = 22 | |
61 | }; | |
62 | ||
63 | enum ExceptionType { | |
64 | DOMExceptionType, | |
65 | RangeExceptionType, | |
66 | EventExceptionType, | |
67 | XMLHttpRequestExceptionType | |
68 | #if ENABLE(XPATH) | |
69 | , XPathExceptionType | |
70 | #endif | |
71 | #if ENABLE(SVG) | |
72 | , SVGExceptionType | |
73 | #endif | |
74 | }; | |
75 | ||
76 | ||
77 | struct ExceptionCodeDescription { | |
78 | const char* typeName; // has spaces and is suitable for use in exception description strings; maximum length is 10 characters | |
79 | const char* name; // exception name, also intended for use in exception description strings; 0 if name not known; maximum length is 27 characters | |
80 | int code; // numeric value of the exception within a particular type | |
81 | ExceptionType type; | |
82 | }; | |
83 | void getExceptionCodeDescription(ExceptionCode, ExceptionCodeDescription&); | |
84 | ||
85 | } // namespace WebCore | |
86 | ||
87 | #endif // ExceptionCode_h |