forked from mirrors/gecko-dev
Bug 1937634 - Make txMozillaXSLTProcessor::mStylesheetDocument strong. a=dmeehan
Original Revision: https://phabricator.services.mozilla.com/D232262 Differential Revision: https://phabricator.services.mozilla.com/D238777
This commit is contained in:
parent
6173045682
commit
e942f3efe9
2 changed files with 14 additions and 11 deletions
|
|
@ -260,9 +260,18 @@ inline void ImplCycleCollectionTraverse(
|
|||
* txMozillaXSLTProcessor
|
||||
*/
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE(txMozillaXSLTProcessor, mOwner,
|
||||
mEmbeddedStylesheetRoot, mSource,
|
||||
mVariables)
|
||||
NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE_CLASS(txMozillaXSLTProcessor)
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(txMozillaXSLTProcessor)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK(mOwner, mSource)
|
||||
tmp->Reset();
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_PRESERVED_WRAPPER
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_END
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(txMozillaXSLTProcessor)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(
|
||||
mOwner, mStylesheetDocument, mEmbeddedStylesheetRoot, mSource, mVariables)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTING_ADDREF(txMozillaXSLTProcessor)
|
||||
NS_IMPL_CYCLE_COLLECTING_RELEASE(txMozillaXSLTProcessor)
|
||||
|
|
@ -276,23 +285,17 @@ NS_INTERFACE_MAP_END
|
|||
|
||||
txMozillaXSLTProcessor::txMozillaXSLTProcessor()
|
||||
: mOwner(nullptr),
|
||||
mStylesheetDocument(nullptr),
|
||||
mTransformResult(NS_OK),
|
||||
mCompileResult(NS_OK),
|
||||
mFlags(0) {}
|
||||
|
||||
txMozillaXSLTProcessor::txMozillaXSLTProcessor(nsISupports* aOwner)
|
||||
: mOwner(aOwner),
|
||||
mStylesheetDocument(nullptr),
|
||||
mTransformResult(NS_OK),
|
||||
mCompileResult(NS_OK),
|
||||
mFlags(0) {}
|
||||
|
||||
txMozillaXSLTProcessor::~txMozillaXSLTProcessor() {
|
||||
if (mStylesheetDocument) {
|
||||
mStylesheetDocument->RemoveMutationObserver(this);
|
||||
}
|
||||
}
|
||||
txMozillaXSLTProcessor::~txMozillaXSLTProcessor() { Reset(); }
|
||||
|
||||
NS_IMETHODIMP
|
||||
txMozillaXSLTProcessor::SetTransformObserver(nsITransformObserver* aObserver) {
|
||||
|
|
|
|||
|
|
@ -144,7 +144,7 @@ class txMozillaXSLTProcessor final : public nsIDocumentTransformer,
|
|||
nsCOMPtr<nsISupports> mOwner;
|
||||
|
||||
RefPtr<txStylesheet> mStylesheet;
|
||||
mozilla::dom::Document* mStylesheetDocument; // weak
|
||||
RefPtr<mozilla::dom::Document> mStylesheetDocument;
|
||||
nsCOMPtr<nsIContent> mEmbeddedStylesheetRoot;
|
||||
|
||||
nsCOMPtr<nsINode> mSource;
|
||||
|
|
|
|||
Loading…
Reference in a new issue