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.

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

mercurial