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/. */
7 #include "mozilla/LoadContext.h"
11 NS_IMPL_ISUPPORTS(LoadContext
, nsILoadContext
, nsIInterfaceRequestor
)
13 //-----------------------------------------------------------------------------
14 // LoadContext::nsILoadContext
15 //-----------------------------------------------------------------------------
18 LoadContext::GetAssociatedWindow(nsIDOMWindow
**)
20 MOZ_ASSERT(mIsNotNull
);
22 // can't support this in the parent process
23 return NS_ERROR_UNEXPECTED
;
27 LoadContext::GetTopWindow(nsIDOMWindow
**)
29 MOZ_ASSERT(mIsNotNull
);
31 // can't support this in the parent process
32 return NS_ERROR_UNEXPECTED
;
36 LoadContext::GetTopFrameElement(nsIDOMElement
** aElement
)
38 nsCOMPtr
<nsIDOMElement
> element
= do_QueryReferent(mTopFrameElement
);
39 element
.forget(aElement
);
44 LoadContext::GetNestedFrameId(uint64_t* aId
)
47 *aId
= mNestedFrameId
;
52 LoadContext::IsAppOfType(uint32_t, bool*)
54 MOZ_ASSERT(mIsNotNull
);
56 // don't expect we need this in parent (Thunderbird/SeaMonkey specific?)
57 return NS_ERROR_UNEXPECTED
;
61 LoadContext::GetIsContent(bool* aIsContent
)
63 MOZ_ASSERT(mIsNotNull
);
65 NS_ENSURE_ARG_POINTER(aIsContent
);
67 *aIsContent
= mIsContent
;
72 LoadContext::GetUsePrivateBrowsing(bool* aUsePrivateBrowsing
)
74 MOZ_ASSERT(mIsNotNull
);
76 NS_ENSURE_ARG_POINTER(aUsePrivateBrowsing
);
78 *aUsePrivateBrowsing
= mUsePrivateBrowsing
;
83 LoadContext::SetUsePrivateBrowsing(bool aUsePrivateBrowsing
)
85 MOZ_ASSERT(mIsNotNull
);
87 // We shouldn't need this on parent...
88 return NS_ERROR_UNEXPECTED
;
92 LoadContext::SetPrivateBrowsing(bool aUsePrivateBrowsing
)
94 MOZ_ASSERT(mIsNotNull
);
96 // We shouldn't need this on parent...
97 return NS_ERROR_UNEXPECTED
;
101 LoadContext::GetUseRemoteTabs(bool* aUseRemoteTabs
)
103 MOZ_ASSERT(mIsNotNull
);
105 NS_ENSURE_ARG_POINTER(aUseRemoteTabs
);
107 *aUseRemoteTabs
= mUseRemoteTabs
;
112 LoadContext::SetRemoteTabs(bool aUseRemoteTabs
)
114 MOZ_ASSERT(mIsNotNull
);
116 // We shouldn't need this on parent...
117 return NS_ERROR_UNEXPECTED
;
121 LoadContext::GetIsInBrowserElement(bool* aIsInBrowserElement
)
123 MOZ_ASSERT(mIsNotNull
);
125 NS_ENSURE_ARG_POINTER(aIsInBrowserElement
);
127 *aIsInBrowserElement
= mIsInBrowserElement
;
132 LoadContext::GetAppId(uint32_t* aAppId
)
134 MOZ_ASSERT(mIsNotNull
);
136 NS_ENSURE_ARG_POINTER(aAppId
);
142 //-----------------------------------------------------------------------------
143 // LoadContext::nsIInterfaceRequestor
144 //-----------------------------------------------------------------------------
146 LoadContext::GetInterface(const nsIID
&aIID
, void **aResult
)
148 NS_ENSURE_ARG_POINTER(aResult
);
151 if (aIID
.Equals(NS_GET_IID(nsILoadContext
))) {
152 *aResult
= static_cast<nsILoadContext
*>(this);
157 return NS_NOINTERFACE
;
160 } // namespace mozilla