diff --git a/layout/generic/nsHTMLCanvasFrame.cpp b/layout/generic/nsHTMLCanvasFrame.cpp index f558208ad7ab..f46273eaba05 100644 --- a/layout/generic/nsHTMLCanvasFrame.cpp +++ b/layout/generic/nsHTMLCanvasFrame.cpp @@ -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 diff --git a/layout/generic/nsIFrame.h b/layout/generic/nsIFrame.h index b6d9e34ae959..11f744acc82a 100644 --- a/layout/generic/nsIFrame.h +++ b/layout/generic/nsIFrame.h @@ -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) { diff --git a/layout/generic/nsVideoFrame.cpp b/layout/generic/nsVideoFrame.cpp index 9577ad7ba285..a0e260867a94 100644 --- a/layout/generic/nsVideoFrame.cpp +++ b/layout/generic/nsVideoFrame.cpp @@ -191,9 +191,7 @@ already_AddRefed 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);