Commit graph

26336 commits

Author SHA1 Message Date
Anthony Ramine
bcf1a6c5e5 Avoid unwrap in LengthOrPercentageOrAuto::compute_squared_distance 2017-05-18 19:10:40 +02:00
Simon Sapin
ee2794e966 Move bindings tests out of the style crate.
This cuts in almost half the time to run:

```
touch components/style/lib.rs
./mach test-stylo
```
2017-05-18 18:46:29 +02:00
Imanol Fernandez
32e23c4db4 Implement WebGL extensions. 2017-05-18 18:44:07 +02:00
bors-servo
2fd7f4f393 Auto merge of #16934 - bzbarsky:check-snapshot-id-class-flags, r=emilio
Check snapshot id/class flags before looking for those attributes.

<!-- Please describe your changes on the following line: -->
Most elements don't have classes or IDs.

---
<!-- 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 https://bugzilla.mozilla.org/show_bug.cgi?id=1365659

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because they are just performance optimization

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/16934)
<!-- Reviewable:end -->
2017-05-18 11:40:51 -05:00
Ravi Shankar
825e6db37e Add gecko glue for grid-template-{rows,columns} 2017-05-18 21:59:31 +05:30
Ravi Shankar
3011c7cadc Add bindings for setting grid nsTArrays 2017-05-18 21:59:28 +05:30
Ravi Shankar
10badb3efd Add a truckload of tests for <track-size> and <track-list> 2017-05-18 21:59:25 +05:30
Ravi Shankar
4899bb471b Fix old grid code
* Fix <grid-line> parsing/serialization and fit-content parsing
 * Fix <track-size> flex computation
 * Cleanup <grid-line> and <track-size> code
2017-05-18 21:58:13 +05:30
Ravi Shankar
0c68471b5e Auto-generate code for grid-template-{rows,columns} 2017-05-18 21:57:29 +05:30
Ravi Shankar
26540dfbf2 Merge grid <line-names> in <track-list> computed value 2017-05-18 21:57:23 +05:30
Ravi Shankar
0d9bdb9a85 Add parsing/serialization for <track-list> 2017-05-18 21:57:01 +05:30
Ravi Shankar
7d1505a188 Apply track repetitions and merge grid <line-names> in ToComputedValue 2017-05-18 21:56:41 +05:30
Ravi Shankar
81b4e64dfc Add parsing/serialization for repeat() function 2017-05-18 21:56:38 +05:30
Ravi Shankar
d3e394c68a Add RepeatCount enum for handling the first component of repeat() 2017-05-18 21:56:35 +05:30
Ravi Shankar
efe1a5d256 Add functions for checking <fixed-size> and <fixed-breadth> 2017-05-18 21:56:32 +05:30
Ravi Shankar
53c7b0ac15 Add function to parse <line-names> 2017-05-18 21:56:21 +05:30
Fernando Jiménez Moreno
96a23d9b73 stylo: Bug 1355345 - Support font-display descriptor in @font-face rule 2017-05-18 18:16:24 +02:00
Anthony Ramine
a0886213b6 Support font-feature-settings as a @font-face descriptor 2017-05-18 18:16:22 +02:00
Anthony Ramine
7d66e65d94 Move some style macros into their own module, used first 2017-05-18 18:16:21 +02:00
Boris Zbarsky
b9a0737946 Use snapshot class/id flags to optimize out class/id gets. 2017-05-18 11:32:49 -04:00
Boris Zbarsky
8783254d3d Update bindgen for new Gecko snapshot flags. 2017-05-18 11:31:38 -04:00
Boris Zbarsky
42cb7caa12 Update bindgen for Gecko snapshot member reordering. 2017-05-18 11:30:28 -04:00
Simon Sapin
5e60865d19 Use size_of_test! macro in style and stylo tests. 2017-05-18 17:17:29 +02:00
Simon Sapin
c968842653 Don’t visit attribute selectors that never match. 2017-05-18 17:13:20 +02:00
Simon Sapin
c06e574c18 Short-circuit and unindent 2017-05-18 17:13:19 +02:00
Simon Sapin
76166bce58 Add more enum types to avoid unreachable!() for selector case-sensitivity 2017-05-18 17:13:19 +02:00
Simon Sapin
7149a6a29d ol[type=…] and li[type=…] preshints need to be case-sensitive 2017-05-18 17:13:18 +02:00
Simon Sapin
853b688d0b Only non-namespaced attributes can have implicitly case-insensitive values 2017-05-18 17:13:16 +02:00
Simon Sapin
94b4a32c18 Make some attr values case-insensitive in selectors
https://bugzilla.mozilla.org/show_bug.cgi?id=1363531
2017-05-18 17:13:15 +02:00
Simon Sapin
c5e37f3d2c Remove unused selectors::Element::each_class 2017-05-18 17:13:14 +02:00
Simon Sapin
9376abdd2c Shrink selectors::Component, add case-insensitive for other attr selectors
* https://bugzilla.mozilla.org/show_bug.cgi?id=1364148
* https://bugzilla.mozilla.org/show_bug.cgi?id=1364162
2017-05-18 17:13:14 +02:00
Simon Sapin
83c7824fda Simplify rust-selectors API for attribute selectors 2017-05-18 17:13:13 +02:00
Simon Sapin
2ca2c2d2be Fix [foo=bar i] selectors for Stylo 2017-05-18 17:13:12 +02:00
Simon Sapin
0b1e51de53 Rename CaseSensitivity::CaseInsensitive to AsciiCaseInsensitive 2017-05-18 17:13:11 +02:00
bors-servo
9d887a2375 Auto merge of #16930 - bholley:limit_parallelism, r=emilio
Only use the parallel traversal when traversing from the root

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

