mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 855130 - Traverse nsHostObjectProtocolHandler from nsDocument. r=khuey
This commit is contained in:
parent
9af24cb77c
commit
613691856d
@ -39,6 +39,7 @@ public:
|
|||||||
nsACString& aUri);
|
nsACString& aUri);
|
||||||
static void RemoveDataEntry(const nsACString& aUri);
|
static void RemoveDataEntry(const nsACString& aUri);
|
||||||
static nsIPrincipal* GetDataEntryPrincipal(const nsACString& aUri);
|
static nsIPrincipal* GetDataEntryPrincipal(const nsACString& aUri);
|
||||||
|
static void Traverse(const nsACString& aUri, nsCycleCollectionTraversalCallback& aCallback);
|
||||||
};
|
};
|
||||||
|
|
||||||
class nsBlobProtocolHandler : public nsHostObjectProtocolHandler
|
class nsBlobProtocolHandler : public nsHostObjectProtocolHandler
|
||||||
|
@ -1773,6 +1773,10 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INTERNAL(nsDocument)
|
|||||||
if (tmp->mCSSLoader) {
|
if (tmp->mCSSLoader) {
|
||||||
tmp->mCSSLoader->TraverseCachedSheets(cb);
|
tmp->mCSSLoader->TraverseCachedSheets(cb);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (uint32_t i = 0; i < tmp->mHostObjectURIs.Length(); ++i) {
|
||||||
|
nsHostObjectProtocolHandler::Traverse(tmp->mHostObjectURIs[i], cb);
|
||||||
|
}
|
||||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
|
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
|
||||||
|
|
||||||
|
|
||||||
@ -1877,6 +1881,10 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(nsDocument)
|
|||||||
tmp->mCSSLoader->UnlinkCachedSheets();
|
tmp->mCSSLoader->UnlinkCachedSheets();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (uint32_t i = 0; i < tmp->mHostObjectURIs.Length(); ++i) {
|
||||||
|
nsHostObjectProtocolHandler::RemoveDataEntry(tmp->mHostObjectURIs[i]);
|
||||||
|
}
|
||||||
|
|
||||||
tmp->mInUnlinkOrDeletion = false;
|
tmp->mInUnlinkOrDeletion = false;
|
||||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_END
|
NS_IMPL_CYCLE_COLLECTION_UNLINK_END
|
||||||
|
|
||||||
|
@ -86,6 +86,20 @@ nsHostObjectProtocolHandler::GetDataEntryPrincipal(const nsACString& aUri)
|
|||||||
return res->mPrincipal;
|
return res->mPrincipal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
nsHostObjectProtocolHandler::Traverse(const nsACString& aUri,
|
||||||
|
nsCycleCollectionTraversalCallback& aCallback)
|
||||||
|
{
|
||||||
|
DataInfo* res;
|
||||||
|
gDataTable->Get(aUri, &res);
|
||||||
|
if (!res) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
NS_CYCLE_COLLECTION_NOTE_EDGE_NAME(aCallback, "HostObjectProtocolHandler DataInfo.mObject");
|
||||||
|
aCallback.NoteXPCOMChild(res->mObject);
|
||||||
|
}
|
||||||
|
|
||||||
static DataInfo*
|
static DataInfo*
|
||||||
GetDataInfo(const nsACString& aUri)
|
GetDataInfo(const nsACString& aUri)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user