diff options
author | win7-7 <win7-7@users.noreply.github.com> | 2019-05-02 16:47:23 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-02 16:47:23 +0300 |
commit | 7975665f6a6110918e447c435d076925542fe8c4 (patch) | |
tree | 32ab04af2d8ca9c1b46ecf47d606328dbe29e477 /layout/base/FrameLayerBuilder.cpp | |
parent | aca5eb2cd39336d17d1ca3540061f83eedbec89f (diff) | |
download | UXP-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/FrameLayerBuilder.cpp')
-rw-r--r-- | layout/base/FrameLayerBuilder.cpp | 5 |
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 + |