Commit graph

34078 commits

Author SHA1 Message Date
bors-servo
a39a57c076
Auto merge of #21653 - emilio:gecko-sync, r=emilio
style: sync changes from mozilla-central.

See each individual commit for details.

<!-- 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/21653)
<!-- Reviewable:end -->
2018-09-09 10:22:38 -04:00
Boris Chiou
31fc6cd565
style: Use the standalone struct and enum for the flags in SVG path.
We define the standalone types for using derive macro easily and overriding
the behaviors of this traits. This could avoid defining the general
behavior of booleans.

Depends on D4788

Differential Revision: https://phabricator.services.mozilla.com/D4813
2018-09-09 16:09:08 +02:00
Boris Chiou
b0604c9be5
style: Make offset-path: path() animatable.
Here, we change the animation type of offset-path as ComputedValue, so
we could do animation on it. Also enable the wpt for offset-path
interpolation. In test_transition_per_property.html, we add some basic tests
ifor offset-path.

ToAnimatedZero for PathCommand will be dropped later.

Because the animations of arcs with mismatched flags are fallen back to
discrete animations, the result of getComputedValue is not normalized in this
case. This makes some wpt failed even though the progress is 100%.

Depends on D4786

Differential Revision: https://phabricator.services.mozilla.com/D4787
2018-09-09 16:08:56 +02:00
Boris Chiou
14911b96e0
style: Make SVGPathData and clip-path: path() animatable.
Implement Animate trait for SVGPathData.

The basic idea is: we normalize |this| and |other| svg paths, and then
do interpolation on the normalized svg paths. The normalization is to
convert relative coordinates into absolute coordinates, so we could do
real number interpolation on each path command directly.

In this patch, we also make |clip-path:path()| animatable.

Differential Revision: https://phabricator.services.mozilla.com/D4786
2018-09-09 16:08:24 +02:00
bors-servo
9c1c58a498
Auto merge of #21643 - servo:webgl, r=jdm
Reuse the input vector in more cases of rgba8_image_to_tex_image_data

<!-- 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/21643)
<!-- Reviewable:end -->
2018-09-08 13:18:08 -04:00
Anthony Ramine
74e6f40abe Reuse the input vector in more cases of rgba8_image_to_tex_image_data 2018-09-08 18:21:45 +02:00
Anthony Ramine
6a692228fc Fix the ALPHA/FLOAT case of rgba8_image_to_tex_image_data
I'm pretty sure this is supposed to write the ALPHA component.
2018-09-08 18:06:51 +02:00
bors-servo
5929086c36
Auto merge of #21641 - servo:webgl, r=jdm
Some drive-by perf improvements on the WebGL stack

This avoids a bunch of pointless buffer and texture copies, but is far from eliminating all which could be eliminated.

<!-- 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/21641)
<!-- Reviewable:end -->
2018-09-08 10:33:21 -04:00
bors-servo
5e6457838d
Auto merge of #21638 - kingdido999:master, r=jdm
Format the rest of gfx #21373

```bash
rustfmt $(find components/gfx/tests -type f -name "*.rs")
rustfmt components/gfx/*.rs
```

<!-- 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/21638)
<!-- Reviewable:end -->
2018-09-08 09:35:30 -04:00
Anthony Ramine
e192e4d97f Reuse input of rgba8_image_to_tex_image_data in some cases 2018-09-08 13:42:07 +02:00
Anthony Ramine
27951bb7c8 Make rgba8_image_to_tex_image_data not overallocate in some case 2018-09-08 13:42:07 +02:00
Anthony Ramine
145086e150 Make rgba8_image_to_tex_image_data a free-standing function 2018-09-08 13:42:06 +02:00
Anthony Ramine
a5f9d03229 Make remove_premultiplied_alpha mutate its input 2018-09-08 13:42:06 +02:00
Anthony Ramine
1864edbb36 Make premultiply_pixels mutate its input 2018-09-08 13:42:06 +02:00
Anthony Ramine
4bd8efa49e Use byte channels to send textures to the WebGL thread 2018-09-08 13:42:06 +02:00
Anthony Ramine
408e540c55 Use ipc::bytes_channel in ReadPixels 2018-09-08 13:42:06 +02:00
Anthony Ramine
4e9281dcbf Simplify WebGLRenderingContext::get_image_data 2018-09-08 13:42:06 +02:00
kingdido999
c0da829e33 Reorder gfx lib creates 2018-09-08 14:24:56 +08:00
bors-servo
a7ade31c0e
Auto merge of #21639 - servo-wpt-sync:wpt_update_07-09-2018, r=jdm
Sync WPT with upstream (07-09-2018)

Automated downstream sync of changes from upstream as of 07-09-2018.
[no-wpt-sync]

<!-- 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/21639)
<!-- Reviewable:end -->
2018-09-07 23:26:24 -04:00
WPT Sync Bot
4ae3d09ff3 Update web-platform-tests to revision 9a5d71b326166e12784bdd9d161772e20f87c1fd 2018-09-07 23:22:54 -04:00
kingdido999
3a3c4b8c8e Format the rest of gfx #21373 2018-09-08 08:05:42 +08:00
bors-servo
f7630dad87
Auto merge of #21630 - kingdido999:master, r=jdm
Format gfx text #21373

```bash
rustfmt $(find components/gfx/text -type f -name "*.rs")
```

<!-- 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/21630)
<!-- Reviewable:end -->
2018-09-07 11:20:11 -04:00
bors-servo
ba8790bb0b
Auto merge of #21635 - chansuke:format_style_derive, r=jdm
Format component of style_derive

<!-- Please describe your changes on the following line: -->
Format `style_derive` component by:
```
rustfmt components/style_derive/*.rs
```
---
<!-- 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 part of #21373.
- [x] These changes do not require tests because they format components only.

<!-- 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/21635)
<!-- Reviewable:end -->
2018-09-07 10:01:58 -04:00
chansuke
25bc998f17 Format component of style_derive 2018-09-07 22:18:51 +09:00
bors-servo
51283cf77a
Auto merge of #21634 - servo:webgl, r=emilio
Use a bytes channel in BufferData

<!-- 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/21634)
<!-- Reviewable:end -->
2018-09-07 06:23:12 -04:00
Anthony Ramine
9f924013bc Use a bytes channel in BufferData
This means we don't need to copy the input ArrayBuffer at all on the DOM side.
2018-09-07 11:28:59 +02:00
Anthony Ramine
e37856a855 Remove Clone impl for WebGLMsg 2018-09-07 11:28:45 +02:00
Anthony Ramine
1293692ef8 Simplify WebGLBuffer::buffer_data
There is no need to pass the target to that buffer method, given the buffer
has been retrieved by looking up the one bound to that target in the context.
2018-09-07 11:28:11 +02:00
bors-servo
8164c9d4cf
Auto merge of #21633 - ferjm:wpt.certs, r=Manishearth
Add Web Platform Tests root CA

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors

This allows running the WPT suite locally. https://github.com/web-platform-tests/wpt#trusting-root-ca

<!-- 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/21633)
<!-- Reviewable:end -->
2018-09-07 05:09:01 -04:00
Fernando Jiménez Moreno
773881756e Add Web Platform Tests root CA 2018-09-07 10:57:55 +02:00
kingdido999
aa4a8eb88d Format gfx text #21373 2018-09-07 10:49:07 +08:00
bors-servo
a9a552e7e3
Auto merge of #21629 - servo-wpt-sync:wpt_update_06-09-2018, r=jdm
Sync WPT with upstream (06-09-2018)

Automated downstream sync of changes from upstream as of 06-09-2018.
[no-wpt-sync]

<!-- 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/21629)
<!-- Reviewable:end -->
2018-09-06 22:43:25 -04:00
WPT Sync Bot
560e025ce7 Update web-platform-tests to revision 9d5d9aa80785d9726ed0a5eaab1a8d144fd4b560 2018-09-06 22:40:10 -04:00
bors-servo
41a6c0cc39
Auto merge of #21610 - kingdido999:master, r=jdm
Format gfx platform #21373

```bash
rustfmt $(find components/gfx/platform -type f -name "*.rs")
```

<!-- 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/21610)
<!-- Reviewable:end -->
2018-09-06 20:56:50 -04:00
bors-servo
1343c7de50
Auto merge of #21560 - JacksonCoder:chunk-file, r=jdm
Read file URL in chunks

<!-- Please describe your changes on the following line: -->
This is a very straightforward PR: essentially, I replaced a `read_to_end` call that occurs when processing a file URL fetch with a loop that reads the file in chunks (with a `FILE_CHUNK_SIZE` constant that specifies the chunk size, which I've put at 32KB), and then calls `target.process_response_chunk` to process the chunk. The chunk is then appended to the fetch result, and once the end of the file is reached, the result is returned.

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because there isn't really a way to observe this.

<!-- 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/21560)
<!-- Reviewable:end -->
2018-09-06 19:52:16 -04:00
Jackson Lewis
430ba86668 Tidy things up 2018-09-06 16:09:35 -07:00
Anthony Ramine
5a206d5137 Make validate_framebuffer return a WebGLResult<()> 2018-09-06 11:25:22 +02:00
Anthony Ramine
0579fbe4fa Use WebGLResult for returns of instanced draw methods 2018-09-06 10:41:58 +02:00
bors-servo
6aab6dd99c
Auto merge of #21627 - servo-wpt-sync:wpt_update_05-09-2018, r=jdm
Sync WPT with upstream (05-09-2018)

