Commit graph

37329 commits

Author SHA1 Message Date
Emilio Cobos Álvarez
ccff9b294f style: Use cbindgen for URIs.
This doesn't clean up as much as a whole, but it's a step in the right
direction. In particular, it allows us to start using simple bindings for:

 * Filters
 * Shapes and images, almost. Need to:
   * Get rid of the complex -moz- gradient parsing (let
     layout.css.simple-moz-gradient.enabled get to release).
 * Counters, almost. Need to:
   * Share the Attr representation with Gecko, by not using Option<>.
     * Just another variant should be enough (ContentItem::{Attr,Prefixedattr},
       maybe).

Which in turn allows us to remove a whole lot of bindings in followups to this.

The setup changes a bit. This also removes the double pointer I complained about
while reviewing the shared UA sheet patches. The old setup is:

```
SpecifiedUrl
 * CssUrl
   * Arc<CssUrlData>
     * String
     * UrlExtraData
 * UrlValueSource
   * Arc<CssUrlData>
   * load id
   * resolved uri
   * CORS mode.
   * ...
```

The new one removes the double reference to the url data via URLValue, and looks
like:

```
SpecifiedUrl
 * CssUrl
   * Arc<CssUrlData>
     * String
     * UrlExtraData
     * CorsMode
     * LoadData
       * load id
       * resolved URI
```

The LoadData is the only mutable bit that C++ can change, and is not used from
Rust. Ideally, in the future, we could just use rust-url to resolve the URL
after parsing or something, and make it all immutable. Maybe.

I've verified that this approach still works with the UA sheet patches (via the
LoadDataSource::Lazy).

The reordering of mWillChange is to avoid nsStyleDisplay from going over the
size limit. We want to split it up anyway in bug 1552587, but mBinding gains a
tag member, which means that we were having a bit of extra padding.

One thing I want to explore is to see if we can abuse rustc's non-zero
optimizations to predict the layout from C++, but that's something to explore at
some other point in time and with a lot of care and help from Michael (who sits
next to me and works on rustc ;)).

Differential Revision: https://phabricator.services.mozilla.com/D31742
2019-06-04 01:03:50 -04:00
Boris Chiou
8a0cf600d6 style: Animate offset-rotate.
Differential Revision: https://phabricator.services.mozilla.com/D32237
2019-06-04 01:03:50 -04:00
Emilio Cobos Álvarez
b34c27339b style: Hide -moz-gtk-buttonactivetext from content.
This prevents exposing the value to web content.

Differential Revision: https://phabricator.services.mozilla.com/D32611
2019-06-04 01:03:49 -04:00
Emilio Cobos Álvarez
729bf19437 style: Move system colors to values::specified::color.
This should be an idempotent patch. The way to come up with this patch has been:

 * Run the first script attached to the bug and pipe it to xclip, then paste it
   in color.rs
 * Add the relevant #[derive] annotations and remove the color.mako.rs
   definition.
 * Reorder the values to match the ColorID definition, on which some widget
   prefs and caching stuff relies on.
 * Manually port some documentation from nsLookAndFeel.h
 * Run `rg 'eColorID_' | cut -d : -f 1 | sort | uniq >files`
 * Run the second script attached to the bug.
 * Manually fix usage of `LAST_COLOR` (adding the `End` variant), and adding
   casts to integer as needed.
 * Add an static assert so that people remember to update the prefs, rather than
   a comment on the definition :)

Differential Revision: https://phabricator.services.mozilla.com/D32610
2019-06-04 01:03:48 -04:00
bors-servo
3a2705f587
Auto merge of #23484 - servo:jdm-patch-53, r=Manishearth
Update gstreamer on Windows to 1.16.0.

Fixes #23348.

<!-- 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/23484)
<!-- Reviewable:end -->
2019-06-03 19:18:19 -04:00
bors-servo
bdc584f3ed
Auto merge of #23400 - staktrace:patch-1, r=jdm
Include missing dependency requirements

Running `servo-tidy` in a virtualenv where all you've done is `pip install servo-tidy==0.3.0` doesn't actually work because of missing dependencies. PyYAML and voluptuous are required as well. I don't know anything about python package management but declaring these missing dependencies seems like an appropriate thing to do. Patch itself is untested because I don't know how, although with these dependencies installed in my virtualenv running `servo-tidy` works.

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

