|
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
|
2 /* vim: set sw=2 ts=8 et tw=80 : */ |
|
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 #include "mozilla/LoadContext.h" |
|
8 |
|
9 namespace mozilla { |
|
10 |
|
11 NS_IMPL_ISUPPORTS(LoadContext, nsILoadContext, nsIInterfaceRequestor) |
|
12 |
|
13 //----------------------------------------------------------------------------- |
|
14 // LoadContext::nsILoadContext |
|
15 //----------------------------------------------------------------------------- |
|
16 |
|
17 NS_IMETHODIMP |
|
18 LoadContext::GetAssociatedWindow(nsIDOMWindow**) |
|
19 { |
|
20 MOZ_ASSERT(mIsNotNull); |
|
21 |
|
22 // can't support this in the parent process |
|
23 return NS_ERROR_UNEXPECTED; |
|
24 } |
|
25 |
|
26 NS_IMETHODIMP |
|
27 LoadContext::GetTopWindow(nsIDOMWindow**) |
|
28 { |
|
29 MOZ_ASSERT(mIsNotNull); |
|
30 |
|
31 // can't support this in the parent process |
|
32 return NS_ERROR_UNEXPECTED; |
|
33 } |
|
34 |
|
35 NS_IMETHODIMP |
|
36 LoadContext::GetTopFrameElement(nsIDOMElement** aElement) |
|
37 { |
|
38 nsCOMPtr<nsIDOMElement> element = do_QueryReferent(mTopFrameElement); |
|
39 element.forget(aElement); |
|
40 return NS_OK; |
|
41 } |
|
42 |
|
43 NS_IMETHODIMP |
|
44 LoadContext::IsAppOfType(uint32_t, bool*) |
|
45 { |
|
46 MOZ_ASSERT(mIsNotNull); |
|
47 |
|
48 // don't expect we need this in parent (Thunderbird/SeaMonkey specific?) |
|
49 return NS_ERROR_UNEXPECTED; |
|
50 } |
|
51 |
|
52 NS_IMETHODIMP |
|
53 LoadContext::GetIsContent(bool* aIsContent) |
|
54 { |
|
55 MOZ_ASSERT(mIsNotNull); |
|
56 |
|
57 NS_ENSURE_ARG_POINTER(aIsContent); |
|
58 |
|
59 *aIsContent = mIsContent; |
|
60 return NS_OK; |
|
61 } |
|
62 |
|
63 NS_IMETHODIMP |
|
64 LoadContext::GetUsePrivateBrowsing(bool* aUsePrivateBrowsing) |
|
65 { |
|
66 MOZ_ASSERT(mIsNotNull); |
|
67 |
|
68 NS_ENSURE_ARG_POINTER(aUsePrivateBrowsing); |
|
69 |
|
70 *aUsePrivateBrowsing = mUsePrivateBrowsing; |
|
71 return NS_OK; |
|
72 } |
|
73 |
|
74 NS_IMETHODIMP |
|
75 LoadContext::SetUsePrivateBrowsing(bool aUsePrivateBrowsing) |
|
76 { |
|
77 MOZ_ASSERT(mIsNotNull); |
|
78 |
|
79 // We shouldn't need this on parent... |
|
80 return NS_ERROR_UNEXPECTED; |
|
81 } |
|
82 |
|
83 NS_IMETHODIMP |
|
84 LoadContext::SetPrivateBrowsing(bool aUsePrivateBrowsing) |
|
85 { |
|
86 MOZ_ASSERT(mIsNotNull); |
|
87 |
|
88 // We shouldn't need this on parent... |
|
89 return NS_ERROR_UNEXPECTED; |
|
90 } |
|
91 |
|
92 NS_IMETHODIMP |
|
93 LoadContext::GetUseRemoteTabs(bool* aUseRemoteTabs) |
|
94 { |
|
95 MOZ_ASSERT(mIsNotNull); |
|
96 |
|
97 NS_ENSURE_ARG_POINTER(aUseRemoteTabs); |
|
98 |
|
99 *aUseRemoteTabs = mUseRemoteTabs; |
|
100 return NS_OK; |
|
101 } |
|
102 |
|
103 NS_IMETHODIMP |
|
104 LoadContext::SetRemoteTabs(bool aUseRemoteTabs) |
|
105 { |
|
106 MOZ_ASSERT(mIsNotNull); |
|
107 |
|
108 // We shouldn't need this on parent... |
|
109 return NS_ERROR_UNEXPECTED; |
|
110 } |
|
111 |
|
112 NS_IMETHODIMP |
|
113 LoadContext::GetIsInBrowserElement(bool* aIsInBrowserElement) |
|
114 { |
|
115 MOZ_ASSERT(mIsNotNull); |
|
116 |
|
117 NS_ENSURE_ARG_POINTER(aIsInBrowserElement); |
|
118 |
|
119 *aIsInBrowserElement = mIsInBrowserElement; |
|
120 return NS_OK; |
|
121 } |
|
122 |
|
123 NS_IMETHODIMP |
|
124 LoadContext::GetAppId(uint32_t* aAppId) |
|
125 { |
|
126 MOZ_ASSERT(mIsNotNull); |
|
127 |
|
128 NS_ENSURE_ARG_POINTER(aAppId); |
|
129 |
|
130 *aAppId = mAppId; |
|
131 return NS_OK; |
|
132 } |
|
133 |
|
134 //----------------------------------------------------------------------------- |
|
135 // LoadContext::nsIInterfaceRequestor |
|
136 //----------------------------------------------------------------------------- |
|
137 NS_IMETHODIMP |
|
138 LoadContext::GetInterface(const nsIID &aIID, void **aResult) |
|
139 { |
|
140 NS_ENSURE_ARG_POINTER(aResult); |
|
141 *aResult = nullptr; |
|
142 |
|
143 if (aIID.Equals(NS_GET_IID(nsILoadContext))) { |
|
144 *aResult = static_cast<nsILoadContext*>(this); |
|
145 NS_ADDREF_THIS(); |
|
146 return NS_OK; |
|
147 } |
|
148 |
|
149 return NS_NOINTERFACE; |
|
150 } |
|
151 |
|
152 } // namespace mozilla |