Commit graph

17569 commits

Author SHA1 Message Date
bors-servo
c494d25e24 Auto merge of #18750 - Manishearth:transform-generic, r=emilio,xidorn
Make transforms generic

This makes the specified and computed value of transform share a generic
backing enum.

This will eventually be a complete fix for
https://bugzilla.mozilla.org/show_bug.cgi?id=1391145 , and also
incidentally fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1405881

Currently WIP -- the generic transform exists and is used, but this
currently misses some animation and glue cases.

<!-- 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/18750)
<!-- Reviewable:end -->
2017-11-02 17:02:07 -05:00
Manish Goregaokar
cb9645cd17
Comments and minor fixes 2017-11-02 14:37:54 -07:00
Manish Goregaokar
1c12e0ebc6
Rustfmt the new files 2017-11-02 14:30:16 -07:00
Manish Goregaokar
6415294fd5
Fix unit tests 2017-11-02 14:30:15 -07:00
Manish Goregaokar
5098948c0d
Handle distance calculation of new variants 2017-11-02 14:30:14 -07:00
Manish Goregaokar
ca02785e02
Handle case of empty transform lists 2017-11-02 14:30:12 -07:00
Manish Goregaokar
9c9a181f35
Allow cross interpolation between differing translate/scale functions
See ToPrimitive() in StyleAnimationValue.cpp
2017-11-02 14:30:11 -07:00
Manish Goregaokar
f699b8cfb2
Handle animating 2D matrices 2017-11-02 14:30:10 -07:00
Manish Goregaokar
aba00be52d
Add more operations to animation 2017-11-02 14:30:09 -07:00
Manish Goregaokar
e15695289d
Add support for transform functions with an optional final argument in gecko glue 2017-11-02 14:30:08 -07:00
Manish Goregaokar
e20c508a6e
Add support for 2D matrices in Gecko glue 2017-11-02 14:30:07 -07:00
Manish Goregaokar
fc29de8986
Add support for more functions in Gecko glue 2017-11-02 14:30:06 -07:00
Manish Goregaokar
079b25db93
Share transform function lists between set_transform and clone_transform
This will also fix https://bugzilla.mozilla.org/show_bug.cgi?id=1405881
2017-11-02 14:30:05 -07:00
Manish Goregaokar
6631594e28
Replace old transform code with new generic code 2017-11-02 14:30:04 -07:00
Manish Goregaokar
5ce2966bda
Add utilities for converting Transform to euclid types 2017-11-02 14:30:03 -07:00
Manish Goregaokar
2de3464374
Add ToAnimatedZero implementation 2017-11-02 14:30:02 -07:00
Manish Goregaokar
5031d14d1b
Use a generic Matrix3D type 2017-11-02 14:30:01 -07:00
Manish Goregaokar
544989819d
Add parsing support for transform 2017-11-02 14:30:00 -07:00
Manish Goregaokar
d6525e030a
Add specified and computed variants of Transform/TransformOperation 2017-11-02 14:29:59 -07:00
Manish Goregaokar
dcefcc3c22
Add ToComputedValue and ToCss impls 2017-11-02 14:29:58 -07:00
Manish Goregaokar
337d48aa61
Add generic struct for transform 2017-11-02 14:29:57 -07:00
bors-servo
92b49010b1 Auto merge of #19091 - MortimerGoro:webgl2_suite, r=jdm
Add WebGL conformance 2.0.0 tests

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

This PR includes WebGL conformance 2.0.0 tests. For now I have disabled three folders in the new suite:
- `Conformance`: Tests WebGL 1.0 API like the current 1.0.3 suite we are using, but it includes a lot more tests and many expectations have to be updated. This is better to do in a separate PR because it will require to update github intermittent paths again and maybe detect new intermittents.
- `Conformance2\textures`: It causes a lot of timeouts because of using videos, svgs, and other complicated formats.
- `deqp`: It's a extra GPU testing suite included in the Khronos 2.0.0 suite. Disabled for now because it causes some timeouts.

So in a nutshell, it uses part of the 2.0.0 suite to test webgl 2.0 and keeps using 1.0.3 in order to test WebGL 1.0. It's good enough to enable TDD for the new WebGL 2.0 features

We can create follow-up issues for the next steps:
* deprecate 1.0.3 and use the new 'conformance' folder in 2.0.0 in order to test WebGL 1.0
* Enable `conformance2/textures` and  'deqp' tests once WebGL 2.0 implementation is more advanced or the timeouts are monitored in more detail.

---
<!-- 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/19091)
<!-- Reviewable:end -->
2017-11-02 15:52:42 -05:00
Imanol Fernandez
ec1f61d9cc Add configuration for webgl2 tests and update test expectations 2017-11-02 15:12:35 +01:00
Simon Sapin
a5d9d0b32d Make the unrooted_must_root conditional on a default Cargo feature.
Only http://perf.rust-lang.org/ will disable it,
in order to be less subject to changes to rustc internal APIs.
2017-11-02 15:08:04 +01:00
Simon Sapin
27a2bb1582 Make script enable the "style/servo" Cargo feature
This enables it to be compiled without libservo:
```
cargo build --manifest-path components/script/Cargo.toml
```

… and then to be added to http://perf.rust-lang.org/
2017-11-02 15:02:55 +01:00
Henri Sivonen
18a52ea0e9 Avoid decoding XHR type="json" responses as UTF-16BE/LE
https://infra.spec.whatwg.org/#parse-json-from-bytes says to use
"UTF-8 decode" rather than "decode", so UTF-16BE/LE BOM should
not be honored.
2017-11-02 14:28:51 +02:00
bors-servo
edb2db55b7 Auto merge of #19093 - cbrewster:font_weight_cleanup, r=emilio
style: Cleanup font-weight parsing.

Followup for #19086

<!-- 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/19093)
<!-- Reviewable:end -->
2017-11-01 19:37:45 -05:00
Connor Brewster
f37859375e style: Cleanup font-weight parsing. 2017-11-01 17:04:40 -05:00
bors-servo
fa319170eb Auto merge of #19077 - avadacatavra:floats-are-the-actual-worst, r=jdm
changed f64 to u64 for navigation start timing until it had to be float

<!-- 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
- [X] These changes fix #18997 (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. -->

<!-- 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/19077)
<!-- Reviewable:end -->
2017-11-01 16:56:06 -05:00
ddh
0a09ee5cd8 changed f64 to u64 for navigation start timing until it had to be float 2017-11-01 20:45:22 +00:00
Connor Brewster
285d8bb58b style: Move font-weight outside of mako 2017-11-01 11:06:40 -05:00
bors-servo
b23131abf1 Auto merge of #19083 - servo:vis, r=SimonSapin
Fix new failure in Nightly 2017-11-01.

The rustc::declare_lints! macro started using a :vis fragment specifier.

<!-- 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/19083)
<!-- Reviewable:end -->
2017-11-01 08:52:45 -05:00
bors-servo
fa93a79ed0 Auto merge of #19082 - Eijebong:fixme_issue_718, r=jdm
Remove a workaround for https://github.com/rust-lang/rfcs/issues/718

<!-- 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/19082)
<!-- Reviewable:end -->
2017-11-01 07:57:04 -05:00
Simon Sapin
2bee740057 Fix new failure in Nightly 2017-11-01.
The rustc::declare_lints! macro started using a :vis fragment specifier.
2017-11-01 13:08:03 +01:00
Bastien Orivel
516857a15d Remove a workaround for https://github.com/rust-lang/rfcs/issues/718 2017-11-01 13:03:35 +01:00
bors-servo
994ff4b66e Auto merge of #19073 - servo:encoding-rs, r=SimonSapin
Use encoding-rs instead of rust-encoding

