Commit Graph

106 Commits

Author SHA1 Message Date
Chris Peterson
f7ceeaf5cf Bug 1469769 - Part 6: Replace non-failing NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE. r=froydnj
This patch is an automatic replacement of s/NS_NOTREACHED/MOZ_ASSERT_UNREACHABLE/. Reindenting long lines and whitespace fixups follow in patch 6b.

MozReview-Commit-ID: 5UQVHElSpCr
2018-06-17 22:43:11 -07:00
Chris Peterson
5d6b16ea3b Bug 1457813 - Part 2: Replace non-asserting NS_PRECONDITIONs with MOZ_ASSERTs. r=froydnj
s/NS_PRECONDITION/MOZ_ASSERT/ and reindent

MozReview-Commit-ID: KuUsnVe2h8L
2018-04-28 12:50:58 -07:00
Jonathan Watt
baf9ffb02b Bug 1448714 - Fix up comments referring to 'style context' after the rename of nsStyleContext. r=emilio 2018-03-23 13:49:21 +00:00
Jonathan Watt
a30a336781 Bug 1448337 - Remove RuleNodeCacheConditions.h. r=emilio 2018-03-25 20:43:47 +02:00
Narcis Beleuzu
2764b805dc Backed out 2 changesets (bug 1448294, bug 1448337) for wpt and reftest failures on /mathml
Backed out changeset 180051cfe357 (bug 1448294)
Backed out changeset c188176f3289 (bug 1448337)
2018-03-25 21:31:08 +03:00
Jonathan Watt
0b904e9bb7 Bug 1448337 - Remove RuleNodeCacheConditions.h. r=emilio 2018-03-22 08:44:07 +00:00
Emilio Cobos Álvarez
1d4859a89a Bug 1447483: Merge nsStyleContext and ServoStyleContext, rename to ComputedStyle. r=jwatt on a CLOSED TREE
MozReview-Commit-ID: JPopq0LudD
2018-03-22 20:06:24 +01:00
Emilio Cobos Álvarez
97286b35c8 Back out changeset b683bb3f22a1 (Bug 1447483) for not landing with all the files. r=me on a CLOSED TREE
This reverts commit 1808914126bb9f9e4a82d2c3d7ac961885fe7d62.

MozReview-Commit-ID: 5skESBseEvo
2018-03-22 20:05:22 +01:00
Emilio Cobos Álvarez
1f5d8de5cc Bug 1447483: Merge nsStyleContext and ServoStyleContext, rename to ComputedStyle. r=jwatt
MozReview-Commit-ID: JPopq0LudD
2018-03-22 19:48:42 +01:00
Emilio Cobos Álvarez
b1a35fbef7 Bug 1447358: Unifdef the old style system code. r=jwatt
Summary:
This has been automatically generated using:

  http://dotat.at/prog/unifdef/

And:

find $OBJDIR -type f -name '*.h' |
while read FILE; do
  echo "$FILE"
  unifdef -m -DMOZ_STYLO -UMOZ_OLD_STYLE "$FILE";
done

find $OBJDIR -type f -name '*.cpp' |
while read FILE; do
  echo "$FILE"
  unifdef -m -DMOZ_STYLO -UMOZ_OLD_STYLE "$FILE";
done

MozReview-Commit-ID: I4NdKqbMXzJ

Reviewers: jwatt

Bug #: 1447358

Differential Revision: https://phabricator.services.mozilla.com/D779
2018-03-21 10:20:34 +01:00
Cameron McCormack
34288f7f48 Bug 1430014 - Part 5: Stop building old style system classes when MOZ_OLD_STYLE is not defined. r=xidorn
MozReview-Commit-ID: CIHyPdF7Exl
2018-02-01 15:04:04 +11:00
Cameron McCormack
02c617875f Bug 1430014 - Part 4: #ifdef out unnecessary code when the old style system is not built. r=xidorn
MozReview-Commit-ID: 1FZ9VzjcPzN
2018-02-01 15:04:04 +11:00
Kartikaya Gupta
7d327075f0 Bug 1416540 - Convert AnimationValue::GetStyleValue to return a float-based Size. r=mattwoodrow
This follows from the previous patch; these values feed into UpdateMinMaxScale
as well, which explicitly wants to use floats, so there's no point in creating
doubles. The source of this information is also a float-based matrix.

MozReview-Commit-ID: LPk4Xm9AaJJ
2017-11-12 18:37:33 -05:00
Daniel Holbert
8fea3c215f 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
2017-10-27 10:33:53 -07:00
Jeremy Chen
4724b58725 Bug 1394284 - add fallback discrete procedure for transform animation. r=boris,hiro
According to the spec, if one of the matrices for transform interpolation is
non-invertible, the used animation function must fall-back to a discrete
animation. However, in the current implementation, we always use an identity
matrix as a fallback for the non-invertible matrix.

Decompose2DMatrix and Decompose3DMatrix both return a boolean, but we just
never use it. So, in this patch, we use the returned boolean from the matrix
decomposition as a condition, and do the fallback discrete procedure for the
non-invertible matrices case.

MozReview-Commit-ID: E7i1a1MJOXN
2017-09-13 17:39:07 +08:00
Boris Chiou
d5329750ce Bug 1393605 - Fix gecko assertion and add one crashtest. r=birtles
MozReview-Commit-ID: 44QIZ8SipWX
2017-08-31 11:11:09 +08:00
Boris Chiou
7c8356fec2 Bug 1384656 - Use GeckoStyleContext in nsStyleTransformMatrix::ProcessTranslatePart. r=emilio
The unit of nsCSSValue is always number/pixel/percent or eCSSUnit_Calc,
so we don't need the style context for Servo backend.
Besides, ReadTransform is a public API used in many places, so we keep
its argument type as nsStyleContext.

MozReview-Commit-ID: KLdrJ5BJXg8
2017-07-31 17:31:27 +08:00
Markus Stange
5c23434847 Bug 1370034 - Call SetWindowTransform with the right values from -moz-window-transform(-origin). r=dbaron
MozReview-Commit-ID: 3IVl3kdbpTd
2017-06-19 00:49:52 -04:00
Cameron McCormack
95368ca21c Backout bug 1291457 and bug 1370034 for bustage. 2017-06-19 13:55:15 +08:00
Markus Stange
09c7505b59 Bug 1370034 - Call SetWindowTransform with the right values from -moz-window-transform(-origin). r=dbaron
MozReview-Commit-ID: 3IVl3kdbpTd
2017-06-19 00:49:52 -04:00
Manish Goregaokar
533734efc7 Bug 1373018 - Part 10: stylo: Remove StyleSource; r=bholley
MozReview-Commit-ID: 4IcROeDNoBA
2017-06-10 22:27:45 -07:00
Boris Chiou
bd70a68876 Bug 1335998 - Part 2: Delegate matrix decomposition/interpolation/recomposition to Servo. r=birtles,manishearth
Use Servo backend to decompose/interpolate/recompose matrices on both
main thread and compositor thread.

Note: Due there may be differences in precision used to represent the
      components, and the computation of matrix interpolation are not
      exactly same (still following the formulas in spec). There are some
      tiny differences between the interpolation results of 2d/3d
      matrices on Gecko and Servo, especially if there is skew() or any 3d
      transform function.

MozReview-Commit-ID: 6T8vlR4MJGr
2017-06-07 11:25:14 +08:00
Boris Chiou
c96649ee05 Bug 1335998 - Part 1: Implement Gecko_CSSValue_InitSharedList and read the transform from the shared list. r=birtles,manishearth
We create interpolatematrix and accumulatematrix from Servo side
not on the main thread, so we cannot use nsCSSValueList_heap (which is not
thread safe so we cannot create it and destroy it on different threads).
Therefore, we use nsCSSValueSharedList to represent the cloned lists in
interpolatematrix and accumulatematrix.

