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:
Andrew McCreight 2017-11-28 09:43:27 -08:00
parent 14192dcba4
commit 6e506d37ba
4 changed files with 0 additions and 65 deletions

View File

@ -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);

View File

@ -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)
{

View File

@ -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

View File

@ -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); }