Files
palemoon27/netwerk/protocol/about/nsAboutCacheEntry.h
T
roytam1 770c1e709f import changes from `dev' branch of rmottola/Arctic-Fox:
- Bug 1227766 patch 1 - Add flag for CSS properties that establish a containing block for fixed positioned elements. r=dholbert (9d4586e5ed)
- Bug 1227766 patch 2 - Add will-change bit for establishing a containing block for fixed positioned elements. r=dholbert (8a0908bf11)
- Bug 1228877 - Make nsStyleContext::HasChildThatUsesGrandancestorStyle by setting bit on grandchild's parent instead of grandchild. r=xidorn (16ab14cfa5)
- Bug 1230701 - Make will-change:position create a containing block for absolutely-positioned elements. r=dholbert (4f2f1ea91b)
- Bug 1225592 - [css-grid] Apply a max limit to the number of explicit tracks we will store (kMaxLine - 1). Also make the layout code more robust so it doesn't depend on that. r=dholbert (f4f3ce01e8)
- Bug 1227501 patch 2 - Crashtest. (6e711f37b5)
- Bug 1227501 patch 3 - Handle custom properties correctly in transition-property. r=xidorn (6ec6716f0d)
- Bug 1223688 - Clear mInSupportsConditions when we error out of CSS.supports() upon finding no tokens. r=dholbert (06cefdeb40)
- Bug 1223694 - Don't bother checking for correct style scopes for native anonymous content. r=dbaron (294dcb49a9)
- Bug 1226400 - crashtest for FontFaceSet::Load() crasher. r=birtles (8d0dba0db7)
- No bug - Remove annotations from the editor and layout crashtest manifests that are no longer needed. (68776b5f65)
- Bug 1225682 - Don't use nsAuto{,C}String as class member variables in netwerk/. r=mcmanus (d4be926153)
- Bug 1209970 - Fire scroll events early in the refresh tick. r=mats (420513e667)
- Bug 1234242 - Keep a RefPtr to the refresh driver to unregister the ScrollEvent, rather than relying on a chain of pointers remaining non-null. r=mstange a=KWierso (df8b4383d2)
- Bug 1228407 - Avoid a scenario where content floods APZ with smooth-scroll requests and blocks it from syncing a new scroll offset back to the main thread. r=botond (9882828dcc)
- Bug 1232048 - Fix breakage in scroll snapping when snapping twice in …a row to the same thing with non-smooth-scrolls in between. r=botond (6688500624)
2023-06-30 13:30:55 +08:00

82 lines
2.5 KiB
C++

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/* 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 nsAboutCacheEntry_h__
#define nsAboutCacheEntry_h__
#include "nsIAboutModule.h"
#include "nsICacheEntryOpenCallback.h"
#include "nsICacheEntry.h"
#include "nsIStreamListener.h"
#include "nsString.h"
#include "nsCOMPtr.h"
class nsIAsyncOutputStream;
class nsIInputStream;
class nsILoadContextInfo;
class nsIURI;
class nsCString;
class nsAboutCacheEntry : public nsIAboutModule
, public nsICacheEntryOpenCallback
, public nsICacheEntryMetaDataVisitor
, public nsIStreamListener
{
public:
NS_DECL_ISUPPORTS
NS_DECL_NSIABOUTMODULE
NS_DECL_NSICACHEENTRYOPENCALLBACK
NS_DECL_NSICACHEENTRYMETADATAVISITOR
NS_DECL_NSIREQUESTOBSERVER
NS_DECL_NSISTREAMLISTENER
nsAboutCacheEntry()
: mBuffer(nullptr)
, mWaitingForData(false)
, mHexDumpState(0)
{}
private:
virtual ~nsAboutCacheEntry() {}
nsresult GetContentStream(nsIURI *, nsIInputStream **);
nsresult OpenCacheEntry(nsIURI *);
nsresult OpenCacheEntry();
nsresult WriteCacheEntryDescription(nsICacheEntry *);
nsresult WriteCacheEntryUnavailable();
nsresult ParseURI(nsIURI *uri, nsACString &storageName,
nsILoadContextInfo **loadInfo,
nsCString &enahnceID, nsIURI **cacheUri);
void CloseContent();
static NS_METHOD
PrintCacheData(nsIInputStream *aInStream,
void *aClosure,
const char *aFromSegment,
uint32_t aToOffset,
uint32_t aCount,
uint32_t *aWriteCount);
private:
nsCString mStorageName, mEnhanceId;
nsCOMPtr<nsILoadContextInfo> mLoadInfo;
nsCOMPtr<nsIURI> mCacheURI;
nsCString *mBuffer;
nsCOMPtr<nsIAsyncOutputStream> mOutputStream;
bool mWaitingForData;
uint32_t mHexDumpState;
};
#define NS_ABOUT_CACHE_ENTRY_MODULE_CID \
{ /* 7fa5237d-b0eb-438f-9e50-ca0166e63788 */ \
0x7fa5237d, \
0xb0eb, \
0x438f, \
{0x9e, 0x50, 0xca, 0x01, 0x66, 0xe6, 0x37, 0x88} \
}
#endif // nsAboutCacheEntry_h__