Commit graph

96 commits

Author SHA1 Message Date
Cameron McCormack
d02e54b79b Bug 1430014 - Part 5: Stop building old style system classes when MOZ_OLD_STYLE is not defined. r=xidorn
MozReview-Commit-ID: CIHyPdF7Exl

--HG--
extra : source : 78a2fc781eead47af3923efcde58569c5d882ab1
2018-02-01 15:04:04 +11:00
Cameron McCormack
cc7db5c40c Bug 1430014 - Part 4: #ifdef out unnecessary code when the old style system is not built. r=xidorn
MozReview-Commit-ID: 1FZ9VzjcPzN

--HG--
extra : source : de22d220635f8c059834b76f769d5215ab1a8b5b
2018-02-01 15:04:04 +11:00
Kartikaya Gupta
87186734ba 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

--HG--
extra : rebase_source : d7714755fb1078880133d6f044cc9bc7743439ee
2017-11-12 18:37:33 -05: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
Jeremy Chen
d29aaa59a6 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

--HG--
extra : rebase_source : 3dc9b777793dd783cd5e1c4ff750b6f8db0d2185
2017-09-13 17:39:07 +08:00
Boris Chiou
5a4b83f24b Bug 1393605 - Fix gecko assertion and add one crashtest. r=birtles
MozReview-Commit-ID: 44QIZ8SipWX

--HG--
extra : rebase_source : 764a560a322b9945365929a7bba6eac77f47b554
2017-08-31 11:11:09 +08:00
Boris Chiou
8e1fff1e15 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

--HG--
extra : rebase_source : 778ca38b06e2a13d3db0465b9e74bd0c33c62a88
2017-07-31 17:31:27 +08:00
Markus Stange
284a74c2dc Bug 1370034 - Call SetWindowTransform with the right values from -moz-window-transform(-origin). r=dbaron
MozReview-Commit-ID: 3IVl3kdbpTd

--HG--
extra : rebase_source : 969b912c1be199844575c8b9e196f07d59638043
2017-06-19 00:49:52 -04:00
Cameron McCormack
1849ea4995 Backout bug 1291457 and bug 1370034 for bustage. 2017-06-19 13:55:15 +08:00
Markus Stange
af3291fdf2 Bug 1370034 - Call SetWindowTransform with the right values from -moz-window-transform(-origin). r=dbaron
MozReview-Commit-ID: 3IVl3kdbpTd

--HG--
extra : rebase_source : 3d1b52a352f21b25a8e4ed683575d0277f7c4dd2
2017-06-19 00:49:52 -04:00
Manish Goregaokar
3188b9bfd6 Bug 1373018 - Part 10: stylo: Remove StyleSource; r=bholley
MozReview-Commit-ID: 4IcROeDNoBA

--HG--
extra : rebase_source : e2f65c316be2c5640150eb5ff5628505ce446535
2017-06-10 22:27:45 -07:00
Boris Chiou
46a0e62893 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

--HG--
extra : rebase_source : 3309f4a4541c6612109a441c38bb896deb83c018
2017-06-07 11:25:14 +08:00
Boris Chiou
5e130f73e9 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

--HG--
extra : rebase_source : af6e7700cfa93e6a27454aeebd3088ba32265fed
2017-06-07 11:21:01 +08: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
cku
85448394ac Bug 1340044 - Part 1. Declare mTransformBox as StyleGeometryBox. r=heycam
MozReview-Commit-ID: 9fcHkDtNHhL

--HG--
extra : rebase_source : 61cdec71eea4f80e2e1e702bf6a03132287545a3
2017-03-15 12:21:07 +08:00
Iris Hsiao
57e2751fbd 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
b931dde44d Bug 1335876 - Part 1. Declare mTransformBox as StyleGeometryBox. r=heycam
MozReview-Commit-ID: 9fcHkDtNHhL

--HG--
extra : rebase_source : 8c5f80c261f178db970bb9bf0615d394da2560f5
2017-02-02 13:57:49 +08:00
Boris Chiou
93878e807e 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

--HG--
extra : rebase_source : 81e352edb85c9abb16fb0ef2780ff27c4f264709
2017-02-06 16:32:21 +08:00
Xidorn Quan
c3e6a81bc4 Bug 1316236 - Treat perspective(0) as perspective(infinity). r=dholbert
MozReview-Commit-ID: H9xlpjxrzht

--HG--
extra : rebase_source : 5060ae56163446a9dd6ae816c548ecd987a6e33e
2017-01-20 12:45:33 +11:00
Hiroyuki Ikezoe
598b376e51 Bug 1319072 - Don't assert even if coefficient is out of range [0, 1]. r=boris
MozReview-Commit-ID: 6TnuoNnHcSc

--HG--
extra : rebase_source : c112546cae35050f1c02cc09e3cff1cb5f9ac41b
2016-11-22 08:11:42 +09:00
Hiroyuki Ikezoe
c661a36ecc Bug 1304886 - Part 8: Add Accumulate operator. r=boris,derf
MozReview-Commit-ID: Bzcn3IRSx6L

--HG--
extra : rebase_source : 854c39f38953a400407bcf976ebd68f25f4b6396
2016-11-16 20:32:33 +09:00
Hiroyuki Ikezoe
7edca15eba 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

--HG--
extra : rebase_source : afec2823ac615598ec965571f465ca2c6420a3cc
2016-11-16 20:32:32 +09:00
Hiroyuki Ikezoe
d0c449e60d Bug 1304886 - Part 5: Make InterpolateTransformMatrix template to calculate accumulation. r=boris
InterpolateTransformMatrix renamed to OperateTransformMatrix.

MozReview-Commit-ID: 3IpkAIa3cBN

