1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2 /* This Source Code Form is subject to the terms of the Mozilla Public 3 * License, v. 2.0. If a copy of the MPL was not distributed with this 4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 5 6 /* atom list for CSS anonymous boxes */ 7 8 #ifndef nsCSSAnonBoxes_h___ 9 #define nsCSSAnonBoxes_h___ 10 11 #include "nsIAtom.h" 12 13 // Empty class derived from nsIAtom so that function signatures can 14 // require an atom from this atom list. 15 class nsICSSAnonBoxPseudo : public nsIAtom {}; 16 17 class nsCSSAnonBoxes { 18 public: 19 20 static void AddRefAtoms(); 21 22 static bool IsAnonBox(nsIAtom *aAtom); 23 #ifdef MOZ_XUL 24 static bool IsTreePseudoElement(nsIAtom* aPseudo); 25 #endif IsNonElement(nsIAtom * aPseudo)26 static bool IsNonElement(nsIAtom* aPseudo) 27 { return aPseudo == mozText || aPseudo == mozOtherNonElement; } 28 29 #define CSS_ANON_BOX(_name, _value) static nsICSSAnonBoxPseudo* _name; 30 #include "nsCSSAnonBoxList.h" 31 #undef CSS_ANON_BOX 32 }; 33 34 #endif /* nsCSSAnonBoxes_h___ */ 35