opnsense-ports/www/waterfox/files/patch-bug1400540
Franco Fichtner 80ff625a02 */*: sync with upstream
Taken from: HardenedBSD
2018-02-09 08:42:27 +01:00

47 lines
1.8 KiB
Text

commit 6905267b2878
Author: Xidorn Quan <me@upsuper.org>
Date: Wed Sep 20 08:26:53 2017 +1000
Bug 1400540 - Decide style backend type based on principal. r=bholley
MozReview-Commit-ID: A4y9Shdbr7g
--HG--
extra : source : cdfe5e5e059273a1c7fc6506d6e0fecb2bb7affb
---
dom/base/nsDocument.cpp | 21 ++++++++-------------
1 file changed, 8 insertions(+), 13 deletions(-)
diff --git dom/base/nsDocument.cpp dom/base/nsDocument.cpp
index 642960e6a155..265af0df07b9 100644
--- dom/base/nsDocument.cpp
+++ dom/base/nsDocument.cpp
@@ -13465,20 +13465,15 @@ nsIDocument::UpdateStyleBackendType()
#ifdef MOZ_STYLO
if (nsLayoutUtils::StyloEnabled()) {
- if (IsBeingUsedAsImage()) {
- // Enable stylo for SVG-as-image.
+ // Disable stylo only for system principal. Other principals aren't
+ // able to use XUL by default, and the back door to enable XUL is
+ // mostly just for testing, which means they don't matter, and we
+ // shouldn't respect them at the same time.
+ // Note that, since tests can have XUL support, we still need to
+ // explicitly exclude XUL documents here.
+ if (!nsContentUtils::IsSystemPrincipal(NodePrincipal()) &&
+ !IsXULDocument()) {
mStyleBackendType = StyleBackendType::Servo;
- } else if (!mDocumentContainer) {
- // Not docshell, assume Gecko. Various callers can end up setting this
- // explicitly afterwards to inherit it in various situations.
- } else if (!IsXULDocument() && IsContentDocument()) {
- // Disable stylo for about: pages other than about:blank, since
- // they tend to use unsupported selectors like XUL tree pseudos.
- bool isAbout = false;
- mDocumentURI->SchemeIs("about", &isAbout);
- if (!isAbout || NS_IsAboutBlank(mDocumentURI)) {
- mStyleBackendType = StyleBackendType::Servo;
- }
}
}
#endif