diff -r 000000000000 -r 6474c204b198 docshell/shistory/src/nsSHEntry.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docshell/shistory/src/nsSHEntry.h Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,68 @@ +/* -*- Mode: C++; tab-width: 3; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * 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 nsSHEntry_h +#define nsSHEntry_h + +// Helper Classes +#include "nsCOMPtr.h" +#include "nsAutoPtr.h" +#include "nsCOMArray.h" +#include "nsString.h" +#include "mozilla/Attributes.h" + +// Interfaces needed +#include "nsISHEntry.h" +#include "nsISHContainer.h" + +class nsSHEntryShared; +class nsIInputStream; +class nsIURI; + +class nsSHEntry MOZ_FINAL : public nsISHEntry, + public nsISHContainer, + public nsISHEntryInternal +{ +public: + nsSHEntry(); + nsSHEntry(const nsSHEntry &other); + + NS_DECL_ISUPPORTS + NS_DECL_NSISHENTRY + NS_DECL_NSISHENTRYINTERNAL + NS_DECL_NSISHCONTAINER + + void DropPresentationState(); + + static nsresult Startup(); + static void Shutdown(); + +private: + ~nsSHEntry(); + + // We share the state in here with other SHEntries which correspond to the + // same document. + nsRefPtr mShared; + + // See nsSHEntry.idl for comments on these members. + nsCOMPtr mURI; + nsCOMPtr mReferrerURI; + nsString mTitle; + nsCOMPtr mPostData; + uint32_t mLoadType; + uint32_t mID; + int32_t mScrollPositionX; + int32_t mScrollPositionY; + nsISHEntry* mParent; + nsCOMArray mChildren; + bool mURIWasModified; + nsCOMPtr mStateData; + bool mIsSrcdocEntry; + nsString mSrcdocData; + nsCOMPtr mBaseURI; +}; + +#endif /* nsSHEntry_h */