Commit Graph

556 Commits

Author SHA1 Message Date
Anthony Ramine
1077174ae6 servo: Merge #17149 - Update Rust nightly (from servo:rustup); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 9656341f43cc1bc415e07a0a0c919740280ad2ab
2017-06-09 02:41:16 -07:00
Alan Jeffrey
73a447a887 servo: Merge #17150 - Implemented the plumbing for paint worklets (from asajeffrey:script-paint-worklets-plumbing); r=jdm
<!-- Please describe your changes on the following line: -->

This PR implements the plumbing for paint worklets:

* Adding CSS values for paint worklets.
* Implementing a skeleton for the `PaintWorkletGlobalScope` webidl.
* Implementing an executor for paint worklet tasks, and passing it from script to layout.
* Building the display list items for paint worklet images.

This PR does not implement registering or calling paint worklets in JS.

Before it merges, this PR needs a reftest added for basic paint worklet functionality.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: bf46da065db58549a74c489d521f9375f4137637
2017-06-07 11:57:07 -07:00
Josh Matthews
75f08f1f0a servo: Merge #17169 - Read 32kb from the network at a time (from servo:jdm-patch-2); r=SimonSapin
Now that https://github.com/servo/servo/pull/16989 has merged, this might actually work.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6fe0e30c169b54eb711ca1ee2dc1cdbf0ef83e82
2017-06-05 18:18:30 -07:00
Anthony Ramine
f8fe318faf servo: Revert "Update Rust nightly to 1.19.0-nightly (6165203c4 2017-06-03)"
This reverts commit f081380dc03dba9664877df2829097f32c40694a.

Source-Repo: https://github.com/servo/servo
Source-Revision: 56c961af5ab47cb314655e5e5cfaecdf1ddcff21
2017-06-03 14:37:17 +02:00
Anthony Ramine
6ab5e46303 servo: Update Rust nightly to 1.19.0-nightly (6165203c4 2017-06-03)
Source-Repo: https://github.com/servo/servo
Source-Revision: f081380dc03dba9664877df2829097f32c40694a
2017-06-03 13:27:19 +02:00
Nikhil Shagrithaya
4cd24e5ab0 servo: Merge #15354 - Redirect document loads manually (from cynicaldevil:manual-redirect); r=jdm
<!-- 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 #14596 .

r? @jdm

I ran some tests at random from the `navigating-across-documents` folder, and they are passing.

<!-- 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: eac4f407e2bfa0055a698ca438972566f0814e43
2017-06-02 14:49:21 -07:00
Matt Brubeck
5d1235618b servo: Merge #17042 - Update dependencies (from mbrubeck:always-be-updating); r=jdm
No Cargo.toml changes except `base64` which is updated from 0.4.2 to 0.5.2.  Does not affect stylo.  No new crates in the dependency graph.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0f5ccdb589f484e17908811173893abc2ac8ff04
2017-05-26 12:18:12 -05:00
SendilKumar N
876d73e3a3 servo: Merge #16913 - Make canvas origin clean checks use origin of image response (from jdm:canvas2d); r=jdm
Adapted from #15887.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #15409
- [X] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: 62690887c163332688add2b1e62bb4c12b2e7df4
2017-05-19 10:45:44 -05:00
Fabrice Desré
11d067394a servo: Merge #16869 - Ignore mime type parameters in nosniff (fixes #16049) (from nox:mime); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: f3c8f7e0d0fb42f32e3699d07fc0f8002bf564c8
2017-05-15 10:15:37 -05:00
Ksbugbee
0f81abaaf5 servo: Merge #16761 - Use hash2 instead of deprecated hash (from Ksbugbee:master); r=jdm
<!-- 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: 4e3544f05c161039b97fe4c20daca4a0baf372fe
2017-05-08 13:42:32 -05:00
Alice Maz
7ac5490360 servo: Merge #16706 - Bump base64 to 0.4.2 (from alicemaz:master); r=nox
<!-- Please describe your changes on the following line: -->
we have just released a security patch for base64 (preventing integer overflow when sizing a buffer for encoded output). this bumps the version in the three Cargo.toml files that pull it in. there should be no observable difference in behavior, no non-malicious input should be able to trigger this state

---
<!-- 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 it is a small fix to a dependency with no practical difference in operation from previous.

<!-- 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: 6aa552d59f21644ed93b17b1cec4197cd354b882
2017-05-04 06:08:37 -05:00
coalman
de7526ae83 servo: Merge #16495 - Make tidy check that opening and closing braces that begin a line do … (from coalman:tidy-brace-alignment); r=emilio
…so with proper alignment.

