Commit Graph

99 Commits

Author SHA1 Message Date
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
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
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
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
Ehsan Akhgari
c30d8b5d6d Bug 1363252 - Increase NS_FLOAT_MANAGER_CACHE_SIZE to 64 in order to reduce the likelihood of dynamic allocations when creating new nsFloatManagers; r=dbaron 2017-05-08 22:27:26 -04:00
Ehsan Akhgari
20648c397b Bug 1362876 follow-up: Bump up the reserved size to 11 2017-05-08 21:49:08 -04:00
Ehsan Akhgari
b90cfcb8ef Bug 1362876 - Use reserved storage for 10 FloatInfo objects on the stack in nsFloatManager::mFloats; r=dbaron 2017-05-08 21:36:51 -04: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
Ting-Yu Lin
45e26b7d07 Bug 1326409 Part 1 - Annotate EllipseShapeInfo as 'final'. r=dholbert
MozReview-Commit-ID: IReCWO8JRSQ
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
744b2da832 Bug 1338443 followup - Fix comment indentation for nsFloatManager::mOld. r=me
Comment-only change. DONTBUILD.

MozReview-Commit-ID: Dci70Bqkbc0
2017-02-14 14:31:47 +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
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
0807932a97 Bug 1326406 Part 5 - Update document about float manager's coordinate space. r=dbaron
MozReview-Commit-ID: LJVqs49CSqQ

--HG--
extra : rebase_source : a012fd57664e6a58358eb18feab664958f15340c
2017-01-23 16:37:07 +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
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
50f80eb8ba Bug 1319672 Part 1 - Add document related to writing-mode in nsFloatManager. r=dbaron
MozReview-Commit-ID: 2Sr7UU6BQ9r

--HG--
extra : rebase_source : 50840b749cf045221af9680dc3538406f0936286
2016-11-23 18:07:56 +08:00
Ting-Yu Lin
62055a1981 Bug 1316549 Part 4 - Use logical names for ComputeEllipseLineInterceptDiff(). r=dbaron
This patch is just renames. No logic change for the function.

MozReview-Commit-ID: K7w0YL3G3gu

--HG--
extra : rebase_source : d72ecdcb4d4455f4950c8673c81fbfc7c1b4f54c
2016-11-18 13:54:09 +08:00
Ting-Yu Lin
ece375de5b Bug 1316549 Part 3 - Fix <shape-box> with border-radius in writing-mode. r=dbaron
The tests cases are designed based on the integer solution to the ellipse
equation (x/a)^2 + (y/b)^2 = 1, where x=36, y=32, a=60, b=40.

MozReview-Commit-ID: De2fXcb6ypP

--HG--
extra : rebase_source : a64f490ff41c020b84025266c0c255d93a158eea
2016-11-14 18:11:45 +08:00
Ting-Yu Lin
7a0febcd1b Bug 1309467 Part 5 - Make flow area of <shape-box> values respect border-radius. r=dbaron
In GetFlowArea(), "Shrink our band's height if needed." computation was
moved to the end because we need to pass the unmodified |blockEnd| to
compute LineRight() and LineLeft().

Revamp OutsetBorderRadii() to allow negative margin to reduce the radius,
but not below zero. Also implement the cubic formula required by the spec.
https://drafts.csswg.org/css-shapes/#valdef-shape-box-margin-box

OutsetBorderRadii() is now tailored only for margin-box with border-radius,
so it might no longer be suitable for other scenarios.

MozReview-Commit-ID: HKxW7rp6sIA

--HG--
extra : rebase_source : d416433016304feefc9ed9dcd1c22f7f2f92e27e
2016-10-13 16:28:38 +08:00
Ting-Yu Lin
0bb55f9970 Bug 1309467 Part 4 - Implement <shape-box> values for shape-outside. r=dbaron
Per spec, float positioning and stacking is not affected by defining a float
area with a shape.
https://drafts.csswg.org/css-shapes/#relation-to-box-model-and-float-behavior

So all the call sites of GetFloatAvailableSpace() related to adding a
float are replaced by GetFloatAvailableSpaceForPlacingFloat().

<shape-box> with border-radius will be implemented in next part.

MozReview-Commit-ID: 1RXEeXDhdWo

--HG--
extra : rebase_source : 42cdb0c81b16168e4e30ee2261ceccb562e278cf
2016-10-12 16:06:25 +08:00