MozReview-Commit-ID: L5WBKHwsrUz
2017-06-07 11:21:01 +08:00
cku
14c0f9ceb9 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
2017-03-16 15:18:10 +08:00
cku
9db54d5a1a Bug 1340044 - Part 1. Declare mTransformBox as StyleGeometryBox. r=heycam
MozReview-Commit-ID: 9fcHkDtNHhL
2017-03-15 12:21:07 +08:00
Iris Hsiao
b5a0c8c111 Backed out 4 changesets (bug 1335876) for stylo tc build bustage
Backed out changeset b870f9671bcd (bug 1335876)
Backed out changeset 3e160602fc1a (bug 1335876)
Backed out changeset 9d290cbe5aad (bug 1335876)
Backed out changeset 6e447c3fcd79 (bug 1335876)
2017-02-15 10:20:11 +08:00
cku
84dbe2a1c2 Bug 1335876 - Part 1. Declare mTransformBox as StyleGeometryBox. r=heycam
MozReview-Commit-ID: 9fcHkDtNHhL
2017-02-02 13:57:49 +08:00
Boris Chiou
d1fd8dc56d Bug 1335942 - Part 5: Add AnimationValue::GetScaleValue(). r=hiro
Move the common part of GetScaleValue into nsStyleTransformMatrix, and add a
new method, GetScaleValue, on AnimationValue, which can get the scale value from
StyleAnimationValue or RawServoAnimationValue.

MozReview-Commit-ID: 4spi1LkZrWP
2017-02-06 16:32:21 +08:00
Xidorn Quan
310f168604 Bug 1316236 - Treat perspective(0) as perspective(infinity). r=dholbert
MozReview-Commit-ID: H9xlpjxrzht
2017-01-20 12:45:33 +11:00
Hiroyuki Ikezoe
093b156a13 Bug 1319072 - Don't assert even if coefficient is out of range [0, 1]. r=boris
MozReview-Commit-ID: 6TnuoNnHcSc
2016-11-22 08:11:42 +09:00
Hiroyuki Ikezoe
9659b093bb Bug 1304886 - Part 8: Add Accumulate operator. r=boris,derf
MozReview-Commit-ID: Bzcn3IRSx6L
2016-11-16 20:32:33 +09:00
Hiroyuki Ikezoe
62abc27375 Bug 1304886 - Part 6: Make ProcessInterpolateMatrix template. r=boris
To avoid exposing the template ProcessInterpolateMatrix is left because it is
used in AddTransformFunctions in nsDisplayList.cpp.

MozReview-Commit-ID: D9KW7du5j04
2016-11-16 20:32:32 +09:00
Hiroyuki Ikezoe
1cf0321dd2 Bug 1304886 - Part 5: Make InterpolateTransformMatrix template to calculate accumulation. r=boris
InterpolateTransformMatrix renamed to OperateTransformMatrix.

MozReview-Commit-ID: 3IpkAIa3cBN
2016-11-16 20:32:32 +09:00
Hiroyuki Ikezoe
06e0ac11c7 Bug 1304886 - Part 3: Move InterpolateTransformMatrix into nsStyleTransformMatrix. r=boris
MozReview-Commit-ID: 7GV6B7AwNcg
2016-11-16 20:32:32 +09:00
Boris Chiou
5e5fbf62e9 Bug 1272549 - Part 9: Compute distance for mismatched transform lists. r=birtles
MozReview-Commit-ID: JJWcMgj88GX
2016-10-05 15:36:16 +08:00
Boris Chiou
c7f5bae73f Bug 1272549 - Part 7: Compute distance for matrix and matrix3d. r=birtles
Decompose the 2d/3d matrix and calculate the Euclidean distance of
translate, scale, skew, quaternion, and perspective vectors.

