Bug 882384 - Make sure the status panel always get its own layer. r=roc

This commit is contained in:
Matt Woodrow 2013-11-25 14:59:00 +13:00
Родитель 022d398c91
Коммит ee9d2758a1
2 изменённых файлов: 6 добавлений и 1 удалений

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

@ -186,6 +186,7 @@
if (!this._statusPanel) {
this._statusPanel = document.createElementNS(this.namespaceURI, "statuspanel");
this._statusPanel.setAttribute("inactive", "true");
this._statusPanel.setAttribute("layer", "true");
this._appendStatusPanel();
}
return this._statusPanel;

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

@ -2017,6 +2017,8 @@ nsIFrame::BuildDisplayListForStackingContext(nsDisplayListBuilder* aBuilder,
new (aBuilder) nsDisplayBlendContainer(aBuilder, this, &resultList));
}
CreateOwnLayerIfNeeded(aBuilder, &resultList);
aList->AppendToTop(&resultList);
}
@ -8054,7 +8056,9 @@ void
nsIFrame::CreateOwnLayerIfNeeded(nsDisplayListBuilder* aBuilder,
nsDisplayList* aList)
{
if (GetContent()->HasAttr(kNameSpaceID_None, nsGkAtoms::layer)) {
if (GetContent() &&
GetContent()->IsXUL() &&
GetContent()->HasAttr(kNameSpaceID_None, nsGkAtoms::layer)) {
aList->AppendNewToTop(new (aBuilder)
nsDisplayOwnLayer(aBuilder, this, aList));
}