--HG--
extra : rebase_source : b3e705ff394d3fdfb3eb6727f8b732bba1238617
2016-11-16 20:32:32 +09:00
Hiroyuki Ikezoe
59b118b408 Bug 1304886 - Part 3: Move InterpolateTransformMatrix into nsStyleTransformMatrix. r=boris
MozReview-Commit-ID: 7GV6B7AwNcg

--HG--
extra : rebase_source : 41efbb5ffcc9c1ea63babedbb6d5f312bf49926e
2016-11-16 20:32:32 +09:00
Boris Chiou
304026cd9d Bug 1272549 - Part 9: Compute distance for mismatched transform lists. r=birtles
MozReview-Commit-ID: JJWcMgj88GX

--HG--
extra : rebase_source : 3f1c314a2bf9c7c12991fb3873738c79b0152ea9
2016-10-05 15:36:16 +08:00
Boris Chiou
5e9077980f 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

--HG--
extra : rebase_source : a15f2e4350e5c097eee8856a76244a81d589427a
2016-10-04 18:32:20 +08:00
Boris Chiou
17e5c4df16 Bug 1272549 - Part 6: Use enum class for shear in decomposition functions. r=birtles
MozReview-Commit-ID: 4exovhbjHI3

--HG--
extra : rebase_source : 99705c1bb2c980be06f7c662698241dde5ee9ab9
2016-10-12 12:36:58 +08:00
Boris Chiou
c82cb7f0df 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

--HG--
extra : rebase_source : 75823b96a165ef65e3edfb00978b706d9db09393
2016-10-04 15:00:31 +08:00
Boris Chiou
fe6b56e5e8 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

--HG--
extra : rebase_source : 552ff668e2ac19dbfcfe2a37894b278f699f0c0b
2016-10-03 17:43:20 +08:00
Xidorn Quan
3ea5e42f51 Bug 1274158 part 1 - Handle zero perspective gracefully. r=mattwoodrow
MozReview-Commit-ID: CEX39wo6oX8

--HG--
extra : rebase_source : 07dc609dc2a23672dde2a2ea0705cc620068f102
2016-08-12 14:51:10 +10:00
Chris Peterson
ad0b562df7 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
a7c2c21d89 Bug 1245242 - Normalize to unit vector for DOMMatrix.rotateAxisAngleSelf. r=roc 2016-02-04 00:30:00 -08:00
William Chen
96cc20f039 Bug 1241575 - Use transform property syntax to parse WebKitCSSMatrix transform list. r=heycam 2016-02-01 16:45:09 -08:00
Robert Longson
0c7534f0a8 Bug 1175492 - unpref transform-origin percentage handling for SVG elements r=jwatt 2015-09-15 22:10:48 +01:00
Kearwood (Kip) Gilbert
c06afa1c7f 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
225f3dd70d 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
7f790e5e3c 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
13ebd5c893 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
b9b0d2b3c3 Bug 923193, part 1 - Avoid calculation of the reference box for transforms unless they're actually needed. r=roc
--HG--
extra : rebase_source : 8ffca8102a9648642f9166c213ce9e964c34b2af
2015-04-28 19:55:42 +01:00
L. David Baron
b3c27e4396 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
David Zbarsky
205b93ba09 Bug 1060165: Remove gfxPoint3D r=nical 2014-08-29 14:47:30 -04:00
Matt Woodrow
b66e142f4a Bug 781701 - Interpolate rotate3d rotation angles numerically when we can instead of using matrix decompositon. r=dbaron 2014-08-19 15:58:17 +12:00
Brian Birtles
6bc9caf270 Bug 1010067 part 2 - Rename nsStyleAnimation.{h,cpp} to StyleAnimationValue.{h,cpp}; r=dbaron
--HG--
rename : layout/style/nsStyleAnimation.cpp => layout/style/StyleAnimationValue.cpp
rename : layout/style/nsStyleAnimation.h => layout/style/StyleAnimationValue.h
2014-06-24 15:29:54 +09:00
Brian Birtles
65c7f861cb Bug 1010067 part 1 - Rename nsStyleAnimation::Value to mozilla::StyleAnimationValue; r=dbaron
This patch also moves the static methods defined on nsStyleAnimation so that
they are part of StyleAnimationValue class.

Renaming nsStyleAnimation.h to StyleAnimationValue.h is performed in a separate
patch to simplify the diff (since some tools may not handle file renames
elegantly).
2014-06-24 15:29:54 +09:00
Jonathan Watt
2586dd3cb2 Bug 1025553, part 1 - Change the names of the members of gfxMatrix to match the names of the members of Moz2D's Matrix. r=Bas 2014-06-17 18:35:51 +01:00
Matt Woodrow
da8180da9c Bug 995871 - Apply CSS transforms in CSS pixel space instead of device pixel space. r=dbaron 2014-05-08 17:35:00 +12:00
Ehsan Akhgari
35ff0cae16 Bug 938123 - Build layout/style in unified mode; r=roc 2013-11-14 21:42:57 -05:00
Ehsan Akhgari
6ada2899b2 Bug 916610 - Minimize the #includes in layout/style; r=roc 2013-09-15 21:06:52 -04:00
L. David Baron
41eb1ebd96 Bug 511803 patch 2: Convert all eCSSUnit_Function storage to use nsCSSKeyword. This leads to one behavior change, which is case canonicalization for font-variant-alternates function values. r=bzbarsky
--HG--
rename : layout/style/test/test_bug721136.html => layout/style/test/test_specified_value_serialization.html
2013-05-23 09:08:29 +08:00
David Zbarsky
3250bd906e [Bug 847110] Fix up includes in layout/style r=dbaron 2013-03-02 19:31:48 -05:00