Bug 563322 part 3 - Successfully prevent script execution in the XML fragment case. r=Olli.Pettay.

This commit is contained in:
Henri Sivonen 2011-08-01 10:48:28 +03:00
parent c7d8484bd1
commit 77892d9d22

View File

@ -271,6 +271,13 @@ nsresult
nsXMLFragmentContentSink::CloseElement(nsIContent* aContent)
{
// don't do fancy stuff in nsXMLContentSink
if (mPreventScriptExecution && aContent->Tag() == nsGkAtoms::script &&
(aContent->GetNameSpaceID() == kNameSpaceID_XHTML ||
aContent->GetNameSpaceID() == kNameSpaceID_SVG)) {
nsCOMPtr<nsIScriptElement> sele = do_QueryInterface(aContent);
NS_ASSERTION(sele, "script did QI correctly!");
sele->PreventExecution();
}
return NS_OK;
}