|
1 /* -*- Mode: C++; tab-width: 3; indent-tabs-mode: nil; c-basic-offset: 2 -*- |
|
2 * |
|
3 * This Source Code Form is subject to the terms of the Mozilla Public |
|
4 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
6 |
|
7 #ifndef nsPIWindowRoot_h__ |
|
8 #define nsPIWindowRoot_h__ |
|
9 |
|
10 #include "nsISupports.h" |
|
11 #include "mozilla/dom/EventTarget.h" |
|
12 |
|
13 class nsPIDOMWindow; |
|
14 class nsIControllers; |
|
15 class nsIController; |
|
16 |
|
17 #define NS_IWINDOWROOT_IID \ |
|
18 { 0x3f71f50c, 0xa7e0, 0x43bc, \ |
|
19 { 0xac, 0x25, 0x4d, 0xbb, 0x88, 0x7b, 0x21, 0x09 } } |
|
20 |
|
21 class nsPIWindowRoot : public mozilla::dom::EventTarget |
|
22 { |
|
23 public: |
|
24 NS_DECLARE_STATIC_IID_ACCESSOR(NS_IWINDOWROOT_IID) |
|
25 |
|
26 virtual nsPIDOMWindow* GetWindow()=0; |
|
27 |
|
28 // get and set the node that is the context of a popup menu |
|
29 virtual nsIDOMNode* GetPopupNode() = 0; |
|
30 virtual void SetPopupNode(nsIDOMNode* aNode) = 0; |
|
31 |
|
32 virtual nsresult GetControllerForCommand(const char *aCommand, |
|
33 nsIController** aResult) = 0; |
|
34 virtual nsresult GetControllers(nsIControllers** aResult) = 0; |
|
35 |
|
36 virtual void SetParentTarget(mozilla::dom::EventTarget* aTarget) = 0; |
|
37 virtual mozilla::dom::EventTarget* GetParentTarget() = 0; |
|
38 virtual nsIDOMWindow* GetOwnerGlobal() MOZ_OVERRIDE = 0; |
|
39 }; |
|
40 |
|
41 NS_DEFINE_STATIC_IID_ACCESSOR(nsPIWindowRoot, NS_IWINDOWROOT_IID) |
|
42 |
|
43 #endif // nsPIWindowRoot_h__ |