#659: tuneups and edgecases

This commit is contained in:
Cameron Kaiser 2023-04-19 22:34:54 -07:00
parent 2f7da4e25a
commit 17b23692fe
1 changed files with 16 additions and 9 deletions

View File

@ -1592,22 +1592,29 @@ CSSParserImpl::InitScanner(nsCSSScanner& aScanner,
mSheetPrincipal = aSheetPrincipal; mSheetPrincipal = aSheetPrincipal;
mHavePushBack = false; mHavePushBack = false;
// TenFourFox issue 659
mHostCSSGridOK = false; mHostCSSGridOK = false;
if (MOZ_LIKELY(mBaseURI)) { if (MOZ_LIKELY(mBaseURI)) {
nsCString host; nsCString host;
bool isChrome;
nsresult rv = mBaseURI->GetHost(host); // Never turn on grid for browser chrome.
if (NS_SUCCEEDED(rv)) { nsresult rv = mBaseURI->SchemeIs("chrome", &isChrome);
nsCString pref; if (NS_SUCCEEDED(rv) && !isChrome) {
// Get host and check pref.
rv = mBaseURI->GetHost(host);
if (NS_SUCCEEDED(rv) && !host.IsEmpty()) {
nsCString pref;
pref.AssignLiteral("layout.css.grid.host."); pref.AssignLiteral("layout.css.grid.host.");
pref.SetCapacity(pref.Length() + host.Length()); pref.SetCapacity(pref.Length() + host.Length());
pref += host; pref += host;
mHostCSSGridOK = Preferences::GetBool(pref.get(), false); mHostCSSGridOK = Preferences::GetBool(pref.get(), false);
#if DEBUG #if DEBUG
if (mHostCSSGridOK) if (mHostCSSGridOK)
fprintf(stderr, "CSS grid enabled for %s\n", pref.get()); fprintf(stderr, "CSS grid enabled for %s\n", pref.get());
#endif #endif
}
} }
} }
} }