---
<!-- 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 #16486 (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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 195100f3cac99b979e25157eb437e63bd3262e6f
2017-04-19 03:06:31 -05:00
Glenn Watson
1d5a5684c6 servo: Merge #16502 - Update WR (IPC profiling, RG8 image support) (from glennw:update-wr-ipc); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 56435db820ad13d7fcb9acf9ce4fa84667234706
2017-04-17 17:18:23 -05:00
Josh Matthews
9471a57d1d servo: Merge #16489 - Show HTTP response headers in debug output (from jdm:http-response); r=asajeffrey
- [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 changing informative debug output.

Source-Repo: https://github.com/servo/servo
Source-Revision: 86aa4e89c53fbf80f70fa3622cba2140b42a3b35
2017-04-17 11:30:29 -05:00
Anthony Ramine
aad4d1ce9a servo: Merge #16311 - Do not return an error for non-GET data: requests (fixes #13293) (from nox:data-method); r=KiChjang
Source-Repo: https://github.com/servo/servo
Source-Revision: 3a5ed1797f8db21b5d90c90c509b16f0535691a8
2017-04-08 23:17:26 -05:00
Anthony Ramine
b7ae6ba202 servo: Merge #16288 - Kill ResourceGroup (from nox:net); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 8f2ceb41dd1a039f1d0150dcb1c4e2ba6b22afa2
2017-04-07 05:53:31 -05:00
Josh Matthews
6dd764a3ca servo: Merge #15784 - Make SSL tests work (from jdm:ssltests); r=nox,jgraham
These changes fix #6919.

Source-Repo: https://github.com/servo/servo
Source-Revision: f3fd8238ce1f7b2eb74d4fccbe76cfac8aa2335a
2017-04-06 05:53:14 -05:00
Anthony Ramine
dbf21ca65d servo: Merge #16272 - Net enhancements (from nox:net); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: bf7c044955ecfb8e074699e278994a08c22109fa
2017-04-05 09:27:55 -05:00
Josh Matthews
0157718d4b servo: Merge #16262 - Enable HTTP connection pooling (from jdm:connection-pool); r=nox
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #15694
- [X] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: c2f3cf020531f6fcf05b164ca699cd827114136c
2017-04-05 08:09:23 -05:00
Fernando Jiménez Moreno
2970b29d23 servo: Merge #16126 - Block scripts with text/csv, audio/*, video/* and image/* mime types (from ferjm:issue-14520-block-media-csv); r=nox
This patch implements step 12 of the Main Fetch section of the Fetch API standard. It blocks the load of scripts with `text/csv`, `audio/*`, `video/*` and `image/*` mime types.

Credit for the logic of `should_block_mime_type` function should go to the author of #14770.

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #14520
- [X] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: 1071c3339fd858014382b4e9938584279555b5ec
2017-04-05 02:34:27 -05:00
Anthony Ramine
ec40ecb77c servo: Merge #16256 - Another batch of net enhancements 🕶 (from nox:net); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 5421d833de30e0c963bc6241120263897d4fc68c
2017-04-04 06:25:33 -05:00
Anthony Ramine
cda88906b0 servo: Merge #16245 - Don't share the SSL client between the private and public groups (from nox:ssl); r=avadacatavra
Source-Repo: https://github.com/servo/servo
Source-Revision: e8ed3e0b7f5fefffa7fa8c73846bdcb6673bf36e
2017-04-03 12:07:27 -05:00
Anthony Ramine
59dd2e1fee servo: Merge #16214 - Improve the net crate (from nox:net); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: c31ee6e300d9c0eb1e5671abba14f0584a910460
2017-04-03 07:47:38 -05:00
Anthony Ramine
3b8bd93e16 servo: Merge #16230 - Introduce create_ssl_client (from nox:ssl); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 2df6e26fd726cded0e4f91ebd92e47669ffcc940
2017-04-02 09:12:44 -05:00
Josh Matthews
d3f74e38ac servo: Merge #16225 - Disable HTTP connection pooling (from jdm:revertpooling); r=KiChjang
The intermittent failures in the nosniff tests appeared once more after #16209 merged, so we should disable this again.

Source-Repo: https://github.com/servo/servo
Source-Revision: dc3765e231441b006f17c9aa4588e7f166bba45e
2017-04-01 17:32:24 -05:00
Anthony Ramine
24a36d4457 servo: Merge #16209 - Enable HTTP pooling again (fixes #15694) (from nox:net); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 325713af3877eb7c51745e7b626952f5d74dc76f
2017-03-31 17:56:11 -05:00
ddh
f4513cce0d servo: Merge #15868 - Update Hyper and OpenSSL (from servo:hyper); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 82b0d5ad54d94a29f595d59cbb37dcbab5d5a5c8
2017-03-31 11:46:09 -05:00
Fernando Jiménez Moreno
a65995ab54 servo: Merge #16156 - Update http_network_or_cache_fetch according to spec (from ferjm:issue-16130-http-network-or-cache-fetch); r=jdm
There are still many steps blocked by the absence of an HTTP cache and the inability to trigger a credentials dialog.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 0f9dbcc8080e5763553d316261e2d158c19ce6f1
2017-03-29 19:38:45 -05:00
Anthony Ramine
0d4fc362cc servo: Merge #16180 - Make the WebSocket handshake ourselves 🍷 (from nox:tungstenite); r=jdm
HYPE

Source-Repo: https://github.com/servo/servo
Source-Revision: 76a2c9705a34d651a11caac98b4b023c79657368
2017-03-29 12:55:38 -05:00
Anthony Ramine
f2153a95e8 servo: Merge #16160 - Some enhancements in the net crate (from nox:tungstenite); r=jdm
See the individual commits.

Source-Repo: https://github.com/servo/servo
Source-Revision: 299f9446e6c8b289ac0c88b97614a272e7b2ca32
2017-03-29 03:33:53 -05:00
Fernando Jiménez Moreno
ee5075ddeb servo: Merge #16048 - Make image cache per-document rather than global (from ferjm:issue-15701-image-cache); r=jdm
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #15701.
- [X] These changes do not require new tests because there should already be WPTs for image loads.

Source-Repo: https://github.com/servo/servo
Source-Revision: c85a02b14431ce775024d8a8dae9d3e727dedfc4
2017-03-27 13:50:46 -07:00
Anthony Ramine
6a1e0d43c6 servo: Merge #16137 - Replace use of rustc_serialize::base64 by base64 (from nox:die-rustc-serialize-die); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: d992442dc6bb0b0c006b516c36ef4c6664e6b74c
2017-03-26 12:23:17 -07:00
Anthony Ramine
019e46e7e3 servo: Merge #16131 - Use NetworkConnector directly to account for replaced hosts (from nox:tungstenite); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 1105100c3beb9cff3a71677937269ecc523f2924
2017-03-26 10:17:16 -07:00
Anthony Ramine
79f9d145b0 servo: Merge #16116 - Remove some useless thread spawning in websocket_loader (from nox:tungstenite); r=Wafflespeanut
Source-Repo: https://github.com/servo/servo
Source-Revision: 3f10d510bd14b19badbd0c4a5f912b044cdfe890
2017-03-24 04:48:07 -07:00
Anthony Ramine
0d48d9525d servo: Merge #16114 - Only pass the protocol in use in to establish a WS connection (from nox:tungstenite); r=KiChjang
Source-Repo: https://github.com/servo/servo
Source-Revision: bfd2aab71e61d4d71a42211e16789cf3a13c914c
2017-03-24 03:10:50 -07:00
Anthony Ramine
2b360f83d2 servo: Merge #16099 - Properly follow the spec in WebSocket::Constructor (from nox:tungstenite); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 189b0d9094a8448aedd778ae2aac538a3a9e4871
2017-03-24 01:46:14 -07:00
Alan Jeffrey
8daa23cd26 servo: Merge #15967 - Disabled tinyfiledialogs when running headless (from asajeffrey:headless-disable-tinyfd); r=jdm
<!-- Please describe your changes on the following line: -->

Disable tinyfiledialogs when running in headless mode.

---
<!-- 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 #15965 and #15962.
- [X] These changes do not require tests because we don't test tinyfiledialog pop-ups.

<!-- 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: e34aac03ffc1cff060eef26b7ed96a69dfd5b08f
2017-03-16 06:50:14 -07:00
Fernando Jiménez Moreno
7469118cfe servo: Merge #15889 - Allow for redirects after a CORS-preflight (from ferjm:issue-14519-cors-preflight); r=avadacatavra
~Continue the work done in #14811 and #15547~. And applies the Fetch [spec change](0d9a4db8bc) about [allowing redirects after CORS preflights](https://github.com/whatwg/fetch/issues/204).

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix ~#14787 and~ #14519
- [X] There are tests for these changes. Several WPTs go from FAIL to SUCCESS. The new expected FAILs for the cors/redirect-preflight.htm tests are caused by the spec change done [here](0d9a4db8bc), as suggested in the associated [issue](https://github.com/servo/servo/issues/14519#issuecomment-284384667).

Source-Repo: https://github.com/servo/servo
Source-Revision: c90d3d2f06c03d153b2be3ffa9a941cbfe8508cc
2017-03-10 07:49:35 -08:00
Glenn Watson
5bf992d8d3 servo: Merge #15899 - Update WR (pre-multiplied alpha) (from glennw:wr-update-premultiply); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: b97b0fd7cc02bff8ba78a7dfaee036752a0253db
2017-03-10 02:27:23 -08:00
Sam Giles
cd0ed47083 servo: Merge #15903 - Set Origin header in http_network_or_cache_fetch (from servo:set-origin-header); r=Wafflespeanut
Source-Repo: https://github.com/servo/servo
Source-Revision: a11a3fe68bad97970568f7d785a41bd00b707e92
2017-03-09 22:15:11 -08:00
Michael Howell
dd3bf3a860 servo: Merge #15844 - Assert that domain_match is operating on lowercase text (from notriddle:domain_match_lowercase); r=nox
> (Note that both the domain string and the string will have been
> canonicalized to lower case at this point.)

Related to #15789

Source-Repo: https://github.com/servo/servo
Source-Revision: 5fe921f2ab81726dc34b0c427580f355d503f56e
2017-03-08 18:18:16 -08:00
Ms2ger
fc41a7886d servo: Merge #15849 - Remove unused content blocker code (from servo:content-blocker); r=nox
I don't know what it is for, so I believe it would be better to remove it
entirely until and unless we start using it.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8b60a409c1f5f4dd069a04cc736643682dd4117b
2017-03-08 02:08:19 -08:00
Sumant Manne
ff17e0e931 servo: Merge #14620 - Implemented nosniff for fetch algorithm (from dpyro:nosniff); r=jdm
<!-- Please describe your changes on the following line: -->

Implemented [nosniff](https://fetch.spec.whatwg.org/#should-response-to-request-be-blocked-due-to-nosniff?) for [fetch algorithm](https://fetch.spec.whatwg.org).

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

<!-- Either: -->
- [X] There are tests for these changes

<!-- 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: 5662af9057557ee3db3b9766b0ef0d3fa11dcbb2
2017-03-03 06:56:30 -08:00
Anthony Ramine
e8174ded20 servo: Merge #15798 - Switch to our own websocket fork (from nox:websocket); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: dabbdaf971c14e7b79704bc6d473ef351a3a9192
2017-03-02 07:41:20 -08:00
Anthony Ramine
4441c15e7f servo: Merge #15769 - Kill serde_codegen 💣 (from nox:die-codegen-die); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 74e7afa1c8a0a355e3964a15045840adf7488e78
2017-02-28 11:10:17 -08:00
Glenn Watson
0f41a33b03 servo: Merge #15749 - Update WR (image tiling, inset box shadow fixes, new key api) (from glennw:update-wr-tiling); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: c025a794dd709e9e8acf6cd82e28769df954313a
2017-02-26 15:22:25 -08:00
Anthony Ramine
d4994cc3e3 servo: Merge #15717 - Remove rustc-serialize from cookie and url (from nox:cookie); r=asajeffrey
Source-Repo: https://github.com/servo/servo
Source-Revision: 0e33756e8dff3215960b590cb577152cf0eeea96
2017-02-24 00:14:03 -08:00
Josh Matthews
aef355c537 servo: Merge #15696 - Do not pool HTTP connections (from jdm:no-http-pool); r=emilio
HTTP connection pooling triggers consistent failures in #14620. Let's disable it until there's more time to solve the underlying problem in #15694.

---
- [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: a780f6f28cf5d0f4faa7ad84822692d9bab1d031
2017-02-23 03:55:45 -08:00
Josh Matthews
114db65a69 servo: Merge #14962 - Remove network requests from image cache thread (from jdm:image_script_load); r=Ms2ger,glennw,emilio
The design of initiating network requests from the image cache thread was simple, but it makes it difficult to implement image loading that conforms to the HTML specification. These changes make the implementation of HTMLImageElement responsible for network requests for `<img>` elements, and CSS-based images (background-image, bullets, etc.) are requested by the script thread to ensure that the layout thread does not attempt to retain unsafe pointers to DOM nodes during asynchronous operations.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #7708
- [X] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: 854d720b21dda68034233a25385c4f2564a4a2d5
2017-02-22 17:50:48 -08:00
Connor Brewster
a2ecca5cf6 servo: Merge #15438 - Add ImmutableOrigin to allow for serializing origins (from asajeffrey:url-serializable-origin); r=jdm
<!-- Please describe your changes on the following line: -->

This PR adds a serializable type `ImmutableOrigin` and a non-serializable type `MutableOrigin`. The immutable type represents an origin with `null` domain, and the mutable type represents an origin with a mutable domain. This separation is needed for implementing setting `document.domain`.

---
<!-- 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 #14892.
- [X] These changes do not require tests because it's a refactoring which will enable other features.

<!-- 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: 78e8c31a4d1890260dda83f2db85672f693c1e97
2017-02-22 09:46:27 -08:00