зеркало из https://github.com/mozilla/gecko-dev.git
Don't make clip view optimizations when the clip view contains Z placeholders. b=225811 Patch by Robert O'Callahan <roc@ocallahan.org>. r+sr=dbaron a=asa
This commit is contained in:
Родитель
f5dbe7d7d9
Коммит
fa116f2651
|
@ -3406,8 +3406,9 @@ PRBool nsViewManager::CreateDisplayList(nsView *aView, PRBool aReparentedViewsPr
|
||||||
bounds.y += aY;
|
bounds.y += aY;
|
||||||
pos.MoveBy(aX, aY);
|
pos.MoveBy(aX, aY);
|
||||||
|
|
||||||
// is this a clip view?
|
// does this view clip all its children?
|
||||||
PRBool isClipView = IsClipView(aView);
|
PRBool isClipView = IsClipView(aView)
|
||||||
|
&& !(aView->GetViewFlags() & NS_VIEW_FLAG_CONTAINS_PLACEHOLDER);
|
||||||
PRBool overlap;
|
PRBool overlap;
|
||||||
nsRect irect;
|
nsRect irect;
|
||||||
|
|
||||||
|
@ -3445,8 +3446,7 @@ PRBool nsViewManager::CreateDisplayList(nsView *aView, PRBool aReparentedViewsPr
|
||||||
// visible area can lie outside our bounds, so it can't intersect
|
// visible area can lie outside our bounds, so it can't intersect
|
||||||
// the dirty area. Also, if we don't contain any placeholder views,
|
// the dirty area. Also, if we don't contain any placeholder views,
|
||||||
// then there is no way for anyone to reparent below us.
|
// then there is no way for anyone to reparent below us.
|
||||||
if (!overlap && (isClipView ||
|
if (!overlap && !(aView->GetViewFlags() & NS_VIEW_FLAG_CONTAINS_PLACEHOLDER)) {
|
||||||
(aView->GetViewFlags() & NS_VIEW_FLAG_CONTAINS_PLACEHOLDER) == 0)) {
|
|
||||||
return PR_FALSE;
|
return PR_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче