Commit graph

130 commits

Author SHA1 Message Date
Brad Werth
39c4660609 Bug 1265342 Part 2b: Refactor interval creation for shape-outside:image. r=dholbert
MozReview-Commit-ID: LnzQPsSBVqY

--HG--
extra : rebase_source : ee1985749b976833e850d27992d0709c5631d3a9
2018-02-28 10:43:43 -08:00
Brad Werth
357b2601a5 Bug 1265342 Part 2a: Move interval binary search method into ShapeInfo. r=dholbert
MozReview-Commit-ID: BxJxIU0RVAo

--HG--
extra : rebase_source : 5ce9a0b8b2ad2d4c513ffaf77d6ad1895a0b84e0
2018-04-11 14:05:06 -07:00
Sebastian Hengst
0819f35e51 Backed out 4 changesets (bug 525063) on request from Andi. a=backout
Backed out changeset 516c4fb1e4b8 (bug 525063)
Backed out changeset 6ff8aaef2866 (bug 525063)
Backed out changeset bf13e4103150 (bug 525063)
Backed out changeset d7d2f08e051c (bug 525063)
2018-04-13 16:01:28 +03:00
Tristan Bourvon
a3a77c0312 Bug 525063 - Initialize uninitialized class attributes in m-c. r=ehsan 2018-04-10 21:11:02 +02:00
Ting-Yu Lin ext:(%2C%20Brad%20Werth%20%3Cbwerth%40mozilla.com%3E)
6c72d34781 Bug 1404222 Part 1: Implement shape-outside: <image>. r=dbaron,dholbert
When creating ImageShapeInfo, it's likely that the image is still decoding.
Part 2 will add mechanism to trigger reflow after the image is ready.
2018-01-25 14:55:18 +08:00
Ryan VanderMeulen
e5ec40f40c Backed out 11 changesets (bug 1404222) for static analysis failures on a CLOSED TREE.
Backed out changeset a6a99136300c (bug 1404222)
Backed out changeset 7183b8104399 (bug 1404222)
Backed out changeset a1e4294c1c59 (bug 1404222)
Backed out changeset b79d6e8318db (bug 1404222)
Backed out changeset 0450620fdabd (bug 1404222)
Backed out changeset 026c74a92d04 (bug 1404222)
Backed out changeset 50ac4167f702 (bug 1404222)
Backed out changeset 59038f2db68a (bug 1404222)
Backed out changeset f6b9096da915 (bug 1404222)
Backed out changeset 4e0baffdd79b (bug 1404222)
Backed out changeset 57eeb849ab88 (bug 1404222)
2018-04-02 17:57:27 -04:00
Ting-Yu Lin ext:(%2C%20Brad%20Werth%20%3Cbwerth%40mozilla.com%3E)
8efec59d87 Bug 1404222 Part 1: Implement shape-outside: <image>. r=dbaron,dholbert
When creating ImageShapeInfo, it's likely that the image is still decoding.
Part 2 will add mechanism to trigger reflow after the image is ready.
2018-01-25 14:55:18 +08:00
Ting-Yu Lin
278ab9f9a4 Bug 1426065 Part 2 - Drop mozilla prefix in nsFloatManager.cpp. r=dholbert
The cpp file already has "using namespace mozilla;".

MozReview-Commit-ID: L2OPyBuvg9q

--HG--
extra : rebase_source : d53b9ab09163a2bb03fc1cebe059aca0f6bb53a1
2017-12-19 15:22:36 +08:00
Ting-Yu Lin
6b9beb409e Bug 1426065 Part 1 - Move ShapeInfo and its dervied classes from header to cpp. r=dholbert
ShapeInfo and its derived classes are private to nsFloatManager, which don't
need to be in the header. Move them to cpp to make compile faster after
changing them.

MozReview-Commit-ID: MRkBGoqcPj

--HG--
extra : rebase_source : bc1de4269629f881e49af0d4faba89e8fbd4e460
2017-12-19 15:06:10 +08:00
Ting-Yu Lin
80fee1a237 Bug 1418224 Part 3 - Add shape-outside: <image> support to style system. r=heycam
Some Gecko style system files are modified to prevent assertions and
crashing, and to keep test failures on stylo disabled builds to minimum.

MozReview-Commit-ID: GuxAeCTz0xx

