зеркало из https://github.com/mozilla/gecko-dev.git
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:
Родитель
4edad5f58f
Коммит
7eb8c4268d
|
@ -3125,14 +3125,9 @@ 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.
|
||||
return;
|
||||
}
|
||||
// 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) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче