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( static IntrinsicSize IntrinsicSizeFromCanvasSize(
const nsIntSize& aCanvasSizeInPx) { const nsIntSize& aCanvasSizeInPx) {
IntrinsicSize intrinsicSize; return IntrinsicSize(
intrinsicSize.width.SetCoordValue( nsPresContext::CSSPixelsToAppUnits(aCanvasSizeInPx.width),
nsPresContext::CSSPixelsToAppUnits(aCanvasSizeInPx.width));
intrinsicSize.height.SetCoordValue(
nsPresContext::CSSPixelsToAppUnits(aCanvasSizeInPx.height)); nsPresContext::CSSPixelsToAppUnits(aCanvasSizeInPx.height));
return intrinsicSize;
} }
/* Helper for our nsIFrame::GetIntrinsicRatio() impl. Takes the result of /* Helper for our nsIFrame::GetIntrinsicRatio() impl. Takes the result of

View File

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

View File

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