--HG--
extra : rebase_source : 2342085d13a50535836be46d75a731641d0fc49e
2017-11-17 16:34:37 +08:00
Ting-Yu Lin
56d6b694a2 Bug 1418224 Part 2 - Extract ShapeInfo::CreateBasicShape(). r=heycam
MozReview-Commit-ID: DZ1O0CzzsyT

--HG--
extra : rebase_source : d5f03aeea3b10810b07fb001b9ff4dbfc7e03c64
2017-11-21 18:24:34 +08:00
dluca
627438bf3c Backed out 4 changesets (bug 1418224) for build bustages r=backout on a CLOSED TREE
Backed out changeset 3ef8715cb8d7 (bug 1418224)
Backed out changeset 0d58d9fed90d (bug 1418224)
Backed out changeset faad7f275749 (bug 1418224)
Backed out changeset 1e86ff6b95ae (bug 1418224)
2017-11-27 07:42:50 +02:00
Ting-Yu Lin
0a432576a1 Bug 1418224 Part 3 - Add shape-outside: <image> support to style system. r=heycam
Some Gecko style system files are modified to prevent assertions and
crashing, and to keep test failures on stylo disabled builds to minimum.

MozReview-Commit-ID: GuxAeCTz0xx

--HG--
extra : rebase_source : 97c8b3900e4492ac03158a38aa03f7c044b71e0f
2017-11-17 16:34:37 +08:00
Ting-Yu Lin
fdbb843588 Bug 1418224 Part 2 - Extract ShapeInfo::CreateBasicShape(). r=heycam
MozReview-Commit-ID: DZ1O0CzzsyT

--HG--
extra : rebase_source : 41d23db4caef61663003c8ea1453363c90cdeca7
2017-11-21 18:24:34 +08:00
Daniel Holbert
680815cd6e Bug 1412346 part 5: (automated patch) Switch a bunch of C++ files in layout to use our standard mode lines. r=jfkthame
This patch was generated automatically by the "modeline.py" script, available
here: https://github.com/amccreight/moz-source-tools/blob/master/modeline.py

For every file that is modified in this patch, the changes are as follows:
 (1) The patch changes the file to use the exact C++ mode lines from the
     Mozilla coding style guide, available here:
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#Mode_Line

 (2) The patch deletes any blank lines between the mode line & the MPL
     boilerplate comment.

 (3) If the file previously had the mode lines and MPL boilerplate in a
     single contiguous C++ comment, then the patch splits them into
     separate C++ comments, to match the boilerplate in the coding style.

MozReview-Commit-ID: EuRsDue63tK

--HG--
extra : rebase_source : 3356d4b80ff6213935192e87cdbc9103fec6084c
2017-10-27 10:33:53 -07:00
Ting-Yu Lin
d944131798 Bug 1404243 Part 3 - Remove refcount for StyleBasicShape, and use UniquePtr to hold it. r=heycam
After StyleBasicShape is set to StyleShapeSource, it's life cycle never go
beyond StyleShapeSource, so I make StyleBasicShape hold by a UniquePtr in
StyleShapeSource.

Also, replace all raw pointers to StyleBasicShape by UniquePtr in all APIs.

MozReview-Commit-ID: 1MfIFjP8TsQ

--HG--
extra : rebase_source : bdbbd47de57e0bc610e37913752ab8413f62588a
2017-09-25 18:50:24 +08:00
Jonathan Kew
a8f81efd8e Bug 1365982 - Attach frame properties to each frame instead of looking them up in a hashtable on the prescontext. r=mats
--HG--
rename : layout/base/FramePropertyTable.cpp => layout/base/FrameProperties.cpp
rename : layout/base/FramePropertyTable.h => layout/base/FrameProperties.h
2017-05-27 12:36:00 +01:00
L. David Baron
a852d0d5ce Bug 1367190 patch 1 - Convert the 4 objects that use nsPresArena::AllocateBySize to use AllocateByObjectID. r=mats
MozReview-Commit-ID: 3LaG8Daon6V

--HG--
extra : transplant_source : %AB%00%3E%F6B%13%B8%84%C7%7B%24%08%8BU%8A%91%7DA%2C%A1
2017-05-24 09:35:26 -04:00
cku
c486e7014c Bug 1340044 - Part 2. Rename value in StyleGeometryBox. r=heycam
This change is to use gecko_enum_prefix in helpers.mako.rs, so that we do not
need to manually write code for nsStyleDisplay::mTransformBox.

MozReview-Commit-ID: 7UAL0iUcSIO

--HG--
extra : rebase_source : e99b7c163991df7ef3e7c0404fcef1832718a150
2017-03-16 15:18:10 +08:00
Ting-Yu Lin
1ab8a867a4 Bug 1326409 Part 6 - Convert aBasicShape to a pointer to a const value. r=dholbert
To address reviewer's comments in bug 1326409 comment 13 and comment 14.

MozReview-Commit-ID: FiUXXk4O8N7
2017-03-13 12:03:40 +08:00
Ting-Yu Lin
620f7841b7 Bug 1326409 Part 5 - Implement shape-outside: polygon(). r=dholbert
The <fill-rule> in the polygon() syntax is not handled because it doesn't
matter to shape-outside at all.

The reftests are numbered from 018 to avoid conflict with the w3c upstream
ones according to this list.
https://test.csswg.org/harness/results/css-shapes-1_dev/grouped/

Reftest 018 to 025 are under various writing-modes, 026 to 029 are testing
empty float area, 030 to 031 are testing polygon containing horizontal
lines.

MozReview-Commit-ID: FPUbMdZsvu6
2017-03-13 12:03:40 +08:00
Ting-Yu Lin
aa5bf0b087 Bug 1326409 Part 3 - Remove unneeded WritingMode parameter. r=dholbert
Remove WritingMode parameter from LineRight() and LineLeft() in both
FloatInfo and ShapeInfo.

Bug 1316549 Part 3 added the parameter to compute the border radii under
writing-modes correctly. However, bug 1326407 Part 6 later made us cache
border radii, so the WritingMode parameter is no longer needed.

MozReview-Commit-ID: DFhm5d51OXJ
2017-03-13 12:03:39 +08:00
cku
cfc6e5755f Bug 1336905 - Part 1. Remove StyleShapeSource's template argument. r=heycam,TYLin
MozReview-Commit-ID: FHTwGyXHsce

--HG--
extra : rebase_source : c043e4790bc2c84e4f3735a95c8ef0d9aa268986
extra : source : fb3c04effbd191767b1ff3e46c3c2d416ac8ee37
2017-02-21 23:26:17 +08:00
Ting-Yu Lin
e5836e823a Bug 1326407 Part 8 - Implement shape-outside: inset(). r=dbaron
The reftests have passed
layout/reftests/w3c-css/submitted/check-for-references.sh.

MozReview-Commit-ID: JZk1fo8SxgV

--HG--
extra : rebase_source : 5010c7e32bfe383c855ea5899f84860c4c747658
2017-02-16 10:51:49 +08:00
Ting-Yu Lin
859109777e Bug 1326407 Part 7 - Rename BoxShapeInfo to RoundedBoxShapeInfo. r=dbaron
The radii has been cached in the BoxShapeInfo in the previous part. Hence
the rename.

This class will be used to implement inset() in the next part, so the rect
stored isn't necessarily the rect of the <shape-box>. It could be the inset
rectangle. Therefore I rename mShapeBoxRect to mRect to avoid any confusion.

MozReview-Commit-ID: J0hpQDsbMyN

--HG--
extra : rebase_source : 76cf50e1819a586199934c29f46d467a1b86a9ec
2017-02-16 10:51:48 +08:00
Ting-Yu Lin
784cc9aee2 Bug 1326407 Part 6 - Cache the border radii in BoxShapeInfo. r=dbaron
The radii can be computed when creating BoxShapeInfo. No need to compute
them every time in the LineLeft() and LineRight().

MozReview-Commit-ID: GIDSLgickCT

--HG--
extra : rebase_source : 53bcb9bb89dc254119be00f6d091797bdbbec9af
2017-02-16 10:51:48 +08:00
Ting-Yu Lin
4f2dbe4c8e Bug 1326407 Part 5 - Rename ConvertPhysicalToLogical(). r=dbaron
Make the name and the order of arguments be consistent with the
ConvertPhysicalToLogical() method added in the previous part.

MozReview-Commit-ID: 1YARDzI3cyr

--HG--
extra : rebase_source : 41dfc4bf09610a5a38fed281d4a65157cf474503
2017-02-16 10:51:48 +08:00
Ting-Yu Lin
80b589bbdc Bug 1326407 Part 4 - Extract a function to convert a rect to float manager's logical coordinate. r=dbaron
MozReview-Commit-ID: Ag6V6XmlHIU