<!-- 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/23400)
<!-- Reviewable:end -->
2019-06-03 13:08:48 -04:00
Josh Matthews
c973587a7f Update gstreamer on appveyor. 2019-06-03 11:31:00 -04:00
bors-servo
657ed9f1ca
Auto merge of #23451 - pylbrecht:canvas.rendering, r=Manishearth
Use raqote for 2D canvas rendering

<!-- 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 (part of) #23431 and #23466

<!-- Either: -->

<!-- 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/23451)
<!-- Reviewable:end -->
2019-06-03 11:05:56 -04:00
Josh Matthews
96c51cf173 Package DLLs correctly for Windows cross builds. 2019-06-03 10:41:17 -04:00
bors-servo
22cbf5fd2a
Auto merge of #23498 - est31:unused_code_removal_2, r=jdm
Remove unused code (2/N)

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

Second PR in a series of PRs to remove unused/dead code from servo, powered by an (upcoming) tool of mine. Please take a look and tell me if you want to keep something.

Link to first PR: #23477

---
<!-- 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 they only remove dead code

<!-- 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/23498)
<!-- Reviewable:end -->
2019-06-03 08:31:10 -04:00
bors-servo
2ee155ea3a
Auto merge of #23493 - oneturkmen:remove-get-opts, r=jdm
compositing: removed opts-get

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

Removed all `opts::get()` from `compositing` component.

---
<!-- 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 *partially* #22854 (GitHub issue number if applicable)

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they are not feature- or bug-related 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/23493)
<!-- Reviewable:end -->
2019-06-03 03:46:43 -04:00
Josh Matthews
8467c00cf3 Fix docs. 2019-06-03 01:47:22 -04:00
Josh Matthews
193013f6bb Add cargo features for canvas backend to other ports. 2019-06-03 00:12:01 -04:00
Josh Matthews
5a550e236c Build raqote backend on CI. 2019-06-03 00:12:01 -04:00
Josh Matthews
ce18636aef Make Azure backend build again. 2019-06-03 00:12:01 -04:00
Josh Matthews
3539c029f1 Most basic raqote draw target stubs. 2019-06-03 00:12:01 -04:00
Josh Matthews
db362184fd Fix formatting. 2019-06-03 00:12:01 -04:00
Josh Matthews
97f5dacc29 Update raqote. 2019-06-03 00:12:01 -04:00
Josh Matthews
3243f1753b Add cargo feature to control canvas backend. 2019-06-03 00:12:01 -04:00
bors-servo
7f7eead3d8
Auto merge of #23372 - sreeise:xhr_resource_url, r=jdm
Change XHRContext and resource timing information to use request URL

<!-- Please describe your changes on the following line: -->
Change resource timing information to return the URL used to create the XHR and store the URL in XHRContext.

---
<!-- 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 #23329 (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/23372)
<!-- Reviewable:end -->
2019-06-02 22:48:25 -04:00
bors-servo
886c2fad92
Auto merge of #23477 - est31:unused_code_removal, r=jdm
Remove unused code (1/N)

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

First PR in a series of PRs to remove unused/dead code from servo, powered by an (upcoming) tool of mine. Please take a look and tell me if you want to keep something.

---
<!-- 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 they only remove dead code

<!-- 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/23477)
<!-- Reviewable:end -->
2019-06-02 19:43:00 -04:00
bors-servo
03f223663f
Auto merge of #23459 - Eijebong:compartments, r=jdm
Add an inCompartments config option for bindings

Fixes #23257

<!-- 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/23459)
<!-- Reviewable:end -->
2019-06-02 14:41:20 -04:00
bors-servo
31ee17e9e1
Auto merge of #23335 - csmoe:w_origin, r=jdm
Implement worker origin member of WorkerLocation

Closes #23331
r?@jdm
(cannot build servo on my mac pro, hope CI helps)
<!-- 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

<!-- 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/23335)
<!-- Reviewable:end -->
2019-06-02 07:20:41 -04:00
csmoe
05bef140bf Implement worker origin member of WorkerLocation 2019-06-02 10:20:03 +08:00
est31
fe58aca75d Remove unused code from net and net_traits crates 2019-06-02 02:44:37 +02:00
oneturkmen
1819453ba2 compositing: removed opts-get 2019-06-01 13:54:57 -06:00
bors-servo
9d9fff3b0a
Auto merge of #23491 - jdm:openssl-windows, r=Manishearth
Switch windows openssl binaries to ones generated by vcpkg.

