mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-09 01:08:39 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
94
uriloader/prefetch/OfflineCacheUpdateChild.h
Normal file
94
uriloader/prefetch/OfflineCacheUpdateChild.h
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
/* -*- 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 nsOfflineCacheUpdateChild_h
|
||||
#define nsOfflineCacheUpdateChild_h
|
||||
|
||||
#include "mozilla/docshell/POfflineCacheUpdateChild.h"
|
||||
#include "nsIOfflineCacheUpdate.h"
|
||||
|
||||
#include "nsCOMArray.h"
|
||||
#include "nsCOMPtr.h"
|
||||
#include "nsIDOMDocument.h"
|
||||
#include "nsIObserver.h"
|
||||
#include "nsIObserverService.h"
|
||||
#include "nsIURI.h"
|
||||
#include "nsString.h"
|
||||
#include "nsWeakReference.h"
|
||||
|
||||
class nsPIDOMWindowInner;
|
||||
|
||||
namespace mozilla {
|
||||
namespace docshell {
|
||||
|
||||
class OfflineCacheUpdateChild : public nsIOfflineCacheUpdate
|
||||
, public POfflineCacheUpdateChild
|
||||
{
|
||||
public:
|
||||
NS_DECL_ISUPPORTS
|
||||
NS_DECL_NSIOFFLINECACHEUPDATE
|
||||
|
||||
virtual bool
|
||||
RecvNotifyStateEvent(const uint32_t& stateEvent,
|
||||
const uint64_t& byteProgress) override;
|
||||
|
||||
virtual bool
|
||||
RecvAssociateDocuments(
|
||||
const nsCString& cacheGroupId,
|
||||
const nsCString& cacheClientId) override;
|
||||
|
||||
virtual bool
|
||||
RecvFinish(const bool& succeeded,
|
||||
const bool& isUpgrade) override;
|
||||
|
||||
explicit OfflineCacheUpdateChild(nsPIDOMWindowInner* aWindow);
|
||||
|
||||
void SetDocument(nsIDOMDocument *aDocument);
|
||||
|
||||
private:
|
||||
~OfflineCacheUpdateChild();
|
||||
|
||||
nsresult AssociateDocument(nsIDOMDocument *aDocument,
|
||||
nsIApplicationCache *aApplicationCache);
|
||||
void GatherObservers(nsCOMArray<nsIOfflineCacheUpdateObserver> &aObservers);
|
||||
nsresult Finish();
|
||||
|
||||
enum {
|
||||
STATE_UNINITIALIZED,
|
||||
STATE_INITIALIZED,
|
||||
STATE_CHECKING,
|
||||
STATE_DOWNLOADING,
|
||||
STATE_CANCELLED,
|
||||
STATE_FINISHED
|
||||
} mState;
|
||||
|
||||
bool mIsUpgrade;
|
||||
bool mSucceeded;
|
||||
|
||||
nsCString mUpdateDomain;
|
||||
nsCOMPtr<nsIURI> mManifestURI;
|
||||
nsCOMPtr<nsIURI> mDocumentURI;
|
||||
nsCOMPtr<nsIPrincipal> mLoadingPrincipal;
|
||||
|
||||
nsCOMPtr<nsIObserverService> mObserverService;
|
||||
|
||||
/* Clients watching this update for changes */
|
||||
nsCOMArray<nsIWeakReference> mWeakObservers;
|
||||
nsCOMArray<nsIOfflineCacheUpdateObserver> mObservers;
|
||||
|
||||
/* Document that requested this update */
|
||||
nsCOMPtr<nsIDOMDocument> mDocument;
|
||||
|
||||
/* Keep reference to the window that owns this update to call the
|
||||
parent offline cache update construcor */
|
||||
nsCOMPtr<nsPIDOMWindowInner> mWindow;
|
||||
|
||||
uint64_t mByteProgress;
|
||||
};
|
||||
|
||||
} // namespace docshell
|
||||
} // namespace mozilla
|
||||
|
||||
#endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue