Commit Graph

28 Commits

Author SHA1 Message Date
Xidorn Quan
d9d628bfa4 Bug 1455576 part 2 - Add a ValueInfo trait for exposing types needed by devtools. r=emilio
Most of types just derive it using proc_macro directly. Some of value
types need manual impl.

In my current plan, this new trait will be used in bug 1434130 to expose
values as well.

MozReview-Commit-ID: LI7fy45VkRw
2018-04-26 09:01:02 +10:00
Jonathan Watt
d4c96af492 No bug - Fix error name in comment for try_match_ident_ignore_ascii_case. r=nox,emilio
MozReview-Commit-ID: GDejDQE7sj3
2018-04-17 20:35:58 +02:00
Bobby Holley
196912c9bf servo: Merge #20603 - Run rustfmt on selectors, servo_arc, and style (from bholley:rustfmt_style); r=Manishearth
Now that rustfmt is getting close to stable, and work on the style system has died down a bit, it seemed like an opportune time to auto-format the style crates.

The first commit disables import reordering, since tidy and rustfmt don't currently agree on the correct ordering. The second commit does a bunch of manual fixups such that the output of rustfmt passes tidy. The third commit runs rustfmt on the three aforementioned crate.

There are a few dozen warnings in the style crate about lines longer than 100 characters. It would be good to fix these, but I don't have time for that now.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9a900ef019cd643bff961d7b20db6da69f3edb29
2018-04-10 21:00:11 -04:00
Anthony Ramine
f9cb1c3f35 servo: Merge #20014 - Optimise some AnimationValue methods for size 🐉🐲 (from servo:by-the-power-of-void); r=emilio
This shaves 40KB off of libxul.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2f4362e0c1371c9ae45f1a71a406578eadc94a8b
2018-02-10 10:32:21 -05:00
Anthony Ramine
752e14e980 servo: Merge #19903 - Derive more Parse implementations (fixes #19827) (from servo:derive-all-the-things); r=emilio
Fixes #19827.

Source-Repo: https://github.com/servo/servo
Source-Revision: b4339ab5c8fc31d5eeb7e1fae55cab05e400ec9e
2018-02-01 05:52:08 -06:00
Emilio Cobos Álvarez
d8c7131ae2 servo: Merge #19854 - style: make the try_match_ident_ignore_ascii_case macro actually return the error (from emilio:try-match); r=nox
This allows it to be used as an expression, which I'd like to do very soon.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5355265c7481ef5f1a9d869927ad8bb1d8d8357b
2018-01-25 10:18:24 -06:00
Anthony Ramine
3ac08c3f7f servo: Merge #19838 - Make ToCss' SequenceWriter not monomorphise like a maniac anymore (from servo:rm-sequence-writer-as-it-was); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 6b2e5283c9e810ac316c203849b6ea25544a62c7
2018-01-23 12:03:41 -06:00
CYBAI
47211c0999 servo: Merge #19277 - style: Move font-variant-numeric outside of mako (from CYBAI:font-variant-numeric-out-of-mako); r=emilio
This is a sub-PR of #19015
r? @emilio

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #19276
- [x] These changes do not require tests

Source-Repo: https://github.com/servo/servo
Source-Revision: 011e52f6ed06f260c4756a4c8fd04d4cc7912839
2017-11-18 13:22:10 -06:00
CYBAI
4ea0f907d7 servo: Merge #19220 - style: Move font-variant-east-asian outside of mako (from CYBAI:font-variant-east-asian-out-of-mako); r=emilio
This is a sub-PR of #19015
r? emilio

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #19216
- [x] These changes do not require tests

Source-Repo: https://github.com/servo/servo
Source-Revision: 8c332f5dd301dd8e505d14ab2471c068a77f3c4a
2017-11-15 20:00:48 -06:00
Keith Yeung
f6070adde5 servo: Merge #19211 - Move text-decoration-line out of mako (from KiChjang:text-decoration-line); r=emilio
Part of #19015.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6f1d9a198fa3f060f3eae28f13ac248b0b1186ce
2017-11-14 15:34:10 -06:00
Nicholas Nethercote
45f978e547 servo: Merge #18938 - Replace all uses of the heapsize crate with malloc_size_of (from nnethercote:bug-1409255); r=SimonSapin
Servo currently uses `heapsize`, but Stylo/Gecko use `malloc_size_of`.
`malloc_size_of` is better -- it handles various cases that `heapsize` does not
-- so this patch changes Servo to use `malloc_size_of`.

