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