mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1172310. Don't add viewport frame bounds to the layer event regions because they are never the result of hit testing. r=roc
For regular, display list based, hit testing viewport frames never add any items to the display list. So are never "hit". Layer event regions should follow this same path. The code that this replaces was a partial, incorrect, fix for this problem (from bug 1121033).
This commit is contained in:
parent
4be12d1586
commit
25e665baf6
@ -3125,15 +3125,10 @@ nsDisplayLayerEventRegions::AddFrame(nsDisplayListBuilder* aBuilder,
|
||||
}
|
||||
if (!aFrame->GetParent()) {
|
||||
MOZ_ASSERT(aFrame->GetType() == nsGkAtoms::viewportFrame);
|
||||
nsSubDocumentFrame* subdoc = static_cast<nsSubDocumentFrame*>(
|
||||
nsLayoutUtils::GetCrossDocParentFrame(aFrame));
|
||||
if (subdoc && subdoc->PassPointerEventsToChildren()) {
|
||||
// If this viewport frame is for a subdocument with
|
||||
// mozpasspointerevents, then we don't want to add the viewport itself
|
||||
// to the event regions. Instead we want to add only subframes.
|
||||
// Viewport frames are never event targets, other frames, like canvas frames,
|
||||
// are the event targets for any regions viewport frames may cover.
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint8_t pointerEvents = aFrame->StyleVisibility()->GetEffectivePointerEvents(aFrame);
|
||||
if (pointerEvents == NS_STYLE_POINTER_EVENTS_NONE) {
|
||||
return;
|
||||
|
Loading…
Reference in New Issue
Block a user