Commit Graph

203 Commits

Author SHA1 Message Date
Savid Sharan
e95ebd0de1 servo: Merge #18906 - Removed pdqsort dependency under the style crate (from savanu:pdqsortchange); r=SimonSapin
<!-- Please describe your changes on the following line: -->
Removed the pdqsort dependency from the style crate.
Removed the sort_by_key method and used the stdlib version directly.

---
<!-- 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 #16120 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because this is covered by existing tests.

<!-- 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: eecee32a0b139096e8fe268590536b2eb5ac911d
2017-10-16 21:50:04 -05:00
Emilio Cobos Álvarez
51109134a7 servo: Merge #18863 - style: Share code between Gecko and Servo for DOM APIs (from emilio:dom-api-dont-repeat); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: ba77ffed173b3a0ed934edead419ab3919cf5147
2017-10-13 10:48:57 -05:00
Nicholas Nethercote
0e513549c9 servo: Merge #18736 - Remove nsTFixedString<T> (from nnethercote:bug-1403506); r=erahm,mystor
This is for https://bugzilla.mozilla.org/show_bug.cgi?id=1403506, which is r=erahm,mystor.

<!-- 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=1403506.

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because they are tested in Gecko.

<!-- 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: c0f404999c5fe40cba3a1d5d231a922e922a55b3
2017-10-03 23:21:18 -05:00
Bobby Holley
599d2f4ac9 servo: Merge #18589 - Plumbing for the nth-index cache (from bholley:nth_index_plumbing); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1334730

Source-Repo: https://github.com/servo/servo
Source-Revision: 39f8fce453f0a34751abb82485442429f06324bf
2017-09-21 01:24:01 -05:00
Cameron McCormack
0c427cea30 servo: Merge #18499 - style: add a TLS-based cache of reset style structs (from heycam:rule-cache); r=emilio
Rule cache

<!-- Please describe your changes on the following line: -->
This adds a TLS-based cache reset styles structs keyed off rule nodes.  Reviewed in https://bugzilla.mozilla.org/show_bug.cgi?id=1367635 by me and Emilio.

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

<!-- 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: 874cb0d9df44e62a78d427f22f234a13227d07f8
2017-09-14 04:28:50 -05:00
Nicholas Nethercote
32af6cf8e2 servo: Merge #18452 - Overhaul MallocSizeOf and related things (from nnethercote:bug-1398737); r=jdm
This patch makes the MallocSizeOf stuff in Stylo work more like the HeapSizeOf
stuff already in Servo, except better. In particular, it adds deriving support
for MallocSizeOf, which will make it easier to improve coverage.

The patch does the following.

- Combines servo/components/style/stylesheets/memory.rs and the heapsize crate
  into a new crate, malloc_size_of.

- Forks the heapsize_derive crate, calling it malloc_size_of, so that
  MallocSizeOf can be derived.

- Both the new crates have MIT/Apache licenses, like heapsize, in case they are
  incorporated into heapsize in the future.

- Renames the methods within MallocSizeOf and the related traits so they are
  more concise.

- Removes MallocSizeOfWithGuard.

- Adds `derive(MallocSizeOf)` to a lot of types, in some cases replacing an
  equivalent or almost-equivalent hand-written implementation.

- Adds stuff so that Rc/Arc can be handled properly.

<!-- 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 tested on 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: 7f4cb1861b172423781a369b2decca6c65d60546
2017-09-11 22:11:25 -05:00
Matt Brubeck
4ac4e44aa7 servo: Merge #18431 - Use SmallBitVec to optimize size of PropertyDeclarationBlock (from mbrubeck:pdb-size); r=SimonSapin
https://bugzilla.mozilla.org/show_bug.cgi?id=1398322

Source-Repo: https://github.com/servo/servo
Source-Revision: e7f45028dcd4d7015b4eed2ecc193e176b1fbd1c
2017-09-11 08:57:07 -05:00
Emilio Cobos Álvarez
3a32b8dd78 servo: Merge #18434 - Bug 1395064 - stylo: Add uses of fallible Vec, SmallVec and HashMap f… (from julian-seward1:master); r=bholley
…acilities.  r=emilio@crisal.io.

