The same reason as bug 1329897 P3.
MozReview-Commit-ID: AhyFnUmXoOr
--HG--
extra : rebase_source : 2121fcef9faa0838bda07ed3273d1b24c98ff342
extra : intermediate-source : 8822c00ab309a845e16aea97ea02c4640d4d9519
extra : source : 11ee1f3ac0009afc175fd813980501cd65ae5f9e
1. we assert mSentFirstFrameLoadedEvent in DecodingState::Enter()
2. NeedToSkipToNextKeyframe() is called by EnsureVideoDecodeTaskQueued() when IsVideoDecoding() is true.
MozReview-Commit-ID: O6rkCBVmNu
--HG--
extra : rebase_source : 54ad2ddbf0c089cf7c493f7a9c5420bbbb3b5640
extra : intermediate-source : 3158eff8d06e40e3297b94f828dd40487f6e788b
extra : source : 6d92368a8f6f847b3a5b78a4072fd031383ead0e
The StyleAnimationValue for filter and shadow has no mCSSValueList in case of
initial style.
MozReview-Commit-ID: JigQQBbx77x
--HG--
extra : rebase_source : b2bb513424a7d089c8dfb6b880dd7c7239280efb
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
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
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
More functions in nsCSSClipPathInstance will be refactored and moved into
ShapeUtils in subsequent patches.
MozReview-Commit-ID: LmJUevY8YGr
--HG--
extra : rebase_source : 8888fa26fab541d06a3fccad9e4376bb3a66c043
|center| should be of nsPoint type since all the arguments of
ComputeObjectAnchorPoint() uses nsPoint and nsSize. We should only convert
center to Point (which is an an UnknownUnits type) for APIs requiring Point
type.
MozReview-Commit-ID: EDrQGPUZp6m
--HG--
extra : rebase_source : a5494f969dcb08c139af076e95584502f46f0b9e
The is a preemptively fix for unified bustage after Part 2 adds a new file
under layout/base/.
The error was:
In static member function 'static bool nsLayoutUtils::SupportsServoStyleBackend(nsIDocument*)':
invalid static_cast from type 'nsIDocument*' to type 'nsDocument*'
MozReview-Commit-ID: A8xTSPgh8Ls
--HG--
extra : rebase_source : 144315f06ecc5d66af1b1b0abbf8ac8269d9d13d