PageRenderTime 30ms CodeModel.GetById 8ms app.highlight 15ms RepoModel.GetById 1ms app.codeStats 0ms

/parser/html/nsHtml5StackNode.h

http://github.com/zpao/v8monkey
C Header | 103 lines | 65 code | 12 blank | 26 comment | 0 complexity | 81c922323a81daa6d3b797593efed880 MD5 | raw file
  1/*
  2 * Copyright (c) 2007 Henri Sivonen
  3 * Copyright (c) 2007-2011 Mozilla Foundation
  4 *
  5 * Permission is hereby granted, free of charge, to any person obtaining a 
  6 * copy of this software and associated documentation files (the "Software"), 
  7 * to deal in the Software without restriction, including without limitation 
  8 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 
  9 * and/or sell copies of the Software, and to permit persons to whom the 
 10 * Software is furnished to do so, subject to the following conditions:
 11 *
 12 * The above copyright notice and this permission notice shall be included in 
 13 * all copies or substantial portions of the Software.
 14 *
 15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
 16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
 17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 
 18 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
 19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
 20 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 21 * DEALINGS IN THE SOFTWARE.
 22 */
 23
 24/*
 25 * THIS IS A GENERATED FILE. PLEASE DO NOT EDIT.
 26 * Please edit StackNode.java instead and regenerate.
 27 */
 28
 29#ifndef nsHtml5StackNode_h__
 30#define nsHtml5StackNode_h__
 31
 32#include "prtypes.h"
 33#include "nsIAtom.h"
 34#include "nsHtml5AtomTable.h"
 35#include "nsString.h"
 36#include "nsINameSpaceManager.h"
 37#include "nsIContent.h"
 38#include "nsTraceRefcnt.h"
 39#include "jArray.h"
 40#include "nsHtml5ArrayCopy.h"
 41#include "nsAHtml5TreeBuilderState.h"
 42#include "nsHtml5Atoms.h"
 43#include "nsHtml5ByteReadable.h"
 44#include "nsIUnicodeDecoder.h"
 45#include "nsHtml5Macros.h"
 46
 47class nsHtml5StreamParser;
 48
 49class nsHtml5Tokenizer;
 50class nsHtml5TreeBuilder;
 51class nsHtml5MetaScanner;
 52class nsHtml5AttributeName;
 53class nsHtml5ElementName;
 54class nsHtml5HtmlAttributes;
 55class nsHtml5UTF16Buffer;
 56class nsHtml5StateSnapshot;
 57class nsHtml5Portability;
 58
 59
 60class nsHtml5StackNode
 61{
 62  public:
 63    PRInt32 flags;
 64    nsIAtom* name;
 65    nsIAtom* popName;
 66    PRInt32 ns;
 67    nsIContent** node;
 68    nsHtml5HtmlAttributes* attributes;
 69  private:
 70    PRInt32 refcount;
 71  public:
 72    inline PRInt32 getFlags()
 73    {
 74      return flags;
 75    }
 76
 77    PRInt32 getGroup();
 78    bool isScoping();
 79    bool isSpecial();
 80    bool isFosterParenting();
 81    bool isHtmlIntegrationPoint();
 82    nsHtml5StackNode(PRInt32 flags, PRInt32 ns, nsIAtom* name, nsIContent** node, nsIAtom* popName, nsHtml5HtmlAttributes* attributes);
 83    nsHtml5StackNode(nsHtml5ElementName* elementName, nsIContent** node);
 84    nsHtml5StackNode(nsHtml5ElementName* elementName, nsIContent** node, nsHtml5HtmlAttributes* attributes);
 85    nsHtml5StackNode(nsHtml5ElementName* elementName, nsIContent** node, nsIAtom* popName);
 86    nsHtml5StackNode(nsHtml5ElementName* elementName, nsIAtom* popName, nsIContent** node);
 87    nsHtml5StackNode(nsHtml5ElementName* elementName, nsIContent** node, nsIAtom* popName, bool markAsIntegrationPoint);
 88  private:
 89    static PRInt32 prepareSvgFlags(PRInt32 flags);
 90    static PRInt32 prepareMathFlags(PRInt32 flags, bool markAsIntegrationPoint);
 91  public:
 92    ~nsHtml5StackNode();
 93    void dropAttributes();
 94    void retain();
 95    void release();
 96    static void initializeStatics();
 97    static void releaseStatics();
 98};
 99
100
101
102#endif
103