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/. */
6 #ifndef nsIGlobalObject_h__
7 #define nsIGlobalObject_h__
9 #include "nsISupports.h"
10 #include "js/TypeDecls.h"
12 #define NS_IGLOBALOBJECT_IID \
13 { 0xe2538ded, 0x13ef, 0x4f4d, \
14 { 0x94, 0x6b, 0x65, 0xd3, 0x33, 0xb4, 0xf0, 0x3c } }
18 class nsIGlobalObject
: public nsISupports
21 NS_DECLARE_STATIC_IID_ACCESSOR(NS_IGLOBALOBJECT_IID
)
23 virtual JSObject
* GetGlobalJSObject() = 0;
25 // This method is not meant to be overridden.
26 nsIPrincipal
* PrincipalOrNull();
29 NS_DEFINE_STATIC_IID_ACCESSOR(nsIGlobalObject
,
32 #endif // nsIGlobalObject_h__