diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /layout/base/nsILayoutHistoryState.h | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'layout/base/nsILayoutHistoryState.h')
-rw-r--r-- | layout/base/nsILayoutHistoryState.h | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/layout/base/nsILayoutHistoryState.h b/layout/base/nsILayoutHistoryState.h new file mode 100644 index 000000000..5562cfdd1 --- /dev/null +++ b/layout/base/nsILayoutHistoryState.h @@ -0,0 +1,70 @@ +/* -*- Mode: C++; tab-width: 2; 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/. */ + +/* + * interface for container for information saved in session history when + * the document is not + */ + +#ifndef _nsILayoutHistoryState_h +#define _nsILayoutHistoryState_h + +#include "nsISupports.h" +#include "nsStringFwd.h" + +class nsPresState; +template<typename> struct already_AddRefed; + +#define NS_ILAYOUTHISTORYSTATE_IID \ +{ 0xaef27cb3, 0x4df9, 0x4eeb, \ + { 0xb0, 0xb0, 0xac, 0x56, 0xcf, 0x86, 0x1d, 0x04 } } + +class nsILayoutHistoryState : public nsISupports { + public: + NS_DECLARE_STATIC_IID_ACCESSOR(NS_ILAYOUTHISTORYSTATE_IID) + + /** + * Set |aState| as the state object for |aKey|. + * This _transfers_ownership_ of |aState| to the LayoutHistoryState. + * It will be freed when RemoveState() is called or when the + * LayoutHistoryState is destroyed. + */ + virtual void AddState(const nsCString& aKey, nsPresState* aState) = 0; + + /** + * Look up the state object for |aKey|. + */ + virtual nsPresState* GetState(const nsCString& aKey) = 0; + + /** + * Remove the state object for |aKey|. + */ + virtual void RemoveState(const nsCString& aKey) = 0; + + /** + * Check whether this history has any states in it + */ + virtual bool HasStates() const = 0; + + /** + * Sets whether this history can contain only scroll position history + * or all possible history + */ + virtual void SetScrollPositionOnly(const bool aFlag) = 0; + + /** + * Resets nsPresState::GetScrollState of all nsPresState objects to 0,0. + */ + virtual void ResetScrollState() = 0; +}; + +NS_DEFINE_STATIC_IID_ACCESSOR(nsILayoutHistoryState, + NS_ILAYOUTHISTORYSTATE_IID) + +already_AddRefed<nsILayoutHistoryState> +NS_NewLayoutHistoryState(); + +#endif /* _nsILayoutHistoryState_h */ + |