This patch makes the following changes to the `malloc_size_of` crate.

- Adds `MallocSizeOf` trait implementations for numerous types, some built-in
  (e.g. `VecDeque`), some external and Servo-only (e.g. `string_cache`).

- Makes `enclosing_size_of_op` optional, because vanilla jemalloc doesn't
  support that operation.

- For `HashSet`/`HashMap`, falls back to a computed estimate when
  `enclosing_size_of_op` isn't available.

- Adds an extern "C" `malloc_size_of` function that does the actual heap
  measurement; this is based on the same functions from the `heapsize` crate.

This patch makes the following changes elsewhere.

- Converts all the uses of `heapsize` to instead use `malloc_size_of`.

- Disables the "heapsize"/"heap_size" feature for the external crates that
  provide it.

- Removes the `HeapSizeOf` implementation from `hashglobe`.

- Adds `ignore` annotations to a few `Rc`/`Arc`, because `malloc_size_of`
  doesn't derive those types, unlike `heapsize`.

<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix https://bugzilla.mozilla.org/show_bug.cgi?id=1409255

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because testing is on the Gecko side.

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 4c538b642e4bdfbf42c522c5a59c258a6d14546e
2017-10-18 13:56:05 -05:00
Simon Sapin
a917619a4a servo: Merge #18808 - Use the current parser location for CSS error (from servo:error-location_); r=emilio
… rather than the start location of the current construct. This likely places the error just *after* of the unexpected token whereas before would be best, but that’s likely a much bigger change.

See https://bugzilla.mozilla.org/show_bug.cgi?id=1378861

Source-Repo: https://github.com/servo/servo
Source-Revision: c79a54dbd9d3a590f5fd8191b8e57a0b9d1d0fdb
2017-10-10 12:31:24 -05:00
Nicholas Nethercote
1f705facf2 servo: Merge #18495 - Measure PropertyDeclaration more thoroughly (from nnethercote:derive-PropertyDeclaration); r=jdm
This patch replaces the handwritten MallocSizeOf implementation for
PropertyDeclaration with a derived one, which gives much more thorough
measurement.

This requires (a) deriving MallocSizeOf for a *lot* of additional types (most
of which already have `derive(HeapSizeOf)` in Servo builds), and (b)
implementing MallocSizeOf for a few more types in the `malloc_size_of` crate.

These changes would significantly improve the reporting coverage for gmail if
it weren't for the fact that SpecifiedUrl isn't measured due to a lack of
clarity about its fields; that can be fixed as a follow-up once bug 1397971 has
landed.

<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because testing is on the Gecko side.

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 097cea240fe9b1d96fa4ef5ffa984f09e0bd04f3
2017-09-14 02:10:40 -05:00
Anthony Ramine
9e789e71fc servo: Merge #18447 - Remove most uses of ComputedValueAsSpecified (from servo:kill-cvas); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 5cc2b4f705e420b156899ed55072ccc11d0e50c0
2017-09-11 20:04:12 -05:00
Emilio Cobos Álvarez
28a4573f49 servo: Merge #18429 - style: Remove a few uses of ComputedValueAsSpecified (from emilio:cvas-die); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 7fc2c435513feadf1dc666e7873095884dfd6d84
2017-09-11 04:31:10 -05:00
Simon Sapin
5ec19a1d55 servo: Merge #18355 - Reduce usage of fmt in serialization and error reporting (from servo:no-fmt); r=emilio
`format!` and `write!` create a somewhat-heavyweight `Formatting` struct and use dynamic dispatch to call into impls of `Dispaly` and related traits. The former also allocates an intermediate string that is sometimes unnecessary.

I started looking into this from https://bugzilla.mozilla.org/show_bug.cgi?id=1355599, but I expect the impact there will be small to insignificant. It might be a slightly less so on parsing (error reporting).

