Bug 1564929 - Stop needless round-trip to fake app units. r=Gankro

Also move the impl to the .cpp file to avoid expensive rebuilds when it
is modified.

Differential Revision: https://phabricator.services.mozilla.com/D37589

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Kartikaya Gupta 2019-07-10 17:24:32 +00:00
Родитель 5ee55e0591
Коммит 35830d3dc7
2 изменённых файлов: 10 добавлений и 11 удалений

Просмотреть файл

@ -1593,6 +1593,15 @@ uint32_t nsDisplayListBuilder::GetImageDecodeFlags() const {
return flags;
}
void nsDisplayListBuilder::ComputeDefaultRenderRootRect(LayoutDeviceIntSize aClientSize) {
LayoutDeviceIntRegion cutout;
LayoutDeviceIntRect clientRect(LayoutDeviceIntPoint(), aClientSize);
cutout.OrWith(clientRect);
cutout.SubOut(RoundedToInt(mRenderRootRects[mozilla::wr::RenderRoot::Content]));
mRenderRootRects[mozilla::wr::RenderRoot::Default] = LayoutDeviceRect(cutout.GetBounds());
}
void nsDisplayListBuilder::SubtractFromVisibleRegion(nsRegion* aVisibleRegion,
const nsRegion& aRegion) {
if (aRegion.IsEmpty()) {

Просмотреть файл

@ -936,17 +936,7 @@ class nsDisplayListBuilder {
return mNeedsDisplayListBuild[aRenderRoot];
}
void ComputeDefaultRenderRootRect(LayoutDeviceIntSize aClientSize) {
nsRegion cutout;
nsRect clientRect(nsPoint(),
mozilla::LayoutDevicePixel::ToAppUnits(aClientSize, 1));
cutout.OrWith(clientRect);
cutout.SubWith(mozilla::LayoutDevicePixel::ToAppUnits(
mRenderRootRects[mozilla::wr::RenderRoot::Content], 1));
mRenderRootRects[mozilla::wr::RenderRoot::Default] =
mozilla::LayoutDevicePixel::FromAppUnits(cutout.GetBounds(), 1);
}
void ComputeDefaultRenderRootRect(LayoutDeviceIntSize aClientSize);
LayoutDeviceRect GetRenderRootRect(mozilla::wr::RenderRoot aRenderRoot) {
return mRenderRootRects[aRenderRoot];