Home | History | Annotate | Download | only in dom
      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 
     31     // Some of these are considered historical since they have been
     32     // changed or removed from the specifications.
     33     enum {
     34         IndexSizeError = 1,
     35         HierarchyRequestError,
     36         WrongDocumentError,
     37         InvalidCharacterError,
     38         NoModificationAllowedError,
     39         NotFoundError,
     40         NotSupportedError,
     41         InUseAttributeError, // Historical. Only used in setAttributeNode etc which have been removed from the DOM specs.
     42 
     43         // Introduced in DOM Level 2:
     44         InvalidStateError,
     45         SyntaxError,
     46         InvalidModificationError,
     47         NamespaceError,
     48         InvalidAccessError,
     49 
     50         // Introduced in DOM Level 3:
     51         TypeMismatchError, // Historical; use TypeError instead
     52 
     53         // XMLHttpRequest extension:
     54         SecurityError,
     55 
     56         // Others introduced in HTML5:
     57         NetworkError,
     58         AbortError,
     59         URLMismatchError,
     60         QuotaExceededError,
     61         TimeoutError,
     62         InvalidNodeTypeError,
     63         DataCloneError,
     64 
     65         // These are IDB-specific.
     66         UnknownError,
     67         ConstraintError,
     68         DataError,
     69         TransactionInactiveError,
     70         ReadOnlyError,
     71         VersionError,
     72 
     73         // File system
     74         NotReadableError,
     75         EncodingError,
     76         PathExistsError,
     77 
     78         // SQL
     79         SQLDatabaseError, // Naming conflict with DatabaseError class.
     80 
     81         // Web Crypto
     82         OperationError,
     83 
     84         // WebIDL exception types, handled by the binding layer.
     85         // FIXME: Add GeneralError, EvalError, etc. when implemented in the bindings.
     86         TypeError,
     87     };
     88 
     89 } // namespace WebCore
     90 
     91 #endif // ExceptionCode_h
     92