Bug 1728955: part 8) Refactor `DisplayErrCode` in Windows' `nsClipboard`. r=masayuki
[gecko.git] / xpfe / appshell / nsContentTreeOwner.h
blobc19e80ecb9a5248d932fd3b9fa9f2a0127e6a584
1 /* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 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/. */
7 #ifndef nsContentTreeOwner_h__
8 #define nsContentTreeOwner_h__
10 // Helper Classes
11 #include "nsCOMPtr.h"
12 #include "nsString.h"
14 // Interfaces Needed
15 #include "nsIBaseWindow.h"
16 #include "nsIDocShellTreeOwner.h"
17 #include "nsIInterfaceRequestor.h"
18 #include "nsIInterfaceRequestorUtils.h"
19 #include "nsIWebBrowserChrome.h"
20 #include "nsIWindowProvider.h"
22 namespace mozilla {
23 class AppWindow;
25 class nsSiteWindow;
27 class nsContentTreeOwner final : public nsIDocShellTreeOwner,
28 public nsIBaseWindow,
29 public nsIInterfaceRequestor,
30 public nsIWebBrowserChrome,
31 public nsIWindowProvider {
32 friend class mozilla::AppWindow;
33 friend class nsSiteWindow;
35 public:
36 NS_DECL_ISUPPORTS
38 NS_DECL_NSIBASEWINDOW
39 NS_DECL_NSIDOCSHELLTREEOWNER
40 NS_DECL_NSIINTERFACEREQUESTOR
41 NS_DECL_NSIWEBBROWSERCHROME
42 NS_DECL_NSIWINDOWPROVIDER
44 protected:
45 explicit nsContentTreeOwner(bool fPrimary);
46 virtual ~nsContentTreeOwner();
48 void AppWindow(mozilla::AppWindow* aAppWindow);
49 mozilla::AppWindow* AppWindow();
51 protected:
52 mozilla::AppWindow* mAppWindow;
53 nsSiteWindow* mSiteWindow;
54 bool mPrimary;
57 #endif /* nsContentTreeOwner_h__ */