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 nsAHtml5TreeBuilderState_h
6 #define nsAHtml5TreeBuilderState_h
9 #include "nsIContentHandle.h"
11 template <class T
, class L
>
13 class nsHtml5StackNode
;
16 * Interface for exposing the internal state of the HTML5 tree builder.
17 * For more documentation, please see
18 * https://hg.mozilla.org/projects/htmlparser/file/tip/src/nu/validator/htmlparser/impl/StateSnapshot.java
20 class nsAHtml5TreeBuilderState
{
22 virtual jArray
<nsHtml5StackNode
*, int32_t> getStack() = 0;
24 virtual jArray
<nsHtml5StackNode
*, int32_t>
25 getListOfActiveFormattingElements() = 0;
27 virtual jArray
<int32_t, int32_t> getTemplateModeStack() = 0;
29 virtual int32_t getStackLength() = 0;
31 virtual int32_t getListOfActiveFormattingElementsLength() = 0;
33 virtual int32_t getTemplateModeStackLength() = 0;
35 virtual nsIContentHandle
* getFormPointer() = 0;
37 virtual nsIContentHandle
* getHeadPointer() = 0;
39 virtual int32_t getMode() = 0;
41 virtual int32_t getOriginalMode() = 0;
43 virtual bool isFramesetOk() = 0;
45 virtual bool isNeedToDropLF() = 0;
47 virtual bool isQuirks() = 0;
49 virtual ~nsAHtml5TreeBuilderState() {}
52 #endif /* nsAHtml5TreeBuilderState_h */