The current generated binaries we rely upon don't support arm64. These changes will be required for #23468.

<!-- 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/23491)
<!-- Reviewable:end -->
2019-05-31 21:58:20 -04:00
pylbrecht
42bf1984be Make CanvasData use GenericDrawTarget 2019-05-31 15:55:18 -04:00
pylbrecht
7ace517770 Make CanvasPaintState generic 2019-05-31 15:55:18 -04:00
pylbrecht
3182eba73b Implement GenericPathBuilder for azure_hl::PathBuilder 2019-05-31 15:55:18 -04:00
pylbrecht
7c6460443c Implement GenericDrawTarget for azure_hl::DrawTarget 2019-05-31 15:55:17 -04:00
pylbrecht
7ad5149e50 Add GenericDrawTarget trait 2019-05-31 15:55:17 -04:00
pylbrecht
d1397c0b20 Add raqote to canvas' dependencies 2019-05-31 15:55:14 -04:00
Josh Matthews
3162c9a1d7 Switch windows openssl binaries to ones generated by vcpkg. 2019-05-31 15:40:44 -04:00
bors-servo
e3dc86bd8a
Auto merge of #23490 - servo-wpt-sync:wpt_update_31-05-2019, r=servo-wpt-sync
Sync WPT with upstream (31-05-2019)

Automated downstream sync of changes from upstream as of 31-05-2019.
[no-wpt-sync]
2019-05-31 10:41:00 -04:00
WPT Sync Bot
fa788e624b Update web-platform-tests to revision 755d18230983e9c7d894768b73fabff8bc290d91 2019-05-31 14:40:43 +00:00
bors-servo
d544c186b9
Auto merge of #23487 - will-bartlett:patch-1, r=ferjm
Update README.md to point to latest bugfix of Python 2 on Windows

Link to latest bugfix release on Windows.

---
<!-- 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
- [ X] 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/23487)
<!-- Reviewable:end -->
2019-05-31 03:05:23 -04:00
William Bartlett
fd2c8664cd
Update README.md
Link to latest bugfix release on Windows.
2019-05-30 21:31:08 -07:00
bors-servo
7c8a4ecead
Auto merge of #23485 - Manishearth:xrtest, r=asajeffrey
Basic XR Testing support

This adds support for the XRTest and FakeXRDeviceController APIs from https://github.com/immersive-web/webxr-test-api, and plugs them into the `mock` backend of rust-webvr.

Tested with [a modified webxr test page](https://github.com/immersive-web/webxr-test-api)

r? @jdm @asajeffrey

<!-- 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/23485)
<!-- Reviewable:end -->
2019-05-30 22:04:22 -04:00
Manish Goregaokar
c2d4900c16 Add 'spec' links 2019-05-30 19:04:08 -07:00
Manish Goregaokar
d044a792f1 Normalize rotations 2019-05-30 19:04:08 -07:00
Manish Goregaokar
366aa78e55 Run webvr thread when webxr is enabled 2019-05-30 19:04:08 -07:00
Manish Goregaokar
97df39fce1 Add FakeXRDeviceController.setViewerOrigin() 2019-05-30 19:04:08 -07:00
Manish Goregaokar
4b930b9e30 Add FakeXRDeviceController.setViews() 2019-05-30 19:04:08 -07:00
Manish Goregaokar
e95b24bfa6 Add XRTest.simulateDeviceConnection() 2019-05-30 19:04:08 -07:00
Manish Goregaokar
a89d2c6410 Support creating and messaging mock display 2019-05-30 19:04:08 -07:00
Manish Goregaokar
c689866d35 Add XR.test() 2019-05-30 13:29:05 -07:00
Manish Goregaokar
422faddedf Update rust-webvr 2019-05-30 13:29:05 -07:00
Manish Goregaokar
9a31f6fe7a Add blank FakeXRDeviceController interface 2019-05-30 12:53:47 -07:00
Manish Goregaokar
1c07b0f416 Add blank XRTest interface 2019-05-30 12:53:47 -07:00