Commit graph

2794 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
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
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
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
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
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
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
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
Manish Goregaokar
addab37e1d servo: Merge #20152 - Support zero rowspans (from Manishearth:rowspan-zero); r=mbrubeck
This makes rowspan=0 work by storing notes on which group of rows we're in
for tables containing both rowgroups and rows, and using that to respan
cells with overlarge or zero rowspans.

This also gets rid of the largest_leftover_incoming_size business, because
now spans will always be correct and we'll never have any left over.

Based on https://github.com/servo/servo/pull/20128

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 6f2cd86b8ee7bbe71ff30758cf5c2174e008e9b5

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 3b83bf4f4595778ce83854562b72e13ac07c7363
2018-03-01 13:36:43 -05:00
Emilio Cobos Álvarez
1319d160ae servo: Merge #20138 - style: Only expose longhands to rust via iterators (from emilio:longhand-iterator); r=nox
The key here is that we only filter longhands if the shorthand is accessible to
content and vice-versa. This prevents the bug that prevented me to land this
patch before, which was us not expanding properly chrome-only shorthands.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 2afb50b62cab334fcec0cdcccd793abca8fdb3ec
2018-02-28 06:28:41 -05:00
Emilio Cobos Álvarez
4ed9aaf6b8 servo: Merge #20136 - style: Make Servo deal with CSS property prefs more correctly (from emilio:servo-prefs); r=SimonSapin
Right now you could still set preffed-off properties from CSSStyleDeclaration.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 17a3a4ba12d73f86565e7a0fd1f95b734cb9ec40
2018-02-27 14:16:08 -05:00
Alex Fong
985856bbfe servo: Merge #20012 - Avoid Window::GetComputedStyle when checking for display: none (from alexfjw:avoid_Window-GetComputedStyle_when_checking_for_display-none); r=emilio
<!-- Please describe your changes on the following line: -->
Refactored Window::GetComputedStyle to use Element::Style.

Not sure which tests are relevant, but I've ran the dom, fetch & 2dcontext wpt tests. They don't seem to give errors.

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

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

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 890e52e5fc95b284dfdfb43a720d2b8e8565c093
2018-02-27 04:52:05 -05:00
paavininanda
ef6d06a1b6 servo: Merge #20036 - Browsing context names (from paavininanda:BrowsingNames); 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 https://github.com/servo/servo/issues/14453

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 328d6447a3831f9742280013919e37b3f4b7a346
2018-02-25 21:26:08 -05:00
janvipalan
93966e2314 servo: Merge #20115 - Dont make a network request when the media attribute of a link element is modified (from janvi-palan:NoNetworkConnForHtmlListMedia); r=emilio
<!-- 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 #16404 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because this needs to be tested manually

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 77faface645955790a6002152e2e5613d303d25a
2018-02-24 19:04:46 -05:00
Emilio Cobos Álvarez
e47cb58448 servo: Merge #20117 - style: Somewhat miscelaneous cleanup (from emilio:misc-cleanup); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: bbfca28a4f3770896955375d01f1c489b4632fd3

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : cca02ea2c160395889cfd6eb60c62a065d490300
2018-02-24 17:28:20 -05:00
paavininanda
063498d9e9 servo: Merge #20089 - Revert previously merged code, better implementation for Default selectionStart and selectionEnd (from paavininanda:RevertChanges); 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 #__ (github issue number if applicable).

<!-- Either: -->
- [x] 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: 0fa324872330715140c86e5125640ef23e8b072b

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 8c899d232d8559a68f2569c0f533bc2153b9708e
2018-02-22 17:35:33 -05:00
Nupur Baghel
d459e9d0cf servo: Merge #20068 - added AutoCloseWorker for closing related workers when a page/another worker is closed (from paavininanda:autocloseworker); r=jdm
<!-- Please describe your changes on the following line: -->
Followed steps as suggested in issue.
Error is not yet resolved!

---
<!-- 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 #17977 (https://github.com/servo/servo/issues/17977?).

<!-- Either: -->
- [x] These changes do not require tests because it will have manual test case.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 04d6650f822c44d8c0ac9e67e3000f250751c9cf
2018-02-22 13:34:55 -05:00
Jon Leighton
7641a19dad servo: Merge #20051 - Disallow mutating the internals of TextInput (from jonleighton:prevent-invalid-selections); r=jdm
The TextInput::assert_ok_selection() method is meant to ensure that we
are not getting into a state where a selection refers to a location in
the control's contents which doesn't exist.

However, before this change we could have a situation where the
internals of the TextInput are changed by another part of the code,
without using its public API. This could lead to us having an invalid
selection.

I did manage to trigger such a situation (see the test added in this
commit) although it is quite contrived. There may be others that I
didn't think of, and it's also possible that future changes could
introduce new cases. (Including ones which trigger panics, if indexing
is used on the assumption that the selection indices are always valid.)

The current HTML specification doesn't explicitly say that
selectionStart/End must remain within the length of the content, but
that does seems to be the consensus reached in a discussion of this:

https://github.com/whatwg/html/issues/2424

The test case I've added here is currently undefined in the spec which
is why I've added it in tests/wpt/mozilla.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : a8ee624291af3d58b8126cd067ea9f7292bfca6b
2018-02-22 11:47:40 -05:00
yurket
420177dca2 servo: Merge #20083 - enable css paint api and remove forked duplicates (from yurket:19840_enable_css_pain_api_and_remove_forked_duplicates); r=jdm
1) Move paintWorklet from "Window" to "CSS" according to new specification;
2) Enable WPT css-paint-api tests from upstream and remove forked duplicates from mozilla folder

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #19840
- [X] These changes do not require tests because the change was made in tests it-selves

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : db735bd1e595d74ca345514a17ba79f97376b157
2018-02-22 08:56:49 -05:00
Anthony Ramine
8c233a1c5c servo: Merge #20101 - Remove a use of rooted_vec in Document::handle_touch_event (from servo:rm-rootedvec); r=asajeffrey
Source-Repo: https://github.com/servo/servo
Source-Revision: 9e1479bbddd3a1b4ead82dcbc7b1f23e3dd55013

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : a769d4736bddf5f9ea9b8a24e63bdb9d98da9cae
2018-02-22 03:36:29 -05:00
Anthony Ramine
832bdf8adb servo: Merge #20098 - Avoid dropping arbitrary animation callbacks without running them (from servo:spurious-raf-optim); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: cccca27f4fd3d9cd5f2f5ee2853672fecc8a7b4b

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : a8ff9494f77d7dbfefd52c883cd2eb4ef55615f3
2018-02-21 17:02:35 -05:00
Fernando Jiménez Moreno
7bff6906cb servo: Merge #20080 - Minor cleanup of element.innerText (from ferjm:innertext.cleanup); r=emilio
- [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: 8fdcfb2dfebb86cf33603645aa05920ce6d3e3d3

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b2325abae275f83ff5fdefab316446d6bc4ea4a8
2018-02-20 08:43:48 -05:00
Anthony Ramine
2983f74a62 servo: Merge #20062 - Remove a single use of rooted_vec (from servo:iamroot); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: e97693ee097cf293178bcc51b4614820331b4d47

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b3a3362c82f2941cbbcf70212e0985b53f2b2a24
2018-02-16 13:09:28 -05:00
Nupur Baghel
9846046d93 servo: Merge #20041 - Added extra bool in Window object to know about its Mutation Observers (from paavininanda:mutflags); r=jdm
<!-- Please describe your changes on the following line: -->
- Added Cell<bool> type variable in Window object to know whether its mutation observers are present/absent
- Added get and set functions for this variable
- Added supporting test files to check for performance

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

<!-- Either: -->
- [x] There are tests for these changes, but these are manual tests for checking correctness of added 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 4454e81878bfdc8bfdac9a24738b2192102b0456

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 837d8457cd82c711f5ec4d550c45e1e6490b2126
2018-02-16 12:16:55 -05:00
Fernando Jiménez Moreno
60d2a92c58 servo: Merge #20054 - Implement element.innerText setter (from ferjm:innertext.setter); r=emilio
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #16107
- [X] There are tests for these changes

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e25dc9d4f6a0e66cb91b06e6232d5311f237ea74
2018-02-16 05:38:38 -05:00
Paul Rouget
23c32a1748 servo: Merge #19975 - Kill browserhtml (from paulrouget:killbhtml); r=mbrubeck,emilio
Fixes https://github.com/servo/servo/issues/19971

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 15c8b4050d084908ae58fb9dbf6dfcc179698d76
2018-02-13 04:54:47 -05:00
Fernando Jiménez Moreno
b30ef5ade0 servo: Merge #19754 - Implement element.innerText getter (from ferjm:innertext); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 9e64008e759a678a3971d04977c2b20b66fa8229

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 3abec747db5efab23329d1279eb69cd0e1368ce8
2018-02-13 03:41:48 -05:00
paavininanda
e796410e73 servo: Merge #19963 - Correct default SelectionStart and SelectionEnd (from paavininanda:Issue#19958); r=<try>
<!-- 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] Added unit tests and wpt for these changes
- [x] These changes fix #19958

<!-- 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: 62e1fc7899c2b0210dd24044d388b43ae80c276c

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 148314440b92a4f50ef93e97133ada5afe168ec1
2018-02-12 11:56:27 -05:00
Emilio Cobos Álvarez
d9b65d628d servo: Merge #20004 - style: Add infrastructure to have a standalone author stylesheet collection (from emilio:author-sheet-collection); r=nox
Right now Gecko uses a whole `Stylist` for stuff like XBL / Shadow DOM.

That's not great, because it has tons of unrelated logic, and also eats up a lot of memory. Also, it prevents us to optimize style changes in shadow hosts the same way we do for the document.

These patches mostly rejigger stuff around so that you can define a `DocumentStylesheetSet` and then an `AuthorStylesheetSet`, which would contain just the Shadow DOM sheets / XBL resource sheets.

It still doesn't introduce any use for the later, but that will come later.

There's a patch in this PR that requires Gecko changes, posted in https://bugzilla.mozilla.org/show_bug.cgi?id=1436798.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6b1a74672d6b9d9c55b027b147b0a6eb8f727bfd

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 35cd629f88c24439c615e283265dbb78d33279b7
2018-02-09 17:18:08 -05:00
Nupur Baghel
7f97399fcc servo: Merge #19972 - replaced content_type from DOCString to Mime (from paavininanda:Issue16483); r=jdm
Replaced content_type from DomString to Mime

---
<!-- 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 #16483 (https://github.com/servo/servo/issues/16483).

<!-- Either: -->
- [x] These changes do not require tests because they make changes to already existing files

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 1561b203307f82f8731f63c95f91587181a3ef15
2018-02-09 05:02:19 -05:00
janczer
4e2c0a5eb3 servo: Merge #19970 - Change debug assertions to specific ones (from janczer:change_debug_assertions); r=emilio
<!-- 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 #19962 (github issue number if applicable).

<!-- 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: 5d209a70ab11cd0ce6c7e086091112570c6e259d

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c837bee3dbbf93357f6553a2a356685a094d8e3e
2018-02-07 06:20:36 -05:00
Martin Robinson
5b6df44ee7 servo: Merge #19933 - Update WebRender (from mrobinson:update-wr); r=emilio
This allows servo to use the ExternalScrollId API from WebRender fixing
some issues related to duplicate scroll root ids.

Fixes #17176.
Fixes #19287.
Fixes #19648.

<!-- 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 #17176, #19287, and #19648.

<!-- 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: 8f24005e17aa0b5e274e6efbe0e44f208eb71e42

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 3283c6cf9a36acfd46b65058459ad98871674458
2018-02-06 09:12:58 -05:00
CJ Ku
99a2ee9dad servo: Merge #19859 - Implement individual CSS transform properties: translate, rotate, scale (from birtles:individual-transforms); r=emilio
These are the servo-side changes for [Gecko bug 1207734](https://bugzilla.mozilla.org/show_bug.cgi?id=1207734).

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [Gecko bug 1207734](https://bugzilla.mozilla.org/show_bug.cgi?id=1207734)
- [X] There are tests for these changes on the Gecko side including web-platform-tests

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 33acb027c060d8e69abe720cc444db7401585f4a
2018-01-31 16:16:25 -06:00
Jon Leighton
3a3efc8b2b servo: Merge #19909 - Refactor implementation of TextControl (from jonleighton:refactor-textcontrol); r=jdm
The intention here is to make the flow more explicit. I.e. rather than
calling `self.dom_select()` and relying on the programmer to
know/realise that this method is provided by a trait, we call
`self.selection().dom_select()` and the programmer can inspect the
definition of `self.selection()` to follow the code.

This came out of a discussion with KiChjang here:

https://github.com/servo/servo/pull/19544#discussion_r156167044

Note that I tried to make "selection" be a member field of
HTML{Input,TextArea}Element but it opened up a whole can of worms with
lifetimes, so it seemed simpler to not do that since it is not
essential for this code to work.

r? @jdm and @KiChjang

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 308bb6755c90c07004c00e5cefacfaa4fa1f6ade
2018-01-31 09:46:48 -06:00
Connor Brewster
bbf7e5b807 servo: Merge #19031 - Implement initial part of history.state (from cbrewster:push_replace_state_early); r=asajeffrey
<!-- Please describe your changes on the following line: -->
Implements maintaining the current history state. Tracking history state in the session history will be done as a followup.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 469dc84b6ea20b6d378771b008101b49f34e1ad6

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ee1b20d80072286a54c216d7153a3d6fcd2239d8
2018-01-30 14:14:04 -06:00
Rakhi Sharma
5d24b6da90 servo: Merge #19431 - Add picture element (from Rakhisharma:picture_element); 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 are part of #11416  (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: 76b4e5cefb68e64a1bb2df78b32b05eba41eb678

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 7664270a6782da37f1b8659101ee4cbd00093741
2018-01-30 07:07:42 -06:00
Emilio Cobos Álvarez
bfe87878dd servo: Merge #19878 - selectors: Never match ::slotted on <slot>s (from emilio:slotted-slot); r=nox
This fixes the test from https://github.com/w3c/web-platform-tests/pull/9212 in
Gecko.

Source-Repo: https://github.com/servo/servo
Source-Revision: 82922c97dc0313736fedb8021b205d4f84088a15

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ec1b0b5dcf36a50fe9b1cd5b087efb5f665cc79e
2018-01-29 11:45:11 -06:00
CYBAI
1824d90740 servo: Merge #19889 - script: Move style as Element method (from CYBAI:style-inside-element); r=emilio
r? emilio

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #19886
- [x] These changes do not require tests because it should not break anything

Source-Repo: https://github.com/servo/servo
Source-Revision: 64c514ac3a54254720440d869c1c739f7b2a6802

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 11acd8b191d15e680de77e244c9127ad8f95c100
2018-01-28 12:00:45 -06:00
Jon Leighton
ec2ff2cabb servo: Merge #19881 - Add layout RPC query for getting an element's style (from jonleighton:issue-19811); r=emilio
This enables us to implement Element::has_css_layout_box() in a more
direct way, and also enables us to remove some of the existing more
specific queries.

Fixes #19811.

r? @emilio

Source-Repo: https://github.com/servo/servo
Source-Revision: 2a46067587d63aec176621ab3b6112ef5200a248

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 715f36d9bedb88b8bba29eff16913cb31a426305
2018-01-28 05:52:56 -06:00
Jon Leighton
dbd4f2f3f1 servo: Merge #19544 - Text selection API conformance (from jonleighton:issue-19171-5); r=nox
This is my next batch of changes for issue #19171. All the tests in tests/wpt/metadata/html/semantics/forms/textfieldselection/ are now passing (and also some tests outside of there).

I've made detailed notes about the changes in each commit message.

r? @KiChjang

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 6321a59ea353cb0f8196c63a1e2644ee8171a584
2018-01-26 13:58:01 -06:00
Anthony Ramine
d538e3bbbf servo: Merge #19872 - Make JSTraceable for DomRefCell<T> panic if cell is mutably borrowed (from nox:domrefcell-tracing); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: c0d9f28b044ce377fc421475a943555c8ca6f123

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : a085ddf46ce6c3e3e8f4d89591bce3753a2292fe
2018-01-26 08:26:49 -06:00
CYBAI
aba250b512 servo: Merge #19868 - Use specific assertions (from CYBAI:specific-assertion); r=emilio
Similar to #19865
r? jdm

Note: Should I squash all the commits into one commit?

---
- [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 it should not break anything

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f1c9a3696d90aab078d6e2b96318d1ccc8a28507
2018-01-25 18:06:33 -06:00
Anthony Ramine
bce1fb8194 servo: Merge #19864 - Make some callback-related code unsafe (from nox:callbacks); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: e9ab91d257a983a7c19cb5fada21a0359cfae95d

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 7bac8178dd4ed94f839792963c9fc1bf5ee31704
2018-01-25 16:21:10 -06:00
Anthony Ramine
49a11036dc servo: Merge #19838 - Make ToCss' SequenceWriter not monomorphise like a maniac anymore (from servo:rm-sequence-writer-as-it-was); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 6b2e5283c9e810ac316c203849b6ea25544a62c7

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : be769cfabdde7902aa33f0b06ebb47c1823353e7
2018-01-23 12:03:41 -06:00
Bobby Holley
8dd83abf28 servo: Merge #19841 - stylo: Avoid separate monomorphizations of CSS serialization for utf-8 and utf-16 (from bholley:single_tocss); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1431268

Source-Repo: https://github.com/servo/servo
Source-Revision: 6f543d3de1658e3cacf7fc2caed7b9bda69e1d23

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 506f2316b608c02f9b416b2fa84590bdba76d66f
2018-01-22 16:58:30 -06:00
Simon Sapin
7b81925deb servo: Merge #19829 - Update Rust and use the newly-stable std::ptr::NonNull (from servo:rustup); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: c1ed4bb2d5ed6a4f9967215620d2105cda5ef76a

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 4f69ae87c412562cfab10b101d17dceab6c387ee
2018-01-22 11:11:44 -06:00
Jon Leighton
9c2e70037e servo: Merge #19803 - Implement Element::has_css_layout_box() (from jonleighton:issue-19765); r=emilio
r? emilio

Here's my initial attempt to fix #19430. It seems surprisingly simple so I am wondering whether I have missed something! (Or maybe it just actually is quite simple...)

Some things I am unsure about:

1. The spec seems vague about what a [CSS layout box](https://drafts.csswg.org/cssom-view/#css-layout-box) actually is. Indeed it says: "The terms CSS layout box and SVG layout box are not currently defined by CSS or SVG."
2. One thing the spec *does* say explicitly is "For the purpose of the requirements in this specification, elements that have a computed value of the display property that is table-column or table-column-group must be considered to have an associated CSS layout box (the column or column group, respectively)." I am unclear about the relevance of this, since [overflow does not apply](https://drafts.csswg.org/css-overflow-3/#overflow-properties) to an [internal table element](https://drafts.csswg.org/css-display-3/#layout-specific-display). Therefore I haven't done anything about this explicitly, but maybe I'm missing some nuance.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : bbbb4e2712417c22b2c49161daee55b2bd72183b
2018-01-19 14:37:57 -06:00