Commit graph

7434 commits

Author SHA1 Message Date
bors-servo
5ec725488f
Auto merge of #22923 - peterjoel:issue_8539_prefs_refactor, r=jdm
#8539 Config preferences backend restructure

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

A procedural macro for generating static structures for use as the backend for config preferences, as well a mapping from string names to accessors.

Preferences can be accessed and updated via a map-like interface with `String` keys, and now also via a convenience macro: `get_pref!(path.to.pref)`. Various `serde`-compatible field attributes are also supported, including renaming the string keys. This could be useful when changing the backend structure without breaking existing usages.

I have added the choice to use `i64` as well as `f64` for storing numbers. As it turns out, none of the existing preferences used non-integer values. Setting a floating point value from a command-line argument requires a decimal point in order to parse correctly.

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

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

-----

I have a few outstanding problems or questions:

1. I am unable to get rid of this warning:
    ```
    warning: unnecessary path disambiguator
       --> components/config/prefs.rs:130:51
        |
    130 |         accessor_type = crate::pref_util::Accessor::<Prefs, crate::pref_util::PrefValue>,
        |                                                   ^^ try removing `::`
    ```
    See: https://stackoverflow.com/questions/54710797/how-to-disable-unnecessary-path-disambiguator-warning
2. Several of the preferences in use were not represented in `prefs.json`. Some of these may be in error, but it is hard to tell. For example `js.offthread_compilation.enabled` vs `js.ion.offthread_compilation.enabled` could be different preferences or could be intended to have the same value.
3. Previously, several pieces of code provided default values when accessing a preference that may not be present. For example:
    ```Rust
    let DBL_CLICK_TIMEOUT = Duration::from_millis(
        PREFS
            .get("dom.document.dblclick_timeout")
            .as_u64()
            .unwrap_or(300),
    );
    ```
    Fallback values don't really make sense now and I've added these defaults to `prefs.json`. Does this sound right?
4. I have kept `PrefValue::Missing`, though it doesn't seem very useful any more. An error might be more appropriate now for an incorrect preference key. I've kept this partly because [`webdriver_server` uses it](https://github.com/servo/servo/blob/master/components/webdriver_server/lib.rs#L224).

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22923)
<!-- Reviewable:end -->
2019-03-20 14:33:37 -04:00
bors-servo
43cc2a0224
Auto merge of #23029 - KwanEsq:insertRuleNoIndex, r=SimonSapin
Update StyleSheet.insertRule WebIDL to make index optional.

Update wpt metadata to show the new passes.
Add one test as crashing since currently passing an \@import rule to insertRule
leads to "Expected a stylesheet loader for \@import"

---

- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #23025
- [x] There are tests for these changes
- [x] ./mach test-wpt css/cssom passes with these changes

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23029)
<!-- Reviewable:end -->
2019-03-20 13:04:13 -04:00
Peter Hall
8bfd4dc1e2 #8539 Config preferences backend restructure 2019-03-20 15:01:26 +00:00
Josh Matthews
fa0194fe23 Stop using deprecated manifest loading APIs. 2019-03-20 10:51:03 -04:00
Josh Matthews
3a46bf651a Cherry-pick https://github.com/web-platform-tests/wpt/pull/15949 from upstream. 2019-03-20 10:51:02 -04:00
Josh Matthews
17e04fb255 Cherry-pick https://github.com/web-platform-tests/wpt/pull/15932 from upstream. 2019-03-20 10:51:01 -04:00
Josh Matthews
cc7e21000a Stop using deprecated meta_key API. 2019-03-20 10:51:01 -04:00
Josh Matthews
33f5066a23 Make unclean manifest error show actual erroring manifest. 2019-03-20 10:51:00 -04:00
Josh Matthews
6428901c41 Make rebuild flag work. 2019-03-20 10:50:59 -04:00
Josh Matthews
7b4d1c6e4c Rebuild all manifests. 2019-03-20 10:50:58 -04:00
WPT Sync Bot
f2c1b70e4a Update web-platform-tests to revision c2e5b9fbaa17424f05ca2bb04609790a3b61d5c2 2019-03-20 10:50:56 -04:00
cdeler
18fe572562 #22412 updated bluetooth tests expectations 2019-03-20 16:56:55 +03:00
cdeler
e30f48f3c8 #22412 fixed PR issues - fixed wpt tests expectations 2019-03-20 13:19:00 +03:00
polemius
5c496a3939 Fix the broken link in about-page 2019-03-19 21:21:26 +01:00
cdeler
220a471b14 implemented missed constructor for DOMException; fixed the tests expectations 2019-03-19 22:49:14 +03:00
bors-servo
34fda66dfa
Auto merge of #22891 - georgeroman:implement_cdatasection, r=Manishearth
Implement CDATASection interface and createCDATASection method

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

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

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22891)
<!-- Reviewable:end -->
2019-03-18 17:22:55 -04:00
WPT Sync Bot
ad4cc3691e Update web-platform-tests to revision 2d68590d46a990bf28a08d6384a59962d2e56bf6 2019-03-14 23:41:26 -04:00
George Roman
4b8282b3b1 Implement CDATASection interface and createCDATASection method 2019-03-14 21:41:02 +02:00
bors-servo
bc03d32142
Auto merge of #23016 - pngai:remove-on-prefix, r=jdm
Remove 'on' prefix from event handler macros

