storage/public/mozIStorageError.idl

Tue, 06 Jan 2015 21:39:09 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 06 Jan 2015 21:39:09 +0100
branch
TOR_BUG_9701
changeset 8
97036ab72558
permissions
-rw-r--r--

Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

     1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
     2  * vim: sw=2 ts=2 sts=2 expandtab 
     3  * This Source Code Form is subject to the terms of the Mozilla Public
     4  * License, v. 2.0. If a copy of the MPL was not distributed with this
     5  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     7 #include "nsISupports.idl"
     9 %{C++
    10 #ifdef ERROR
    11 #undef ERROR
    12 #endif
    13 %}
    15 [scriptable, uuid(1f350f96-7023-434a-8864-40a1c493aac1)]
    16 interface mozIStorageError : nsISupports {
    18   /**
    19    * General SQL error or missing database.
    20    */
    21   const long ERROR = 1;
    23   /**
    24    * Internal logic error.
    25    */
    26   const long INTERNAL = 2;
    28   /**
    29    * Access permission denied.
    30    */
    31   const long PERM = 3;
    33   /**
    34    * A callback routine requested an abort.
    35    */
    36   const long ABORT = 4;
    38   /**
    39    * The database file is locked.
    40    */
    41   const long BUSY = 5;
    43   /**
    44    * A table in the database is locked.
    45    */
    46   const long LOCKED = 6;
    48   /**
    49    * An allocation failed.
    50    */
    51   const long NOMEM = 7;
    53   /**
    54    * Attempt to write to a readonly database.
    55    */
    56   const long READONLY = 8;
    58   /**
    59    * Operation was terminated by an interrupt.
    60    */
    61   const long INTERRUPT = 9;
    63   /**
    64    * Some kind of disk I/O error occurred.
    65    */
    66   const long IOERR = 10;
    68   /**
    69    * The database disk image is malformed.
    70    */
    71   const long CORRUPT = 11;
    73   /**
    74    * An insertion failed because the database is full.
    75    */
    76   const long FULL = 13;
    78   /**
    79    * Unable to open the database file.
    80    */
    81   const long CANTOPEN = 14;
    83   /**
    84    * The database is empty.
    85    */
    86   const long EMPTY = 16;
    88   /**
    89    * The database scheme changed.
    90    */
    91   const long SCHEMA = 17;
    93   /**
    94    * A string or blob exceeds the size limit.
    95    */
    96   const long TOOBIG = 18;
    98   /**
    99    * Abort due to a constraint violation.
   100    */
   101   const long CONSTRAINT = 19;
   103   /**
   104    * Data type mismatch.
   105    */
   106   const long MISMATCH = 20;
   108   /**
   109    * Library used incorrectly.
   110    */
   111   const long MISUSE = 21;
   113   /**
   114    * Uses OS features not supported on the host system.
   115    */
   116   const long NOLFS = 22;
   118   /**
   119    * Authorization denied.
   120    */
   121   const long AUTH = 23;
   123   /**
   124    * Auxiliary database format error.
   125    */
   126   const long FORMAT = 24;
   128   /**
   129    * Attempt to bind a parameter using an out-of-range index or nonexistent
   130    * named parameter name.
   131    */
   132   const long RANGE = 25;
   134   /**
   135    * File opened that is not a database file.
   136    */
   137   const long NOTADB = 26;
   140   /**
   141    * Indicates what type of error occurred.
   142    */
   143   readonly attribute long result;
   145   /**
   146    * An error string the gives more details, if available.
   147    */
   148   readonly attribute AUTF8String message;
   149 };

mercurial