<!-- 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: -->
- [ ] `./mach build -d` does not report any errors
- [ ] `./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 _____

<!-- 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: be804a8155b0a942324f564df569233d13c97dcd
2017-09-10 12:30:39 -05:00
Manish Goregaokar
1080df440b servo: Merge #18334 - Add fallible hashmaps from HashGlobe for stylo (from Manishearth:hashglobe); r=emilio,Gankro
HashGlobe code is r=emilio,Gankro

integration code is r=emilio from https://bugzilla.mozilla.org/show_bug.cgi?id=1393656

Source-Repo: https://github.com/servo/servo
Source-Revision: ac7cf536927a42a5cece379c53d6f39813a77d71
2017-09-01 16:09:53 -05:00
Emilio Cobos Álvarez
7d0d7a9aa2 servo: Merge #18268 - style: Recascade the document instead of using the dirty_on_viewport_size_change bit (from emilio:dirty-viewport-followup); r=SimonSapin
This allows us to simplify a lot of code.

On top of #18267.

Source-Repo: https://github.com/servo/servo
Source-Revision: 473934c989c94773c38f585b1c4500cd8c811738
2017-08-29 14:18:58 -05:00
Bobby Holley
9102d239fe servo: Merge #18238 - Replace the sequential/parallel distinction with a unified adaptive traversal (from bholley:adaptive_driver); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1393632

Source-Repo: https://github.com/servo/servo
Source-Revision: 72c59ff830b256ca5bd6df7736a9d9acfc9d3e52
2017-08-25 12:23:41 -05:00
Xidorn Quan
ef2669a336 servo: Merge #18159 - Replace write! with to_css and write_str in some ToCss impls (from upsuper:write-to-css); r=nox
Some of this is necessary for fixing things like [bug 1370779](https://bugzilla.mozilla.org/show_bug.cgi?id=1370779) because otherwise we would still not be using the new numeric serialization algorithm from cssparser crate.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6a1b0d0526b85f1db50b6131cc0ffd31b5d78a63
2017-08-21 04:14:08 -05:00
Hiroyuki Ikezoe
ea02a5a8a1 servo: Merge #18018 - Make list-style-type animatable (from hiikezoe:list-style-type-animatable); r=emilio
<!-- Please describe your changes on the following line: -->
https://bugzilla.mozilla.org/show_bug.cgi?id=1388652
---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors

Source-Repo: https://github.com/servo/servo
Source-Revision: f6aa17add96a49e7ee6746b24bc8f250380ea51e
2017-08-09 03:45:56 -05:00
Emilio Cobos Álvarez
eb5935b954 servo: Merge #17993 - style: Avoid hashing the precomputed hash atoms already have (from emilio:rehash); r=SimonSapin
This shaves a fair amount of time of stylist rebuild.

Most of the extra remaining overhead are memory allocations...

I'll try to get those sorted out next, though fixing that may overlap quite a
bit with the work Cameron is doing in bug 1382925.

Source-Repo: https://github.com/servo/servo
Source-Revision: b11b65837930fff7ec793e935af46d7edbeccda5
2017-08-07 07:13:38 -05:00
Nathan Froyd
c70fab2874 servo: Merge #17974 - remove testing feature from stylo_tests (from froydnj:remove-testing-feature); r=SimonSapin
`stylo_tests` currently requires a separate version of the `style` crate, compiled with the `testing` feature, so a function testing the size of specified values can be accessed.  With a few tweaks, we can make the information needed for the test available to the `stylo_tests` crate directly, eliminating the need for a separately-compiled `style` crate.

This doesn't matter much for Servo itself (it might make CI times slightly faster?), but Gecko automation/development would like to run `stylo_tests`, and not having to compile two versions of the `style` crate (or have a dead, test-only function hanging around in the `style` crate) would be a win.

---

- [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: a6369149dc5344b2b80a12fca1c43cf99c94fdc9
2017-08-05 09:58:26 -05:00
Boris Chiou
6e40f6fe54 servo: Merge #17898 - stylo: Fix compute_squared_distance for AnimatedFilterList (from BorisChiou:stylo/animation/filter_distance); r=birtles
We implement compute_distance for Angle to avoid returning Err(()) from it, and then rewrite compute_squared_distance of AnimatedFilterLIst to avoid using unwrap() and make it simpler.

---
<!-- 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 [Bug 1384014](https://bugzilla.mozilla.org/show_bug.cgi?id=1384014).
- [X] These changes do not require tests because there is a DevTools test for this already.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3ab6b1cf8fa64cb31e169eece9e5e8224e195149
2017-07-28 02:08:31 -05:00
Bobby Holley
c50c3dfc02 servo: Merge #17895 - Clean up traversal modes (from bholley:clean_up_traversal); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1384769

Source-Repo: https://github.com/servo/servo
Source-Revision: 255c9d00da8d6837a5625ad19d9b1cd623286c3b
2017-07-27 18:29:29 -05:00
Manish Goregaokar
91fc8569d5 servo: Merge #17822 - Remove last vestiges of stylearc (from Manishearth:die-stylearc-die); r=bzbarsky
Source-Repo: https://github.com/servo/servo
Source-Revision: 9b276565f82e5924a87e713a728daf63a357f3ba
2017-07-21 15:47:54 -07:00
bors-servo
5b540cb699 servo: Merge #17728 - Reuse bloom filter and style sharing cache across traversals (from emilio:reuse-allocs); r=bholley,emilio
This relands #17701, with a fix for the test failures.

Source-Repo: https://github.com/servo/servo
Source-Revision: f49650ce96578c200c71b0a8fa50094764a3c76d
2017-07-14 02:02:55 -07:00
Emilio Cobos Álvarez
27fff64d23 servo: Merge #17688 - style: Split style resolution and dynamic change computation (from emilio:split-style-resolution); r=heycam,BorisChiou
This is the Servo side of Mozilla bug 1379505.

Source-Repo: https://github.com/servo/servo
Source-Revision: 16d6dc133b40a5d48e33b1f8e2aeafa88e36a6e3
2017-07-12 00:28:44 -07:00
Nathan Froyd
7f0ada4949 servo: Merge #17493 - remove various things now that Rust 1.17 is required (from froydnj:rust-117-fixes); r=jdm
std::ptr::eq and Arc::ptr_eq are now usuable, and we can replace a
panic!() with abort().

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes do not require tests because they are trivial replacements.

Source-Repo: https://github.com/servo/servo
Source-Revision: bb9391ba2cacc2976d546c42cb339fa3e7cbf35c
2017-06-23 16:01:02 -07:00
Bobby Holley
7bc7317f26 servo: Merge #17439 - Match compound selectors left-to-right (second try) (from bholley:compound_left_to_right); r=SimonSapin
https://bugzilla.mozilla.org/show_bug.cgi?id=1373800

Source-Repo: https://github.com/servo/servo
Source-Revision: b211664e877a3e4d712314fa7f3002fd19cff549
2017-06-21 09:28:43 -07:00
Simon Sapin
3727d5f818 servo: Merge #17390 - Untry (from servo:untry); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 568ab550053fddf346806ed6cc2d3bfe37f3e1d0
2017-06-18 05:55:11 -07:00
Simon Sapin
7279c780ac servo: Merge #17355 - Bump serde to 1.0 (from servo:serdeup); r=nox
This is a rebase of #17325 with `[replace]` entries removed, a bunch more dependencies updated, and some more compile fixes. Original work by @Eijebong, thanks a lot!

Source-Repo: https://github.com/servo/servo
Source-Revision: 66c130d55aa0d7af1104c00e93a5bf950f23a383
2017-06-16 05:03:18 -07:00
Emilio Cobos Álvarez
cdc25756af servo: Merge #17292 - style: Implement a more fine-grained invalidation method (from emilio:better-style-invalidation); r=heycam
Source-Repo: https://github.com/servo/servo
Source-Revision: 07f6e114850896eae2fd206351808fb31cceaaf0
2017-06-13 04:56:09 -07:00
Simon Sapin
920407d98b servo: Merge #17213 - ID and class selectors are ASCII case-insensitive in quirks mode (from servo:quirk-case); r=bholley
https://bugzilla.mozilla.org/show_bug.cgi?id=1363778

Source-Repo: https://github.com/servo/servo
Source-Revision: 1b077303237d5ecb8307f866e9172d0d8e6b132d
2017-06-12 15:52:29 -07:00
Bobby Holley
a59bc7deb4 servo: Merge #17281 - Pack bloom filter hashes better and save a word on Rule (from bholley:shrink_rule_again); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1371949

Source-Repo: https://github.com/servo/servo
Source-Revision: 75d6796cbd1274c3711472d1a8b728c3cf6ac70c
2017-06-12 12:41:39 -07:00
Bobby Holley
6d91bbdd99 servo: Merge #17179 - shrink Rule and store all heap-allocated selector data inline (from bholley:one_selector_allocation); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1370107

Source-Repo: https://github.com/servo/servo
Source-Revision: 74ea8ce3ed6aa3d7edfe05924f196ccbe57daed6
2017-06-05 20:10:28 -07:00
Emilio Cobos Álvarez
c3dc1e15dd servo: Merge #17154 - style: Split stylesheets.rs (from emilio:split); r=Manishearth
This file has become quite bloated lately. This commit deletes that file in
favor of a set of submodules.

The only noticeable change apart from code move, is converting deep_clone_foo
methods into a trait.

It also unifies logic related to different style rules in the same place.

There's some missing work, specially related to font-face and counter-style, but
I think this is worth landing in the meantime.

Source-Repo: https://github.com/servo/servo
Source-Revision: c260c6ede0988f331011f33485964775e1f3a7f9
2017-06-04 14:26:30 -07:00
Emilio Cobos Álvarez
501101056c servo: Merge #17078 - stylo: Avoid restyling the whole document when adding stylesheets (from emilio:stylesheet-invalidation-scopes); r=heycam
This is for bug 1357583.

Source-Repo: https://github.com/servo/servo
Source-Revision: 939716a7bc2ba2fbd8dcfe8b64d2f61edfa99c95
2017-05-29 14:19:16 -05:00
Emilio Cobos Álvarez
0994f42bec servo: Merge #16990 - Remove dead code in restyle_hints submodule, and move SelectorMap to its own submodule (from emilio:selector-map); r=upsuper
Source-Repo: https://github.com/servo/servo
Source-Revision: f35c7a577d6b2709bf75592e091479774d55bae7
2017-05-23 08:40:37 -05:00
Behnam Esfahbod
d74e314371 servo: Merge #16779 - [gfx] [layout] [style] Upgrade unicode-bidi to 0.3 (from behnam:bidi-0.3); r=mbrubeck
Depends on https://github.com/servo/unicode-bidi/pull/27 , which
upgrades `unicode-bidi` crate to `0.3.0`.

Summary of changes:

* Use `unicode_bidi::Level` (instead of `u8`) in all relevant places and
replace magic computations with (inline) method calls to Level API.

* Doing so required adding `unicode-bidi` crate dependency to two more
components here: `style` and `gfx`. IMHO, totally makes sense, as
replaces local integer manipulations/checks with well-tested ones
already available in a common dependency.

---
<!-- 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). [N/A]

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because `unicode-bidi` has its own tests and there's no logic change in this diff.

<!-- 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: edd6c2cecb2c245f9f8bcab04ff8e57f1c5d1333
2017-05-22 23:06:07 -05:00
Emilio Cobos Álvarez
f681e7c8ab servo: Merge #16972 - style: Move all the style sharing code outside matching.rs (from emilio:sanity-is-important-most-of-the-time); r=bholley
This is just a code health change. I want to move it away to keep matching.rs as
simple as possible.

Source-Repo: https://github.com/servo/servo
Source-Revision: 03fbea4ec8af3ef6c5c621974b3c52cd755ed287
2017-05-20 21:11:38 -05: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
Simon Sapin
fce247b642 servo: Merge #16954 - Avoid returning / passing around a huge ParsedDeclaration type (from servo:arrayvec); r=emilio
This enum type used to contain the result of parsing one CSS source declaration (`name: value;`) and expanding shorthands. Enum types are as big as the biggest of their variant (plus discriminant), which was quite big because some shorthands expand to many longhand properties. This type was returned through many functions and methods, wrapped and rewrapped in `Result` with different error types. This presumably caused significant `memmove` traffic.

Instead, we now allocate an `ArrayVec` on the stack and pass `&mut` references to it for various functions to push into it. This type is also very big, but we never move it.

We still use an intermediate data structure because we sometimes decide after shorthand expansion that a declaration is invalid after all and that we’re gonna drop it. Only later do we push to a `PropertyDeclarationBlock`, with an entire `ArrayVec` or nothing.

In future work we can try to avoid a large stack-allocated array, and instead writing directly to the heap allocation of the `Vec` inside `PropertyDeclarationBlock`. However this is tricky: we need to preserve this "all or nothing" aspect of parsing one source declaration, and at the same time we want to make it as little error-prone as possible for the various call sites. `PropertyDeclarationBlock` curently does property deduplication incrementally: as each `PropertyDeclaration` is pushed, we check if an existing declaration of the same property exists and if so overwrite it. To get rid of the stack allocated array we’d need to somehow deduplicate separately after pushing multiple `PropertyDeclaration`.

Source-Repo: https://github.com/servo/servo
Source-Revision: 60682cf81fe19a82c73dd98ba4c1eebc1dbbfcac
2017-05-19 18:37:14 -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
Simon Sapin
904e3d2f13 servo: Merge #16935 - Move bindings tests out of the style crate (from servo:out-of-crate-bindings-tests); r=emilio
This cuts in almost half the time to run:

```
touch components/style/lib.rs
./mach test-stylo
```

Source-Repo: https://github.com/servo/servo
Source-Revision: a01ab9ad3462bb5f30f5ea7903abd6deb9beb364
2017-05-19 03:48:14 -05:00
Anthony Ramine
17aa62e0b5 servo: Merge #16858 - Implement the hashless color quirk (fixes #15341) (from nox:quirks); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 5622c2af81eba232f616ad862946cd2ba0ffdb92
2017-05-17 08:08:00 -05:00
Fernando Jiménez Moreno
c55d3557ca servo: Merge #16768 - Stylo: Bug 1355408 - add support for @-moz-document (from ferjm:bug1355408.mozdocument); r=xidorn
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors

Link to the gecko bug:
https://bugzilla.mozilla.org/show_bug.cgi?id=1355408.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8bc20ee9ac90b56a21bee8c9d507bc4624ef5dc9
2017-05-09 05:54:07 -05:00
Simon Sapin
f550c0c35e servo: Merge #16689 - Upgrade to html5ever 0.16 (from servo:m5e); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 8b41c7c137c78aab208fe2991c3ec951fe5f1386
2017-05-03 08:42:41 -05:00
Bobby Holley
e02608275b servo: Merge #16702 - Use a custom arc in the style system (from bholley:custom_arc); r=emilio
See https://bugzilla.mozilla.org/show_bug.cgi?id=1360889

Source-Repo: https://github.com/servo/servo
Source-Revision: 7b1006936a27232fb77fef5893cc141e66bb12b7
2017-05-02 20:01:10 -05:00
Simon Sapin
d54f7055a7 servo: Merge #16455 - Bug 1354970 - Add @counter-style rules (from servo:counter-style); r=upsuper
Source-Repo: https://github.com/servo/servo
Source-Revision: 2eff661ebb2737979b80367ada3ac99d73a06fc4
2017-04-26 00:59:58 -05:00
Emilio Cobos Álvarez
191c3f7dbc servo: Merge #16608 - style: Move all the fixup code into a StyleAdjuster struct (from emilio:refactor-fixup); r=jryans
This will allow reusing it from text styles, which we need for some corner
cases, like text-align: -moz-center and similar stuff.

Source-Repo: https://github.com/servo/servo
Source-Revision: 09f0ff74811405eb95200ee78d936b4378de65fb
2017-04-25 20:31:00 -05:00
Emilio Cobos Álvarez
f707920e6d servo: Merge #16516 - stylo: Centralize stylesheet handling (from emilio:stylesheet-handling); r=bholley
This is needed for both bug 1357461 and bug 1273303, where I plan to add smarter
invalidations than what we have now.

Also, it's cleaner.

Ideally I'll move this onto stylist, though that may require extra work to make
it work fine for Servo, so for now let's just do the obvious thing.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5274991545fedd9b7188c40abffb61b4067daa8a
2017-04-19 03:41:08 -05:00
Bobby Holley
0cbb6088ed servo: Merge #16358 - Fix up the style sharing cache (from bholley:style_sharing_fixes); r=emilio
Reviewed in:
https://bugzilla.mozilla.org/show_bug.cgi?id=1354895
https://bugzilla.mozilla.org/show_bug.cgi?id=1332525

Source-Repo: https://github.com/servo/servo
Source-Revision: 7ba3f1e4f3064ec3054b2346062758375b8ab117
2017-04-11 22:52:23 -05:00
Emilio Cobos Álvarez
1cb7f87100 servo: Merge #16070 - selectors: Get rid of hashing overhead using the precomputed hash atoms have (from emilio:selectors-bloom-hash-less); r=bholley
I realized of this when @bzbarsky  mentioned the bloom filter in https://bugzilla.mozilla.org/show_bug.cgi?id=1348935#c7.

Right now we hash (the hash) all the time, when we can do better.

This requires a change in string-cache, which is at https://github.com/servo/string-cache/pull/183.

Source-Repo: https://github.com/servo/servo
Source-Revision: a811776df478a009ac6a7785ad13684e3a8e0925
2017-04-07 19:03:12 -05:00
Xidorn Quan
db3cfc0fac servo: Merge #16297 - Remove servo_url dependency for geckolib (from upsuper:stylo-servo-url); r=SimonSapin
It seems mod attr is not used for geckolib at all, and that is the only place where servo_url is still referenced for geckolib, so we can just remove it.

Source-Repo: https://github.com/servo/servo
Source-Revision: 12a4cc875d44a1a516412dc4c6044e897c0c6e47
2017-04-07 04:34:47 -05:00
Simon Sapin
168544860a servo: Merge #16169 - Remove heapsize for Stylo (from servo:stylo-heapsize); r=emilio
It doesn’t seem to be used, and is causing compilation trouble for Gecko: https://bugzilla.mozilla.org/show_bug.cgi?id=1350581

Source-Repo: https://github.com/servo/servo
Source-Revision: 42f58503c0dfb5c02d4395d481b9bd65e3d69d3a
2017-04-05 03:59:26 -05:00
Xidorn Quan
4f43b83d45 servo: Merge #16187 - Implement access to CSSFontFaceRule for stylo (from upsuper:bug1345696); r=Manishearth,heycam
This is the Servo part of [bug 1345696](https://bugzilla.mozilla.org/show_bug.cgi?id=1345696) which has been reviewed on Bugzilla.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2084ee29c40291c9abf9b0922e05f0663b215333
2017-03-29 20:50:47 -05:00
Jeremy Chen
77436cb603 servo: Merge #16155 - stylo: Implement gecko glue for font-language-override (from chenpighead:gecko-glue-for-font-language-override); r=emilio
To be aligned with the implementation from Gecko side, we parse
font-language-override as Normal keyword or String. Then, we compute
and store it as a u32. So, as to the stylo glue, we can just pass the
u32 to Gecko.

The extra crate, byteorder, is used to simplify the computing and
serialization.

Since we now implement font-language-override for Gecko, we can remove
the additional branches for font-language-override in font shorthand.

ref: Gecko [Bug 1347821](https://bugzilla.mozilla.org/show_bug.cgi?id=1347821)

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

<!-- 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: af243d5decde5663e2f6558eaa78c9022536c289
2017-03-28 15:05:33 -05:00