зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1754437. Optimize FindViewContaining to avoid calling IsVisibleConsideringAncestors more often. r=emilio
Calling IsActive is quick, IsVisibleConsideringAncestors is not so quick. If IsActive is false then that almost certainly means we'd hit the "not in the selected box of a deck frame" case in IsVisibleConsideringAncestors at https://searchfox.org/mozilla-central/rev/b697834e78a3ef7613e2fa57c07624b1d9d1c909/layout/generic/nsIFrame.cpp#412 Differential Revision: https://phabricator.services.mozilla.com/D138291
This commit is contained in:
Родитель
8afd3c5af5
Коммит
d8a1ca407e
|
@ -5573,9 +5573,9 @@ static nsView* FindViewContaining(nsView* aRelativeToView,
|
||||||
|
|
||||||
nsIFrame* frame = aView->GetFrame();
|
nsIFrame* frame = aView->GetFrame();
|
||||||
if (frame) {
|
if (frame) {
|
||||||
if (!frame->IsVisibleConsideringAncestors(
|
if (!frame->PresShell()->IsActive() ||
|
||||||
nsIFrame::VISIBILITY_CROSS_CHROME_CONTENT_BOUNDARY) ||
|
!frame->IsVisibleConsideringAncestors(
|
||||||
!frame->PresShell()->IsActive()) {
|
nsIFrame::VISIBILITY_CROSS_CHROME_CONTENT_BOUNDARY)) {
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче