Commit graph

7402 commits

Author SHA1 Message Date
Igor Matuszewski
8d9de62f85 servo: Merge #20314 - Don't use unsafe Heap::new constructor (from Xanewok:remove-heap-constructor); r=jdm
<!-- Please describe your changes on the following line: -->
Pulls https://github.com/servo/rust-mozjs/pull/398 and aims to close https://github.com/servo/rust-mozjs/issues/343.

We can't convert from `JSVal` to `Heap<JSVal>` safely (due to GC barriers we can't move Heap value after changing its underlying value to something meaningful, e.g. non-null or non-undefined), so I decided to also wrap the Heap values in a Box (and in dictionaries in RootedTraceableBox, see https://github.com/servo/servo/pull/20265#issuecomment-372838379 and the issue for more details) in dictionaries.

Since we allocate more to be safe, I think it'd be good to also do some sort of a JS perf run, if there is any to see if there's any significant overhead.

r? @jdm

---
<!-- 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 checking for not moving Heap after setting a value would require encoding a lot more info in type system (Heap) and I'm not sure how to do that and end up with an ergonomic and consistent API

<!-- 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: 23b6f569d09f9b10a70ca1b5c8a48f7da45853e2

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c609cd593bbb75cbbe584687a7caf814de3059fc
2018-03-18 15:22:23 -04:00
UK992
010548064a servo: Merge #20316 - Windows: Add icon to servo.exe (from UK992:win32-icon); r=jdm
Based on https://github.com/servo/servo/pull/11969

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 840c44e2a8db05c11d5c87a7ce644001732b0cfa

--HG--
rename : servo/components/servo/servo.exe.manifest => servo/ports/servo/platform/windows/servo.exe.manifest
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 595aeb4fc84adb07427d24b960e92b8bee6b7507
2018-03-18 14:31:35 -04:00
Paul Rouget
0b85384c36 servo: Merge #20071 - Use typed coordinates more (from paulrouget:typedsize); r=glennw
Requires https://github.com/servo/servo/pull/19895

We use Size2D and Point2D across compositing, constellation and script, loosing the type of pixels we use (DevicePixel, DeviceIndepententPixel or CSSPixel) along the way, which might lead to bugs like `window.outerHeight` not taking into account the page zoom (using DeviceIndepententPixel instead of CSSPixel).

This should make the situation a bit better.

---
<!-- 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 we can't zoom in a test

<!-- 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: fc90e613d8851b663e3304d713b2ca08aa397bf4

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c1b61b486feff98c01c3ffed639b84bae093bdae
2018-03-16 17:18:24 -04:00
OJ Kwon
7ba09e30ed servo: Merge #20315 - feat(window): bind hotkey to trigger capture event (from kwonoj:feat-webrender-capture); r=jdm
<!-- Please describe your changes on the following line: -->
Relates to #20295.

This PR intends to expose additional hotkey to window to allow capture webrender. Internally it adds one new `WindowEvent::CaptureWebRender` for those purpose. I took some liberty to make some decisions around which need to be reviewed & updated in PR.

- `Ctrl-shift-3` is binded to hotkey to follow described in Gecko's behavior. Is it good to go?
- Maybe do not need to create new event `CaptureWebRender` but reuse `ToggleWebRenderDebug`, having additional `WebRenderDebugOption` values?
: This sounds more right path for me, but `capture` isn't really `toggle` behavior to include capture into it.
- Capturing will create `capture_webrender` in cwd, creates new folder inside each time new capture stored
: Maybe it'd better to expose new cmdline args allow overrides, or some better way else. I took the simple approach to generate path without asking for it.

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____
- This change has manually verified on local machines (mac, windows, linux).

<!-- 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: 1ae5715309ab5acb9ac401fd99f34a0667b2ee53

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 7325d6d0b12a105da15a7e4fdd803535152bd68a
2018-03-16 13:49:17 -04:00
Fabrice Desré
68f45d973d servo: Merge #20310 - Update the MULTIPROCESS static when changing default options (from fabricedesre:opt-multiprocess); r=jdm
<!-- Please describe your changes on the following line: -->
When the options are set not from the command line but by calling `set_defaults()` which is common for embedders, the MULTIPROCESS static is not set, and so the setting is ignored. This patch fixes that.

---
<!-- 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 we have no tests around that.

<!-- 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: b93f153ed59fb993af306bd8c540887196021f87

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 6c85e2e3c9e0ef460304606c14edc356bdd721af
2018-03-15 23:23:54 -04:00
Glenn Watson
3c3fe611d7 servo: Merge #20311 - Update WR (local clip API change, texture cache optimizations) (from glennw:update-wr-pic); r=mbrubeck
Update WR (local clip API change, texture cache optimizations).

Source-Repo: https://github.com/servo/servo
Source-Revision: 57b12aaaaf61ad02006014465ed2c93c7ecb1e77

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 50170d6496ac9fc002e86f33c9f0173465ad190a
2018-03-15 22:19:31 -04:00
Anthony Ramine
64686b0cbf servo: Merge #20305 - Don't access the reflector when dropping a Promise (fixes #18651) (from servo:OMAE-WA-MOU-SHINDEIRU); r=jdm
The reflector may be dead already.

Source-Repo: https://github.com/servo/servo
Source-Revision: 46a8e7184b949d3c03d3a66aa3a9d6fdf7156254

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : d8aa00ee41ad538aa1de0d556096c8b1d1238754
2018-03-15 10:17:43 -04:00
Xidorn Quan
7365796c4a servo: Merge #20302 - Include some traversal statistics in style tracing marker (from upsuper:traversal-stats); r=bholley
This is the Servo side changes of [bug 1444296](https://bugzilla.mozilla.org/show_bug.cgi?id=1444296).

Source-Repo: https://github.com/servo/servo
Source-Revision: 8e6cfbca47a259f20ba1c0d09e599169372d4930

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 6ff5ab1fc0e8bf5c182e1bcbd65433b93ed069b1
2018-03-14 21:01:08 -04:00
Igor Matuszewski
9d70c36480 servo: Merge #20267 - Support JS typed arrays as arguments and in WebIDL unions (from Xanewok:typed-arrays-stack-heap-variants); r=Xanewok
<!-- Please describe your changes on the following line: -->
Supersedes #20205.
This brings support to receiving typed arrays as function arguments (those are stack-rooted with CustomAutoRooter) and also being a member of a union (which is basically heap-rooted? similarly to other webidl unions).

This is based on my other PR #20265 (which means it has to pull an external rust-mozjs branch and contains some also slightly unrelated changes here) since it shares `RootedTraceableBox::from_box` here and some other additional changes at rust-mozjs, but it can be easily separated if needed.

I tried adding support to nullable typed arrays but couldn't work around an issue of codegen always sticking a "OrNull" at the end of my type (presumably because of [this](https://github.com/servo/servo/blob/master/components/script/dom/bindings/codegen/parser/WebIDL.py#L2241)?). How would I go about avoiding the suffix with nullable arguments?

If we were to add also support for nullable typed arrays then I think we wouldn't be blocked anymore on this in WebGL 1.0.

r? @jdm

---
<!-- 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: f7ee1befc51276f82375c0e366118172682c91b0

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 89ff5570ac8571a72e8db6fc7475db1f6a9c9445
2018-03-14 15:43:18 -04:00
Emilio Cobos Álvarez
4de3433bd6 servo: Merge #20224 - Fix counter() and counters() serialization (from emilio:counter-serialization); r=nox
See https://github.com/w3c/csswg-drafts/issues/670 and https://github.com/w3c/web-platform-tests/pull/9862.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7b326529db64ac27f0b956880b3b63dd12cd0c1a

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f14cab2e020a7dfcb494721a5f04426cc54637a3
2018-03-14 13:26:00 -04:00
Igor Matuszewski
df394dbc4b servo: Merge #20265 - Fix JS object conversion in unions (from Xanewok:fix-js-objects-in-unions); r=jdm
<!-- Please describe your changes on the following line: -->
Requires safe `Heap::boxed` constructor from https://github.com/servo/rust-mozjs/pull/395 (more info on it is in the PR).

Since unions currently assume that their respective members root themselves and can be stored on heap, I modified the union member object conversion branch to convert to a `RootedTraceableBox<Heap<*mut JSObject>>` (which is the currently generated type for objects in said unions).

I did it only for Unions and not dictionaries, since some dictionaries had bare `*mut JSObject` members - is this a mistake and something that needs further fixing?

Does this need a test, e.g. passing a union with object to a function that returns said object, and comparing the results for equality?

r? @jdm

Generated code with this patch (for `StringOrObject`):
```rust
impl FromJSValConvertible for StringOrObject {
    type Config = ();
    unsafe fn from_jsval(cx: *mut JSContext,
                         value: HandleValue,
                         _option: ())
                         -> Result<ConversionResult<StringOrObject>, ()> {
        if value.get().is_object() {
            match StringOrObject::TryConvertToObject(cx, value) {
                Err(_) => return Err(()),
                Ok(Some(value)) => return Ok(ConversionResult::Success(StringOrObject::Object(value))),
                Ok(None) => (),
            }

        }
        // (...)
    }
}

impl StringOrObject {
    // (...)
    unsafe fn TryConvertToObject(cx: *mut JSContext, value: HandleValue) -> Result<Option<RootedTraceableBox<Heap<*mut JSObject>>>, ()> {
        Ok(Some(RootedTraceableBox::from_box(Heap::boxed(value.get().to_object()))))
    }
}
```

---
<!-- 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 #17011 (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: e597cd9e1adc23ae30587ff6bffc05119ac33fb9

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b38e013f207e5abf4b18fd57055a5c9713cf85c2
2018-03-14 12:04:23 -04:00
Emilio Cobos Álvarez
fb715e3c6d servo: Merge #20243 - style: add infrastructure to match the :host selector (from emilio:host-selector-on-the-way); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 148beb4ea5f8f1680e694ac48045a632da58269c

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e9d1c9e4dd54d3c9d5bd1f0a2805858456981598
2018-03-14 10:38:45 -04:00
OJ Kwon
5d87f4bb06 servo: Merge #20290 - build(cmake): detect python binary for specified version (from kwonoj:build-python-version); r=jdm
<!-- Please describe your changes on the following line: -->
This PR aims to address #20268, by updating cmake definition to lookup python binary to use. Instead of directly asking `python` binary, this PR uses `${PYTHON_EXECUTABLE}` to lookup desired python binary where applicable.

This PR was locally tested on win32 / mac / arch linux via `mach build --dev`, so far local testing shows no build failure regressions, not sure if this is sufficient test.

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because _it's build script update_

<!-- 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: 9a6c96808b314a3dfaffa23803df73ee904e4dbe

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 0686403bf4187261225e95c91d9cc557dbcc48e7
2018-03-13 16:29:19 -04:00
Bastien Orivel
9961471184 servo: Merge #20288 - Update libloading to 0.5 (from Eijebong:libloading); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: b051e9eb6ce0d188c760aee287e4e554dc5abfc3

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b273760b28121dc15676af4e4ecd1867e3c4081f
2018-03-13 07:38:06 -04:00
Bastien Orivel
b15fe4e2fa servo: Merge #20204 - Rebump toml and error-chain (from Eijebong:bump); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 7e0f45b1c7047d9e1b16f39c005de7f92e462df7

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f8e76963de90ff4e01c9788f2b1572354173be1c
2018-03-13 05:36:44 -04:00
Igor Gutorov
5cede92964 servo: Merge #20283 - style: Fix a typo in Integer struct docs (from gootorov:patch-1); r=jdm
<!-- Please describe your changes on the following line: -->
Fix a typo in `Integer` struct documentation.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [ ] These changes fix #__ (github issue number if applicable).
- [x] These changes do not require tests because: documentation

<!-- 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: ac71266987ff39483faebd58d4359eef956ae5cf

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f8b3c353ac9fe754a652fbbceee8de2d8b677cf7
2018-03-12 20:26:53 -04:00
Emilio Cobos Álvarez
4a320a47a3 servo: Merge #20223 - style: Allow to share style across elements with similar XBL bindings (from emilio:share-xbl); r=xidorn,bholley
Also move the checks so that the tag name checks (presumably cheaper) come earlier.

Source-Repo: https://github.com/servo/servo
Source-Revision: 087cf21d79cb090c2a8b55b441e6004921b540aa

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 4dd2eb2330026ccf2c498898b75a1f7648f378ec
2018-03-12 16:48:36 -04:00
Anthony Ramine
6976f22495 servo: Merge #20277 - Enable /webvr/ tests (from servo:test-webvr); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 5feb13ac66eb256db8ef41d75ddf9c6c4e0ecd54

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 6012f487e04de9e484147daa05702650a8ff36ce
2018-03-12 10:32:52 -04:00
Simon Sapin
54fa5bc374 servo: Merge #20216 - Switch from servo/angle to the mozangle crate (from servo:mozangle); r=emilio
https://github.com/servo/mozangle

Source-Repo: https://github.com/servo/servo
Source-Revision: 345c373192a30329c2c4f70631ab0792fc348f7d

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 231fb02d47d97c6a8b437eeb36121fc78570a0ef
2018-03-12 09:23:52 -04:00
Emilio Cobos Álvarez
630a574ba4 servo: Merge #20274 - style: Make the generated bindings really be formatted (from emilio:moz-src); r=xidorn
TOOLTOOL_DIR isn't passed down to the rust scripts it seems, per:

  https://treeherder.mozilla.org/#/jobs?repo=try&revision=46854db239166ab3a43d36c7a954debb56968eab

Source-Repo: https://github.com/servo/servo
Source-Revision: cdaa36df2d3113c44ed30a01d8e839ed23251d92

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 14597fa7341df9a16ab6a3fdc17a5ecd00ca6e6a
2018-03-12 07:12:13 -04:00
Anthony Ramine
2f3c2434f4 servo: Merge #20275 - Finish cleaning up trait bounds generation in style_derive (from servo:derive-all-the-things); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 9d4cdfcfc31e4d3fca16e074c7481211f880be9f

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : d9b39c62cbcc55b8ae6297c250a12cab2fb2f046
2018-03-12 04:52:02 -04:00
Florian Wagner
22de401622 servo: Merge #20185 - Make KeyframesPercentage::parse faster (from Beta-Alf:master); r=emilio
Minor refactoring of the parsing of keyframes.

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because it is a minor refactor so tests are already in place. The original Issue explicitly says so.

<!-- 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: 29e10d4f88a7564f4d6a4496d3d1be5949962f8a

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : cf1ac3eb68cdf37d44f5c1e0a9e478f2a23bc3d8
2018-03-11 07:47:21 -04:00
Dmitry
8beab7f02b servo: Merge #20252 - Extract text emphasis style (from NeverHappened:extract_text_emphasis_style); r=upsuper
<!-- Please describe your changes on the following line: -->
Extracted the text-emphasis-style property out of the inherited_text.mako.rs.
This is a part of #19015

---
<!-- 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] `./mach cargo-geckolib check` does not report any errors
- [X] These changes fix #19940 (github issue number if applicable).

<!-- Either: -->
- [X] These changes do not require tests because it's a refactoring

<!-- 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: aa8fb3a2044c03301e23aa9ffbee1161b9bd092c

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 6a5f107261e45aabaa20bdf3e50d603e6f002ea0
2018-03-09 19:20:10 -05:00
Emilio Cobos Álvarez
bef3768170 servo: Merge #20262 - constellation: Make setting up the WebGL state fallible (from emilio:webgl-fallible); r=jdm
This fixes a regression caused by the glutin update.

We now are creating EGL contexts in Linux Wayland, instead of X context, so the
GLContextFactory assumption of one GL back-end per platform is broken.

This just works around it, for now, but in general I think not relying on
available WebGL state is a good thing, and we do that already for WebVR anyway.

Source-Repo: https://github.com/servo/servo
Source-Revision: 95f9e14e67766b36a8b72e62925a34b1818be2c8

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 0029f2ac9735f2645084e572e5f560f4348fa577
2018-03-09 18:24:56 -05:00
Anthony Ramine
df890b716d servo: Merge #20258 - Continue to improve style_derive (from servo:derive-all-the-things); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 909ebff1844c3fcf95ea3b479b61077ff5a552e2

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : d30b36aaf39309022b604f5ab75c51838a671a96
2018-03-09 17:29:05 -05:00
Emilio Cobos Álvarez
dc90c4a5d0 servo: Merge #20255 - style: Fix serialization of place-items (from emilio:place-items); r=xidorn
If the justify-items / align-items value has the `legacy` bit or anything like
that we shouldn't serialize it, just as we don't parse it.

Bug: 1339656
Reviewed-by: xidorn
MozReview-Commit-ID: JsM4NrePEU6
Source-Repo: https://github.com/servo/servo
Source-Revision: 7ccc58e3ae356108a1d17fa6fdaf07af663912b6

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f5f6bc7c31a5011fab7de1678236761e1a263ca8
2018-03-09 09:49:57 -05:00
Anthony Ramine
6e940dc689 servo: Merge #20254 - Some random improvements to derived style code (from servo:derive-all-the-things); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 664efab4a33264c07d68013a0ac3585544556b72

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 66cf55f6a0082367265b9940ece86e76ce450fcc
2018-03-09 05:58:22 -05:00
Josh Matthews
f6e44e743a servo: Merge #20251 - Chart memory reports over time (from jdm:memchart); r=ajeffrey
This is a tool that can take the output of Servo when run with `-m N` and generate an HTML file that charts the behaviour of the various labels over time.

Run with `./mach run http://url >/tmp/log; python etc/memory_reports_over_time.py /tmp/log`.

---
- [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: 324e22db030ba73452dfc4ec455534fb144f585b

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 9336b7b654b3468e19b636fc2968dae96a2775b7
2018-03-08 22:47:49 -05:00
Paul Rouget
4955984079 servo: Merge #19895 - unfork glutin (from paulrouget:unfork); r=paulrouget
I'm taking over #19120.

Fix #18918.

Beside the change in the API, I had to rewrite main loop.

At this point, we should have a very similar behavior as servo-glutin.

Source-Repo: https://github.com/servo/servo
Source-Revision: c9f60c5a6778fe47cae85fcd88cb38257a220bb1

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e3ef5fbc5962e96c48a1340e589054aa2086bb92
2018-03-08 21:00:13 -05:00
Emilio Cobos Álvarez
12e71ed881 servo: Merge #20248 - style: Change the order we match selectors on invalidation to match normal order (from emilio:invalidation-selectors-faster); r=bholley
This changes the order to match the normal selector-matching order, which is
usually faster.

That is, when matching div:nth-child(2), for example, before this patch we'd
first try to match :nth-child(2), and only then div.

This patch makes us walk until the end or the next combinator, and only then
match backwards, matching first div, then :nth-child.

Bug: 1443814
Reviewed-by: bholley
Source-Repo: https://github.com/servo/servo
Source-Revision: 8e52f8a523e2f12b2666536d0f8ff3fa40b83ef5

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 4b8b140e54485fb2762745f13af285c640d39254
2018-03-08 18:44:29 -05:00
Emilio Cobos Álvarez
f817cf6a28 servo: Merge #20250 - style: Reorder style sharing checks so that cheaper and broader ones are earlier (from emilio:style-sharing-checks-order); r=xidorn
This was reviewed by Xidorn in #20223, but that needs to wait for a few days so let's land this separately.

Source-Repo: https://github.com/servo/servo
Source-Revision: 21290276c2c85cf5dd55474ba7a641fb13f127a6

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c3e639e36deed30b25e3c9218fa81727365002f2
2018-03-08 16:52:43 -05:00
Bobby Holley
032f2c3282 servo: Merge #20247 - Stop unconditionally collecting traversal statistics in nightly builds (from bholley:fix_stat_collection); r=Manishearth
The current code also makes us panic when DUMP_STYLE_STATISTICS=1 is
set. :-(

Source-Repo: https://github.com/servo/servo
Source-Revision: 4c797dfb5239c5e9a4014e91ed121ef9cf641ad0

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : dfb72664c3b56ed67b7d455fb82427c862cefc38
2018-03-08 15:53:11 -05:00
Matt Brubeck
f0cce88058 servo: Merge #20245 - Disable logging in bindgen to reduce code size (from mbrubeck:logging); r=emilio
This disables bindgen's `logging` feature, which builds `env_logger`
with default features, including regex support.  Disabling it allows
Gecko to build `env_logger` without the `regex` crate, reducing code
size.

Part of https://bugzilla.mozilla.org/show_bug.cgi?id=1444097

---

- [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 only change unused build config

Source-Repo: https://github.com/servo/servo
Source-Revision: 46dfc3536472c1b68be501dc5b37ff6fdd7dba35

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 202a5a3a0f0b83dab018f0f641d88e6c9ade9f22
2018-03-08 13:36:04 -05:00
Anthony Ramine
9ceadd71bb servo: Merge #20237 - Opt into field bounds when deriving ToCss, instead of opting out (from servo:derive-all-the-things); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: b6de0563fbd74799060735b8452f86a533f19573

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : bdfffc19ffcbc849d5f180c1ecbac2b0de77b5cf
2018-03-08 12:25:20 -05:00
Emilio Cobos Álvarez
d1e89266c4 servo: Merge #20241 - style: Make getting the XBL binding faster (from emilio:xbl-faster); r=bholley
Source-Repo: https://github.com/servo/servo
Source-Revision: 9b540d199e87acdbc7aea51f5b7e4370b187ce09

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 7d7a93e00e905869f21e5fed3fd7d6d7a4411010
2018-03-08 11:31:35 -05:00
Emilio Cobos Álvarez
9a28c659d8 servo: Merge #20240 - style: Fix special color keywords (from emilio:special-color-fix); r=upsuper
They're -moz-activehyperlinktext and -moz-visitedhyperlinktext.

This fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1444059.

Source-Repo: https://github.com/servo/servo
Source-Revision: 212c321145a516ddf3ae17a9f04563d8d736bb0d

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 66f76d635782935ffeee2c4e5cba213ce66c9bbe
2018-03-08 10:06:03 -05:00
Emilio Cobos Álvarez
0155352329 servo: Merge #20236 - Introduce #[css(skip_if)] (from emilio:to-css-skip-if); r=nox
This is most of #20224 but without the actual counter() fix since it's waiting on a WPT update.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8133f788cfbde23cc54032a3327303b42257b91d

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f352834ab745131666c9baee1dcae46b2577ba19
2018-03-08 09:16:55 -05:00
Xidorn Quan
1f119c6d9c servo: Merge #20238 - Construct URLValue eagerly and share it between specified value and style structs (from upsuper:url-value); r=emilio
This is the Servo side change of [bug 1443046](https://bugzilla.mozilla.org/show_bug.cgi?id=1443046).

Source-Repo: https://github.com/servo/servo
Source-Revision: 1d122c250c906358a91b607b0fcc720546d04134

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 6c4306304c77f6feb169b335ec66f0b78b5f1763
2018-03-08 08:06:35 -05:00
Anthony Ramine
822784f00d servo: Merge #20230 - Introduce #[css(if_empty = "…", iterable)] (from servo:derive-all-the-things); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 2f4c13d27d4acf5a5a356c9168feb7203ecf2d14

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 392b2d93e1b4b97af051fe109980bbdae890318f
2018-03-07 11:06:09 -05:00
Emilio Cobos Álvarez
93ea7b41e1 servo: Merge #20229 - style: Separate the XBL and shadow dom styling bits (from emilio:finally); r=xidorn
Bug: 1441022
Reviewed-by: xidorn
MozReview-Commit-ID: 2W0BmZ8wWXg
Source-Repo: https://github.com/servo/servo
Source-Revision: 6272233c50071534ddbab118b64ecdb8fdda7c8a

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 0ce28863b2082d97c58833aae1c092b1723e1aa9
2018-03-07 10:06:05 -05:00
Xidorn Quan
1ea1f8f175 servo: Merge #20222 - Do not disable thread pool in the parent process (from upsuper:chrome-thread-pool); r=bholley
This is the Servo side change of [bug 1375913](https://bugzilla.mozilla.org/show_bug.cgi?id=1375913).

Source-Repo: https://github.com/servo/servo
Source-Revision: 3b96fb2cbe8754b30646e8bd914806048c0b6db2

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 0adb8753d1c45b6a089f758bc9e5217aaec749cd
2018-03-06 17:54:34 -05:00
Martin Robinson
b2f0b2a107 servo: Merge #20214 - Stop using LocalClip::RoundedRect (from mrobinson:stop-using-using-localclip-roundedrect); r=glennw
We would like to remove this functionality from WebRender, so convert
its use to clip scroll nodes. This change also removes the redundant
BlocBlockStackingContextType in favor of Option<StackingContextType>,
which is just as expressive. This simplifies the code a bit.

<!-- 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
- [x] These changes do not require tests because they should not change behavior.

<!-- 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: 26d2e77410f8fbc308f63282f435fbc8788c9bcc

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 57683d5fd5d1ac4fc01a266fd1288f808e52a8a2
2018-03-06 15:53:11 -05:00
Martina Kollarova
2eaf293b17 servo: Merge #20212 - Regenerate all WebIDLs when one of them changes (from mkollaro:webidlcmake); r=jdm
WebIDL files have dependencies between each other, but cmake doesn't have any
information about them. This can cause it to not update all the changed bindings
when switching branches.

---
<!-- 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 #20169

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because it's a minor change in the build dependencies.
Switching between two of my branches was previously failing because a change in WebGL1 bindings didn't re-generate the WebGL2 bindings. I verified that it works with this patch.

<!-- 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: 96b9000fa25ca34ad56c8e95c9eabe5636174655

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 8ed420f815715252b007c92a827f7757c82bae1c
2018-03-06 12:37:58 -05:00
Anthony Ramine
0e1f4ec5e7 servo: Merge #20211 - Improve #[derive(ToCss)] (from servo:derive-all-the-things); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 785b7c7775ae13c02556c84a16469efc6c4d71e8

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ff6b80187c867e892017df07d2d44d4e2fc95ae7
2018-03-06 11:42:58 -05:00
Fabrice Desré
ba8d547365 servo: Merge #20181 - Fire the pageshow event at the end of the page load (from fabricedesre:end-load-pageshow); r=jdm
<!-- Please describe your changes on the following line: -->
This implements step 8 of https://html.spec.whatwg.org/multipage/parsing.html#the-end

---
<!-- 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 I could not find a wpt test for that, which is strange. I likely missed it :(

<!-- 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: 94a6c2c429eb0415a277ff49fa19ae0eaefb0be9

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 78f055ebca3bf3519342874c13f60344e96f63fc
2018-03-06 10:49:51 -05:00
Martina Kollarova
d7b1422eba servo: Merge #20144 - Add WebGL function glGetTexParameter (from mkollaro:gettexparameter); r=jdm
<!-- Please describe your changes on the following line: -->
Add WebGL function glGetTexParameter

---
<!-- 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 #10209

<!-- 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: f5037cf6219cafbc86bfaf6483b81b4ffb3496fa

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 0cb9a7a270dca8cbaa1a989633b77ba854042c49
2018-03-06 09:48:56 -05:00
Emilio Cobos Álvarez
1eb8ff79cc servo: Merge #20210 - style: Add a comment about the weird setup for justify-items (from emilio:justify-items-kinda-sucks); r=Manishearth
And derive ToCss while at it.

Source-Repo: https://github.com/servo/servo
Source-Revision: 226d9a5b0e69185b95c62e79b81044beba477654

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ec12a77c78322539584e8392b907e87a1de167ce
2018-03-06 05:29:17 -05:00
Anthony Ramine
d63cc0111f servo: Merge #20200 - Derive some more ToCss stuff again (from servo:derive-all-the-things); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 17b5a8332b4309188ea7ce9c1aa5919aeb7834e6

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 224a884f024caccd42d7116d7c0e1ee486ce7913
2018-03-06 03:33:18 -05:00
shindli
df4b2c995e Backed out 2 changesets (fd805c59ae56, 270e441c3649) for servo bustage on a CLOSED TREE
Backed out changeset fd805c59ae56
Backed out changeset 270e441c3649

--HG--
extra : histedit_source : 588d462b2f2fd9e6892405637a4c8dcdabde5139
2018-03-05 18:55:45 +02:00
Bastien Orivel
13dbf2096a servo: Merge #20201 - Bump some dependencies now that metadeps is out of the way ᕕ( ᐛ )ᕗ (from Eijebong:bump); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 05dcfe2983f906ab5909843e242987f154360f6a

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 6e3a7ed55a384e2af21811b493d6ea53ba099884
2018-03-05 10:22:24 -05:00