--HG--
extra : rebase_source : e47c6673a22c9e2de595e86a519c927546f68a96
2017-02-16 10:51:48 +08:00
Ting-Yu Lin
be522fca9a Bug 1326407 Part 3 - Extract a function to compute <shape-box> rect. r=dbaron
MozReview-Commit-ID: HaiDqNgE25P

--HG--
extra : rebase_source : 9b92aa9f6c0007030a651b9bd598f301f8f3bb7a
2017-02-16 10:51:48 +08:00
Ting-Yu Lin
81c35ddd7e Bug 1338443 Part 2 - Convert nsAutoFloatManager::mNew to use UniquePtr. r=dholbert
The life cycle of nsFloatManager managed by mNew is same as
nsAutoFloatManager, which lives only in nsBlockFrame::Reflow(). Therefore,
other nsFloatManager pointers are all non-owning ref to the
nsAutoFloatManager::mNew.

MozReview-Commit-ID: B34BOcsjE2X

--HG--
extra : rebase_source : 49e4adaf31537b4003ee1a3db315f3e8bd8b1a7f
2017-02-09 17:57:16 +08:00
Ting-Yu Lin
83efb1089f Bug 1334227 - Early return in unimplemented shape-outside cases. r=xidorn
MozReview-Commit-ID: 8l6C9LsLpJI

--HG--
extra : rebase_source : 3e91fd201d9483ce21cb4087aecbaf0a30a0a29a
2017-02-02 11:53:06 +08:00
Ting-Yu Lin
9e98795aca Bug 1333685 - Eliminate CircleShapeInfo, and use EllipseShapeInfo for circle(). r=dbaron
The difference between CircleShapeInfo's constructor and EllipseShapeInfo's
is the computation of the radii. Therefore, this patch creates a factory
function to distinguish that, so shape-outside: circle() could be
implemented by using EllipseShapeInfo.

MozReview-Commit-ID: 9ZBQu8zCSrM
2017-01-26 14:21:29 +08:00
Ting-Yu Lin
587b378e1d Bug 1326406 Part 6 - Make CircleShapeInfo inherit from EllipseShapeInfo. r=dbaron
MozReview-Commit-ID: H0UgT6P6c7K

--HG--
extra : rebase_source : c78b150708644baf09dcd182659eeeb108f6f7da
2017-01-23 17:19:32 +08:00
Ting-Yu Lin
6e5dfe2a8e Bug 1326406 Part 4 - Implement shape-outside: ellipse(). r=dbaron
MozReview-Commit-ID: t1gaoKNbNp

--HG--
extra : rebase_source : e52d4f935d5865fd034def6c46d914c61db36f19
2017-01-23 17:18:07 +08:00
Ting-Yu Lin
3cda6f7ed5 Bug 1326406 Part 3 - Add ShapeInfo::Translate() for moving the origin of ShapeInfo. r=dbaron
Instead of manually adding (aLineLeft, aBlockStart) when creating a shape,
add Translate() to let the shapes implement their only way to move their
origin. FloatInfo could then move the shapes after they're created.

MozReview-Commit-ID: ApZBHnkng74

--HG--
extra : rebase_source : 10da425372e4e26b0da506059befc99e1c47a39d
2017-01-23 17:17:37 +08:00
Xidorn Quan
97f33ec2f8 Bug 1332180 - Early return from shape-outside:url() value in ctor of FloatInfo. r=TYLin
MozReview-Commit-ID: E2nj3DWt1fr

--HG--
extra : rebase_source : 65cd44b001f8f6ed0085d03f7bc45d07780ef5c1
2017-01-19 16:41:19 +11:00
Ting-Yu Lin
2306e3b833 Bug 1311244 Part 7 - Implement shape-outside: circle(). r=dbaron
circle() allows the user to define an empty flow area, so IsEmpty() needs to
be overridden.

The flow area defined by a shape needs to be clipped to the margin-box per
https://drafts.csswg.org/css-shapes/#relation-to-box-model-and-float-behavior

In the reftests, both clip-path and shape-outside uses the same value so
that it's easier to debug visually.

Add LogicalPoint::LineRelative() because we need to convert a point's I() to
the line-axis in nsFloatManager. LineRelative() differs from I() in all
'rtl' direction per
https://drafts.csswg.org/css-writing-modes-3/#logical-to-physical

MozReview-Commit-ID: FxQaFPrEQ73

