OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
79 }; | 79 }; |
80 | 80 |
81 static const CoreException* getErrorEntry(ExceptionCode ec) | 81 static const CoreException* getErrorEntry(ExceptionCode ec) |
82 { | 82 { |
83 size_t tableSize = WTF_ARRAY_LENGTH(coreExceptions); | 83 size_t tableSize = WTF_ARRAY_LENGTH(coreExceptions); |
84 size_t tableIndex = ec - IndexSizeError; | 84 size_t tableIndex = ec - IndexSizeError; |
85 | 85 |
86 return tableIndex < tableSize ? &coreExceptions[tableIndex] : 0; | 86 return tableIndex < tableSize ? &coreExceptions[tableIndex] : 0; |
87 } | 87 } |
88 | 88 |
89 DOMException::DOMException(unsigned short code, const String& name, const String
& message) | 89 DOMException::DOMException(unsigned short code, const String& name, const String
& sanitizedMessage, const String& unsanitizedMessage) |
90 { | 90 { |
91 ASSERT(name); | 91 ASSERT(name); |
92 m_code = code; | 92 m_code = code; |
93 m_name = name; | 93 m_name = name; |
94 m_message = message; | 94 m_sanitizedMessage = sanitizedMessage; |
| 95 m_unsanitizedMessage = unsanitizedMessage; |
95 ScriptWrappable::init(this); | 96 ScriptWrappable::init(this); |
96 } | 97 } |
97 | 98 |
98 PassRefPtr<DOMException> DOMException::create(ExceptionCode ec, const String& me
ssage) | 99 PassRefPtr<DOMException> DOMException::create(ExceptionCode ec, const String& sa
nitizedMessage, const String& unsanitizedMessage) |
99 { | 100 { |
100 const CoreException* entry = getErrorEntry(ec); | 101 const CoreException* entry = getErrorEntry(ec); |
101 ASSERT(entry); | 102 ASSERT(entry); |
102 return adoptRef(new DOMException(entry->code, | 103 return adoptRef(new DOMException(entry->code, |
103 entry->name ? entry->name : "Error", | 104 entry->name ? entry->name : "Error", |
104 message.isNull() ? String(entry->message) : message)); | 105 sanitizedMessage.isNull() ? String(entry->message) : sanitizedMessage, |
| 106 unsanitizedMessage)); |
105 } | 107 } |
106 | 108 |
107 String DOMException::toString() const | 109 String DOMException::toString() const |
108 { | 110 { |
109 return name() + ": " + message(); | 111 return name() + ": " + message(); |
110 } | 112 } |
111 | 113 |
| 114 String DOMException::toStringForConsole() const |
| 115 { |
| 116 return name() + ": " + messageForConsole(); |
| 117 } |
| 118 |
112 String DOMException::getErrorName(ExceptionCode ec) | 119 String DOMException::getErrorName(ExceptionCode ec) |
113 { | 120 { |
114 const CoreException* entry = getErrorEntry(ec); | 121 const CoreException* entry = getErrorEntry(ec); |
115 ASSERT(entry); | 122 ASSERT(entry); |
116 if (!entry) | 123 if (!entry) |
117 return "UnknownError"; | 124 return "UnknownError"; |
118 | 125 |
119 return entry->name; | 126 return entry->name; |
120 } | 127 } |
121 | 128 |
122 String DOMException::getErrorMessage(ExceptionCode ec) | 129 String DOMException::getErrorMessage(ExceptionCode ec) |
123 { | 130 { |
124 const CoreException* entry = getErrorEntry(ec); | 131 const CoreException* entry = getErrorEntry(ec); |
125 ASSERT(entry); | 132 ASSERT(entry); |
126 if (!entry) | 133 if (!entry) |
127 return "Unknown error."; | 134 return "Unknown error."; |
128 | 135 |
129 return entry->message; | 136 return entry->message; |
130 } | 137 } |
131 | 138 |
132 unsigned short DOMException::getLegacyErrorCode(ExceptionCode ec) | 139 unsigned short DOMException::getLegacyErrorCode(ExceptionCode ec) |
133 { | 140 { |
134 const CoreException* entry = getErrorEntry(ec); | 141 const CoreException* entry = getErrorEntry(ec); |
135 ASSERT(entry); | 142 ASSERT(entry); |
136 | 143 |
137 return (entry && entry->code) ? entry->code : 0; | 144 return (entry && entry->code) ? entry->code : 0; |
138 } | 145 } |
139 | 146 |
140 } // namespace WebCore | 147 } // namespace WebCore |
OLD | NEW |