Tue, 06 Jan 2015 21:39:09 +0100
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