Commit Graph

20 Commits

Author SHA1 Message Date
Bobby Holley
431ef9a6ff servo: Merge #15997 - Rearrange PropertyDeclaration to avoid embedding DeclaredValue (from bholley:rearrange_propdecl); r=mbrubeck
From https://bugzilla.mozilla.org/show_bug.cgi?id=1347719

This effectively combines the discriminants of the two enums and reduces the
size of PropertyDeclaration by one word.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5d61afd11876fc82e3d3c52ddd8f7aa3e2c3de47
2017-03-16 14:48:53 -07:00
Xidorn Quan
8ab5d64d03 servo: Merge #15779 - Don't serialize shorthand if some but not all its longhands have CSS-wide keyword (from upsuper:shorthand); r=emilio
This also changes `LonghandsToSerialize` to store references to specified value directly rather than declared value, which significantly simplify many serialization code.

Source-Repo: https://github.com/servo/servo
Source-Revision: c87524c8888d9c4a1f1eaedb5e3a29886f627697
2017-03-01 16:12:36 -08:00
Nazım Can Altınova
effd013210 servo: Merge #15411 - Box larger specified values to avoid memmove impact (from canaltinova:property-declaration); r=SimonSapin
<!-- Please describe your changes on the following line: -->
Box larger specified values to avoid memmove impact.

---
<!-- 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
- [X] These changes fix #15322 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- 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: 5c609213d68a17f65ae4e64c34d8dc6b66d35784
2017-02-09 02:21:36 -08:00
Emilio Cobos Álvarez
23c52968bd servo: Merge #14819 - Document most of the remaining parts of the style system, make docs-by-default for the whole style system (from emilio:no-missing-docs); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 87847324a0815e2214fd34da89bbefa4222b1197
2017-01-02 04:10:56 -08:00
Xidorn Quan
b49a3515ac servo: Merge #14640 - Store unset keyword as specified value (from upsuper:unset-storage); r=emilio
<!-- Please describe your changes on the following line: -->
`unset` keyword value should *not* be converted to something else during parsing. It is a specified-value time value, which should be preserved until computation.

WIP patch for seeing what tests would be broken and / or if there is necessary to add any new test.

---
<!-- 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: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- 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: 4cd7321531a95ca2d9a1b4d5e04e3fdb35b03f56
2016-12-25 14:23:34 -08:00
Ravi Shankar
29a54754bc servo: Merge #14373 - Use the ParserContext along with the Parser (from Wafflespeanut:parse); r=emilio
<!-- Please describe your changes on the following line: -->

This changes the `parse` function's signature to include `ParserContext`, so that we don't introduce another trait just for the sake of the context. Instead, we can safely ignore the context whenever we don't need it.

---
<!-- 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

<!-- Either: -->
- [x] These changes do not require tests because it's a refactor
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

r? @SimonSapin or @emilio or @Manishearth

Source-Repo: https://github.com/servo/servo
Source-Revision: 4755cb7586ab4a89f35bbccf8b57c85ed2f428e7
2016-11-26 19:20:10 -08:00
Artem Biryukov
f88e36386c servo: Merge #14178 - Parse trait functions (from impowski:parse_trait_functions); r=Wafflespeanut
<!-- Please describe your changes on the following line: -->
Moved parse functions to a Parse trait in style. r? @Manishearth

---
<!-- 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
- [X] These changes fix #14101 (github issue number if applicable).

<!-- Either: -->
- [x] There are tests for these changes OR
- [X] These changes do not require tests because new functionalities weren't added

<!-- 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: 6adae66f9c7ff58e0e31f3913471e575910a5861
2016-11-11 21:35:48 -06:00
Ravi Shankar
7a989feb79 servo: Merge #14089 - Make use of Servo-specific ToCss everywhere! (from Wafflespeanut:tocss); r=SimonSapin
<!-- Please describe your changes on the following line: -->

This will allow types to be generic over our local `ToCss`

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [ ] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors

<!-- Either: -->
- [x] These changes do not require tests because it's a refactor

<!-- 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: f48b3fe2197a59b29bc711fb1b5496cbb97bd330
2016-11-06 23:26:08 -06:00
Simon Sapin
6250c60a7d servo: Merge #14043 - Update to string-cache 0.3 (from servo:string-cache-up); r=nox
Previously, `string-cache` defined:
*  An string-like `Atom` type,
* An `atom!("foo")` macro that expands to a value of that type, for a set of strings known at compile-time,
* A `struct Namespace(Atom);` type
* A `ns!(html)` macro that maps known prefixed to `Namespace` values with the corresponding namespace URL.

Adding a string to the static set required making a change to the `string-cache` crate.

With 0.3, the `Atom` type is now generic, with a type parameter that provides a set of static strings. We can have multiple such sets, defined in different crates. The `string_cache_codegen` crate, to be used in build scripts, generates code that defines such a set, a new atom type (a type alias for `Atom<_>` with the type parameter set), and an `atom!`-like macro.

The html5ever repository has a new `html5ever_atoms` crate that defines three such types: `Prefix`, `Namespace`, and `LocalName` (with respective `namespace_prefix!`, `namespace_url!`, and `local_name!` macros). It also defines the `ns!` macro like before.

This repository has a new `servo_atoms` crate in `components/atoms` that, for now, defines a single `Atom` type (and `atom!`) macro. (`servo_atoms::Atom` is defined as something like `type Atom = string_cache::Atom<ServoStaticStringSet>;`, so overall there’s now two types named `Atom`.)

In this PR, `servo_atoms::Atom` is used for everything else that was `string_cache::Atom` before. But more atom types can be defined as needed. Two reasons to do this are to auto-generate the set of static strings (I’m planning to do this for CSS property names, which is the motivation for this change), or to have the type system help us avoid mix up unrelated things (this is why we had a `Namespace` type ever before this change).

Introducing new types helped me find a bug: when creating a new attribute `dom::Element::set_style_attr`, would pass `Some(atom!("style"))` instead of `None` (now `Option<html5ever_atoms::Prefix>` instead of `Option<string_cache::Atom>`) to the `prefix` argument of `Attr::new`. I suppose the author of that code confused it with the `local_name` argument.

---

Note that Stylo is not affected by any of this. The `gecko_string_cache` module is unchanged, with a single `Atom` type. The `style` crate conditionally compiles `Prefix` and `LocalName` re-exports for that are both `gecko_string_cache::Atom` on stylo.

---
<!-- 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
- [ ] These changes do not require tests because _____

<!-- 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: 5b4cc9568dbd5c15e5d2fbc62719172f11566ffa
2016-11-03 11:19:44 -05:00
Emilio Cobos Álvarez
336f4d9e99 servo: Merge #12838 - Fix restyling on viewport resize (from emilio:viewport); r=SimonSapin
<!-- Please describe your changes on the following line: -->

Fixes https://github.com/servo/servo/issues/12835

---
<!-- 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

<!-- Either: -->
- [x] There are tests for these changes OR

<!-- 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: 49431be44a7bbc256829463f4ec4658801742bd9
2016-08-16 13:48:20 -05:00
Manish Goregaokar
1211bd54fc servo: Merge #12409 - Update clippy, improve clippy integration (from Manishearth:clippy); r=nox
This makes it much easier to run rustfix on servo

(rustfix is still pretty buggy though)

Source-Repo: https://github.com/servo/servo
Source-Revision: 74925460952ac070ff5e365b6fe6b886fd81861b
2016-07-12 07:29:25 -07:00
Ms2ger
aaa1dae194 servo: Merge #11834 - Add some documentation to the style crate (from servo:style-docs); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 3809e4a23dc1423caa78385d2bfa0ea4d6eabbcb
2016-06-27 17:14:55 -05:00
Simon Sapin
c24ffc2dbc servo: Merge #11816 - Make the style crate (almost) build with a stable compiler (from servo:stable-style); r=nox
<!-- Please describe your changes on the following line: -->

