From 42696f4b940b90c69ba3366b96018bcbfd3a3e20 Mon Sep 17 00:00:00 2001 From: Morris Tseng Date: Tue, 28 Apr 2015 01:46:00 +0200 Subject: [PATCH] Bug 1156636 - Remove post scale multiplication for event regions. r=roc --- layout/base/FrameLayerBuilder.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/layout/base/FrameLayerBuilder.cpp b/layout/base/FrameLayerBuilder.cpp index eb909854ccae..0ee359848615 100644 --- a/layout/base/FrameLayerBuilder.cpp +++ b/layout/base/FrameLayerBuilder.cpp @@ -3020,19 +3020,24 @@ void ContainerState::FinishPaintedLayerData(PaintedLayerData& aData, FindOpaqueB } else { EventRegions regions; - regions.mHitRegion = ScaleRegionToOutsidePixels(data->mHitRegion); - regions.mNoActionRegion = ScaleRegionToOutsidePixels(data->mNoActionRegion); - regions.mHorizontalPanRegion = ScaleRegionToOutsidePixels(data->mHorizontalPanRegion); - regions.mVerticalPanRegion = ScaleRegionToOutsidePixels(data->mVerticalPanRegion); + regions.mHitRegion = + data->mHitRegion.ToOutsidePixels(mAppUnitsPerDevPixel); + regions.mNoActionRegion = + data->mNoActionRegion.ToOutsidePixels(mAppUnitsPerDevPixel); + regions.mHorizontalPanRegion = + data->mHorizontalPanRegion.ToOutsidePixels(mAppUnitsPerDevPixel); + regions.mVerticalPanRegion = + data->mVerticalPanRegion.ToOutsidePixels(mAppUnitsPerDevPixel); // Points whose hit-region status we're not sure about need to be dispatched // to the content thread. If a point is in both maybeHitRegion and hitRegion // then it's not a "maybe" any more, and doesn't go into the dispatch-to- // content region. - nsIntRegion maybeHitRegion = ScaleRegionToOutsidePixels(data->mMaybeHitRegion); + nsIntRegion maybeHitRegion = + data->mMaybeHitRegion.ToOutsidePixels(mAppUnitsPerDevPixel); regions.mDispatchToContentHitRegion.Sub(maybeHitRegion, regions.mHitRegion); regions.mDispatchToContentHitRegion.OrWith( - ScaleRegionToOutsidePixels(data->mDispatchToContentHitRegion)); + data->mDispatchToContentHitRegion.ToOutsidePixels(mAppUnitsPerDevPixel)); regions.mHitRegion.OrWith(maybeHitRegion); Matrix mat = layer->GetBaseTransform().As2D();