Bug 1435430 part 1. Switch to creating XSLTProcessors via constructor, not contract. r=mystor

MozReview-Commit-ID: A20gseUzUFT
This commit is contained in:
Boris Zbarsky 2018-02-05 16:00:04 -05:00
Родитель f1fc54c0cd
Коммит ba9661475c
6 изменённых файлов: 7 добавлений и 25 удалений

Просмотреть файл

@ -40,6 +40,7 @@ LOCAL_INCLUDES += [
'/caps',
'/dom/base',
'/dom/html',
'/dom/xslt/base',
'/dom/xul',
'/layout/style',
]

Просмотреть файл

@ -59,6 +59,7 @@
#include "mozilla/dom/HTMLTemplateElement.h"
#include "mozilla/dom/ProcessingInstruction.h"
#include "mozilla/dom/ScriptLoader.h"
#include "mozilla/dom/txMozillaXSLTProcessor.h"
using namespace mozilla;
using namespace mozilla::dom;
@ -626,12 +627,7 @@ nsXMLContentSink::AddContentAsLeaf(nsIContent *aContent)
nsresult
nsXMLContentSink::LoadXSLStyleSheet(nsIURI* aUrl)
{
nsCOMPtr<nsIDocumentTransformer> processor =
do_CreateInstance("@mozilla.org/document-transformer;1?type=xslt");
if (!processor) {
// No XSLT processor available, continue normal document loading
return NS_OK;
}
nsCOMPtr<nsIDocumentTransformer> processor = new txMozillaXSLTProcessor();
processor->SetTransformObserver(this);

Просмотреть файл

@ -23,6 +23,7 @@
#include "nsIDocument.h"
#include "nsVariant.h"
#include "mozilla/dom/CustomEvent.h"
#include "mozilla/dom/txMozillaXSLTProcessor.h"
using namespace mozilla;
using namespace mozilla::dom;
@ -111,10 +112,7 @@ nsXMLPrettyPrinter::PrettyPrint(nsIDocument* aDocument,
NS_ENSURE_SUCCESS(rv, rv);
// Transform the document
nsCOMPtr<nsIXSLTProcessor> transformer =
do_CreateInstance("@mozilla.org/document-transformer;1?type=xslt", &rv);
NS_ENSURE_SUCCESS(rv, rv);
RefPtr<txMozillaXSLTProcessor> transformer = new txMozillaXSLTProcessor();
rv = transformer->ImportStylesheet(xslDocument);
NS_ENSURE_SUCCESS(rv, rv);

Просмотреть файл

@ -38,13 +38,6 @@ class GlobalObject;
} // namespace dom
} // namespace mozilla
/* bacd8ad0-552f-11d3-a9f7-000064657374 */
#define TRANSFORMIIX_XSLT_PROCESSOR_CID \
{ 0x618ee71d, 0xd7a7, 0x41a1, {0xa3, 0xfb, 0xc2, 0xbe, 0xdc, 0x6a, 0x21, 0x7e} }
#define TRANSFORMIIX_XSLT_PROCESSOR_CONTRACTID \
"@mozilla.org/document-transformer;1?type=xslt"
#define XSLT_MSGS_URL "chrome://global/locale/xslt/xslt.properties"
/**

Просмотреть файл

@ -60,7 +60,6 @@
// Transformiix stuff
#include "mozilla/dom/XPathEvaluator.h"
#include "txMozillaXSLTProcessor.h"
#include "txNodeSetAdaptor.h"
#include "mozilla/dom/DOMParser.h"
@ -225,7 +224,6 @@ NS_GENERIC_FACTORY_CONSTRUCTOR(HTMLEditor)
already_AddRefed<nsIPresentationService> NS_CreatePresentationService();
// Factory Constructor
NS_GENERIC_FACTORY_CONSTRUCTOR(txMozillaXSLTProcessor)
NS_GENERIC_FACTORY_CONSTRUCTOR(XPathEvaluator)
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(txNodeSetAdaptor, Init)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsDOMSerializer)
@ -597,7 +595,6 @@ NS_DEFINE_NAMED_CID(NS_PLUGINDOCLOADERFACTORY_CID);
NS_DEFINE_NAMED_CID(NS_PLUGINDOCUMENT_CID);
NS_DEFINE_NAMED_CID(NS_VIDEODOCUMENT_CID);
NS_DEFINE_NAMED_CID(NS_STYLESHEETSERVICE_CID);
NS_DEFINE_NAMED_CID(TRANSFORMIIX_XSLT_PROCESSOR_CID);
NS_DEFINE_NAMED_CID(TRANSFORMIIX_XPATH_EVALUATOR_CID);
NS_DEFINE_NAMED_CID(TRANSFORMIIX_NODESET_CID);
NS_DEFINE_NAMED_CID(NS_XMLSERIALIZER_CID);
@ -849,7 +846,6 @@ static const mozilla::Module::CIDEntry kLayoutCIDs[] = {
{ &kNS_PLUGINDOCUMENT_CID, false, nullptr, CreatePluginDocument },
{ &kNS_VIDEODOCUMENT_CID, false, nullptr, CreateVideoDocument },
{ &kNS_STYLESHEETSERVICE_CID, false, nullptr, nsStyleSheetServiceConstructor },
{ &kTRANSFORMIIX_XSLT_PROCESSOR_CID, false, nullptr, txMozillaXSLTProcessorConstructor },
{ &kTRANSFORMIIX_XPATH_EVALUATOR_CID, false, nullptr, XPathEvaluatorConstructor },
{ &kTRANSFORMIIX_NODESET_CID, false, nullptr, txNodeSetAdaptorConstructor },
{ &kNS_XMLSERIALIZER_CID, false, nullptr, nsDOMSerializerConstructor },
@ -968,7 +964,6 @@ static const mozilla::Module::ContractIDEntry kLayoutContracts[] = {
{ NS_WINDOWCONTROLLER_CONTRACTID, &kNS_WINDOWCONTROLLER_CID },
{ PLUGIN_DLF_CONTRACTID, &kNS_PLUGINDOCLOADERFACTORY_CID },
{ NS_STYLESHEETSERVICE_CONTRACTID, &kNS_STYLESHEETSERVICE_CID },
{ TRANSFORMIIX_XSLT_PROCESSOR_CONTRACTID, &kTRANSFORMIIX_XSLT_PROCESSOR_CID },
{ NS_XPATH_EVALUATOR_CONTRACTID, &kTRANSFORMIIX_XPATH_EVALUATOR_CID },
{ TRANSFORMIIX_NODESET_CONTRACTID, &kTRANSFORMIIX_NODESET_CID },
{ NS_XMLSERIALIZER_CONTRACTID, &kNS_XMLSERIALIZER_CID },

Просмотреть файл

@ -1405,9 +1405,8 @@
this._relNotesLoading.hidden = true;
var processor = Components.classes["@mozilla.org/document-transformer;1?type=xslt"]
.createInstance(Components.interfaces.nsIXSLTProcessor);
processor.flags |= Components.interfaces.nsIXSLTProcessorPrivate.DISABLE_ALL_LOADS;
var processor = new XSLTProcessor();
processor.flags |= XSLTProcessor.DISABLE_ALL_LOADS;
processor.importStylesheet(transformData);
var fragment = processor.transformToFragment(relNotesData, document);