зеркало из https://github.com/mozilla/gecko-dev.git
Make sure we've tried to create our CSSLoader before we try to dereference it.
Bug 289765, r+sr=jst, a=asa
This commit is contained in:
Родитель
e2c638b498
Коммит
a43b2ff89e
|
@ -1221,7 +1221,14 @@ nsDocument::SetHeaderData(nsIAtom* aHeaderField, const nsAString& aData)
|
|||
nsAutoString title;
|
||||
PRInt32 index;
|
||||
|
||||
mCSSLoader->SetPreferredSheet(aData);
|
||||
// We lazily create our CSSLoader.
|
||||
// XXXbz why? Wouldn't it make more sense to just create it at
|
||||
// document creation and not do all these null-checks all over?
|
||||
nsICSSLoader* cssLoader = GetCSSLoader();
|
||||
if (!cssLoader) {
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
cssLoader->SetPreferredSheet(aData);
|
||||
|
||||
PRInt32 count = mStyleSheets.Count();
|
||||
for (index = 0; index < count; index++) {
|
||||
|
|
|
@ -673,6 +673,10 @@ nsHTMLDocument::StartDocumentLoad(const char* aCommand,
|
|||
nsCAutoString contentType;
|
||||
aChannel->GetContentType(contentType);
|
||||
|
||||
// Note: we MUST set the compat mode and default namespace ID before we call
|
||||
// StartDocumentLoad on our superclass (since that could force creation of a
|
||||
// CSSLoader and the CSSLoader creation needs to know our compat mode and
|
||||
// case sensitivity.
|
||||
if (contentType.Equals("application/xhtml+xml") &&
|
||||
(!aCommand || nsCRT::strcmp(aCommand, "view-source") != 0)) {
|
||||
// We're parsing XHTML as XML, remember that.
|
||||
|
|
Загрузка…
Ссылка в новой задаче