Commit Graph

19 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
70131cfa2e Bug 1461288: Distinguish between specified and computed URLs. r=xidorn
This is needed to serialize computed URLs correctly from getComputedStyle.

MozReview-Commit-ID: 9wakhqNrszb
2018-05-14 12:29:40 +02:00
Emilio Cobos Álvarez
0071a273f7 Bug 1457635: Move represents_keyword to the css attributes. r=xidorn
MozReview-Commit-ID: 21yuU4h34AQ
2018-04-30 05:10:37 +02:00
Xidorn Quan
5549837184 Bug 1434130 part 11 - Add some attributes for SpecifiedValueInfo to help deriving more from types. r=emilio
MozReview-Commit-ID: IyohSTbUO31
2018-04-29 09:03:31 +10:00
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
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
24da31f415 servo: Merge #19985 - Derive ComputeSquaredDistance for animated filters (from servo:derive-these-things-too); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: c22baf58d06d19a9347993698fd70f9a4513bcb2
2018-02-08 06:41:22 -05: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
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
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
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
921035a05a servo: Merge #18239 - Refactor how we handle trait bounds in style_derive (from servo:derive-all-the-things); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: a266e96d28b7960b4fb0b236c3e8e93cf70f09b0
2017-08-28 10:13:13 -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
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
Boris Chiou
9278b63804 servo: Merge #17783 - stylo: Bug 1374233 - Clamp interpolated values for properties which need to be restricted (from BorisChiou:stylo/animation/restrictions); r=nox
Some properties only accept non-negative values, or values greater than or equal to one. It is possible to produce an negative interpolated values while using negative timing functions, so we have to apply a restriction to these values to avoid getting invalid values.

For example, line-height must be non-negative, but the output progress of some timing functions (e,g. cubic-bezier(0.25, -2, 0.75, 1)) may be a negative value, so the interpolated result of line-height is also negative.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix Bug 1374233.
- [X] These changes do not require tests because we have tests in Gecko side already.

Source-Repo: https://github.com/servo/servo
Source-Revision: 016ea11cbaf7586db144be122581c5b110649aee
2017-08-07 11:05:17 -05: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
20a5c02a91 servo: Merge #17543 - Make text-shadow and box-shadow use SimpleShadow (from servo:derive-all-the-things); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 522d24d1260c93b570882e5bf42f2c9c25ef334c
2017-06-28 07:28:45 -07:00
Anthony Ramine
4ad9d8e802 servo: Merge #17530 - Improve sequence values in style (from servo:derive-all-the-things); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: de0ee6cebfcaad720cd3568b19d2992349c8825c
2017-06-27 15:34:15 -07:00
Anthony Ramine
eea94a4455 servo: Merge #17508 - Use generics for SimpleShadow (from servo:derive-all-the-things); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 946c9aede12b19bab11f7f25db68f18c19c5b4a2
2017-06-24 04:46:56 -07:00
Anthony Ramine
a023bb5bfd servo: Merge #17402 - Use generics for the filter property (from servo:derive-all-the-things); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: fc2c5b7ef4bd7f36b6aa4e0540adc5b8ef3882c0
2017-06-20 06:23:17 -07:00