/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
 *
 * The contents of this file are subject to the Netscape Public License
 * Version 1.0 (the "NPL"); you may not use this file except in
 * compliance with the NPL.  You may obtain a copy of the NPL at
 * http://www.mozilla.org/NPL/
 *
 * Software distributed under the NPL is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
 * for the specific language governing rights and limitations under the
 * NPL.
 *
 * The Initial Developer of this code under the NPL is Netscape
 * Communications Corporation.  Portions created by Netscape are
 * Copyright (C) 1998 Netscape Communications Corporation.  All Rights
 * Reserved.
 */
#include "nsHTMLAtoms.h"

// XXX make this be autogenerated. doh!

nsIAtom* nsHTMLAtoms::mozAnonymousBlock;
nsIAtom* nsHTMLAtoms::mozFirstLineFixup;
nsIAtom* nsHTMLAtoms::mozLetterFrame;
nsIAtom* nsHTMLAtoms::mozLineFrame;
nsIAtom* nsHTMLAtoms::mozListBulletPseudo;

nsIAtom* nsHTMLAtoms::_baseHref;
nsIAtom* nsHTMLAtoms::_baseTarget;
nsIAtom* nsHTMLAtoms::a;
nsIAtom* nsHTMLAtoms::abbr;
nsIAtom* nsHTMLAtoms::above;
nsIAtom* nsHTMLAtoms::accept;
nsIAtom* nsHTMLAtoms::acceptcharset;
nsIAtom* nsHTMLAtoms::accesskey;
nsIAtom* nsHTMLAtoms::action;
nsIAtom* nsHTMLAtoms::align;
nsIAtom* nsHTMLAtoms::alink;
nsIAtom* nsHTMLAtoms::alt;
nsIAtom* nsHTMLAtoms::applet;
nsIAtom* nsHTMLAtoms::archive;
nsIAtom* nsHTMLAtoms::area;
nsIAtom* nsHTMLAtoms::axis;
nsIAtom* nsHTMLAtoms::background;
nsIAtom* nsHTMLAtoms::below;
nsIAtom* nsHTMLAtoms::bgcolor;
nsIAtom* nsHTMLAtoms::body;
nsIAtom* nsHTMLAtoms::border;
nsIAtom* nsHTMLAtoms::bordercolor;
nsIAtom* nsHTMLAtoms::bottompadding;
nsIAtom* nsHTMLAtoms::br;
nsIAtom* nsHTMLAtoms::button;
nsIAtom* nsHTMLAtoms::buttonContentPseudo;
nsIAtom* nsHTMLAtoms::caption;
nsIAtom* nsHTMLAtoms::cellContentPseudo;
nsIAtom* nsHTMLAtoms::cellpadding;
nsIAtom* nsHTMLAtoms::cellspacing;
nsIAtom* nsHTMLAtoms::ch;
nsIAtom* nsHTMLAtoms::_char;
nsIAtom* nsHTMLAtoms::charoff;
nsIAtom* nsHTMLAtoms::charset;
nsIAtom* nsHTMLAtoms::checked;
nsIAtom* nsHTMLAtoms::choff;
nsIAtom* nsHTMLAtoms::cite;
nsIAtom* nsHTMLAtoms::kClass;
nsIAtom* nsHTMLAtoms::classid;
nsIAtom* nsHTMLAtoms::clear;
nsIAtom* nsHTMLAtoms::clip;
nsIAtom* nsHTMLAtoms::code;
nsIAtom* nsHTMLAtoms::codebase;
nsIAtom* nsHTMLAtoms::codetype;
nsIAtom* nsHTMLAtoms::color;
nsIAtom* nsHTMLAtoms::col;
nsIAtom* nsHTMLAtoms::colgroup;
nsIAtom* nsHTMLAtoms::cols;
nsIAtom* nsHTMLAtoms::colspan;
nsIAtom* nsHTMLAtoms::columnPseudo;
nsIAtom* nsHTMLAtoms::comboText;
nsIAtom* nsHTMLAtoms::comboTextSelected;
nsIAtom* nsHTMLAtoms::comboTextSelectedFocus;
nsIAtom* nsHTMLAtoms::commentPseudo;
nsIAtom* nsHTMLAtoms::compact;
nsIAtom* nsHTMLAtoms::content;
nsIAtom* nsHTMLAtoms::coords;
nsIAtom* nsHTMLAtoms::datetime;
nsIAtom* nsHTMLAtoms::data;
nsIAtom* nsHTMLAtoms::declare;
nsIAtom* nsHTMLAtoms::defer;
nsIAtom* nsHTMLAtoms::defaultchecked;
nsIAtom* nsHTMLAtoms::defaultselected;
nsIAtom* nsHTMLAtoms::defaultvalue;
nsIAtom* nsHTMLAtoms::dir;
nsIAtom* nsHTMLAtoms::disabled;
nsIAtom* nsHTMLAtoms::div;
nsIAtom* nsHTMLAtoms::dl;
nsIAtom* nsHTMLAtoms::dropDownVisible;
nsIAtom* nsHTMLAtoms::dropDownHidden;
nsIAtom* nsHTMLAtoms::dropDownBtnOut;
nsIAtom* nsHTMLAtoms::dropDownBtnPressed;
nsIAtom* nsHTMLAtoms::dropDownList;
nsIAtom* nsHTMLAtoms::embed;
nsIAtom* nsHTMLAtoms::encoding;
nsIAtom* nsHTMLAtoms::enctype;
nsIAtom* nsHTMLAtoms::face;
nsIAtom* nsHTMLAtoms::fieldset;
nsIAtom* nsHTMLAtoms::fieldsetContentPseudo;
nsIAtom* nsHTMLAtoms::fileButtonStylePseudo;
nsIAtom* nsHTMLAtoms::fileTextStylePseudo;
nsIAtom* nsHTMLAtoms::firstLetterPseudo;
nsIAtom* nsHTMLAtoms::firstLinePseudo;
nsIAtom* nsHTMLAtoms::font;
nsIAtom* nsHTMLAtoms::fontWeight;
nsIAtom* nsHTMLAtoms::_for;
nsIAtom* nsHTMLAtoms::form;
nsIAtom* nsHTMLAtoms::frame;
nsIAtom* nsHTMLAtoms::frameborder;
nsIAtom* nsHTMLAtoms::frameset;
nsIAtom* nsHTMLAtoms::framesetBlankPseudo;
nsIAtom* nsHTMLAtoms::gutter;
nsIAtom* nsHTMLAtoms::h1;
nsIAtom* nsHTMLAtoms::h2;
nsIAtom* nsHTMLAtoms::h3;
nsIAtom* nsHTMLAtoms::h4;
nsIAtom* nsHTMLAtoms::h5;
nsIAtom* nsHTMLAtoms::h6;
nsIAtom* nsHTMLAtoms::headerContentBase;
nsIAtom* nsHTMLAtoms::headerContentLanguage;
nsIAtom* nsHTMLAtoms::headerContentScriptType;
nsIAtom* nsHTMLAtoms::headerContentStyleType;
nsIAtom* nsHTMLAtoms::headerContentType;
nsIAtom* nsHTMLAtoms::headerDefaultStyle;
nsIAtom* nsHTMLAtoms::headerWindowTarget;
nsIAtom* nsHTMLAtoms::headers;
nsIAtom* nsHTMLAtoms::height;
nsIAtom* nsHTMLAtoms::hidden;
nsIAtom* nsHTMLAtoms::horizontalFramesetBorderPseudo;
nsIAtom* nsHTMLAtoms::hr;
nsIAtom* nsHTMLAtoms::href;
nsIAtom* nsHTMLAtoms::hreflang;
nsIAtom* nsHTMLAtoms::hspace;
nsIAtom* nsHTMLAtoms::html;
nsIAtom* nsHTMLAtoms::httpEquiv;
nsIAtom* nsHTMLAtoms::ibPseudo;
nsIAtom* nsHTMLAtoms::id;
nsIAtom* nsHTMLAtoms::iframe;
nsIAtom* nsHTMLAtoms::ilayer;
nsIAtom* nsHTMLAtoms::img;
nsIAtom* nsHTMLAtoms::index;
nsIAtom* nsHTMLAtoms::input;
nsIAtom* nsHTMLAtoms::ismap;
nsIAtom* nsHTMLAtoms::label;
nsIAtom* nsHTMLAtoms::labelContentPseudo;
nsIAtom* nsHTMLAtoms::lang;
nsIAtom* nsHTMLAtoms::layer;
nsIAtom* nsHTMLAtoms::layout;
nsIAtom* nsHTMLAtoms::li;
nsIAtom* nsHTMLAtoms::link;
nsIAtom* nsHTMLAtoms::left;
nsIAtom* nsHTMLAtoms::leftpadding;
nsIAtom* nsHTMLAtoms::length;
nsIAtom* nsHTMLAtoms::legend;
nsIAtom* nsHTMLAtoms::legendContentPseudo;
nsIAtom* nsHTMLAtoms::longdesc;
nsIAtom* nsHTMLAtoms::lowsrc;
nsIAtom* nsHTMLAtoms::marginheight;
nsIAtom* nsHTMLAtoms::marginwidth;
nsIAtom* nsHTMLAtoms::maxlength;
nsIAtom* nsHTMLAtoms::mayscript;
nsIAtom* nsHTMLAtoms::media;
nsIAtom* nsHTMLAtoms::menu;
nsIAtom* nsHTMLAtoms::method;
nsIAtom* nsHTMLAtoms::multicol;
nsIAtom* nsHTMLAtoms::multiple;
nsIAtom* nsHTMLAtoms::name;
nsIAtom* nsHTMLAtoms::nohref;
nsIAtom* nsHTMLAtoms::noresize;
nsIAtom* nsHTMLAtoms::noshade;
nsIAtom* nsHTMLAtoms::nowrap;
nsIAtom* nsHTMLAtoms::object;
nsIAtom* nsHTMLAtoms::ol;
nsIAtom* nsHTMLAtoms::onabort;
nsIAtom* nsHTMLAtoms::onblur;
nsIAtom* nsHTMLAtoms::onchange;
nsIAtom* nsHTMLAtoms::onclick;
nsIAtom* nsHTMLAtoms::ondblclick;
nsIAtom* nsHTMLAtoms::ondragdrop;
nsIAtom* nsHTMLAtoms::onerror;
nsIAtom* nsHTMLAtoms::onfocus;
nsIAtom* nsHTMLAtoms::onkeydown;
nsIAtom* nsHTMLAtoms::onkeypress;
nsIAtom* nsHTMLAtoms::onkeyup;
nsIAtom* nsHTMLAtoms::onload;
nsIAtom* nsHTMLAtoms::onmousedown;
nsIAtom* nsHTMLAtoms::onmousemove;
nsIAtom* nsHTMLAtoms::onmouseover;
nsIAtom* nsHTMLAtoms::onmouseout;
nsIAtom* nsHTMLAtoms::onmouseup;
nsIAtom* nsHTMLAtoms::onpaint;
nsIAtom* nsHTMLAtoms::onreset;
nsIAtom* nsHTMLAtoms::onsubmit;
nsIAtom* nsHTMLAtoms::onunload;
nsIAtom* nsHTMLAtoms::option;
nsIAtom* nsHTMLAtoms::overflow;
nsIAtom* nsHTMLAtoms::p;
nsIAtom* nsHTMLAtoms::pagex;
nsIAtom* nsHTMLAtoms::pagey;
nsIAtom* nsHTMLAtoms::param;
nsIAtom* nsHTMLAtoms::placeholderPseudo;
nsIAtom* nsHTMLAtoms::pointSize;
nsIAtom* nsHTMLAtoms::pre;
nsIAtom* nsHTMLAtoms::processingInstructionPseudo;
nsIAtom* nsHTMLAtoms::profile;
nsIAtom* nsHTMLAtoms::prompt;
nsIAtom* nsHTMLAtoms::radioPseudo;
nsIAtom* nsHTMLAtoms::readonly;
nsIAtom* nsHTMLAtoms::rel;
nsIAtom* nsHTMLAtoms::repeat;
nsIAtom* nsHTMLAtoms::rev;
nsIAtom* nsHTMLAtoms::rightpadding;
nsIAtom* nsHTMLAtoms::rootPseudo;
nsIAtom* nsHTMLAtoms::rows;
nsIAtom* nsHTMLAtoms::rowspan;
nsIAtom* nsHTMLAtoms::rules;
nsIAtom* nsHTMLAtoms::scheme;
nsIAtom* nsHTMLAtoms::scope;
nsIAtom* nsHTMLAtoms::script;
nsIAtom* nsHTMLAtoms::scrolledContentPseudo;
nsIAtom* nsHTMLAtoms::scrolling;
nsIAtom* nsHTMLAtoms::select;
nsIAtom* nsHTMLAtoms::selected;
nsIAtom* nsHTMLAtoms::selectedindex;
nsIAtom* nsHTMLAtoms::shape;
nsIAtom* nsHTMLAtoms::size;
nsIAtom* nsHTMLAtoms::spacer;
nsIAtom* nsHTMLAtoms::span;
nsIAtom* nsHTMLAtoms::src;
nsIAtom* nsHTMLAtoms::standby;
nsIAtom* nsHTMLAtoms::start;
nsIAtom* nsHTMLAtoms::style;
nsIAtom* nsHTMLAtoms::summary;
nsIAtom* nsHTMLAtoms::suppress;
nsIAtom* nsHTMLAtoms::tabindex;
nsIAtom* nsHTMLAtoms::table;
nsIAtom* nsHTMLAtoms::tablePseudo;
nsIAtom* nsHTMLAtoms::tableCellPseudo;
nsIAtom* nsHTMLAtoms::tableColGroupPseudo;
nsIAtom* nsHTMLAtoms::tableColPseudo;
nsIAtom* nsHTMLAtoms::tableOuterPseudo;
nsIAtom* nsHTMLAtoms::tableRowGroupPseudo;
nsIAtom* nsHTMLAtoms::tableRowPseudo;
nsIAtom* nsHTMLAtoms::tabstop;
nsIAtom* nsHTMLAtoms::target;
nsIAtom* nsHTMLAtoms::tbody;
nsIAtom* nsHTMLAtoms::td;
nsIAtom* nsHTMLAtoms::tfoot;
nsIAtom* nsHTMLAtoms::thead;
nsIAtom* nsHTMLAtoms::text;
nsIAtom* nsHTMLAtoms::textarea;
nsIAtom* nsHTMLAtoms::textPseudo;
nsIAtom* nsHTMLAtoms::th;
nsIAtom* nsHTMLAtoms::title;
nsIAtom* nsHTMLAtoms::top;
nsIAtom* nsHTMLAtoms::toppadding;
nsIAtom* nsHTMLAtoms::tr;
nsIAtom* nsHTMLAtoms::type;
nsIAtom* nsHTMLAtoms::ul;
nsIAtom* nsHTMLAtoms::usemap;
nsIAtom* nsHTMLAtoms::valign;
nsIAtom* nsHTMLAtoms::value;
nsIAtom* nsHTMLAtoms::valuetype;
nsIAtom* nsHTMLAtoms::variable;
nsIAtom* nsHTMLAtoms::vcard_name;
nsIAtom* nsHTMLAtoms::version;
nsIAtom* nsHTMLAtoms::verticalFramesetBorderPseudo;
nsIAtom* nsHTMLAtoms::visibility;
nsIAtom* nsHTMLAtoms::vlink;
nsIAtom* nsHTMLAtoms::vspace;
nsIAtom* nsHTMLAtoms::wbr;
nsIAtom* nsHTMLAtoms::width;
nsIAtom* nsHTMLAtoms::wrap;
nsIAtom* nsHTMLAtoms::wrappedFramePseudo;
nsIAtom* nsHTMLAtoms::zindex;
nsIAtom* nsHTMLAtoms::z_index;