Source-Repo: https://github.com/servo/servo
Source-Revision: c60dd53210745d9d8e7d3a5ca0310370a33553f4
2017-09-04 13:14:44 -05:00
Emilio Cobos Álvarez
f27de589aa servo: Merge #18300 - style: Remove HasViewportPercentage (from emilio:die-hvp-die); r=nox
It's not needed since #18268, let's kill it.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5dee83d54d3f05cc631ee89de612c14e21dd92ec
2017-08-30 04:31:11 -05:00
Anthony Ramine
2d98274b8d servo: Merge #18192 - Derive Animate and ToAnimatedZero (from servo:we-are-leaving-babylon); r=emilio
ONLY PARSE NEEDS DERIVING NOW. THE HYPE IS REAL.

Source-Repo: https://github.com/servo/servo
Source-Revision: ec2dae90685da47c17cde9011736c893b037ff01
2017-08-22 14:53:11 -05:00
Anthony Ramine
022d9ec6b9 servo: Merge #18134 - Introduce values::animated::Animate (from servo:we-are-leaving-babylon); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 8ca9542de6838fc485e9e41013d84b396ff216a9
2017-08-22 07:22:10 -05:00
Anthony Ramine
bea653582c servo: Merge #18058 - Introduce and derive ComputeSquaredDistance (from servo:compute-squared-distance); r=emilio
This new trait merges the former `Animatable` methods `compute_distance` and `compute_squared_distance`.

Source-Repo: https://github.com/servo/servo
Source-Revision: 60c44b072c12d65d70649391631dd28f1d939b65
2017-08-13 16:23:58 -05:00
Simon Sapin
6e4b1519ff servo: Merge #17820 - Update cssparser to 0.18 (from servo:token-cache); r=emilio
Do not merge yet, depends on https://github.com/servo/rust-cssparser/pull/171.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4f0821192c112943bb53b4fb04303c1afdde06e6
2017-07-24 06:27:00 -07:00
Anthony Ramine
d46704c982 servo: Merge #17774 - Prepare some code for future derivation 🌊 (from servo:derive-all-the-things); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: d76d0978911e4823d9d40f7ed161de24f3cc7f61
2017-07-19 01:56:05 -07:00
Anthony Ramine
55d7345833 servo: Merge #17560 - Introduce ToAnimatedValue 🎥 (from servo:derive-all-the-things); r=<try>
Source-Repo: https://github.com/servo/servo
Source-Revision: 9a13cf6bdaa823369f29d7d0f4469087cf17ce6a
2017-06-29 06:49:39 -07:00
Anthony Ramine
f31295978e servo: Merge #17382 - Derive more ToCss impls (from servo:derive-all-the-things); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: effd6f2f877e767352b45fc35c8066a56c1612b7
2017-06-17 04:53:32 -07:00
Emilio Cobos Álvarez
1420ba1f08 servo: Merge #17265 - style: Reduce some code duplication and ugliness when parsing identifiers (from emilio:macros-on-top-of-macros); r=wafflespeanut
Source-Repo: https://github.com/servo/servo
Source-Revision: 197afeee2d7ac54f330408708673805095a1399a
2017-06-11 09:31:48 -07:00
Josh Matthews
dfb3ae3e5e servo: Merge #16752 - Report more informative CSS errors (from jdm:css-parse-error); r=SimonSapin
This requires https://github.com/servo/rust-cssparser/pull/143 for the final commit. There's no better way to split that work up, unfortunately, and it's extremely easy to bitrot. I would appreciate if we could expedite reviewing this work.

This is the work necessary to enable https://bugzilla.mozilla.org/show_bug.cgi?id=1352669. It makes sense to merge it separately because it's so much effort to keep it up to date with the ongoing Stylo work.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [x] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: 061cb5f48e5c93a5decf39e530aea4a566e97341
2017-06-09 14:31:48 -07:00
Anthony Ramine
3f8de1332b servo: Merge #16960 - Derive HasViewportPercentage 🍷 (from servo:derive-all-the-things); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 4f0b24ac0c3bd04104d705898ceb4d06ef5ea092
2017-05-20 11:34:36 -05:00
Fernando Jiménez Moreno
1cf5aaca99 servo: Merge #16931 - Support font-feature-settings as a @font-face descriptor (from nox:font-feature-descriptor); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 61d64daf4c5831e5e4428f76faaea874d8d5f4cd
2017-05-19 07:49:27 -05:00