xpcom/io/SpecialSystemDirectory.h

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: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
     2 /* This Source Code Form is subject to the terms of the Mozilla Public
     3  * License, v. 2.0. If a copy of the MPL was not distributed with this
     4  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     6 #ifndef _SPECIALSYSTEMDIRECTORY_H_
     7 #define _SPECIALSYSTEMDIRECTORY_H_
     9 #include "nscore.h"
    10 #include "nsIFile.h"
    12 #ifdef MOZ_WIDGET_COCOA
    13 #include <Carbon/Carbon.h>
    14 #include "nsILocalFileMac.h"
    15 #include "prenv.h"
    16 #endif
    18 extern void StartupSpecialSystemDirectory();
    21 enum SystemDirectories {
    22   OS_DriveDirectory         =   1,   
    23   OS_TemporaryDirectory     =   2,   
    24   OS_CurrentProcessDirectory=   3,   
    25   OS_CurrentWorkingDirectory=   4,
    26   XPCOM_CurrentProcessComponentDirectory=   5,   
    27   XPCOM_CurrentProcessComponentRegistry=   6,   
    29   Moz_BinDirectory          =   100 ,
    30   Mac_SystemDirectory       =   101,   
    31   Mac_DesktopDirectory      =   102,   
    32   Mac_TrashDirectory        =   103,   
    33   Mac_StartupDirectory      =   104,   
    34   Mac_ShutdownDirectory     =   105,   
    35   Mac_AppleMenuDirectory    =   106,   
    36   Mac_ControlPanelDirectory =   107,   
    37   Mac_ExtensionDirectory    =   108,   
    38   Mac_FontsDirectory        =   109,   
    39   Mac_ClassicPreferencesDirectory =   110,   
    40   Mac_DocumentsDirectory          =   111,   
    41   Mac_InternetSearchDirectory     =   112,   
    42   Mac_DefaultDownloadDirectory    =   113,   
    43   Mac_UserLibDirectory      =   114,   
    44   Mac_PreferencesDirectory  =   115,
    46   Win_SystemDirectory       =   201,   
    47   Win_WindowsDirectory      =   202,
    48   Win_HomeDirectory         =   203,   
    49   Win_Desktop               =   204,   
    50   Win_Programs              =   205,   
    51   Win_Controls              =   206,   
    52   Win_Printers              =   207,   
    53   Win_Personal              =   208,   
    54   Win_Favorites             =   209,   
    55   Win_Startup               =   210,   
    56   Win_Recent                =   211,   
    57   Win_Sendto                =   212,   
    58   Win_Bitbucket             =   213,   
    59   Win_Startmenu             =   214,   
    60   Win_Desktopdirectory      =   215,   
    61   Win_Drives                =   216,   
    62   Win_Network               =   217,   
    63   Win_Nethood               =   218,   
    64   Win_Fonts                 =   219,   
    65   Win_Templates             =   220,   
    66   Win_Common_Startmenu      =   221,   
    67   Win_Common_Programs       =   222,   
    68   Win_Common_Startup        =   223,   
    69   Win_Common_Desktopdirectory = 224,   
    70   Win_Appdata               =   225,   
    71   Win_Printhood             =   226,   
    72   Win_Cookies               =   227, 
    73   Win_LocalAppdata          =   228,
    74   Win_ProgramFiles          =   229,
    75   Win_Downloads             =   230,
    76   Win_Common_AppData        =   231,
    77   Win_Documents             =   232,
    78   Win_Pictures              =   233,
    79   Win_Music                 =   234,
    80   Win_Videos                =   235,
    82   Unix_LocalDirectory       =   301,   
    83   Unix_LibDirectory         =   302,   
    84   Unix_HomeDirectory        =   303,
    85   Unix_XDG_Desktop          =   304,
    86   Unix_XDG_Documents        =   305,
    87   Unix_XDG_Download         =   306,
    88   Unix_XDG_Music            =   307,
    89   Unix_XDG_Pictures         =   308,
    90   Unix_XDG_PublicShare      =   309,
    91   Unix_XDG_Templates        =   310,
    92   Unix_XDG_Videos           =   311
    93 };
    95 nsresult
    96 GetSpecialSystemDirectory(SystemDirectories aSystemSystemDirectory,
    97                           nsIFile** aFile);
    98 #ifdef MOZ_WIDGET_COCOA
    99 nsresult
   100 GetOSXFolderType(short aDomain, OSType aFolderType, nsIFile **localFile);
   101 #endif
   103 #endif

mercurial