Automated downstream sync of changes from upstream as of 05-09-2018.
[no-wpt-sync]

<!-- 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/21627)
<!-- Reviewable:end -->
2018-09-05 23:14:49 -04:00
WPT Sync Bot
23dfe7c81e Update web-platform-tests to revision a806d658df3bcc3f05675ad8d08a6e109177c6b0 2018-09-05 22:56:05 -04:00
bors-servo
af777fcf15
Auto merge of #21623 - emilio:gecko-sync, r=emilio
style: Sync changes from mozilla-central.

See each commit for details.

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

<!-- 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/21623)
<!-- Reviewable:end -->
2018-09-05 16:32:19 -04:00
bors-servo
3fec9100e0
Auto merge of #21622 - servo:jdm-patch-20, r=SimonSapin
Make ndk-stack mach command support x86 builds.

Tested locally and it now provides usable output.

---
- [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 no automated tests for build environment.

<!-- 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/21622)
<!-- Reviewable:end -->
2018-09-05 14:14:46 -04:00
Emilio Cobos Álvarez
6dcf9b7630
style: Use decomposition to interpolate matched perspective transform operations.
Looks like this produces sensible results for interpolation with 0, though I'm
not really convinced about the results from, let's say, 1px to 2000px in the
attached test-case, I would've expected a linear interpolation from that to go
through normal length interpolation.

css-transforms-1 says:

  > Two transform functions with the same name and the same number of arguments
  > are interpolated numerically without a former conversion. The calculated
  > value will be of the same transform function type with the same number of
  > arguments.
  >
  > Special rules apply to <matrix()>.

Which is what we do... I was going to file a spec issue but turns out that it's
already addressed in css-transforms-2:

  https://drafts.csswg.org/css-transforms-2/#interpolation-of-transform-functions

Which says:

  > The transform functions <matrix()>, matrix3d() and perspective() get
  > converted into 4x4 matrices first and interpolated as defined in section
  > Interpolation of Matrices afterwards.

Differential Revision: https://phabricator.services.mozilla.com/D4942
2018-09-05 19:11:26 +02:00
Emilio Cobos Álvarez
3e0250ae61
style: Only no-op visited <-> unvisited changes.
Other changes should really be (and are) indistinguishable.

Differential Revision: https://phabricator.services.mozilla.com/D4847
2018-09-05 19:11:18 +02:00
Boris Chiou
cf6215c85f
style: Add a pref for |clip-path:path()|.
Add a preference, layout.css.clip-path-path.enabled, for |clip-path:path()|.

Differential Revision: https://phabricator.services.mozilla.com/D4965
2018-09-05 19:11:12 +02:00
Emilio Cobos Álvarez
3f08d2cc02
style: Make the author styles disabled stuff actually disable style attribute, animations, and XBL rules.
This also removes one of my FIXMEs from when I was looking at this code.

We don't seem to have a pre-existing test for this feature, sigh. I'll try to
write one if I have cycles for it...

Note that it not applying XBL rules is a feature, given the current state of
affairs. Video controls and such are right now unusable with no styles enabled.

Differential Revision: https://phabricator.services.mozilla.com/D4795
2018-09-05 19:10:46 +02:00
Emilio Cobos Álvarez
0c0018e4d6
style: Make <svg:use> in shadow tree apply the rules from the originating tree.
Differential Revision: https://phabricator.services.mozilla.com/D4674
2018-09-05 19:10:37 +02:00
Josh Matthews
a19cedfddc
Make ndk-stack mach command support x86 builds. 2018-09-05 12:52:50 -04:00
bors-servo
5ef3fff1b1
Auto merge of #21617 - chansuke:format-url, r=jdm
Format component of url

<!-- Please describe your changes on the following line: -->
Format `url` component with:

```
rustfmt components/url/*.rs
```

---
<!-- 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 part of #21373 .
- [x] These changes do not require tests because they format the code only.

<!-- 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/21617)
<!-- Reviewable:end -->
2018-09-05 12:51:23 -04:00
bors-servo
5578cab464
Auto merge of #21607 - asajeffrey:aarch64-android-fixes, r=ferjm
Aarch64 android fixes

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

Getting android aarch64 to build again.

---
<!-- 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 do not require tests because build infra

<!-- 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/21607)
<!-- Reviewable:end -->
2018-09-05 11:49:50 -04:00