зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1416193 - Cloned nsHostObjectURI objects should be stored together with their BlobImpl by nsHostObjectProtocolHandler, r=valentin
This commit is contained in:
Родитель
6232db29bd
Коммит
e50200ef65
|
@ -913,6 +913,18 @@ nsFontTableProtocolHandler::GetScheme(nsACString &result)
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
/* static */ void
|
||||
nsHostObjectProtocolHandler::StoreClonedURI(const nsACString& aSpec,
|
||||
nsIURI* aURI)
|
||||
{
|
||||
MOZ_ASSERT(aURI);
|
||||
|
||||
DataInfo* info = GetDataInfo(aSpec);
|
||||
if (info) {
|
||||
info->mURIs.AppendElement(do_GetWeakReference(aURI));
|
||||
}
|
||||
}
|
||||
|
||||
nsresult
|
||||
NS_GetBlobForBlobURI(nsIURI* aURI, BlobImpl** aBlob)
|
||||
{
|
||||
|
|
|
@ -89,6 +89,9 @@ public:
|
|||
GetAllBlobURLEntries(nsTArray<mozilla::dom::BlobURLRegistrationData>& aRegistrations,
|
||||
mozilla::dom::ContentParent* aCP);
|
||||
|
||||
// This is for nsHostObjectURI.
|
||||
static void StoreClonedURI(const nsACString& aSpec, nsIURI* aURI);
|
||||
|
||||
protected:
|
||||
virtual ~nsHostObjectProtocolHandler() {}
|
||||
|
||||
|
|
|
@ -187,6 +187,9 @@ nsHostObjectURI::CloneInternal(mozilla::net::nsSimpleURI::RefHandlingEnum aRefHa
|
|||
u->mPrincipal = mPrincipal;
|
||||
u->mBlobImpl = mBlobImpl;
|
||||
|
||||
nsHostObjectProtocolHandler::StoreClonedURI(newRef, simpleClone);
|
||||
|
||||
NS_TryToSetImmutable(simpleClone);
|
||||
simpleClone.forget(aClone);
|
||||
return NS_OK;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче