--- a/dom/base/DOMImplementation.cpp
+++ b/dom/base/DOMImplementation.cpp
@@ -94,18 +94,17 @@ DOMImplementation::CreateDocument(const
nsCOMPtr<nsIDOMDocument> document;
rv = NS_NewDOMDocument(getter_AddRefs(document),
aNamespaceURI, aQualifiedName, aDoctype,
mDocumentURI, mBaseURI,
mOwner->NodePrincipal(),
true, scriptHandlingObject,
- DocumentFlavorLegacyGuess,
- mOwner->GetStyleBackendType());
+ DocumentFlavorLegacyGuess);
NS_ENSURE_SUCCESS(rv, rv);
// When DOMImplementation's createDocument method is invoked with
// namespace set to HTML Namespace use the registry of the associated
// document to the new instance.
nsCOMPtr<nsIDocument> doc = do_QueryInterface(document);
if (aNamespaceURI.EqualsLiteral("http://www.w3.org/1999/xhtml")) {
@@ -159,18 +158,17 @@ DOMImplementation::CreateHTMLDocument(co
NS_ENSURE_STATE(!mScriptObject || scriptHandlingObject);
nsCOMPtr<nsIDOMDocument> document;
rv = NS_NewDOMDocument(getter_AddRefs(document),
EmptyString(), EmptyString(),
doctype, mDocumentURI, mBaseURI,
mOwner->NodePrincipal(),
true, scriptHandlingObject,
- DocumentFlavorLegacyGuess,
- mOwner->GetStyleBackendType());
+ DocumentFlavorLegacyGuess);
NS_ENSURE_SUCCESS(rv, rv);
nsCOMPtr<nsIDocument> doc = do_QueryInterface(document);
nsCOMPtr<Element> root = doc->CreateElem(NS_LITERAL_STRING("html"), nullptr,
kNameSpaceID_XHTML);
rv = doc->AppendChildTo(root, false);
NS_ENSURE_SUCCESS(rv, rv);
--- a/dom/base/DOMParser.cpp
+++ b/dom/base/DOMParser.cpp
@@ -458,25 +458,18 @@ DOMParser::SetUpDocument(DocumentFlavor
AttemptedInitMarker marker(&mAttemptedInit);
nsCOMPtr<nsIPrincipal> prin = NullPrincipal::Create();
rv = Init(prin, nullptr, nullptr, scriptHandlingObject);
NS_ENSURE_SUCCESS(rv, rv);
}
// Try to inherit a style backend.
- auto styleBackend = StyleBackendType::None;
- nsCOMPtr<nsPIDOMWindowInner> window = do_QueryInterface(scriptHandlingObject);
- if (window && window->GetExtantDoc()) {
- styleBackend = window->GetExtantDoc()->GetStyleBackendType();
- }
-
NS_ASSERTION(mPrincipal, "Must have principal by now");
NS_ASSERTION(mDocumentURI, "Must have document URI by now");
return NS_NewDOMDocument(aResult, EmptyString(), EmptyString(), nullptr,
mDocumentURI, mBaseURI,
mPrincipal,
true,
scriptHandlingObject,
- aFlavor,
- styleBackend);
+ aFlavor);
}
--- a/dom/base/nsContentUtils.cpp
+++ b/dom/base/nsContentUtils.cpp
@@ -5355,18 +5355,17 @@ nsContentUtils::ConvertToPlainText(const
EmptyString(),
EmptyString(),
nullptr,
uri,
uri,
principal,
true,
nullptr,
- DocumentFlavorHTML,
- StyleBackendType::None);
+ DocumentFlavorHTML);
NS_ENSURE_SUCCESS(rv, rv);
nsCOMPtr<nsIDocument> document = do_QueryInterface(domDocument);
rv = nsContentUtils::ParseDocumentHTML(aSourceBuffer, document,
!(aFlags & nsIDocumentEncoder::OutputNoScriptContent));
NS_ENSURE_SUCCESS(rv, rv);
nsCOMPtr<nsIDocumentEncoder> encoder = do_CreateInstance(
--- a/dom/base/nsDocument.cpp
+++ b/dom/base/nsDocument.cpp
@@ -9315,18 +9315,17 @@ nsDocument::GetTemplateContentsOwner()
EmptyString(), // aNamespaceURI
EmptyString(), // aQualifiedName
nullptr, // aDoctype
nsIDocument::GetDocumentURI(),
nsIDocument::GetDocBaseURI(),
NodePrincipal(),
true, // aLoadedAsData
scriptObject, // aEventObject
- DocumentFlavorHTML,
- mStyleBackendType);
+ DocumentFlavorHTML);
NS_ENSURE_SUCCESS(rv, nullptr);
mTemplateContentsOwner = do_QueryInterface(domDocument);
NS_ENSURE_TRUE(mTemplateContentsOwner, nullptr);
nsDocument* doc = static_cast<nsDocument*>(mTemplateContentsOwner.get());
if (!scriptObject) {
@@ -12047,22 +12046,16 @@ nsIDocument::Constructor(const GlobalObj
ErrorResult& rv)
{
nsCOMPtr<nsIScriptGlobalObject> global = do_QueryInterface(aGlobal.GetAsSupports());
if (!global) {
rv.Throw(NS_ERROR_UNEXPECTED);
return nullptr;
}
- auto styleBackend = StyleBackendType::None;
- nsCOMPtr<nsPIDOMWindowInner> window = do_QueryInterface(global);
- if (window && window->GetExtantDoc()) {
- styleBackend = window->GetExtantDoc()->GetStyleBackendType();
- }
-
nsCOMPtr<nsIScriptObjectPrincipal> prin = do_QueryInterface(aGlobal.GetAsSupports());
if (!prin) {
rv.Throw(NS_ERROR_UNEXPECTED);
return nullptr;
}
nsCOMPtr<nsIURI> uri;
NS_NewURI(getter_AddRefs(uri), "about:blank");
@@ -12077,18 +12070,17 @@ nsIDocument::Constructor(const GlobalObj
VoidString(),
EmptyString(),
nullptr,
uri,
uri,
prin->GetPrincipal(),
true,
global,
- DocumentFlavorPlain,
- styleBackend);
+ DocumentFlavorPlain);
if (NS_FAILED(res)) {
rv.Throw(res);
return nullptr;
}
nsCOMPtr<nsIDocument> doc = do_QueryInterface(document);
doc->SetReadyStateInternal(nsIDocument::READYSTATE_COMPLETE);
--- a/dom/base/nsIDocument.h
+++ b/dom/base/nsIDocument.h
@@ -1410,24 +1410,16 @@ public:
return mStyleBackendType;
}
/**
* Documents generally decide their style backend type themselves, and
* this is only used for XBL documents to set their style backend type to
* their bounding document's.
*/
- void SetStyleBackendType(mozilla::StyleBackendType aStyleBackendType) {
- // We cannot assert mStyleBackendType == mozilla::StyleBackendType::None
- // because NS_NewXBLDocument() might result GetStyleBackendType() being
- // called.
- MOZ_ASSERT(aStyleBackendType != mozilla::StyleBackendType::None,
- "The StyleBackendType should be set to either Gecko or Servo!");
- mStyleBackendType = aStyleBackendType;
- }
/**
* Decide this document's own style backend type.
*/
void UpdateStyleBackendType();
bool IsStyledByServo() const {
return GetStyleBackendType() == mozilla::StyleBackendType::Servo;
@@ -3885,27 +3877,25 @@ NS_NewDOMDocument(nsIDOMDocument** aInst
const nsAString& aNamespaceURI,
const nsAString& aQualifiedName,
nsIDOMDocumentType* aDoctype,
nsIURI* aDocumentURI,
nsIURI* aBaseURI,
nsIPrincipal* aPrincipal,
bool aLoadedAsData,
nsIGlobalObject* aEventObject,
- DocumentFlavor aFlavor,
- mozilla::StyleBackendType aStyleBackend);
+ DocumentFlavor aFlavor);
// This is used only for xbl documents created from the startup cache.
// Non-cached documents are created in the same manner as xml documents.
nsresult
NS_NewXBLDocument(nsIDOMDocument** aInstancePtrResult,
nsIURI* aDocumentURI,
nsIURI* aBaseURI,
- nsIPrincipal* aPrincipal,
- mozilla::StyleBackendType aStyleBackend);
+ nsIPrincipal* aPrincipal);
nsresult
NS_NewPluginDocument(nsIDocument** aInstancePtrResult);
inline nsIDocument*
nsINode::GetOwnerDocument() const
{
nsIDocument* ownerDoc = OwnerDoc();
--- a/dom/xbl/nsXBLDocumentInfo.cpp
+++ b/dom/xbl/nsXBLDocumentInfo.cpp
@@ -221,20 +221,18 @@ nsXBLDocumentInfo::ReadPrototypeBindings
startupCache->InvalidateCache();
return NS_ERROR_NOT_AVAILABLE;
}
nsCOMPtr<nsIPrincipal> principal;
nsContentUtils::GetSecurityManager()->
GetSystemPrincipal(getter_AddRefs(principal));
- auto styleBackend = aBoundDocument ? aBoundDocument->GetStyleBackendType()
- : StyleBackendType::Gecko;
nsCOMPtr<nsIDOMDocument> domdoc;
- rv = NS_NewXBLDocument(getter_AddRefs(domdoc), aURI, nullptr, principal, styleBackend);
+ rv = NS_NewXBLDocument(getter_AddRefs(domdoc), aURI, nullptr, principal);
NS_ENSURE_SUCCESS(rv, rv);
nsCOMPtr<nsIDocument> doc = do_QueryInterface(domdoc);
NS_ASSERTION(doc, "Must have a document!");
RefPtr<nsXBLDocumentInfo> docInfo = new nsXBLDocumentInfo(doc);
while (1) {
--- a/dom/xbl/nsXBLService.cpp
+++ b/dom/xbl/nsXBLService.cpp
@@ -1079,21 +1079,16 @@ nsXBLService::FetchBindingDocument(nsICo
rv = NS_NewXMLDocument(getter_AddRefs(doc));
NS_ENSURE_SUCCESS(rv, rv);
// XBL documents must allow XUL and XBL elements in them but the usual check
// only checks if the document is loaded in the system principal which is
// sometimes not the case.
doc->ForceEnableXULXBL();
- // Set the style backend type before loading the XBL document. Assume
- // gecko if there's no bound document.
- doc->SetStyleBackendType(aBoundDocument ? aBoundDocument->GetStyleBackendType()
- : StyleBackendType::Gecko);
-
nsCOMPtr<nsIXMLContentSink> xblSink;
rv = NS_NewXBLContentSink(getter_AddRefs(xblSink), doc, aDocumentURI, nullptr);
NS_ENSURE_SUCCESS(rv, rv);
// Open channel
// Note: There are some cases where aOriginPrincipal and aBoundDocument are purposely
// set to null (to bypass security checks) when calling LoadBindingDocumentInfo() which calls
// FetchBindingDocument(). LoadInfo will end up with no principal or node in those cases,
--- a/dom/xhr/XMLHttpRequestMainThread.cpp
+++ b/dom/xhr/XMLHttpRequestMainThread.cpp
@@ -194,17 +194,16 @@ bool
XMLHttpRequestMainThread::sDontWarnAboutSyncXHR = false;
XMLHttpRequestMainThread::XMLHttpRequestMainThread()
: mResponseBodyDecodedPos(0),
mResponseCharset(nullptr),
mResponseType(XMLHttpRequestResponseType::_empty),
mRequestObserver(nullptr),
mState(XMLHttpRequestBinding::UNSENT),
- mStyleBackend(StyleBackendType::None),
mFlagSynchronous(false), mFlagAborted(false), mFlagParseBody(false),
mFlagSyncLooping(false), mFlagBackgroundRequest(false),
mFlagHadUploadListenersOnSend(false), mFlagACwithCredentials(false),
mFlagTimedOut(false), mFlagDeleted(false), mFlagSend(false),
mUploadTransferred(0), mUploadTotal(0), mUploadComplete(true),
mProgressSinceLastProgressEvent(false),
mRequestSentTime(0), mTimeoutMilliseconds(0),
mErrorLoad(ErrorType::eOK), mErrorParsingXML(false),
@@ -2021,18 +2020,17 @@ XMLHttpRequestMainThread::OnStartRequest
rv = nsContentUtils::GetSecurityManager()->
GetChannelResultPrincipal(channel, getter_AddRefs(requestingPrincipal));
NS_ENSURE_SUCCESS(rv, rv);
rv = NS_NewDOMDocument(getter_AddRefs(responseDoc),
emptyStr, emptyStr, nullptr, docURI,
baseURI, requestingPrincipal, true, global,
mIsHtml ? DocumentFlavorHTML :
- DocumentFlavorLegacyGuess,
- mStyleBackend);
+ DocumentFlavorLegacyGuess);
NS_ENSURE_SUCCESS(rv, rv);
mResponseXML = do_QueryInterface(responseDoc);
mResponseXML->SetChromeXHRDocURI(chromeXHRDocURI);
mResponseXML->SetChromeXHRDocBaseURI(chromeXHRDocBaseURI);
// suppress parsing failure messages to console for statuses which
// can have empty bodies (see bug 884693).
IgnoredErrorResult rv2;
--- a/dom/xhr/XMLHttpRequestMainThread.h
+++ b/dom/xhr/XMLHttpRequestMainThread.h
@@ -199,22 +199,16 @@ public:
void Construct(nsIPrincipal* aPrincipal,
nsIGlobalObject* aGlobalObject,
nsIURI* aBaseURI = nullptr,
nsILoadGroup* aLoadGroup = nullptr,
PerformanceStorage* aPerformanceStorage = nullptr)
{
MOZ_ASSERT(aPrincipal);
- nsCOMPtr<nsPIDOMWindowInner> win = do_QueryInterface(aGlobalObject);
- if (win) {
- if (win->GetExtantDoc()) {
- mStyleBackend = win->GetExtantDoc()->GetStyleBackendType();
- }
- }
mPrincipal = aPrincipal;
BindToOwner(aGlobalObject);
mBaseURI = aBaseURI;
mLoadGroup = aLoadGroup;
mPerformanceStorage = aPerformanceStorage;
}
void InitParameters(bool aAnon, bool aSystem);
@@ -683,18 +677,16 @@ protected:
nsCOMPtr<nsIURI> mBaseURI;
nsCOMPtr<nsILoadGroup> mLoadGroup;
Maybe<ClientInfo> mClientInfo;
Maybe<ServiceWorkerDescriptor> mController;
uint16_t mState;
- StyleBackendType mStyleBackend;
-
bool mFlagSynchronous;
bool mFlagAborted;
bool mFlagParseBody;
bool mFlagSyncLooping;
bool mFlagBackgroundRequest;
bool mFlagHadUploadListenersOnSend;
bool mFlagACwithCredentials;
bool mFlagTimedOut;
--- a/dom/xml/XMLDocument.cpp
+++ b/dom/xml/XMLDocument.cpp
@@ -63,18 +63,17 @@ NS_NewDOMDocument(nsIDOMDocument** aInst
const nsAString& aNamespaceURI,
const nsAString& aQualifiedName,
nsIDOMDocumentType* aDoctype,
nsIURI* aDocumentURI,
nsIURI* aBaseURI,
nsIPrincipal* aPrincipal,
bool aLoadedAsData,
nsIGlobalObject* aEventObject,
- DocumentFlavor aFlavor,
- StyleBackendType aStyleBackend)
+ DocumentFlavor aFlavor)
{
// Note: can't require that aDocumentURI/aBaseURI/aPrincipal be non-null,
// since at least one caller (XMLHttpRequest) doesn't have decent args to
// pass in.
nsresult rv;
*aInstancePtrResult = nullptr;
@@ -123,22 +122,16 @@ NS_NewDOMDocument(nsIDOMDocument** aInst
MOZ_ASSERT(aFlavor == DocumentFlavorLegacyGuess);
rv = NS_NewXMLDocument(getter_AddRefs(d));
}
if (NS_FAILED(rv)) {
return rv;
}
- // If we were passed an explicit style backend for this document set it
- // immediately after creation, before any content is inserted.
- if (aStyleBackend != StyleBackendType::None) {
- d->SetStyleBackendType(aStyleBackend);
- }
-
if (isHTML) {
nsCOMPtr<nsIHTMLDocument> htmlDoc = do_QueryInterface(d);
NS_ASSERTION(htmlDoc, "HTML Document doesn't implement nsIHTMLDocument?");
htmlDoc->SetCompatibilityMode(eCompatibility_FullStandards);
htmlDoc->SetIsXHTML(isXHTML);
}
nsDocument* doc = static_cast<nsDocument*>(d.get());
doc->SetLoadedAsData(aLoadedAsData);
@@ -218,25 +211,23 @@ NS_NewXMLDocument(nsIDocument** aInstanc
return NS_OK;
}
nsresult
NS_NewXBLDocument(nsIDOMDocument** aInstancePtrResult,
nsIURI* aDocumentURI,
nsIURI* aBaseURI,
- nsIPrincipal* aPrincipal,
- StyleBackendType aStyleBackend)
+ nsIPrincipal* aPrincipal)
{
nsresult rv = NS_NewDOMDocument(aInstancePtrResult,
NS_LITERAL_STRING("http://www.mozilla.org/xbl"),
NS_LITERAL_STRING("bindings"), nullptr,
aDocumentURI, aBaseURI, aPrincipal, false,
- nullptr, DocumentFlavorLegacyGuess,
- aStyleBackend);
+ nullptr, DocumentFlavorLegacyGuess);
NS_ENSURE_SUCCESS(rv, rv);
nsCOMPtr<nsIDocument> idoc = do_QueryInterface(*aInstancePtrResult);
// XBL documents must allow XUL and XBL elements in them but the usual check
// only checks if the document is loaded in the system principal which is
// sometimes not the case.
idoc->ForceEnableXULXBL();
--- a/gfx/thebes/gfxSVGGlyphs.cpp
+++ b/gfx/thebes/gfxSVGGlyphs.cpp
@@ -348,34 +348,31 @@ gfxSVGGlyphsDocument::ParseDocument(cons
nsCOMPtr<nsIInputStream> stream;
nsresult rv = CreateBufferedStream(aBuffer, aBufLen, stream);
NS_ENSURE_SUCCESS(rv, rv);
nsCOMPtr<nsIURI> uri;
nsHostObjectProtocolHandler::GenerateURIString(NS_LITERAL_CSTRING(FONTTABLEURI_SCHEME),
nullptr,
mSVGGlyphsDocumentURI);
-
+
rv = NS_NewURI(getter_AddRefs(uri), mSVGGlyphsDocumentURI);
NS_ENSURE_SUCCESS(rv, rv);
nsCOMPtr<nsIPrincipal> principal = NullPrincipal::Create();
- auto styleBackend = nsLayoutUtils::StyloEnabled() ? StyleBackendType::Servo
- : StyleBackendType::Gecko;
nsCOMPtr<nsIDOMDocument> domDoc;
rv = NS_NewDOMDocument(getter_AddRefs(domDoc),
EmptyString(), // aNamespaceURI
EmptyString(), // aQualifiedName
nullptr, // aDoctype
uri, uri, principal,
false, // aLoadedAsData
nullptr, // aEventObject
- DocumentFlavorSVG,
- styleBackend);
+ DocumentFlavorSVG);
NS_ENSURE_SUCCESS(rv, rv);
nsCOMPtr<nsIDocument> document(do_QueryInterface(domDoc));
if (!document) {
return NS_ERROR_FAILURE;
}
nsCOMPtr<nsIChannel> channel;
--- a/parser/html/nsParserUtils.cpp
+++ b/parser/html/nsParserUtils.cpp
@@ -81,18 +81,17 @@ nsParserUtils::Sanitize(const nsAString&
EmptyString(),
EmptyString(),
nullptr,
uri,
uri,
principal,
true,
nullptr,
- DocumentFlavorHTML,
- mozilla::StyleBackendType::None);
+ DocumentFlavorHTML);
NS_ENSURE_SUCCESS(rv, rv);
nsCOMPtr<nsIDocument> document = do_QueryInterface(domDocument);
rv = nsContentUtils::ParseDocumentHTML(aFromStr, document, false);
NS_ENSURE_SUCCESS(rv, rv);
nsTreeSanitizer sanitizer(aFlags);
sanitizer.Sanitize(document);