static nsrefcnt gRefCnt;

void nsHTMLAtoms::AddrefAtoms()
{
  if (0 == gRefCnt) {
    mozAnonymousBlock = NS_NewAtom(":-moz-anonymous-block");
    mozFirstLineFixup = NS_NewAtom(":-moz-first-line-fixup");
    mozLetterFrame = NS_NewAtom(":-moz-letter-frame");
    mozLineFrame = NS_NewAtom(":-moz-line-frame");
    mozListBulletPseudo = NS_NewAtom(":-moz-list-bullet");

    _baseHref = NS_NewAtom(NS_HTML_BASE_HREF);
    _baseTarget = NS_NewAtom(NS_HTML_BASE_TARGET);
    a = NS_NewAtom("a");
    abbr = NS_NewAtom("abbr");
    above = NS_NewAtom("above");
    accept = NS_NewAtom("accept");
    acceptcharset = NS_NewAtom("acceptcharset");
    accesskey = NS_NewAtom("accesskey");
    action = NS_NewAtom("action");
    align = NS_NewAtom("align");
    alink = NS_NewAtom("alink");
    alt = NS_NewAtom("alt");
    applet = NS_NewAtom("applet");
    archive = NS_NewAtom("archive");
    area = NS_NewAtom("area");
    axis = NS_NewAtom("axis");
    background = NS_NewAtom("background");
    below = NS_NewAtom("below");
    bgcolor = NS_NewAtom("bgcolor");
    body = NS_NewAtom("body");
    border = NS_NewAtom("border");
    bordercolor = NS_NewAtom("bordercolor");
    bottompadding = NS_NewAtom("bottompadding");
    br = NS_NewAtom("br");
    button = NS_NewAtom("button");
    buttonContentPseudo = NS_NewAtom(":button-content");
    caption = NS_NewAtom("caption");
    cellContentPseudo = NS_NewAtom(":cell-content");
    cellpadding = NS_NewAtom("cellpadding");
    cellspacing = NS_NewAtom("cellspacing");
    ch = NS_NewAtom("ch");
    _char = NS_NewAtom("char");
    charoff = NS_NewAtom("charoff");
    charset = NS_NewAtom("charset");
    checked = NS_NewAtom("checked");
    choff = NS_NewAtom("choff");
    cite = NS_NewAtom("cite");
    kClass = NS_NewAtom("class");
    classid = NS_NewAtom("classid");
    clear = NS_NewAtom("clear");
    clip = NS_NewAtom("clip");
    code = NS_NewAtom("code");
    codebase = NS_NewAtom("codebase");
    codetype = NS_NewAtom("codetype");
    color = NS_NewAtom("color");
    col = NS_NewAtom("col");
    colgroup = NS_NewAtom("colgroup");
    cols = NS_NewAtom("cols");
    colspan = NS_NewAtom("colspan");
    columnPseudo = NS_NewAtom(":body-column");
    comboText = NS_NewAtom(":-moz-combobox-text");
    comboTextSelected = NS_NewAtom(":-moz-combobox-textselected");
    comboTextSelectedFocus = NS_NewAtom(":-moz-combobox-textselectedfocus");
    commentPseudo = NS_NewAtom(":-moz-comment");
    compact = NS_NewAtom("compact");
    content = NS_NewAtom("content");
    coords = NS_NewAtom("coords");
    defaultchecked = NS_NewAtom("defaultchecked");
    defaultselected = NS_NewAtom("defaultselected");
    defaultvalue = NS_NewAtom("defaultvalue");
    declare = NS_NewAtom("declare");
    defer = NS_NewAtom("defer");
    dir = NS_NewAtom("dir");
    div = NS_NewAtom("div");
    disabled = NS_NewAtom("disabled");
    dl = NS_NewAtom("dl");
    dropDownVisible  = NS_NewAtom(":-moz-dropdown-visible");
    dropDownHidden   = NS_NewAtom(":-moz-dropdown-hidden");
    dropDownBtnOut   = NS_NewAtom(":-moz-dropdown-btn-out");
    dropDownBtnPressed = NS_NewAtom(":-moz-dropdown-btn-pressed");
    dropDownList = NS_NewAtom(":-moz-dropdown-list");
   
    datetime = NS_NewAtom("datetime");
    data = NS_NewAtom("data");
    embed = NS_NewAtom("embed");
    encoding = NS_NewAtom("encoding");
    enctype = NS_NewAtom("enctype");
    face = NS_NewAtom("face");
    fieldset = NS_NewAtom("fieldset");
    fieldsetContentPseudo = NS_NewAtom(":fieldset-content");
    fileButtonStylePseudo = NS_NewAtom(":-moz-file-button");
    fileTextStylePseudo = NS_NewAtom(":-moz-file-text");

    firstLetterPseudo = NS_NewAtom(":first-letter");
    firstLinePseudo = NS_NewAtom(":first-line");
    font = NS_NewAtom("font");
    fontWeight = NS_NewAtom("font-weight");
    _for = NS_NewAtom("for");
    form = NS_NewAtom("form");
    frame = NS_NewAtom("frame");
    frameborder = NS_NewAtom("frameborder");
    frameset = NS_NewAtom("frameset");
    framesetBlankPseudo = NS_NewAtom(":frameset-blank");
    gutter = NS_NewAtom("gutter");
    h1 = NS_NewAtom("h1");
    h2 = NS_NewAtom("h2");
    h3 = NS_NewAtom("h3");
    h4 = NS_NewAtom("h4");
    h5 = NS_NewAtom("h5");
    h6 = NS_NewAtom("h6");
    headerContentBase = NS_NewAtom("content-base");
    headerContentLanguage = NS_NewAtom("content-language");
    headerContentScriptType = NS_NewAtom("content-script-type");
    headerContentStyleType = NS_NewAtom("content-style-type");
    headerContentType = NS_NewAtom("content-type");
    headerDefaultStyle = NS_NewAtom("default-style");
    headerWindowTarget = NS_NewAtom("window-target");
    headers = NS_NewAtom("headers");
    height = NS_NewAtom("height");
    hidden = NS_NewAtom("hidden");
    horizontalFramesetBorderPseudo = NS_NewAtom(":hframeset-border");
    hr = NS_NewAtom("hr");
    href = NS_NewAtom("href");
    hreflang = NS_NewAtom("hreflang");
    hspace = NS_NewAtom("hspace");
    html = NS_NewAtom("html");
    httpEquiv = NS_NewAtom("http-equiv");
    ibPseudo = NS_NewAtom(":ib-pseudo");
    id = NS_NewAtom("id");
    iframe = NS_NewAtom("iframe");
    ilayer = NS_NewAtom("ilayer");
    img = NS_NewAtom("img");
    index = NS_NewAtom("index");
    input = NS_NewAtom("input");
    ismap = NS_NewAtom("ismap");
    label = NS_NewAtom("label");
    labelContentPseudo = NS_NewAtom(":label-content");
    lang = NS_NewAtom("lang");
    layer = NS_NewAtom("layer");
    layout = NS_NewAtom("layout");
    li = NS_NewAtom("li");
    link = NS_NewAtom("link");
    left = NS_NewAtom("left");
    leftpadding = NS_NewAtom("leftpadding");
    legend = NS_NewAtom("legend");
    legendContentPseudo = NS_NewAtom(":legend-content");
    length = NS_NewAtom("length");
    longdesc = NS_NewAtom("longdesc");
    lowsrc = NS_NewAtom("lowsrc");
    marginheight = NS_NewAtom("marginheight");
    marginwidth = NS_NewAtom("marginwidth");
    maxlength = NS_NewAtom("maxlength");
    mayscript = NS_NewAtom("mayscript");
    media = NS_NewAtom("media");
    menu = NS_NewAtom("menu");
    method = NS_NewAtom("method");
    multicol = NS_NewAtom("multicol");
    multiple = NS_NewAtom("multiple");
    name = NS_NewAtom("name");
    nohref = NS_NewAtom("nohref");
    noresize = NS_NewAtom("noresize");
    noshade = NS_NewAtom("noshade");
    nowrap = NS_NewAtom("nowrap");
    object = NS_NewAtom("object");
    ol = NS_NewAtom("ol");
    onabort = NS_NewAtom("onabort");
    onblur = NS_NewAtom("onblur");
    onchange = NS_NewAtom("onchange");
    onclick = NS_NewAtom("onclick");
    ondblclick = NS_NewAtom("ondblclick");
    ondragdrop = NS_NewAtom("ondragdrop");
    onerror = NS_NewAtom("onerror");
    onfocus = NS_NewAtom("onfocus");
    onkeydown = NS_NewAtom("onkeydown");
    onkeypress = NS_NewAtom("onkeypress");
    onkeyup = NS_NewAtom("onkeyup");
    onload = NS_NewAtom("onload");
    onmousedown = NS_NewAtom("onmousedown");
    onmousemove = NS_NewAtom("onmousemove");
    onmouseover = NS_NewAtom("onmouseover");
    onmouseout = NS_NewAtom("onmouseout");
    onmouseup = NS_NewAtom("onmouseup");
    onpaint = NS_NewAtom("onpaint");
    onreset = NS_NewAtom("onreset");
    onsubmit = NS_NewAtom("onsubmit");
    onunload = NS_NewAtom("onunload");
    option = NS_NewAtom("option");
    overflow = NS_NewAtom("overflow");
    p = NS_NewAtom("p");
    pagex = NS_NewAtom("pagex");
    pagey = NS_NewAtom("pagey");
    param = NS_NewAtom("param");
    placeholderPseudo = NS_NewAtom(":placeholder-frame");
    pointSize = NS_NewAtom("point-size");
    pre = NS_NewAtom("pre");
    processingInstructionPseudo = NS_NewAtom(":-moz-pi");
    profile = NS_NewAtom("profile");
    prompt = NS_NewAtom("prompt");
    radioPseudo = NS_NewAtom(":-moz-radio");
    readonly = NS_NewAtom("readonly");
    rel = NS_NewAtom("rel");
    repeat = NS_NewAtom("repeat");
    rev = NS_NewAtom("rev");
    rightpadding = NS_NewAtom("rightpadding");
    rootPseudo = NS_NewAtom(":root");
    rows = NS_NewAtom("rows");
    rowspan = NS_NewAtom("rowspan");
    rules = NS_NewAtom("rules");
    scheme = NS_NewAtom("scheme");
    scope = NS_NewAtom("scope");
    script = NS_NewAtom("script");
    scrolledContentPseudo = NS_NewAtom(":scrolled-content");
    scrolling = NS_NewAtom("scrolling");
    select = NS_NewAtom("select");
    selected = NS_NewAtom("selected");
    selectedindex = NS_NewAtom("selectedindex");
    shape = NS_NewAtom("shape");
    size = NS_NewAtom("size");
    spacer = NS_NewAtom("spacer");
    span = NS_NewAtom("span");
    src = NS_NewAtom("src");
    standby = NS_NewAtom("standby");
    start = NS_NewAtom("start");
    style = NS_NewAtom("style");
    summary = NS_NewAtom("summary");
    suppress = NS_NewAtom("suppress");
    tabindex = NS_NewAtom("tabindex");
    table = NS_NewAtom("table");
    tablePseudo = NS_NewAtom(":table");
    tableCellPseudo = NS_NewAtom(":table-cell");
    tableColGroupPseudo = NS_NewAtom(":table-column-group");
    tableColPseudo = NS_NewAtom(":table-column");
    tableOuterPseudo = NS_NewAtom(":table-outer");
    tableRowGroupPseudo = NS_NewAtom(":table-row-group");
    tableRowPseudo = NS_NewAtom(":table-row");
    tabstop = NS_NewAtom("tabstop");
    target = NS_NewAtom("target");
    tbody = NS_NewAtom("tbody");
    td = NS_NewAtom("td");
    tfoot = NS_NewAtom("tfoot");
    thead = NS_NewAtom("thead");
    text = NS_NewAtom("text");
    textarea = NS_NewAtom("textarea");
    textPseudo = NS_NewAtom(":-moz-text");
    th = NS_NewAtom("th");
    title = NS_NewAtom("title");
    top = NS_NewAtom("top");
    toppadding = NS_NewAtom("toppadding");
    tr = NS_NewAtom("tr");
    type = NS_NewAtom("type");
    ul = NS_NewAtom("ul");
    usemap = NS_NewAtom("usemap");
    valign = NS_NewAtom("valign");
    value = NS_NewAtom("value");
    valuetype = NS_NewAtom("valuetype");
    variable = NS_NewAtom("variable");
    vcard_name = NS_NewAtom("vcard_name");
    version = NS_NewAtom("version");
    verticalFramesetBorderPseudo = NS_NewAtom(":vframeset-border");
    visibility = NS_NewAtom("visibility");
    vlink = NS_NewAtom("vlink");
    vspace = NS_NewAtom("vspace");
    wbr = NS_NewAtom("wbr");
    width = NS_NewAtom("width");
    wrap = NS_NewAtom("wrap");
    wrappedFramePseudo = NS_NewAtom(":wrapped-frame");
    zindex = NS_NewAtom("zindex");
    z_index = NS_NewAtom("z-index");
  }
  ++gRefCnt;
}

void nsHTMLAtoms::ReleaseAtoms()
{
  NS_PRECONDITION(gRefCnt != 0, "bad release atoms");
  if (--gRefCnt == 0) {
    NS_RELEASE(mozAnonymousBlock);
    NS_RELEASE(mozLetterFrame);
    NS_RELEASE(mozLineFrame);
    NS_RELEASE(mozListBulletPseudo);

    NS_RELEASE(_baseHref);
    NS_RELEASE(_baseTarget);
    NS_RELEASE(a);
    NS_RELEASE(abbr);
    NS_RELEASE(above);
    NS_RELEASE(action);
    NS_RELEASE(align);
    NS_RELEASE(alink);
    NS_RELEASE(alt);
    NS_RELEASE(applet);
    NS_RELEASE(archive);
    NS_RELEASE(area);
    NS_RELEASE(axis);
    NS_RELEASE(background);
    NS_RELEASE(below);
    NS_RELEASE(bgcolor);
    NS_RELEASE(body);
    NS_RELEASE(border);
    NS_RELEASE(bordercolor);
    NS_RELEASE(bottompadding);
    NS_RELEASE(br);
    NS_RELEASE(button);
    NS_RELEASE(buttonContentPseudo);
    NS_RELEASE(caption);
    NS_RELEASE(cellContentPseudo);
    NS_RELEASE(cellpadding);
    NS_RELEASE(cellspacing);
    NS_RELEASE(ch);
    NS_RELEASE(_char);
    NS_RELEASE(charoff);
    NS_RELEASE(charset);
    NS_RELEASE(checked);
    NS_RELEASE(choff);
    NS_RELEASE(cite);
    NS_RELEASE(kClass);
    NS_RELEASE(classid);
    NS_RELEASE(clear);
    NS_RELEASE(clip);
    NS_RELEASE(code);
    NS_RELEASE(codebase);
    NS_RELEASE(codetype);
    NS_RELEASE(color);
    NS_RELEASE(col);
    NS_RELEASE(colgroup);
    NS_RELEASE(cols);
    NS_RELEASE(colspan);
    NS_RELEASE(columnPseudo);
    NS_RELEASE(comboText); 
    NS_RELEASE(comboTextSelected);
    NS_RELEASE(comboTextSelectedFocus);
    NS_RELEASE(commentPseudo);
    NS_RELEASE(compact);
    NS_RELEASE(content);
    NS_RELEASE(coords);
    NS_RELEASE(data);
    NS_RELEASE(datetime);
    NS_RELEASE(defaultchecked);
    NS_RELEASE(defaultselected);
    NS_RELEASE(defaultvalue);
    NS_RELEASE(declare);
    NS_RELEASE(defer);
    NS_RELEASE(dir);
    NS_RELEASE(disabled);
    NS_RELEASE(div);
    NS_RELEASE(dl);
    NS_RELEASE(dropDownVisible);
    NS_RELEASE(dropDownHidden);
    NS_RELEASE(dropDownBtnOut);
    NS_RELEASE(dropDownBtnPressed);
    NS_RELEASE(dropDownList);
    NS_RELEASE(embed);
    NS_RELEASE(encoding);
    NS_RELEASE(face);
    NS_RELEASE(fieldset);
    NS_RELEASE(fieldsetContentPseudo);
    NS_RELEASE(firstLetterPseudo);
    NS_RELEASE(firstLinePseudo);
    NS_RELEASE(font);
    NS_RELEASE(fontWeight);
    NS_RELEASE(_for);
    NS_RELEASE(form);
    NS_RELEASE(frameborder);
    NS_RELEASE(frameset);
    NS_RELEASE(framesetBlankPseudo);
    NS_RELEASE(gutter);
    NS_RELEASE(h1);
    NS_RELEASE(h2);
    NS_RELEASE(h3);
    NS_RELEASE(h4);
    NS_RELEASE(h5);
    NS_RELEASE(h6);
    NS_RELEASE(headerContentBase);
    NS_RELEASE(headerContentLanguage);
    NS_RELEASE(headerContentScriptType);
    NS_RELEASE(headerContentStyleType);
    NS_RELEASE(headerContentType);
    NS_RELEASE(headerDefaultStyle);
    NS_RELEASE(headerWindowTarget);
    NS_RELEASE(headers);
    NS_RELEASE(height);
    NS_RELEASE(hidden);
    NS_RELEASE(horizontalFramesetBorderPseudo);
    NS_RELEASE(hr);
    NS_RELEASE(href);
    NS_RELEASE(hspace);
    NS_RELEASE(html);
    NS_RELEASE(httpEquiv);
    NS_RELEASE(ibPseudo);
    NS_RELEASE(id);
    NS_RELEASE(iframe);
    NS_RELEASE(ilayer);
    NS_RELEASE(img);
    NS_RELEASE(index);
    NS_RELEASE(input);
    NS_RELEASE(ismap);
    NS_RELEASE(label);
    NS_RELEASE(labelContentPseudo);
    NS_RELEASE(lang);
    NS_RELEASE(layer);
    NS_RELEASE(layout);
    NS_RELEASE(li);
    NS_RELEASE(link);
    NS_RELEASE(left);
    NS_RELEASE(leftpadding);
    NS_RELEASE(legend);
    NS_RELEASE(legendContentPseudo);
    NS_RELEASE(length);
    NS_RELEASE(lowsrc);
    NS_RELEASE(marginheight);
    NS_RELEASE(marginwidth);
    NS_RELEASE(maxlength);
    NS_RELEASE(mayscript);
    NS_RELEASE(media);
    NS_RELEASE(menu);
    NS_RELEASE(method);
    NS_RELEASE(multicol);
    NS_RELEASE(multiple);
    NS_RELEASE(name);
    NS_RELEASE(nohref);
    NS_RELEASE(noresize);
    NS_RELEASE(noshade);
    NS_RELEASE(nowrap);
    NS_RELEASE(object);
    NS_RELEASE(ol);
    NS_RELEASE(onabort);
    NS_RELEASE(onblur);
    NS_RELEASE(onchange);
    NS_RELEASE(onclick);
    NS_RELEASE(ondblclick);
    NS_RELEASE(ondragdrop);
    NS_RELEASE(onerror);
    NS_RELEASE(onfocus);
    NS_RELEASE(onkeydown);
    NS_RELEASE(onkeypress);
    NS_RELEASE(onkeyup);
    NS_RELEASE(onload);
    NS_RELEASE(onmousedown);
    NS_RELEASE(onmousemove);
    NS_RELEASE(onmouseover);
    NS_RELEASE(onmouseout);
    NS_RELEASE(onmouseup);
    NS_RELEASE(onpaint);
    NS_RELEASE(onreset);
    NS_RELEASE(onsubmit);
    NS_RELEASE(onunload);
    NS_RELEASE(option);
    NS_RELEASE(overflow);
    NS_RELEASE(p);
    NS_RELEASE(pagex);
    NS_RELEASE(pagey);
    NS_RELEASE(param);
    NS_RELEASE(placeholderPseudo);
    NS_RELEASE(pointSize);
    NS_RELEASE(pre);
    NS_RELEASE(processingInstructionPseudo);
    NS_RELEASE(profile);
    NS_RELEASE(prompt);
    NS_RELEASE(radioPseudo);
    NS_RELEASE(readonly);
    NS_RELEASE(rel);
    NS_RELEASE(repeat);
    NS_RELEASE(rightpadding);
    NS_RELEASE(rootPseudo);
    NS_RELEASE(rows);
    NS_RELEASE(rowspan);
    NS_RELEASE(rules);
    NS_RELEASE(scheme);
    NS_RELEASE(scope);
    NS_RELEASE(script);
    NS_RELEASE(scrolling);
    NS_RELEASE(select);
    NS_RELEASE(selected);
    NS_RELEASE(selectedindex);
    NS_RELEASE(shape);
    NS_RELEASE(size);
    NS_RELEASE(spacer);
    NS_RELEASE(span);
    NS_RELEASE(src);
    NS_RELEASE(standby);
    NS_RELEASE(start);
    NS_RELEASE(style);
    NS_RELEASE(summary);
    NS_RELEASE(suppress);
    NS_RELEASE(table);
    NS_RELEASE(tablePseudo);
    NS_RELEASE(tableCellPseudo);
    NS_RELEASE(tableColGroupPseudo);
    NS_RELEASE(tableColPseudo);
    NS_RELEASE(tableOuterPseudo);
    NS_RELEASE(tableRowGroupPseudo);
    NS_RELEASE(tableRowPseudo);
    NS_RELEASE(tabstop);
    NS_RELEASE(target);
    NS_RELEASE(tbody);
    NS_RELEASE(td);
    NS_RELEASE(tfoot);
    NS_RELEASE(thead);
    NS_RELEASE(text);
    NS_RELEASE(textarea);
    NS_RELEASE(textPseudo);
    NS_RELEASE(th);
    NS_RELEASE(top);
    NS_RELEASE(toppadding);
    NS_RELEASE(tr);
    NS_RELEASE(type);
    NS_RELEASE(ul);
    NS_RELEASE(usemap);
    NS_RELEASE(valign);
    NS_RELEASE(value);
    NS_RELEASE(valuetype);
    NS_RELEASE(variable);
    NS_RELEASE(vcard_name);
    NS_RELEASE(version);
    NS_RELEASE(verticalFramesetBorderPseudo);
    NS_RELEASE(visibility);
    NS_RELEASE(vlink);
    NS_RELEASE(vspace);
    NS_RELEASE(wbr);
    NS_RELEASE(width);
    NS_RELEASE(wrap);
    NS_RELEASE(wrappedFramePseudo);
    NS_RELEASE(zindex);
    NS_RELEASE(z_index);
  }
}

