diff options
Diffstat (limited to 'parser/html/nsAHtml5TreeBuilderState.h')
-rw-r--r-- | parser/html/nsAHtml5TreeBuilderState.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/parser/html/nsAHtml5TreeBuilderState.h b/parser/html/nsAHtml5TreeBuilderState.h new file mode 100644 index 0000000000..0de332b93c --- /dev/null +++ b/parser/html/nsAHtml5TreeBuilderState.h @@ -0,0 +1,52 @@ +/* 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 nsAHtml5TreeBuilderState_h +#define nsAHtml5TreeBuilderState_h + +#include <cstdint> +#include "nsIContentHandle.h" + +template <class T, class L> +class jArray; +class nsHtml5StackNode; + +/** + * Interface for exposing the internal state of the HTML5 tree builder. + * For more documentation, please see + * https://hg.mozilla.org/projects/htmlparser/file/tip/src/nu/validator/htmlparser/impl/StateSnapshot.java + */ +class nsAHtml5TreeBuilderState { + public: + virtual jArray<nsHtml5StackNode*, int32_t> getStack() = 0; + + virtual jArray<nsHtml5StackNode*, int32_t> + getListOfActiveFormattingElements() = 0; + + virtual jArray<int32_t, int32_t> getTemplateModeStack() = 0; + + virtual int32_t getStackLength() = 0; + + virtual int32_t getListOfActiveFormattingElementsLength() = 0; + + virtual int32_t getTemplateModeStackLength() = 0; + + virtual nsIContentHandle* getFormPointer() = 0; + + virtual nsIContentHandle* getHeadPointer() = 0; + + virtual int32_t getMode() = 0; + + virtual int32_t getOriginalMode() = 0; + + virtual bool isFramesetOk() = 0; + + virtual bool isNeedToDropLF() = 0; + + virtual bool isQuirks() = 0; + + virtual ~nsAHtml5TreeBuilderState() {} +}; + +#endif /* nsAHtml5TreeBuilderState_h */ |