forked from Lainports/opnsense-ports
47 lines
1.8 KiB
Text
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
|