servo/components
Boris Chiou 4ed1a6be20 Fix the identity transform of rotatex and rotatey.
Let's see the example: "rotatex(360deg)" to "none".

While we do interpolation between "rotatex" and "none", the original code
path is:
1. Build an identity transform for none and always use (0, 0, 1) as the
   direction vector, i.e. Rotate(0, 0, 1, 0deg).
2. Do interpolation between rotatex (i.e. Rotate(1, 0, 0, 360deg)) and
   Rotate(0, 0, 1, 0deg). Because their direction vectors are different,
   so we do matrix decomposition/interpolation/recomposition on both
   functions. The problem is, matrix decomposition makes the 360deg
   disappear, so it looks like "rotatex(0deg)".
3. Obviously, we are trying to interpolate from rotatex(0deg) to none, so
   the interpolated matrix is always an identity matrix.

I think rotatex, rotatey, and rotatez are special cases which should
really rotate according to the angle, so we should build the identity
transform for them according to the normalized direction vector, and so we do
interpolation on the angle, instead of converting them into matrix.

Replacing build_identity_transform_list() with
add_weighted_transform_lists(list, list, 0, 0) might be another solution;
However, I didn't do that because build_identity_transform_list() is
much simpler.
2017-08-20 02:26:18 +08:00
..
atoms Rework MediaType to be an atom-based struct instead of an enum. 2017-08-09 13:25:30 -07:00
bluetooth Untry 2017-06-18 13:21:51 +02:00
bluetooth_traits Remove explicit dependencies on serde_derive 2017-06-16 13:58:21 +02:00
canvas Update WR (remove internal webgl implementation). 2017-08-18 13:09:51 +10:00
canvas_traits Revert "Auto merge of #18114 - emilio:revert-webgl-refactor, r=nox" 2017-08-16 23:23:18 +02:00
compositing Update WR (remove internal webgl implementation). 2017-08-18 13:09:51 +10:00
config Update Firefox version in user agent 2017-08-10 09:09:18 -07:00
constellation Auto merge of #17521 - KiChjang:update-fetch, r=jdm 2017-08-18 18:39:02 -05:00
debugger
deny_public_fields deny_public_fields: display field identifier in help message 2017-06-25 18:12:43 +01:00
devtools Upgrade to rustc 1.21.0-nightly (13d94d5fa 2017-08-10) 2017-08-15 14:10:44 +02:00
devtools_traits Remove explicit dependencies on serde_derive 2017-06-16 13:58:21 +02:00
dom_struct
domobject_derive
geometry Bump serde to 1.0 2017-06-16 13:31:18 +02:00
gfx Auto merge of #18056 - cynicaldevil:remove-treesink-dep-on-dom, r=nox 2017-08-18 16:27:05 -05:00
gfx_traits Fix fixed position items with parents with CSS clips 2017-08-03 17:52:02 +02:00
jstraceable_derive
layout Auto merge of #18136 - upsuper:shadow-color, r=emilio 2017-08-19 05:45:53 -05:00
layout_thread Auto merge of #18056 - cynicaldevil:remove-treesink-dep-on-dom, r=nox 2017-08-18 16:27:05 -05:00
layout_traits WR multi-document update 2017-07-28 22:28:11 -04:00
metrics PWM tests 2017-07-21 15:10:04 +02:00
msg Fix fixed position items with parents with CSS clips 2017-08-03 17:52:02 +02:00
net Auto merge of #17521 - KiChjang:update-fetch, r=jdm 2017-08-18 18:39:02 -05:00
net_traits Add location_url to Metadata struct 2017-08-18 16:30:14 -07:00
profile Upgrade to rustc 1.21.0-nightly (13d94d5fa 2017-08-10) 2017-08-15 14:10:44 +02:00
profile_traits Implement basic Time To First Paint and First Contentful Paint PWMs 2017-07-20 15:41:21 +02:00
rand
range Remove explicit dependencies on serde_derive 2017-06-16 13:58:21 +02:00
remutex Upgrade to rustc 1.21.0-nightly (599be0d18 2017-07-26) 2017-07-27 02:21:01 +02:00
script Auto merge of #18056 - cynicaldevil:remove-treesink-dep-on-dom, r=nox 2017-08-18 16:27:05 -05:00
script_layout_interface Auto merge of #18056 - cynicaldevil:remove-treesink-dep-on-dom, r=nox 2017-08-18 16:27:05 -05:00
script_plugins Upgrade to rustc 1.21.0-nightly (13d94d5fa 2017-08-10) 2017-08-15 14:10:44 +02:00
script_traits Revert "Auto merge of #18114 - emilio:revert-webgl-refactor, r=nox" 2017-08-16 23:23:18 +02:00
selectors style: Skip matching :nth-child if element is the root of anonymous subtree 2017-08-16 14:25:01 +08:00
servo Update WR (new texture cache allocator, shader deinit path). 2017-08-17 20:03:28 +10:00
servo_arc stylo: Measure Elements and ComputedValues. 2017-08-03 09:15:38 +10:00
size_of_test Add size_of_test crate 2017-05-16 10:12:51 +02:00
style Fix the identity transform of rotatex and rotatey. 2017-08-20 02:26:18 +08:00
style_derive Derive ComputeSquaredDistance 2017-08-13 13:34:04 +02:00
style_traits Update to cssparser 0.19, count line numbers during tokenization 2017-08-09 22:37:16 +02:00
url style: Introduce Chrome UI privilege for parsers 2017-08-03 16:30:08 +08:00
webdriver_server Upgrade to rustc 1.21.0-nightly (13d94d5fa 2017-08-10) 2017-08-15 14:10:44 +02:00
webvr Revert "Auto merge of #18114 - emilio:revert-webgl-refactor, r=nox" 2017-08-16 23:23:18 +02:00
webvr_traits Remove explicit dependencies on serde_derive 2017-06-16 13:58:21 +02:00