<!-- 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/19073)
<!-- Reviewable:end -->
2017-11-01 06:37:54 -05:00
Simon Sapin
a3971eb686 Replace rust-encoding with encoding-rs 2017-11-01 10:16:11 +01:00
bors-servo
dbaa5b22e6 Auto merge of #19078 - outkaj:master, r=KiChjang
Fixes #19063

This PR renames the unused variables mentioned in issue #19063.

- [X] `./mach build --release` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [x] These changes fix #19063

- [X] This change does not require a test because it is a relatively minimal change (? happy to make a test if it's helpful)

"Allow edits from maintainers" is checked.

<!-- 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/19078)
<!-- Reviewable:end -->
2017-10-31 22:48:18 -05:00
Jacqueline Outka
ab81034922
Fixes #19063 2017-10-31 18:53:17 -04:00
bors-servo
63af764fc5 Auto merge of #19040 - MortimerGoro:webgl2_extensions, r=emilio
Add support for filtering WebGL extensions based on WebGL version

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

Add support for filtering WebGL extensions based on WebGL version

---
<!-- 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/19040)
<!-- Reviewable:end -->
2017-10-31 16:14:59 -05:00
Imanol Fernandez
f2f5817f56 Add support for filtering WebGL extensions based on WebGL version 2017-10-31 21:38:39 +01:00
bors-servo
c882266c89 Auto merge of #19074 - emilio:font-size-woes, r=Manishearth
style: Avoid double-applying text-zoom for keywords.

Bug: 1412743
Reviewed-by: Manishearth

<!-- 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/19074)
<!-- Reviewable:end -->
2017-10-31 15:08:24 -05:00
Emilio Cobos Álvarez
ed9cf6b4eb
style: Avoid double-applying text-zoom for keywords.
Bug: 1412743
Reviewed-by: Manishearth
2017-10-31 20:20:55 +01:00
Emilio Cobos Álvarez
4e6af723d8
style: Update bindings. 2017-10-31 20:09:20 +01:00
Emilio Cobos Álvarez
b721215a00
style: Update bindgen to 0.31.3.
Constified enums are default now. I think I want to introduce an option to
bindgen to allow setting the default enum behavior, but it doesn't need to block
this.

The ServoBindings.toml changes are somewhat hacky, but that's because of
https://github.com/rust-lang-nursery/rust-bindgen/issues/1125.

Also, the fixups now need to account for whitespace, since quote generates stuff
like root :: nsString, and we don't rustfmt the bindings if there's no rustfmt
installed.

Bug: 1412486
Reviewed-by: xidorn
MozReview-Commit-ID: EY5eNnCiTIw
2017-10-31 20:09:18 +01:00
Simon Sapin
3c36a36cc9 Use encoding-rs instead of rust-encoding for CSS parsing 2017-10-31 19:08:43 +01:00
Simon Sapin
a3ac21d23d Use the url crate without its query_encoding feature 2017-10-31 19:08:26 +01:00
Emilio Cobos Álvarez
b5f8edc4ae
style: Unconditionally implement Debug for RefPtr.
Bindgen doesn't know how to derive debug for a Gecko font family list. Hopefully
it doesn't need to.

Bug: 1412486
Reviewed-by: xidorn
MozReview-Commit-ID: 4iZKzjad6K9
2017-10-31 17:31:17 +01:00
Emilio Cobos Álvarez
480d2267e6
style: Don't force ComputedValues to derive Debug.
The code that uses it is of dubious utility, fwiw, but some of it is used on
Servo, so I'll kill that separately.

Bug: 1412486
Reviewed-by: xidorn
MozReview-Commit-ID: KauvXX32zLM
2017-10-31 17:30:52 +01:00
Bastien Orivel
29b4eec141 Bump bitflags to 1.0 in every servo crate 2017-10-30 23:36:06 +01:00