зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1302470 Part 5: Fix the case where HTML buttons need to generate display item children when doing opaque hit tests. r=mattwoodrow
MozReview-Commit-ID: HwDYsnMJkM8
This commit is contained in:
Родитель
123cccb1d7
Коммит
40020d1bf8
|
@ -3174,6 +3174,8 @@ nsLayoutUtils::GetFramesForArea(nsIFrame* aFrame, const nsRect& aRect,
|
|||
builder.SetDescendIntoSubdocuments(false);
|
||||
}
|
||||
|
||||
builder.SetHitTestShouldStopAtFirstOpaque(aFlags & ONLY_VISIBLE);
|
||||
|
||||
builder.EnterPresShell(aFrame);
|
||||
aFrame->BuildDisplayListForStackingContext(&builder, aRect, &list);
|
||||
builder.LeavePresShell(aFrame, nullptr);
|
||||
|
@ -3189,7 +3191,6 @@ nsLayoutUtils::GetFramesForArea(nsIFrame* aFrame, const nsRect& aRect,
|
|||
#endif
|
||||
|
||||
nsDisplayItem::HitTestState hitTestState;
|
||||
builder.SetHitTestShouldStopAtFirstOpaque(aFlags & ONLY_VISIBLE);
|
||||
list.HitTest(&builder, aRect, &hitTestState, &aOutFrames);
|
||||
list.DeleteAll();
|
||||
return NS_OK;
|
||||
|
|
|
@ -119,7 +119,7 @@ nsHTMLButtonControlFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder,
|
|||
nsDisplayListCollection set;
|
||||
|
||||
// Do not allow the child subtree to receive events.
|
||||
if (!isForEventDelivery) {
|
||||
if (!isForEventDelivery || aBuilder->HitTestShouldStopAtFirstOpaque()) {
|
||||
DisplayListClipState::AutoSaveRestore clipState(aBuilder);
|
||||
|
||||
if (ShouldClipPaintingToBorderBox()) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче