Fix for bug 91450 (complete loss of style when executing a certain javascript). r=pierre, sr=jst.

This commit is contained in:
peterv%netscape.com 2001-08-16 11:32:11 +00:00
Родитель ada660c3e8
Коммит ee6630603b
1 изменённых файлов: 16 добавлений и 3 удалений

Просмотреть файл

@ -192,14 +192,27 @@ nsStyleLinkElement::UpdateStyleSheet(PRBool aNotify, nsIDocument *aOldDocument,
nsCOMPtr<nsIDOMStyleSheet> styleSheet(do_QueryInterface(mStyleSheet));
if (styleSheet) {
if (mStyleSheet && url.IsEmpty()) {
// Inline stylesheets have the document's URL as their URL internally
nsCOMPtr<nsIURI> docURL, styleSheetURL;
mStyleSheet->GetURL(*getter_AddRefs(styleSheetURL));
doc->GetBaseURL(*getter_AddRefs(docURL));
if (docURL && styleSheetURL) {
PRBool inlineStyle;
docURL->Equals(styleSheetURL, &inlineStyle);
if (inlineStyle) {
return NS_OK;
}
}
}
else if (styleSheet) {
nsAutoString oldHref;
styleSheet->GetHref(oldHref);
if (oldHref.Equals(url))
if (oldHref.Equals(url)) {
return NS_OK;
}
}
if (mStyleSheet) {
doc->RemoveStyleSheet(mStyleSheet);