Commit Graph

16 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
Emilio Cobos Álvarez
4835d7f8da Bug 1455358: Fix clamping on animations. r=xidorn
MozReview-Commit-ID: Awyub0dMOmq
2018-04-23 16:56:57 +02:00
Emilio Cobos Álvarez
359e56062e Bug 1455358: Update font-style to css-fonts-4. r=xidorn
This patch is meant to be squashed with the following two. This is an initial
strawman implementation that I wrote to unblock jwatt, cleanups and fixes
follow.

Note that this is style pretty much untested until jwatt's patches are ready,
since Gecko doesn't understand the angle at all, but I expect the fixes to be
minor.

MozReview-Commit-ID: 1Nq5DyCjaZe
2018-04-23 16:56:56 +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
Emilio Cobos Álvarez
fde3f2d79c servo: Merge #20194 - style: remove unused AsciiExt imports (from emilio:ascii-ext-stuff); r=nox
eq_ignore_ascii_case is not in AsciiExt since rustc 1.23.

Source-Repo: https://github.com/servo/servo
Source-Revision: fbeb5a81a8eb3fa2f5feb4c039620158ab1f87f2
2018-03-04 13:35:04 -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
Emilio Cobos Álvarez
c11226ea1d servo: Merge #19457 - style: support calc() in color functions (from emilio:color-calc); r=SimonSapin
Depends on #19456 and https://github.com/servo/rust-cssparser/pull/207.

Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=984021

Source-Repo: https://github.com/servo/servo
Source-Revision: 3cef09ae217ece7fa276d1be653c7c36dee7febc
2017-12-05 03:37:18 -06:00
Emilio Cobos Álvarez
26dd7126a7 servo: Merge #19462 - style: Cleanup Angle parsing (from emilio:angle-parsing); r=nox
This PR also contains a functional change, allowing to parse unitless zero angles in hue-rotate().

See the links and the comments for why.

Source-Repo: https://github.com/servo/servo
Source-Revision: e4dba3abef2a4941c5a4d95d58ae0b864ad10961
2017-12-03 09:14:59 -06:00
Boris Chiou
e402464a2e servo: Merge #19388 - stylo: Implement Servo_ParseTransformIntoMatrix (from BorisChiou:stylo/dommatrix/parser); r=emilio,heycam
This is an inter-dependent patch of Bug 1408310.

DOMMatrix needs to convert a specified transform list into a matrix, so we rewrite
to_transform_3d_matrix by generics for both specified and computed transform lists.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [Bug 1408310](https://bugzilla.mozilla.org/show_bug.cgi?id=1408310).
- [X] These changes do not require tests because we can count on the wpt tests for DOMMatrix on Gecko side.

Source-Repo: https://github.com/servo/servo
Source-Revision: 823da9e34aacca750942c0fb53a29d6ca16c394d
2017-11-27 20:13:34 -06:00
Emilio Cobos Álvarez
f08fc1d394 servo: Merge #19186 - style: Derive more stuff (from emilio:derive-more-stuff); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: fad4d7ae49140b8919f9b823542b440aeb0ecc9e
2017-11-12 09:41:04 -06:00
Simon Sapin
c9085cd560 servo: Merge #19162 - Allow unused imports for AsciiExt in style code (from emilio:ascii-ext); r=emilio
See #19128, this part is cherry-picked so Gecko can build with rust nightly.

Source-Repo: https://github.com/servo/servo
Source-Revision: e7a654dd13f589e127193267bcb576ffd661c11d
2017-11-09 06:49:29 -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
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
2ad6543ac3 servo: Merge #18117 - Move more CSS values to their own submodules (from servo:we-are-leaving-babylon); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 575bcf3989b1e058bcdc9ebe73b4eedc1476f1ed
2017-08-16 20:26:22 -05:00