mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-20 16:55:40 +00:00
Bug 1421355, part 1 - Remove nsIXPConnect::GetPrincipal(). r=mrbkap
This method is unused. It is the only caller of XPCWrappedNative::GetObjectPrincipal() so remove that, too. MozReview-Commit-ID: 8s5toK85YUS --HG-- extra : rebase_source : 551ec90d893ac9f47ef5166ec1dbd2ac8b5c6988
This commit is contained in:
parent
14192dcba4
commit
6e506d37ba
@ -467,17 +467,6 @@ interface nsIXPConnect : nsISupports
|
||||
*/
|
||||
void NotifyDidPaint();
|
||||
|
||||
%{C++
|
||||
/**
|
||||
* Get the object principal for this wrapper. Note that this may well end
|
||||
* up being null; in that case one should seek principals elsewhere. Null
|
||||
* here does NOT indicate system principal or no principals at all, just
|
||||
* that this wrapper doesn't have an intrinsic one.
|
||||
*/
|
||||
virtual nsIPrincipal* GetPrincipal(JSObject* obj,
|
||||
bool allowShortCircuit) const = 0;
|
||||
%}
|
||||
|
||||
[noscript] void writeScript(in nsIObjectOutputStream aStream,
|
||||
in JSContextPtr aJSContext,
|
||||
in JSScriptPtr aJSScript);
|
||||
|
@ -2021,27 +2021,6 @@ NS_IMETHODIMP XPCWrappedNative::GetJSObjectPrototype(JSObject * *aJSObjectProtot
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
nsIPrincipal*
|
||||
XPCWrappedNative::GetObjectPrincipal() const
|
||||
{
|
||||
nsIPrincipal* principal = GetScope()->GetPrincipal();
|
||||
#ifdef DEBUG
|
||||
// Because of inner window reuse, we can have objects with one principal
|
||||
// living in a scope with a different (but same-origin) principal. So
|
||||
// just check same-origin here.
|
||||
nsCOMPtr<nsIScriptObjectPrincipal> objPrin(do_QueryInterface(mIdentity));
|
||||
if (objPrin) {
|
||||
bool equal;
|
||||
if (!principal)
|
||||
equal = !objPrin->GetPrincipal();
|
||||
else
|
||||
principal->Equals(objPrin->GetPrincipal(), &equal);
|
||||
MOZ_ASSERT(equal, "Principal mismatch. Expect bad things to happen");
|
||||
}
|
||||
#endif
|
||||
return principal;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP XPCWrappedNative::FindInterfaceWithMember(HandleId name,
|
||||
nsIInterfaceInfo * *_retval)
|
||||
{
|
||||
|
@ -979,34 +979,6 @@ nsXPConnect::JSToVariant(JSContext* ctx, HandleValue value, nsIVariant** _retval
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
nsIPrincipal*
|
||||
nsXPConnect::GetPrincipal(JSObject* obj, bool allowShortCircuit) const
|
||||
{
|
||||
MOZ_ASSERT(IS_WN_REFLECTOR(obj), "What kind of wrapper is this?");
|
||||
|
||||
XPCWrappedNative* xpcWrapper = XPCWrappedNative::Get(obj);
|
||||
if (xpcWrapper) {
|
||||
if (allowShortCircuit) {
|
||||
nsIPrincipal* result = xpcWrapper->GetObjectPrincipal();
|
||||
if (result) {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
// If not, check if it points to an nsIScriptObjectPrincipal
|
||||
nsCOMPtr<nsIScriptObjectPrincipal> objPrin =
|
||||
do_QueryInterface(xpcWrapper->Native());
|
||||
if (objPrin) {
|
||||
nsIPrincipal* result = objPrin->GetPrincipal();
|
||||
if (result) {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
namespace xpc {
|
||||
|
||||
bool
|
||||
|
@ -269,9 +269,6 @@ public:
|
||||
nsresult GetInfoForIID(const nsIID * aIID, nsIInterfaceInfo** info);
|
||||
nsresult GetInfoForName(const char * name, nsIInterfaceInfo** info);
|
||||
|
||||
virtual nsIPrincipal* GetPrincipal(JSObject* obj,
|
||||
bool allowShortCircuit) const override;
|
||||
|
||||
void RecordTraversal(void* p, nsISupports* s);
|
||||
|
||||
protected:
|
||||
@ -1545,8 +1542,6 @@ public:
|
||||
|
||||
NS_DECL_CYCLE_COLLECTION_CLASS(XPCWrappedNative)
|
||||
|
||||
nsIPrincipal* GetObjectPrincipal() const;
|
||||
|
||||
bool
|
||||
IsValid() const { return mFlatJSObject.hasFlag(FLAT_JS_OBJECT_VALID); }
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user