gecko-dev/layout/generic/nsIStatefulFrame.h
Chris H-C 550ae0a515 Bug 1249664 - Make stateful frames responsible for their own keys r=dbaron
nsFrameManager::CaptureFrameStateFor generates keys for stateful frames that
only take into account the document and element. This precluded saving pieces
of information coming from different frames responsible for the same element.

MozReview-Commit-ID: 29x3Gj66wAy

--HG--
extra : rebase_source : 9f6fc24ce88009b31dae9fc37bb2187cad8164f2
2016-03-10 10:14:37 -05:00

39 lines
1.1 KiB
C++

/* 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/. */
/*
* interface for rendering objects whose state is saved in
* session-history (back-forward navigation)
*/
#ifndef _nsIStatefulFrame_h
#define _nsIStatefulFrame_h
#include "nsQueryFrame.h"
class nsPresState;
class nsIStatefulFrame
{
public:
NS_DECL_QUERYFRAME_TARGET(nsIStatefulFrame)
// Save the state for this frame. If this method succeeds, the caller is
// responsible for deleting the resulting state when done with it.
NS_IMETHOD SaveState(nsPresState** aState) = 0;
// Restore the state for this frame from aState
NS_IMETHOD RestoreState(nsPresState* aState) = 0;
// Generate a key for this stateful frame
NS_IMETHOD GenerateStateKey(nsIContent* aContent,
nsIDocument* aDocument,
nsACString& aKey)
{
return nsContentUtils::GenerateStateKey(aContent, aDocument, aKey);
};
};
#endif /* _nsIStatefulFrame_h */