1 /* -*- Mode: C++; tab-width: 4; 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 /* 7 8 A package of routines shared by the XUL content code. 9 10 */ 11 12 #ifndef nsXULContentUtils_h__ 13 #define nsXULContentUtils_h__ 14 15 #include "nsISupports.h" 16 17 class nsAtom; 18 class nsICollation; 19 class nsIContent; 20 21 namespace mozilla { 22 namespace dom { 23 class Element; 24 } 25 } // namespace mozilla 26 27 class nsXULContentUtils { 28 protected: 29 static nsICollation* gCollation; 30 31 static bool gDisableXULCache; 32 33 static int DisableXULCacheChangedCallback(const char* aPrefName, 34 void* aClosure); 35 36 public: 37 static nsresult Finish(); 38 39 static nsresult FindChildByTag(nsIContent* aElement, int32_t aNameSpaceID, 40 nsAtom* aTag, mozilla::dom::Element** aResult); 41 42 static nsICollation* GetCollation(); 43 }; 44 45 #endif // nsXULContentUtils_h__ 46