docshell/shistory/src/nsSHEntryShared.h

Wed, 31 Dec 2014 07:53:36 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 07:53:36 +0100
branch
TOR_BUG_3246
changeset 5
4ab42b5ab56c
permissions
-rw-r--r--

Correct small whitespace inconsistency, lost while renaming variables.

     1 /* This Source Code Form is subject to the terms of the Mozilla Public
     2  * License, v. 2.0. If a copy of the MPL was not distributed with this
     3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     5 #ifndef nsSHEntryShared_h__
     6 #define nsSHEntryShared_h__
     8 #include "nsCOMPtr.h"
     9 #include "nsAutoPtr.h"
    10 #include "nsCOMArray.h"
    11 #include "nsIBFCacheEntry.h"
    12 #include "nsIMutationObserver.h"
    13 #include "nsExpirationTracker.h"
    14 #include "nsRect.h"
    15 #include "nsString.h"
    16 #include "mozilla/Attributes.h"
    18 class nsSHEntry;
    19 class nsISHEntry;
    20 class nsIDocument;
    21 class nsIContentViewer;
    22 class nsIDocShellTreeItem;
    23 class nsILayoutHistoryState;
    24 class nsDocShellEditorData;
    25 class nsISupportsArray;
    27 // A document may have multiple SHEntries, either due to hash navigations or
    28 // calls to history.pushState.  SHEntries corresponding to the same document
    29 // share many members; in particular, they share state related to the
    30 // back/forward cache.
    31 //
    32 // nsSHEntryShared is the vehicle for this sharing.
    33 class nsSHEntryShared MOZ_FINAL : public nsIBFCacheEntry,
    34                                   public nsIMutationObserver
    35 {
    36   public:
    37     static void Startup();
    38     static void Shutdown();
    40     nsSHEntryShared();
    41     ~nsSHEntryShared();
    43     NS_DECL_ISUPPORTS
    44     NS_DECL_NSIMUTATIONOBSERVER
    45     NS_DECL_NSIBFCACHEENTRY
    47   private:
    48     friend class nsSHEntry;
    50     friend class HistoryTracker;
    51     friend class nsExpirationTracker<nsSHEntryShared, 3>;
    52     nsExpirationState *GetExpirationState() { return &mExpirationState; }
    54     static already_AddRefed<nsSHEntryShared> Duplicate(nsSHEntryShared *aEntry);
    56     void RemoveFromExpirationTracker();
    57     void Expire();
    58     nsresult SyncPresentationState();
    59     void DropPresentationState();
    61     nsresult SetContentViewer(nsIContentViewer *aViewer);
    63     // See nsISHEntry.idl for an explanation of these members.
    65     // These members are copied by nsSHEntryShared::Duplicate().  If you add a
    66     // member here, be sure to update the Duplicate() implementation.
    67     uint64_t                        mDocShellID;
    68     nsCOMArray<nsIDocShellTreeItem> mChildShells;
    69     nsCOMPtr<nsISupports>           mOwner;
    70     nsCString                       mContentType;
    71     bool                            mIsFrameNavigation;
    72     bool                            mSaveLayoutState;
    73     bool                            mSticky;
    74     bool                            mDynamicallyCreated;
    75     nsCOMPtr<nsISupports>           mCacheKey;
    76     uint32_t                        mLastTouched;
    78     // These members aren't copied by nsSHEntryShared::Duplicate() because
    79     // they're specific to a particular content viewer.
    80     uint64_t                        mID;
    81     nsCOMPtr<nsIContentViewer>      mContentViewer;
    82     nsCOMPtr<nsIDocument>           mDocument;
    83     nsCOMPtr<nsILayoutHistoryState> mLayoutHistoryState;
    84     bool                            mExpired;
    85     nsCOMPtr<nsISupports>           mWindowState;
    86     nsIntRect                       mViewerBounds;
    87     nsCOMPtr<nsISupportsArray>      mRefreshURIList;
    88     nsExpirationState               mExpirationState;
    89     nsAutoPtr<nsDocShellEditorData> mEditorData;
    90 };
    92 #endif

mercurial