The bulk of this is adding cargo features to make derived implementations of `heapsize` and `serde` traits optional.

"Almost" because `std::intrinsics::discriminant_value` is currently unstable and doesn’t have any stable replacement that I know of. For now, this PR conditionally replaces it with `unimplemented!()`.

r? @nox

---
<!-- 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
- [x] These changes <s>fix</s> are part of #11815 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not <s>require tests</s> *have tests yet* because that requires https://github.com/servo/servo/issues/11806, but I still want to land this before it bitrots. (Tests should check that the build succeeds with a stable compiler.)

<!-- 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: 0fb5d634a007f3d0424f95569ac3f83d500d054c
2016-06-22 09:43:20 -05:00
Pawel Kondzior
bfc9f09f12 servo: Merge #10088 - Report memory usage from LayoutThreadData Stylist [#7038] (from pkondzior:7038-report-memory-usage-in-layout-thread-data-stylist); r=ecoal95
@jdm PTAL I'm not sure what is the approach of updating cargo components here, I've made a pull request https://github.com/servo/heapsize/pull/54 but it has to be landed first before merge and version bump.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9a8ba23a763b2a8d272c4335974d5a68623c054c
2016-03-22 06:24:11 +05:00
Anthony Ramine
011de9f1aa servo: Merge #9532 - Say farewell to in-tree HeapSizeOf (from nox:dedup-heapsize); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 2a6707ce58df27d93e865bffb6b44d396b810c99
2016-02-05 03:10:36 +05:00
Alan Jeffrey
4d3e2c8d46 servo: Merge #8667 - Update string cache (from asajeffrey:update-string-cache); r=SimonSapin
Updated string_cache to 0.2, and updated the dependencies that depend on string_cache.
Removed references to string_cache_plugin.
Import atom! and ns! from string_cache.
Replaced ns!("") by ns!().
Replaced ns!(XML) and co by ns!(xml) and co.
Replaced Atom::from_slice by Atom::from.
Replaced atom.as_slice() by &*atom.

r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 188fa9378c103093f1f8dac24bff0d9d237fd2bc
2015-11-25 23:40:39 +05:00
Simon Sapin
936fce4905 servo: Merge #8343 - Fix some custom properties bugs (from servo:custom-properties); r=mbrubeck
Fix #7767.

Source-Repo: https://github.com/servo/servo
Source-Revision: faf2f34772fe06396a7b8542b00f0566832bc7ef
2015-11-07 05:32:36 +05:00
Ravi Shankar
62e8ea2732 servo: Merge #7698 - sorted the declarations in various files (from Wafflespeanut:sorting); r=frewsxcv
This is a direct extract from my abandoned PR for a lint (#7546), along with some rather clumsy modifications (only on `components/script/dom/mod.rs` and `components/style/lib.rs`), because I had to sort some of the files again to make peace with tidy, which hasn't been educated about sorting yet!

Source-Repo: https://github.com/servo/servo
Source-Revision: a7208869f2903e36f9b2f540b55b50283d7df466
2015-09-23 15:02:56 -06:00
Simon Sapin
38b5ea4322 servo: Merge #7555 - Custom properties, take 2 (from SimonSapin:custom-properties++); r=mbrubeck
Support `var()` in shorthand properties, and fix various bugs.

r? @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: 1b6d4daf85d672265824a014dba99c94c8c08814
2015-09-17 06:50:57 -06:00
Simon Sapin
3844781584 servo: Merge #7518 - Initial support for CSS Custom Properties (from servo:custom-properties); r=pcwalton
https://drafts.csswg.org/css-variables/

Missing:

* `var()` in shorthand property declarations.
* Correct handling of EOF in custom property declarations.

r? @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: 05deb3dcc8be9a0a623536467628aa68ae754918
2015-09-03 16:09:02 -06:00