Bug 1547126: Give nsIFrame::IntrinsicSize a convenience constructor that takes nscoord-valued width and height. r=TYLin

This patch shouldn't affect behavior; it's just simplifying existing code with
a new convenience constructor.

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

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Daniel Holbert 2019-04-25 23:44:53 +00:00
parent e12a4b2881
commit 26a606eda1
3 changed files with 9 additions and 16 deletions

View File

@ -39,13 +39,9 @@ using namespace mozilla::gfx;
*/
static IntrinsicSize IntrinsicSizeFromCanvasSize(
const nsIntSize& aCanvasSizeInPx) {
IntrinsicSize intrinsicSize;
intrinsicSize.width.SetCoordValue(
nsPresContext::CSSPixelsToAppUnits(aCanvasSizeInPx.width));
intrinsicSize.height.SetCoordValue(
return IntrinsicSize(
nsPresContext::CSSPixelsToAppUnits(aCanvasSizeInPx.width),
nsPresContext::CSSPixelsToAppUnits(aCanvasSizeInPx.height));
return intrinsicSize;
}
/* Helper for our nsIFrame::GetIntrinsicRatio() impl. Takes the result of

View File

@ -476,6 +476,10 @@ struct IntrinsicSize {
nsStyleCoord width, height;
IntrinsicSize() : width(eStyleUnit_None), height(eStyleUnit_None) {}
IntrinsicSize(nscoord aWidth, nscoord aHeight)
: width(aWidth, nsStyleCoord::CoordConstructor),
height(aHeight, nsStyleCoord::CoordConstructor) {}
IntrinsicSize(const IntrinsicSize& rhs)
: width(rhs.width), height(rhs.height) {}
IntrinsicSize& operator=(const IntrinsicSize& rhs) {

View File

@ -191,9 +191,7 @@ already_AddRefed<Layer> nsVideoFrame::BuildLayer(
// can pass to ComputeObjectRenderRect.
nsSize aspectRatio(nsPresContext::CSSPixelsToAppUnits(videoSizeInPx.width),
nsPresContext::CSSPixelsToAppUnits(videoSizeInPx.height));
IntrinsicSize intrinsicSize;
intrinsicSize.width.SetCoordValue(aspectRatio.width);
intrinsicSize.height.SetCoordValue(aspectRatio.height);
IntrinsicSize intrinsicSize(aspectRatio.width, aspectRatio.height);
nsRect dest = nsLayoutUtils::ComputeObjectDestRect(
area, intrinsicSize, aspectRatio, StylePosition());
@ -436,9 +434,7 @@ class nsDisplayVideo : public nsDisplayItem {
nsSize aspectRatio(
nsPresContext::CSSPixelsToAppUnits(videoSizeInPx.width),
nsPresContext::CSSPixelsToAppUnits(videoSizeInPx.height));
IntrinsicSize intrinsicSize;
intrinsicSize.width.SetCoordValue(aspectRatio.width);
intrinsicSize.height.SetCoordValue(aspectRatio.height);
IntrinsicSize intrinsicSize(aspectRatio.width, aspectRatio.height);
nsRect dest = nsLayoutUtils::ComputeObjectDestRect(
area, intrinsicSize, aspectRatio, Frame()->StylePosition());
@ -574,10 +570,7 @@ LogicalSize nsVideoFrame::ComputeSize(
}
nsSize size = GetVideoIntrinsicSize(aRenderingContext);
IntrinsicSize intrinsicSize;
intrinsicSize.width.SetCoordValue(size.width);
intrinsicSize.height.SetCoordValue(size.height);
IntrinsicSize intrinsicSize(size.width, size.height);
// Only video elements have an intrinsic ratio.
nsSize intrinsicRatio = HasVideoElement() ? size : nsSize(0, 0);