<!-- Please describe your changes on the following line: -->
Remove 'on' prefix from event handler macros

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

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

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

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23016)
<!-- Reviewable:end -->
2019-03-14 15:14:44 -04:00
Ian Moody
948e169e51 Update StyleSheet.insertRule WebIDL to make index optional.
Update wpt metadata to show the new passes.
Add one test as crashing since currently passing an @import rule to insertRule
leads to "Expected a stylesheet loader for @import"

Fixes #23025
2019-03-13 19:49:00 +00:00
Patrick Ngai
b17343a0ff Remove 'on' prefix from event handler macros 2019-03-14 00:55:21 +08:00
bors-servo
431423388e
Auto merge of #23019 - szeged:gecko-tests, r=jdm
Add Gecko reftests, which are failing with gfx-hal backend

<!-- Please describe your changes on the following line: -->
Since the focus of the Szeged team will shift to Servo from Gecko, we would like to add some reftests from Gecko which are failing with the gfx-rs backend.
Last year we had pretty good results with Servo css tests: https://github.com/szeged/webrender/issues/173#issuecomment-415373702.
On the Gecko side we had more failing tests, and it would be nice to have a subset of those in Servo, even tough some of them fails on the Servo side.

cc @larsbergstrom @jdm @kvark

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23019)
<!-- Reviewable:end -->
2019-03-13 11:47:31 -04:00
Emilio Cobos Álvarez
b42342a273 Update test expectations. 2019-03-13 15:08:59 +01:00
Emilio Cobos Álvarez
8020faed9b style: Fix unit tests. 2019-03-13 15:08:40 +01:00
Zakor Gyula
a519e31a34 Add Gecko tests, which are failing with gfx-hal backend 2019-03-13 10:55:01 +01:00
WPT Sync Bot
b3f94b4330 Update web-platform-tests to revision ea3cae9746c39e8192b91181044144c60d9388e8 2019-03-12 23:41:54 -04:00
bors-servo
f2ea73f360
Auto merge of #22802 - gterzian:only_run_tasks_for_fully_active_docs, r=nox
In BC event-loop, only run tasks related to fully-active documents

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

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

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

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

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22802)
<!-- Reviewable:end -->
2019-03-11 12:32:03 -04:00
WPT Sync Bot
ef0343b420 Update web-platform-tests to revision dc5ac330e65f29e767d7ce86004be251aad321f6 2019-03-09 22:39:59 -05:00
WPT Sync Bot
e9a369631b Update web-platform-tests to revision 8fde342d6e62e9820f2c19db634b99b78df796fa 2019-03-08 22:55:43 -05:00
bors-servo
34a5a824b8
Auto merge of #23000 - jdm:invisible-webgl, r=nox
Make webgl behave better with session history

This prevents the compositor from animating pages that are not actually visible, so pages using webgl do not needlessly impact the performance of the rest of the browser. Additionally, this fixes a problem that was alluded to in [this code](b5228c098b/src/draw_buffer.rs (L282-L285)), causing Servo to delete arbitrary resources when a GC occurred in content that used three.js.

- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #22987 and fix #22977 and fix #20934 and fix #20953 and fix #20930 and fix #20950 and fix #20924
- [x] There are tests for these changes

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23000)
<!-- Reviewable:end -->
2019-03-08 10:46:52 -05:00
Josh Matthews
056edbbd15 Ensure that removed contexts are made active before removal. 2019-03-08 09:49:52 -05:00
bors-servo
a0a977cee8
Auto merge of #23001 - servo-wpt-sync:wpt_update_07-03-2019, r=jdm
Sync WPT with upstream (07-03-2019)