Let's get this in to see the impact on Talos.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/16930)
<!-- Reviewable:end -->
2017-05-18 09:53:41 -05:00
Simon Sapin
73ecdfcc6e Update to cargo 0.20.0-nightly (2233f51 2017-05-17)
… which includes https://github.com/rust-lang/cargo/pull/4065

Compile time from `mach clean` on 4 cores / 8 threads
with incremental compilation improved by 4%.
2017-05-18 16:18:57 +02:00
Bobby Holley
5a28c87b8e Allow forcing a style threadpool of size 1. 2017-05-18 16:18:12 +02:00
bors-servo
864f5509d8 Auto merge of #16889 - nox:clamp-calc, r=stshine
Refactor how calc() clamping is done on computed values (fixes #15296)

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/16889)
<!-- Reviewable:end -->
2017-05-18 08:06:19 -05:00
Bobby Holley
18baf5ec78 Only use the parallel traversal when traversing from the root. 2017-05-18 13:41:06 +02:00
Emilio Cobos Álvarez
7e35f6b4be
stylo: Avoid unconditional FFI calls to get the element state. 2017-05-18 13:40:03 +02:00
Anthony Ramine
a108bd5237 Support hashless color quirk in border-color 2017-05-18 11:05:39 +02:00
Anthony Ramine
d0b9bd9c64 Refactor how calc() clamping is done on computed values (fixes #15296) 2017-05-18 10:14:59 +02:00
Anthony Ramine
f935f2da01 Silence a warning in stylo unit tests 2017-05-18 09:57:24 +02:00
Anthony Ramine
3ea0c26e90 Silence a warning in script::dom::mutationobserver 2017-05-18 09:57:22 +02:00
bors-servo
d1eef9d08a Auto merge of #16904 - paulrouget:notHeadLess, r=metajack
Not headless by default

Without this, initializing Servo without using the command line (when embedded) requires to explicitly set `opts.headless = false`, which is weird as it's the only option that needs to be changed.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/16904)
<!-- Reviewable:end -->
2017-05-18 00:56:30 -05:00
bors-servo
5d1e02760b Auto merge of #16903 - paulrouget:makeCurrentOnNew, r=emilio
make gl context current on browser initialization

As explained in servo/webrender#1233, it's necessary to make the current gl context current when the browser is initialized, otherwise the wrong gl context might be used if another window is created before the initialization.

/cc @glennw

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/16903)
<!-- Reviewable:end -->
2017-05-17 22:53:46 -05:00
bors-servo
a5ff57b20f Auto merge of #16891 - kvark:preserve3d, r=glennw,emilio
Using TransformStyle::Preserve3D

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

The changes were reviewed previously as a part of WR update PRs, but then we decided to move them out.
r? @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: -->
- [x] 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. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/16891)
<!-- Reviewable:end -->
2017-05-17 20:38:14 -05:00
bors-servo
10cc59dd2e Auto merge of #16881 - mbrubeck:absolute_root, r=stshine
Fix containing block size for absolute root element

The root element doesn't have a containing block, so use the viewport size instead of `self.base.absolute_cb`.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #16248 (github issue number if applicable).
- [x] There are tests for these changes

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/16881)
<!-- Reviewable:end -->
2017-05-17 19:13:51 -05:00
bors-servo
ac99a48aea Auto merge of #16814 - asajeffrey:script-worklets, r=jdm
Implement Houdini worklets

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

This PR implements the current draft Houdini Worklets specification (https://drafts.css-houdini.org/worklets/).

The implementation is intended to provide a responsive environment for worklet execution, and in particular to ensure that the primary worklet executor does not garbage collect, and does not block loading module code. The implementation does this by providing a thread pool, and performing GC and module loading in a backup thread, not in the primary thread.

---
<!-- 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 #16206
- [x] There are tests for these changes

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/16814)
<!-- Reviewable:end -->
2017-05-17 16:20:42 -05:00
bors-servo
bafaae75f4 Auto merge of #16911 - emilio:bits, r=bzbarsky
Bug 1365471: Check bool flags before going through FFI in a variety of situations. r=bz

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/16911)
<!-- Reviewable:end -->
2017-05-17 14:45:55 -05:00