--HG--
extra : rebase_source : 0d768002a38adbded2a0caa6d3e001eaaca3313d
2017-01-06 16:36:43 +08:00
Ting-Yu Lin
5ebb40fc4c Bug 1311244 Part 6 - Add ShapeInfo and move <shape-box> impl to BoxShapeInfo. r=dbaron
Create ShapeInfo as a base class for implementing all the shapes. In this
design, we only need to create the correct subclass in FloatInfo's
constructor whenever shape-outside is used rather than manually branching on
StyleShapeSourceType and StyleBasicShape in all the methods like
LineRight(), LineLeft(), etc.

The concrete subclass of ShapeInfo could focus on implementing how its shape
influence the flow area by overriding the needed methods in ShapeInfo.

Move ComputeEllipseLineInterceptDiff() and XInterceptAtY() under the scope
of ShapeInfo so that they could be used by BoxShapeInfo and all the other
ShpapeInfo subclasses yet to come.

MozReview-Commit-ID: ETVc5FdGNha

--HG--
extra : rebase_source : 9a083ccd95fd7565112a45e30c15a91b97c7290f
2017-01-06 16:36:30 +08:00
Ting-Yu Lin
73e06aacdd Bug 1311244 Part 5 - Convert FloatInfo's copy constructor into a move constructor. r=dbaron
Use move constructor for two reasons. 1) The copy constructor is needed only
when appending FloatInfo to mFloats, so using move constructor will likely
be more efficient if some of the member variables support move constructor.
2) Part 6 will added a UniquePtr member to FloatInfo, so using move
constructor becomes necessary.

Also change the return value of AddFloat() to void to simplify the code,
since all the other callers do not check the return value, and
BlockReflowInput::FloatAndPlaceFloat() only asserts in debug mode. I assume
it's safe to omit the OOM check.

MozReview-Commit-ID: GVbbsdBjr7b

--HG--
extra : rebase_source : e0f647e029278a5033bb9d6d780e73e32de460d3
2017-01-06 16:36:19 +08:00
Carsten "Tomcat" Book
b80159cfa9 Backed out changeset 60d8d64ca347 (bug 1311244) 2017-01-12 14:19:22 +01:00
Carsten "Tomcat" Book
ce67e53a4d Backed out changeset 2893ecc79fef (bug 1311244) 2017-01-12 14:19:20 +01:00
Carsten "Tomcat" Book
6cbcd637ab Backed out changeset 466053d9302b (bug 1311244) 2017-01-12 14:19:18 +01:00
Ting-Yu Lin
703d48f356 Bug 1311244 Part 7 - Implement shape-outside: circle(). r=dbaron
circle() allows the user to define an empty flow area, so IsEmpty() needs to
be overridden.

The flow area defined by a shape needs to be clipped to the margin-box per
https://drafts.csswg.org/css-shapes/#relation-to-box-model-and-float-behavior

In the reftests, both clip-path and shape-outside uses the same value so
that it's easier to debug visually.

Add LogicalPoint::LineRelative() because we need to convert a point's I() to
the line-axis in nsFloatManager. LineRelative() differs from I() in all
'rtl' direction per
https://drafts.csswg.org/css-writing-modes-3/#logical-to-physical

MozReview-Commit-ID: FxQaFPrEQ73

--HG--
extra : rebase_source : 0d768002a38adbded2a0caa6d3e001eaaca3313d
2017-01-06 16:36:43 +08:00
Ting-Yu Lin
7696a7581c Bug 1311244 Part 6 - Add ShapeInfo and move <shape-box> impl to BoxShapeInfo. r=dbaron
Create ShapeInfo as a base class for implementing all the shapes. In this
design, we only need to create the correct subclass in FloatInfo's
constructor whenever shape-outside is used rather than manually branching on
StyleShapeSourceType and StyleBasicShape in all the methods like
LineRight(), LineLeft(), etc.

The concrete subclass of ShapeInfo could focus on implementing how its shape
influence the flow area by overriding the needed methods in ShapeInfo.

Move ComputeEllipseLineInterceptDiff() and XInterceptAtY() under the scope
of ShapeInfo so that they could be used by BoxShapeInfo and all the other
ShpapeInfo subclasses yet to come.

MozReview-Commit-ID: ETVc5FdGNha

--HG--
extra : rebase_source : 9a083ccd95fd7565112a45e30c15a91b97c7290f
2017-01-06 16:36:30 +08:00
Ting-Yu Lin
ea61e604fa Bug 1311244 Part 5 - Convert FloatInfo's copy constructor into a move constructor. r=dbaron
Use move constructor for two reasons. 1) The copy constructor is needed only
when appending FloatInfo to mFloats, so using move constructor will likely
be more efficient if some of the member variables support move constructor.
2) Part 6 will added a UniquePtr member to FloatInfo, so using move
constructor becomes necessary.

