Files
palemoon27/dom/cache/FileUtils.h
T
roytam1 a6abc84e91 import change from rmottola/Arctic-Fox:
- Bug 1141392 - Disallow a line break between ArrowParameters and the arrow. (386dac894)
- Bug 1138651 - Enable CSS Scroll Snapping by Default on B2G. (2e416be93)
- Bug 1140623 - Correct mochitest failures that occur when the layout.css.scroll-snap.enabled preference is enabled (V3 Patch). (cfb1ccd33)
- Bug 1136467 - ServiceWorker: client.postMessage should land in navigator.serviceWorker.onmessage. (547bc9d03)
- Bug 1137419 - Use correct principal for update. (9b409bd5c)
- Bug 1137408 - Use inner window to create ServiceWorker for Fetch Event (11958cf2b)
-  Bug 1137250 - Fix incorrect initialization of Request object. (ec637ee57)
-  Bug 1139990 - Remove No activatingWorker warning. (49154e967)
- Bug 1058311 - Update client interface. Implement matchAll WindowClient. (cde7ba62a)
- Bug 1131353 - Make ServiceWorkerGlobalScope.close() throw InvalidAccessError; (0ec3f45d9)
- Bug 1137816 - Add a test for interfaces exposed to service workers; (19b5f9504)
- Bug 1137816 follow-up: Add WindowClient, added by bug 1058311 (ce6f0ba73)
- Bug 1141274 - Allocate shared workers and service workers from separate namespaces; (776221d45)
- Bug 1133763 - Part 1: Remember the security info associated with HTTP fetches and record it inside InternalResponse; (fec70ad02)
- Bug 1133763 - Part 2: Transfer the security info associated with an InternalResponse across the IPC layer (e7192f129)
-  Bug 1133763 - Part 3: Wipe out the cache directory when detecting a change in the DB schema; (82d81819a)
- Bug 1133763 - Part 4: Store the response's security info in the cache database; (426e94e4b)
- Bug 1133763 - Part 5: Allow the security info on intercepted HTTP channels to be overridden (4d079bf92)
- Bug 1133763 - Part 6: Set the correct security info on intercepted channels when using the respondWith API (83e2b2a7d)
- Bug 1133763 - Part 7: Add automated tests for using FetchEvent.respondWith on an HTTPS request (e0ee10e17)
- Bug 1133763 - Part 8: Ensure that FetchEvent.respondWith works correctly on HTTPS requests with a cloned response (0db13351e)
- Bug 1139425 - Service Worker Client uuid tests. (480b262ed)
- Bug 1139425 - Service Worker Client id should return a DOMString uuid. (8b9ea176d)
- Bug 1142853 - Add caret resources to package-manifest.in. (7e1a59681)
2019-06-18 19:45:21 +08:00

73 lines
2.1 KiB
C++

/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef mozilla_dom_cache_FileUtils_h
#define mozilla_dom_cache_FileUtils_h
#include "mozilla/Attributes.h"
#include "mozilla/dom/cache/Types.h"
#include "nsStreamUtils.h"
#include "nsTArrayForwardDeclare.h"
struct nsID;
class nsIFile;
namespace mozilla {
namespace dom {
namespace cache {
// TODO: remove static class and use functions in cache namespace (bug 1110485)
class FileUtils MOZ_FINAL
{
public:
enum BodyFileType
{
BODY_FILE_FINAL,
BODY_FILE_TMP
};
static nsresult BodyCreateDir(nsIFile* aBaseDir);
// Note that this function can only be used during the initialization of the
// database. We're unlikely to be able to delete the DB successfully past
// that point due to the file being in use.
static nsresult BodyDeleteDir(nsIFile* aBaseDir);
static nsresult BodyGetCacheDir(nsIFile* aBaseDir, const nsID& aId,
nsIFile** aCacheDirOut);
static nsresult
BodyStartWriteStream(const QuotaInfo& aQuotaInfo, nsIFile* aBaseDir,
nsIInputStream* aSource, void* aClosure,
nsAsyncCopyCallbackFun aCallback, nsID* aIdOut,
nsISupports** aCopyContextOut);
static void
BodyCancelWrite(nsIFile* aBaseDir, nsISupports* aCopyContext);
static nsresult
BodyFinalizeWrite(nsIFile* aBaseDir, const nsID& aId);
static nsresult
BodyOpen(const QuotaInfo& aQuotaInfo, nsIFile* aBaseDir, const nsID& aId,
nsIInputStream** aStreamOut);
static nsresult
BodyDeleteFiles(nsIFile* aBaseDir, const nsTArray<nsID>& aIdList);
private:
static nsresult
BodyIdToFile(nsIFile* aBaseDir, const nsID& aId, BodyFileType aType,
nsIFile** aBodyFileOut);
FileUtils() = delete;
~FileUtils() = delete;
};
} // namespace cache
} // namespace dom
} // namespace mozilla
#endif // mozilla_dom_cache_FileUtils_h