2015-05-08 14:37:00 +03:00
|
|
|
/* -*- 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
|
2012-05-21 15:12:37 +04:00
|
|
|
* 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/. */
|
1999-12-23 01:35:31 +03:00
|
|
|
|
|
|
|
#ifndef nsSHEntry_h
|
|
|
|
#define nsSHEntry_h
|
|
|
|
|
2005-08-18 15:16:42 +04:00
|
|
|
#include "nsCOMArray.h"
|
2017-04-27 13:16:46 +03:00
|
|
|
#include "nsCOMPtr.h"
|
|
|
|
#include "nsISHEntry.h"
|
1999-12-23 01:35:31 +03:00
|
|
|
#include "nsString.h"
|
2005-08-18 15:15:33 +04:00
|
|
|
|
2017-04-27 13:16:46 +03:00
|
|
|
#include "mozilla/Attributes.h"
|
2011-10-21 19:26:34 +04:00
|
|
|
|
|
|
|
class nsSHEntryShared;
|
2013-09-04 19:26:20 +04:00
|
|
|
class nsIInputStream;
|
|
|
|
class nsIURI;
|
2019-02-12 22:35:32 +03:00
|
|
|
class nsIReferrerInfo;
|
1999-12-23 01:35:31 +03:00
|
|
|
|
2019-03-05 17:46:10 +03:00
|
|
|
class nsSHEntry : public nsISHEntry {
|
2015-05-06 20:57:23 +03:00
|
|
|
public:
|
2020-07-14 14:14:46 +03:00
|
|
|
nsSHEntry();
|
2020-05-20 12:09:06 +03:00
|
|
|
|
2005-08-18 15:16:01 +04:00
|
|
|
NS_DECL_ISUPPORTS
|
|
|
|
NS_DECL_NSISHENTRY
|
2005-08-18 15:17:04 +04:00
|
|
|
|
2019-03-05 17:46:10 +03:00
|
|
|
virtual void EvictContentViewer();
|
1999-12-23 01:35:31 +03:00
|
|
|
|
2007-09-21 13:19:59 +04:00
|
|
|
static nsresult Startup();
|
|
|
|
static void Shutdown();
|
2015-05-06 20:57:23 +03:00
|
|
|
|
2019-03-05 17:46:10 +03:00
|
|
|
protected:
|
|
|
|
explicit nsSHEntry(const nsSHEntry& aOther);
|
|
|
|
virtual ~nsSHEntry();
|
2005-08-18 15:16:54 +04:00
|
|
|
|
2020-05-20 12:09:06 +03:00
|
|
|
nsSHEntryShared* GetState() { return mShared; }
|
|
|
|
|
2011-10-21 19:26:34 +04:00
|
|
|
// We share the state in here with other SHEntries which correspond to the
|
|
|
|
// same document.
|
2020-05-20 12:09:06 +03:00
|
|
|
RefPtr<nsSHEntryShared> mShared;
|
2011-10-21 19:26:34 +04:00
|
|
|
|
|
|
|
// See nsSHEntry.idl for comments on these members.
|
2015-05-06 20:57:23 +03:00
|
|
|
nsCOMPtr<nsIURI> mURI;
|
2015-09-30 09:54:39 +03:00
|
|
|
nsCOMPtr<nsIURI> mOriginalURI;
|
2017-05-30 19:07:59 +03:00
|
|
|
nsCOMPtr<nsIURI> mResultPrincipalURI;
|
2019-02-12 22:35:32 +03:00
|
|
|
nsCOMPtr<nsIReferrerInfo> mReferrerInfo;
|
2015-05-06 20:57:23 +03:00
|
|
|
nsString mTitle;
|
2020-09-11 10:52:11 +03:00
|
|
|
nsString mName;
|
2011-10-21 19:26:34 +04:00
|
|
|
nsCOMPtr<nsIInputStream> mPostData;
|
2015-05-06 20:57:23 +03:00
|
|
|
uint32_t mLoadType;
|
|
|
|
uint32_t mID;
|
|
|
|
int32_t mScrollPositionX;
|
|
|
|
int32_t mScrollPositionY;
|
|
|
|
nsISHEntry* mParent;
|
|
|
|
nsCOMArray<nsISHEntry> mChildren;
|
2011-04-25 06:30:54 +04:00
|
|
|
nsCOMPtr<nsIStructuredCloneContainer> mStateData;
|
2015-05-06 20:57:23 +03:00
|
|
|
nsString mSrcdocData;
|
|
|
|
nsCOMPtr<nsIURI> mBaseURI;
|
2017-04-27 13:16:46 +03:00
|
|
|
bool mLoadReplace;
|
|
|
|
bool mURIWasModified;
|
|
|
|
bool mIsSrcdocEntry;
|
|
|
|
bool mScrollRestorationIsManual;
|
2017-05-18 14:08:56 +03:00
|
|
|
bool mLoadedInThisProcess;
|
2018-09-05 02:02:37 +03:00
|
|
|
bool mPersist;
|
2020-06-09 17:48:38 +03:00
|
|
|
bool mHasUserInteraction;
|
2005-08-18 15:15:34 +04:00
|
|
|
};
|
|
|
|
|
1999-12-23 01:35:31 +03:00
|
|
|
#endif /* nsSHEntry_h */
|