servo/components
Emilio Cobos Álvarez ca503b4908 style: Simplify computed::LengthOrPercentage and friends.
This is a first step to share LengthOrPercentage representation between Rust and
Gecko.

We need to preserve whether the value came from a calc() expression, for now at
least, since we do different things depending on whether we're calc or not right
now. See https://github.com/w3c/csswg-drafts/issues/3482 and dependent bugs for
example.

That means that the gecko conversion code needs to handle calc() in a bit of an
awkward way until I change it to not be needed (patches for that incoming in the
next few weeks I hope).

I need to add a hack to exclude other things from the PartialEq implementation
because the new conversion code is less lossy than the old one, and we relied on
the lousiness in AnimationValue comparison (in order to start transitions and
such, in [1] for example).

I expect to remove that manual PartialEq implementation as soon as I'm done with
the conversion.

The less lossy conversion does fix a few serialization bugs for animation values
though, like not loosing 0% values in calc() when interpolating lengths and
percentages, see the two modified tests:

 * property-types.js
 * test_animation_properties.html

Differential Revision: https://phabricator.services.mozilla.com/D15793
2019-01-07 17:05:40 +01:00
..
allocator Update MPL license to https (part 4) 2018-11-19 14:47:27 +01:00
atoms Implement HTMLMediaElement defaultPlaybackRate and playbackRate attributes 2018-12-26 22:20:51 +02:00
background_hang_monitor unregister components while exiting 2018-12-17 16:37:03 +08:00
bluetooth Rustfmt has changed its default style :/ 2018-12-28 13:17:47 +01:00
bluetooth_traits Update MPL license to https (part 4) 2018-11-19 14:47:27 +01:00
canvas Rustfmt has changed its default style :/ 2018-12-28 13:17:47 +01:00
canvas_traits Make HTMLCanvasElement::fetch_all_data return a shared memory blob 2018-11-21 12:53:50 +01:00
compositing constellation: restructure navigation, remove sync comm 2018-12-23 13:33:30 +08:00
config Rustfmt has changed its default style :/ 2018-12-28 13:17:47 +01:00
constellation Rustfmt has changed its default style :/ 2018-12-28 13:17:47 +01:00
debugger Update MPL license to https (part 4) 2018-11-19 14:47:27 +01:00
deny_public_fields Update syn and related dependencies 2018-11-30 17:48:41 +01:00
devtools Remove redundant .clone()s 2018-12-11 10:43:51 +09:00
devtools_traits Update MPL license to https (part 4) 2018-11-19 14:47:27 +01:00
dom_struct Update syn and related dependencies 2018-11-30 17:48:41 +01:00
domobject_derive Update syn and related dependencies 2018-11-30 17:48:41 +01:00
embedder_traits constellation: restructure navigation, remove sync comm 2018-12-23 13:33:30 +08:00
fallible Update MPL license to https (part 4) 2018-11-19 14:47:27 +01:00
geometry Update MPL license to https (part 4) 2018-11-19 14:47:27 +01:00
gfx Rustfmt has changed its default style :/ 2018-12-28 13:17:47 +01:00
gfx_traits Update MPL license to https (part 4) 2018-11-19 14:47:27 +01:00
hashglobe cargo fix --edition 2018-11-10 17:47:28 +01:00
jstraceable_derive Update syn and related dependencies 2018-11-30 17:48:41 +01:00
layout Fix Servo build. 2019-01-07 00:59:30 +01:00
layout_thread Rustfmt has changed its default style :/ 2018-12-28 13:17:47 +01:00
layout_traits style: Make Servo use a single thread-pool for layout-related tasks per-process. 2018-12-23 13:00:56 +01:00
malloc_size_of style: Bump smallvec and smallbitvec. 2019-01-07 00:32:50 +01:00
malloc_size_of_derive Update syn and related dependencies 2018-11-30 17:48:41 +01:00
metrics Update MPL license to https (part 4) 2018-11-19 14:47:27 +01:00
msg unregister components while exiting 2018-12-17 16:37:03 +08:00
net Rustfmt has changed its default style :/ 2018-12-28 13:17:47 +01:00
net_traits Fix some warnings 2018-12-28 15:31:08 +01:00
pixels Call rgba8_byte_swap_colors_inplace on the WebGL thread 2018-11-20 10:14:52 +01:00
profile Upgrade to rustc 1.33.0-nightly (fb86d604b 2018-12-27) 2018-12-28 13:16:55 +01:00
profile_traits Update MPL license to https (part 4) 2018-11-19 14:47:27 +01:00
rand Update MPL license to https (part 4) 2018-11-19 14:47:27 +01:00
range Update MPL license to https (part 4) 2018-11-19 14:47:27 +01:00
remutex Rustfmt has changed its default style :/ 2018-12-28 13:17:47 +01:00
script Fix Servo build. 2019-01-07 00:59:30 +01:00
script_layout_interface Rustfmt has changed its default style :/ 2018-12-28 13:17:47 +01:00
script_plugins Exempt Rc<Promise> from unrooted_must_root 2019-01-04 09:34:04 -08:00
script_traits Rustfmt has changed its default style :/ 2018-12-28 13:17:47 +01:00
selectors Auto merge of #22385 - servo:rustup, r=SimonSapin 2018-12-31 13:09:35 -05:00
servo Auto merge of #22121 - gterzian:remove_constellation_block_in_navigation, r=paulrouget 2018-12-26 01:53:20 -05:00
servo_arc cargo fix --edition 2018-11-10 17:47:28 +01:00
size_of_test Update MPL license to https (part 4) 2018-11-19 14:47:27 +01:00
std_test_override Update MPL license to https (part 4) 2018-11-19 14:47:27 +01:00
style style: Simplify computed::LengthOrPercentage and friends. 2019-01-07 17:05:40 +01:00
style_derive Fix some warnings 2018-12-28 15:31:08 +01:00
style_traits Rustfmt has changed its default style :/ 2018-12-28 13:17:47 +01:00
url Update MPL license to https (part 4) 2018-11-19 14:47:27 +01:00
webdriver_server Rustfmt has changed its default style :/ 2018-12-28 13:17:47 +01:00
webvr Remove redundant .clone()s 2018-12-11 10:43:51 +09:00
webvr_traits Update MPL license to https (part 4) 2018-11-19 14:47:27 +01:00