diff options
author | wolfbeast <mcwerewolf@gmail.com> | 2018-11-15 13:32:25 +0100 |
---|---|---|
committer | wolfbeast <mcwerewolf@gmail.com> | 2018-11-15 13:32:25 +0100 |
commit | c94825c861795cc2bb0b98483143f277eb3f5060 (patch) | |
tree | 0283c343209ff60889c7fb109f3ff56802593981 /dom/base/nsScriptLoader.cpp | |
parent | a748fde4cde215f3da9c5f23e85448bc3c2b15a9 (diff) | |
download | UXP-c94825c861795cc2bb0b98483143f277eb3f5060.tar UXP-c94825c861795cc2bb0b98483143f277eb3f5060.tar.gz UXP-c94825c861795cc2bb0b98483143f277eb3f5060.tar.lz UXP-c94825c861795cc2bb0b98483143f277eb3f5060.tar.xz UXP-c94825c861795cc2bb0b98483143f277eb3f5060.zip |
Tell the cycle collector about nsScriptLoadRequest::mElement.
Not doing this can cause a leak because there is a cycle between the load request and the script element.
Diffstat (limited to 'dom/base/nsScriptLoader.cpp')
-rw-r--r-- | dom/base/nsScriptLoader.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/dom/base/nsScriptLoader.cpp b/dom/base/nsScriptLoader.cpp index a6d20e363..0eb5bbf31 100644 --- a/dom/base/nsScriptLoader.cpp +++ b/dom/base/nsScriptLoader.cpp @@ -81,11 +81,19 @@ ImplCycleCollectionTraverse(nsCycleCollectionTraversalCallback& aCallback, NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(nsScriptLoadRequest) NS_INTERFACE_MAP_END -NS_IMPL_CYCLE_COLLECTION_0(nsScriptLoadRequest) - NS_IMPL_CYCLE_COLLECTING_ADDREF(nsScriptLoadRequest) NS_IMPL_CYCLE_COLLECTING_RELEASE(nsScriptLoadRequest) +NS_IMPL_CYCLE_COLLECTION_CLASS(nsScriptLoadRequest) + +NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(nsScriptLoadRequest) + NS_IMPL_CYCLE_COLLECTION_UNLINK(mElement) +NS_IMPL_CYCLE_COLLECTION_UNLINK_END + +NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(nsScriptLoadRequest) + NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mElement) +NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END + nsScriptLoadRequest::~nsScriptLoadRequest() { js_free(mScriptTextBuf); |