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.
michael@0 | 1 | // DefaultName.cpp |
michael@0 | 2 | |
michael@0 | 3 | #include "StdAfx.h" |
michael@0 | 4 | |
michael@0 | 5 | #include "DefaultName.h" |
michael@0 | 6 | |
michael@0 | 7 | static const wchar_t *kEmptyFileAlias = L"[Content]"; |
michael@0 | 8 | |
michael@0 | 9 | UString GetDefaultName2(const UString &fileName, |
michael@0 | 10 | const UString &extension, const UString &addSubExtension) |
michael@0 | 11 | { |
michael@0 | 12 | int extLength = extension.Length(); |
michael@0 | 13 | int fileNameLength = fileName.Length(); |
michael@0 | 14 | if (fileNameLength > extLength + 1) |
michael@0 | 15 | { |
michael@0 | 16 | int dotPos = fileNameLength - (extLength + 1); |
michael@0 | 17 | if (fileName[dotPos] == '.') |
michael@0 | 18 | if (extension.CompareNoCase(fileName.Mid(dotPos + 1)) == 0) |
michael@0 | 19 | return fileName.Left(dotPos) + addSubExtension; |
michael@0 | 20 | } |
michael@0 | 21 | return kEmptyFileAlias; |
michael@0 | 22 | } |
michael@0 | 23 |