Bug 546941. Make sure to load the scrollbars sheet with a
case-sensitive cssloader. r=dbaron git-svn-id: svn://10.0.0.236/trunk@259798 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
8eff14968e
commit
9dfe0c6f82
@ -886,6 +886,7 @@ NS_IMETHODIMP nsChromeRegistry::RefreshSkins()
|
|||||||
do_CreateInstance(kCSSLoaderCID);
|
do_CreateInstance(kCSSLoaderCID);
|
||||||
if (!cssLoader)
|
if (!cssLoader)
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
|
cssLoader->SetCaseSensitive(PR_TRUE);
|
||||||
|
|
||||||
nsCOMPtr<nsIWindowMediator> windowMediator
|
nsCOMPtr<nsIWindowMediator> windowMediator
|
||||||
(do_GetService(NS_WINDOWMEDIATOR_CONTRACTID));
|
(do_GetService(NS_WINDOWMEDIATOR_CONTRACTID));
|
||||||
|
|||||||
@ -84,7 +84,7 @@ nsLayoutStylesheetCache::ScrollbarsSheet()
|
|||||||
|
|
||||||
// Scrollbars don't need access to unsafe rules
|
// Scrollbars don't need access to unsafe rules
|
||||||
if (sheetURI)
|
if (sheetURI)
|
||||||
LoadSheet(sheetURI, gStyleCache->mScrollbarsSheet, PR_FALSE);
|
LoadSheet(sheetURI, gStyleCache->mScrollbarsSheet, PR_FALSE, PR_TRUE);
|
||||||
NS_ASSERTION(gStyleCache->mScrollbarsSheet, "Could not load scrollbars.css.");
|
NS_ASSERTION(gStyleCache->mScrollbarsSheet, "Could not load scrollbars.css.");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -105,7 +105,7 @@ nsLayoutStylesheetCache::FormsSheet()
|
|||||||
|
|
||||||
// forms.css needs access to unsafe rules
|
// forms.css needs access to unsafe rules
|
||||||
if (sheetURI)
|
if (sheetURI)
|
||||||
LoadSheet(sheetURI, gStyleCache->mFormsSheet, PR_TRUE);
|
LoadSheet(sheetURI, gStyleCache->mFormsSheet, PR_TRUE, PR_FALSE);
|
||||||
|
|
||||||
NS_ASSERTION(gStyleCache->mFormsSheet, "Could not load forms.css.");
|
NS_ASSERTION(gStyleCache->mFormsSheet, "Could not load forms.css.");
|
||||||
}
|
}
|
||||||
@ -137,6 +137,7 @@ void
|
|||||||
nsLayoutStylesheetCache::Shutdown()
|
nsLayoutStylesheetCache::Shutdown()
|
||||||
{
|
{
|
||||||
NS_IF_RELEASE(gCSSLoader);
|
NS_IF_RELEASE(gCSSLoader);
|
||||||
|
NS_IF_RELEASE(gCaseSensitiveCSSLoader);
|
||||||
NS_IF_RELEASE(gStyleCache);
|
NS_IF_RELEASE(gStyleCache);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -159,6 +160,7 @@ nsLayoutStylesheetCache::nsLayoutStylesheetCache()
|
|||||||
nsLayoutStylesheetCache::~nsLayoutStylesheetCache()
|
nsLayoutStylesheetCache::~nsLayoutStylesheetCache()
|
||||||
{
|
{
|
||||||
gCSSLoader = nsnull;
|
gCSSLoader = nsnull;
|
||||||
|
gCaseSensitiveCSSLoader = nsnull;
|
||||||
gStyleCache = nsnull;
|
gStyleCache = nsnull;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -207,24 +209,32 @@ nsLayoutStylesheetCache::LoadSheetFile(nsIFile* aFile, nsCOMPtr<nsICSSStyleSheet
|
|||||||
nsCOMPtr<nsIURI> uri;
|
nsCOMPtr<nsIURI> uri;
|
||||||
NS_NewFileURI(getter_AddRefs(uri), aFile);
|
NS_NewFileURI(getter_AddRefs(uri), aFile);
|
||||||
|
|
||||||
LoadSheet(uri, aSheet, PR_FALSE);
|
LoadSheet(uri, aSheet, PR_FALSE, PR_FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
nsLayoutStylesheetCache::LoadSheet(nsIURI* aURI, nsCOMPtr<nsICSSStyleSheet> &aSheet,
|
nsLayoutStylesheetCache::LoadSheet(nsIURI* aURI, nsCOMPtr<nsICSSStyleSheet> &aSheet,
|
||||||
PRBool aEnableUnsafeRules)
|
PRBool aEnableUnsafeRules,
|
||||||
|
PRBool aUseCaseSensitiveLoader)
|
||||||
{
|
{
|
||||||
if (!aURI) {
|
if (!aURI) {
|
||||||
NS_ERROR("Null URI. Out of memory?");
|
NS_ERROR("Null URI. Out of memory?");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!gCSSLoader)
|
nsICSSLoader_1_9_0_BRANCH** cssLoader =
|
||||||
NS_NewCSSLoader(&gCSSLoader);
|
aUseCaseSensitiveLoader ? &gCaseSensitiveCSSLoader : &gCSSLoader;
|
||||||
|
|
||||||
if (gCSSLoader) {
|
if (!*cssLoader) {
|
||||||
gCSSLoader->LoadSheetSync(aURI, aEnableUnsafeRules, PR_TRUE,
|
NS_NewCSSLoader(cssLoader);
|
||||||
getter_AddRefs(aSheet));
|
if (aUseCaseSensitiveLoader) {
|
||||||
|
(*cssLoader)->SetCaseSensitive(PR_TRUE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (*cssLoader) {
|
||||||
|
(*cssLoader)->LoadSheetSync(aURI, aEnableUnsafeRules, PR_TRUE,
|
||||||
|
getter_AddRefs(aSheet));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -233,3 +243,6 @@ nsLayoutStylesheetCache::gStyleCache = nsnull;
|
|||||||
|
|
||||||
nsICSSLoader_1_9_0_BRANCH*
|
nsICSSLoader_1_9_0_BRANCH*
|
||||||
nsLayoutStylesheetCache::gCSSLoader = nsnull;
|
nsLayoutStylesheetCache::gCSSLoader = nsnull;
|
||||||
|
|
||||||
|
nsICSSLoader_1_9_0_BRANCH*
|
||||||
|
nsLayoutStylesheetCache::gCaseSensitiveCSSLoader = nsnull;
|
||||||
|
|||||||
@ -67,10 +67,12 @@ private:
|
|||||||
void InitFromProfile();
|
void InitFromProfile();
|
||||||
static void LoadSheetFile(nsIFile* aFile, nsCOMPtr<nsICSSStyleSheet> &aSheet);
|
static void LoadSheetFile(nsIFile* aFile, nsCOMPtr<nsICSSStyleSheet> &aSheet);
|
||||||
static void LoadSheet(nsIURI* aURI, nsCOMPtr<nsICSSStyleSheet> &aSheet,
|
static void LoadSheet(nsIURI* aURI, nsCOMPtr<nsICSSStyleSheet> &aSheet,
|
||||||
PRBool aEnableUnsafeRules);
|
PRBool aEnableUnsafeRules,
|
||||||
|
PRBool aUseCaseSensitiveLoader);
|
||||||
|
|
||||||
static nsLayoutStylesheetCache* gStyleCache;
|
static nsLayoutStylesheetCache* gStyleCache;
|
||||||
static nsICSSLoader_1_9_0_BRANCH* gCSSLoader;
|
static nsICSSLoader_1_9_0_BRANCH* gCSSLoader;
|
||||||
|
static nsICSSLoader_1_9_0_BRANCH* gCaseSensitiveCSSLoader;
|
||||||
nsCOMPtr<nsICSSStyleSheet> mScrollbarsSheet;
|
nsCOMPtr<nsICSSStyleSheet> mScrollbarsSheet;
|
||||||
nsCOMPtr<nsICSSStyleSheet> mFormsSheet;
|
nsCOMPtr<nsICSSStyleSheet> mFormsSheet;
|
||||||
nsCOMPtr<nsICSSStyleSheet> mUserContentSheet;
|
nsCOMPtr<nsICSSStyleSheet> mUserContentSheet;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user