Also change the return value of AddFloat() to void to simplify the code,
since all the other callers do not check the return value, and
BlockReflowInput::FloatAndPlaceFloat() only asserts in debug mode. I assume
it's safe to omit the OOM check.

MozReview-Commit-ID: GVbbsdBjr7b

--HG--
extra : rebase_source : e0f647e029278a5033bb9d6d780e73e32de460d3
2017-01-06 16:36:19 +08:00
Phil Ringnalda
a52a0f5571 Backed out 8 changesets (bug 1311244) for OOM failures in Win7 debug R1
Backed out changeset d5411799a28f (bug 1311244)
Backed out changeset ff9c71e1dbc8 (bug 1311244)
Backed out changeset 96988ec5b81c (bug 1311244)
Backed out changeset 9d257713833a (bug 1311244)
Backed out changeset 2c33905ccb04 (bug 1311244)
Backed out changeset 20148e33d523 (bug 1311244)
Backed out changeset f36cd1532fdb (bug 1311244)
Backed out changeset 2ee4ea83a6b4 (bug 1311244)
2017-01-08 21:11:25 -08:00
Ting-Yu Lin
54c22b733c Bug 1311244 Part 7 - Implement shape-outside: circle(). r=dbaron
circle() allows the user to define an empty flow area, so IsEmpty() needs to
be overridden.

The flow area defined by a shape needs to be clipped to the margin-box per
https://drafts.csswg.org/css-shapes/#relation-to-box-model-and-float-behavior

In the reftests, both clip-path and shape-outside uses the same value so
that it's easier to debug visually.

Add LogicalPoint::LineRelative() because we need to convert a point's I() to
the line-axis in nsFloatManager. LineRelative() differs from I() in all
'rtl' direction per
https://drafts.csswg.org/css-writing-modes-3/#logical-to-physical

MozReview-Commit-ID: FxQaFPrEQ73

--HG--
extra : rebase_source : 02b4eafdff42477ef2c69d604a1650db01f954e4
2017-01-06 16:36:43 +08:00
Ting-Yu Lin
af28dce861 Bug 1311244 Part 6 - Add ShapeInfo and move <shape-box> impl to BoxShapeInfo. r=dbaron
Create ShapeInfo as a base class for implementing all the shapes. In this
design, we only need to create the correct subclass in FloatInfo's
constructor whenever shape-outside is used rather than manually branching on
StyleShapeSourceType and StyleBasicShape in all the methods like
LineRight(), LineLeft(), etc.

The concrete subclass of ShapeInfo could focus on implementing how its shape
influence the flow area by overriding the needed methods in ShapeInfo.

Move ComputeEllipseLineInterceptDiff() and XInterceptAtY() under the scope
nsFloatManager so that they could be used by BoxShapeInfo and all the other
ShpapeInfo subclasses yet to come.

MozReview-Commit-ID: ETVc5FdGNha

--HG--
extra : rebase_source : c73b0d0be2350db3eedb61b565de194842352ba1
2017-01-06 16:36:30 +08:00
Ting-Yu Lin
6dbe03d519 Bug 1311244 Part 5 - Convert FloatInfo's copy constructor into a move constructor. r=dbaron
Use move constructor for two reasons. 1) The copy constructor is needed only
when appending FloatInfo to mFloats, so using move constructor will likely
be more efficient if some of the member variables support move constructor.
2) Part 6 will added a UniquePtr member to FloatInfo, so using move
constructor becomes necessary.

Also change the return value of AddFloat() to void to simplify the code,
since all the other callers do not check the return value, and
BlockReflowInput::FloatAndPlaceFloat() only asserts in debug mode. I assume
it's safe to omit the OOM check.

MozReview-Commit-ID: GVbbsdBjr7b

--HG--
extra : rebase_source : 4765bbcf5c2533845bd8f7fb00117983429a622e
2017-01-06 16:36:19 +08:00
Ting-Yu Lin
53633b1c42 Bug 1320014 Part 14 - Convert NS_SIDE_TO_HALF_CORNER to a constexpr function. r=mats
MozReview-Commit-ID: 4MQu8omCdcg

--HG--
extra : rebase_source : 0bce3eb380c2bacd5a4576e1a57c96afb8b57160
2017-01-05 16:23:16 +08:00