Automated downstream sync of changes from upstream as of 07-03-2019.
[no-wpt-sync]

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23001)
<!-- Reviewable:end -->
2019-03-08 08:35:58 -05:00
WPT Sync Bot
4851e4e2b9 Update web-platform-tests to revision 8a14626934f5748a4ea6210847a02c0d8bbc8560 2019-03-07 23:09:32 -05:00
bors-servo
ac3c002138
Auto merge of #22999 - jdm:iframe-replace, r=asajeffrey,cbrewster
Fix replacement logic when navigating nested browsing contexts

These changes also fix a bug where traversing the session history in a nested browsing context did not update the iframe's contentWindow appropriately.

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22999)
<!-- Reviewable:end -->
2019-03-07 21:20:14 -05:00
Josh Matthews
c2ce7d72a1 Make nested browsing context navigations check the loaded status of the active document of the nested browsing context. 2019-03-07 19:01:54 -05:00
WPT Sync Bot
bf84a079f9 Update web-platform-tests to revision 78f764c05c229883e87ad135c7153051a66e2851 2019-03-06 22:39:43 -05:00
Gregory Terzian
ecfb9c639a in BC event-loop, only run tasks related to fully-active documents 2019-03-06 14:18:18 +08:00
Josh Matthews
bc2e1e2151 Do not store state when syncing WPT. 2019-03-04 13:45:56 -05:00
bors-servo
b1c2d58a32
Auto merge of #22961 - servo:jdm-patch-19, r=jdm
Force a pickling protocol that will accept certain awkward classes.

This cherry-picks the important part of https://github.com/web-platform-tests/wpt/pull/15611 to unbreak the nightly WPT sync.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22961)
<!-- Reviewable:end -->
2019-03-03 16:09:36 -05:00
Josh Matthews
6186cb465d Force a pickling protocol that will accept certain awkward classes. 2019-03-03 10:46:10 -05:00
bors-servo
4ccbd1e87e
Auto merge of #22622 - sreeise:audio_video_tracks, r=jdm
Added AudioTrack, AudioTrackList, VideoTrack, and VideoTrackList inte…

…rfaces

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

Added AudioTrack, AudioTrackList, VideoTrack, VideoTrackList, and TrackEvent interfaces to support multiple media tracks.

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

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

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

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22622)
<!-- Reviewable:end -->
2019-03-03 10:31:44 -05:00
sreeise
cac4aa56f7 Added AudioTrack, AudioTrackList, VideoTrack, VideoTrackList, and TrackEvent interfaces 2019-03-03 09:04:50 -05:00
Yuki Toyoda
c1e96b452d implement historical cancelBubble attribute for Event interface 2019-03-03 16:55:22 +09:00
bors-servo
4d8d54fc00
Auto merge of #22933 - pngai:implement-returnValue-attribute, r=jdm
Implement historical returnValue attribute for Event interface

<!-- Please describe your changes on the following line: -->
Implementation of `returnValue` attribute for Event interface.

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

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

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

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22933)
<!-- Reviewable:end -->
2019-03-01 17:33:39 -05:00
Patrick Ngai
fcadff7bad Implement historical returnValue attribute for Event interface 2019-02-28 21:03:03 +08:00
bors-servo
2fb00d1d5a
Auto merge of #22941 - servo-wpt-sync:wpt_update_25-02-2019, r=jdm
Sync WPT with upstream (25-02-2019)

Automated downstream sync of changes from upstream as of 25-02-2019.
[no-wpt-sync]

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22941)
<!-- Reviewable:end -->
2019-02-27 09:29:14 -05:00
bors-servo
42ebf46172
Auto merge of #22917 - ksqsf:master, r=KiChjang
Add optional annotations for initEvent method of Event interface

Added `optional` and default values to parameters `bubbles` and `cancelable` of `initEvent` of `Event`.

I tried to update test results, but there seem to be no differences at all.

I checked similar code where `optional` is used, and there seems to be no special handling in Rust. If that is not the case with this issue, please let me know and I'll commit more follow-ups.

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

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22917)
<!-- Reviewable:end -->
2019-02-27 04:05:57 -05:00
_rika
fd2341bc78 Add optional annotations for initEvent method of Event interface 2019-02-26 18:10:43 +08:00
WPT Sync Bot
85fe63f512 Update web-platform-tests to revision 38bd28fe2368c650cf6e57be205cf3118dbd4997 2019-02-25 22:50:55 -05:00
bors-servo
a28e15e4ea
Auto merge of #22347 - stevesweetney:master, r=ferjm
Implement HTMLMediaElement muted and defaultMuted attributes

<!-- Please describe your changes on the following line: -->
PR for issue  #22291

---
<!-- 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  #22291 (github issue number if applicable).
- [X] There are tests for these changes OR

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

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22347)
<!-- Reviewable:end -->
2019-02-25 05:05:09 -05:00