MozReview-Commit-ID: 5nX9EeqvZi9
2016-10-04 18:32:20 +08:00
Boris Chiou
945300c16e Bug 1272549 - Part 6: Use enum class for shear in decomposition functions. r=birtles
MozReview-Commit-ID: 4exovhbjHI3
2016-10-12 12:36:58 +08:00
Boris Chiou
bc12553b2f Bug 1272549 - Part 5: Move decompose matrix to nsStyleTransformMatrix. r=birtles
Move Decompose2DMatrix and Decompose3DMatrix into nsStyleTransformMatrix
and remove some trailing spaces.

Both AddWeighted and ComputeDistance need Decompose2DMatrix and
Decompose3DMatrix on transform property, and both decomposition functions are
related to nsStyleTransformMatrix, so we move them into nsStyleTransformMatrix
to make StyleAnimationValue more concise.

MozReview-Commit-ID: 5aVK7971rDD
2016-10-04 15:00:31 +08:00
Boris Chiou
8f77dda644 Bug 1272549 - Part 4: Compute distance for none and a valid transform list. r=birtles
Reuse AddTransformLists to get the identity transform functions to
replace none, and then treat them with another transform list as two matched
ones.

MozReview-Commit-ID: HwdBPCiUivg
2016-10-03 17:43:20 +08:00
Xidorn Quan
2be3be9c34 Bug 1274158 part 1 - Handle zero perspective gracefully. r=mattwoodrow
MozReview-Commit-ID: CEX39wo6oX8
2016-08-12 14:51:10 +10:00
Chris Peterson
136c15bfdd Bug 1247533 - Annotate intentional switch fallthrough to suppress -Wimplicit-fallthrough warning in layout/style/. r=dbaron
layout/style/nsStyleTransformMatrix.cpp:642:5: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
2016-02-10 23:16:29 -08:00
William Chen
72b3be9de2 Bug 1245242 - Normalize to unit vector for DOMMatrix.rotateAxisAngleSelf. r=roc 2016-02-04 00:30:00 -08:00
William Chen
c5d8305971 Bug 1241575 - Use transform property syntax to parse WebKitCSSMatrix transform list. r=heycam 2016-02-01 16:45:09 -08:00
Robert Longson
3d7f16ea53 Bug 1175492 - unpref transform-origin percentage handling for SVG elements r=jwatt 2015-09-15 22:10:48 +01:00
Kearwood (Kip) Gilbert
a92527b792 Bug 1181240 - Part 2: Replace gfx3DMatrix with Matrix4x4 in layout,r=vlad
- Refactored code to use Matrix4x4 instead of gfx3DMatrix.
- There is not expected to be any functional effect.
2015-07-10 17:05:47 -07:00
Cameron McCormack
0091133bc4 Bug 804975 - Part 2: Add a RuleNodeCacheConditions class and use it instead of a boolean canStoreInRuleTree during style computation. r=dbaron 2015-06-23 11:48:18 +10:00
Jonathan Watt
f27ad087d6 Bug 1168664 - Stop mistakenly using the transform reference box's width to calculate the Z component in ProcessMatrix3D. r=mattwoodrow 2015-05-25 11:13:42 +01:00
Jonathan Watt
4c8328b768 Bug 923193, part 4 - Implement support for the 'transform-origin' property in SVG. r=heycam 2015-05-24 22:40:37 +01:00
Jonathan Watt
18ce1a7020 Bug 923193, part 1 - Avoid calculation of the reference box for transforms unless they're actually needed. r=roc 2015-04-28 19:55:42 +01:00
L. David Baron
0a1f75186e Bug 1153426 - Don't crash when doing an off-main-thread animation of a transform to or from the 'none' value. r=birtles
I confirmed locally (with ./mach mochitest-plain --e10s on Linux) that
the added test crashes without the patch and passes with the patch.
2015-04-16 18:13:15 -07:00