summaryrefslogtreecommitdiffstats
path: root/layout/base
diff options
context:
space:
mode:
authorwin7-7 <win7-7@users.noreply.github.com>2019-05-02 16:47:23 +0300
committerGitHub <noreply@github.com>2019-05-02 16:47:23 +0300
commit7975665f6a6110918e447c435d076925542fe8c4 (patch)
tree32ab04af2d8ca9c1b46ecf47d606328dbe29e477 /layout/base
parentaca5eb2cd39336d17d1ca3540061f83eedbec89f (diff)
downloadUXP-7975665f6a6110918e447c435d076925542fe8c4.tar
UXP-7975665f6a6110918e447c435d076925542fe8c4.tar.gz
UXP-7975665f6a6110918e447c435d076925542fe8c4.tar.lz
UXP-7975665f6a6110918e447c435d076925542fe8c4.tar.xz
UXP-7975665f6a6110918e447c435d076925542fe8c4.zip
patch to Bug 1363423
Diffstat (limited to 'layout/base')
-rw-r--r--layout/base/FrameLayerBuilder.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/layout/base/FrameLayerBuilder.cpp b/layout/base/FrameLayerBuilder.cpp
index 183285439..b315c348a 100644
--- a/layout/base/FrameLayerBuilder.cpp
+++ b/layout/base/FrameLayerBuilder.cpp
@@ -3648,6 +3648,10 @@ PaintedLayerData::AccumulateEventRegions(ContainerState* aState, nsDisplayLayerE
if (alreadyHadRegions) {
mDispatchToContentHitRegion.OrWith(CombinedTouchActionRegion());
}
+
+ // Avoid quadratic performance as a result of the region growing to include
+ // and arbitrarily large number of rects, which can happen on some pages.
+ mMaybeHitRegion.SimplifyOutward(8);
// Calculate scaled versions of the bounds of mHitRegion and mMaybeHitRegion
// for quick access in FindPaintedLayerFor().
@@ -6368,3 +6372,4 @@ ContainerState::CreateMaskLayer(Layer *aLayer,
}
} // namespace mozilla
+