michael@0: /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: /* atom list for CSS anonymous boxes */ michael@0: michael@0: #ifndef nsCSSAnonBoxes_h___ michael@0: #define nsCSSAnonBoxes_h___ michael@0: michael@0: #include "nsIAtom.h" michael@0: michael@0: // Empty class derived from nsIAtom so that function signatures can michael@0: // require an atom from this atom list. michael@0: class nsICSSAnonBoxPseudo : public nsIAtom {}; michael@0: michael@0: class nsCSSAnonBoxes { michael@0: public: michael@0: michael@0: static void AddRefAtoms(); michael@0: michael@0: static bool IsAnonBox(nsIAtom *aAtom); michael@0: #ifdef MOZ_XUL michael@0: static bool IsTreePseudoElement(nsIAtom* aPseudo); michael@0: #endif michael@0: michael@0: #define CSS_ANON_BOX(_name, _value) static nsICSSAnonBoxPseudo* _name; michael@0: #include "nsCSSAnonBoxList.h" michael@0: #undef CSS_ANON_BOX michael@0: }; michael@0: michael@0: #endif /* nsCSSAnonBoxes_h___ */