Commit Graph

3245 Commits

Author SHA1 Message Date
Alan Jeffrey
4f57fe622a servo: Merge #17298 - Added Debug implementations (from asajeffrey:script-more-debug-impls); r=mbrubeck
<!-- Please describe your changes on the following line: -->

Added enough `Debug` implementations to be able to debug script thread message processing.

---
<!-- 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 do not require tests because we don't test debugging

<!-- 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: 6db2354b7345a8e9981ebde25806a4597a1e2b4d
2017-06-13 10:31:25 -07:00
Emilio Cobos Álvarez
cdc25756af servo: Merge #17292 - style: Implement a more fine-grained invalidation method (from emilio:better-style-invalidation); r=heycam
Source-Repo: https://github.com/servo/servo
Source-Revision: 07f6e114850896eae2fd206351808fb31cceaaf0
2017-06-13 04:56:09 -07:00
Xidorn Quan
e9ce59ab97 servo: Merge #17286 - Set stylesheet url_data correctly for import rule (from upsuper:import-url-data); r=heycam
This is the servo side change of [bug 1331291](https://bugzilla.mozilla.org/show_bug.cgi?id=1331291).

Source-Repo: https://github.com/servo/servo
Source-Revision: abd5f3ed59ba95d4532b9a86f435c781fd75695f
2017-06-12 17:08:49 -07:00
Simon Sapin
920407d98b servo: Merge #17213 - ID and class selectors are ASCII case-insensitive in quirks mode (from servo:quirk-case); r=bholley
https://bugzilla.mozilla.org/show_bug.cgi?id=1363778

Source-Repo: https://github.com/servo/servo
Source-Revision: 1b077303237d5ecb8307f866e9172d0d8e6b132d
2017-06-12 15:52:29 -07:00
Bobby Holley
a59bc7deb4 servo: Merge #17281 - Pack bloom filter hashes better and save a word on Rule (from bholley:shrink_rule_again); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1371949

Source-Repo: https://github.com/servo/servo
Source-Revision: 75d6796cbd1274c3711472d1a8b728c3cf6ac70c
2017-06-12 12:41:39 -07:00
Anthony Ramine
d6c4710d97 servo: Merge #17254 - Update the WebIDL parser (from servo:webidl); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 0c929ad3fd902f4314844787868fe891033d3b01
2017-06-12 07:37:49 -07:00
Nazım Can Altınova
fdc4430a61 servo: Merge #17266 - stylo: Support :active and :hover quirk (from canaltinova:active_hover_quirk); r=bholley,emilio
Reviewed by bholley and emilo on the bugzilla bug.

---
<!-- 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 [Bug 1355724](https://bugzilla.mozilla.org/show_bug.cgi?id=1355724)

<!-- 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: ddfe8b0468dcd57cc5f98cca5c5ba31134c04719
2017-06-10 12:25:59 -07:00
Josh Matthews
dfb3ae3e5e servo: Merge #16752 - Report more informative CSS errors (from jdm:css-parse-error); r=SimonSapin
This requires https://github.com/servo/rust-cssparser/pull/143 for the final commit. There's no better way to split that work up, unfortunately, and it's extremely easy to bitrot. I would appreciate if we could expedite reviewing this work.

This is the work necessary to enable https://bugzilla.mozilla.org/show_bug.cgi?id=1352669. It makes sense to merge it separately because it's so much effort to keep it up to date with the ongoing Stylo work.

---
- [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: 061cb5f48e5c93a5decf39e530aea4a566e97341
2017-06-09 14:31:48 -07:00
Cameron McCormack
a0ab73cd9e servo: Merge #17252 - style: don't perform selector matching on the flattened tree (from heycam:flattened-tree); r=emilio
From https://bugzilla.mozilla.org/show_bug.cgi?id=1369954.

Source-Repo: https://github.com/servo/servo
Source-Revision: 969047bb7cab0f5e8c235017b7e9f7a170c9b7e4
2017-06-09 03:57:36 -07:00
Manish Goregaokar
c70bf2a485 servo: Merge #17247 - stylo: Make all attribute selectors respect case insensitivity (from Manishearth:stylo-insensitive-selectors); r=SimonSapin
r=simonsapin https://bugzilla.mozilla.org/show_bug.cgi?id=1364162

Source-Repo: https://github.com/servo/servo
Source-Revision: a6b3bf1517b8329e26c6b8dec84b294bf7d257be
2017-06-08 17:26:45 -07:00
Alan Jeffrey
2b341d75e7 servo: Merge #17077 - Removed root browsing context from constellation (from asajeffrey:constellation-no-root-browsing-context); r=cbrewster
<!-- Please describe your changes on the following line: -->

Removed the special root browsing context from the constellation.

---
<!-- 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 #13994
- [X] These changes do not require tests because this isn't visible from user 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: caa8343e137ab73e046773263dc3ce4b4ebb7b3f
2017-06-07 21:57:10 -07:00
Xidorn Quan
040af8607b servo: Merge #17219 - Support interpolation between currentcolor and numeric color (from upsuper:currentcolor); r=Manishearth,birtles
This is the Servo side change of [bug 1345709](https://bugzilla.mozilla.org/show_bug.cgi?id=1345709).

Source-Repo: https://github.com/servo/servo
Source-Revision: 24e944ad94816e607e833e34095c4f8b8136df4c
2017-06-07 21:03:52 -07:00
Cameron McCormack
ae98d04902 servo: Merge #17206 - match :lang() against snapshots correctly (from heycam:lang-snapshots); r=emilio
Reviewed in https://bugzilla.mozilla.org/show_bug.cgi?id=1365162.

Source-Repo: https://github.com/servo/servo
Source-Revision: ad47d33511c318fe208158bb16deb5086979e0c7
2017-06-07 19:00:54 -07:00
Alan Jeffrey
811f1a0722 servo: Merge #17193 - Count number of braces on a line when checking spec links in test-tidy (from asajeffrey:test-tidy-brace-count); r=jdm
<!-- Please describe your changes on the following line: -->

Allow more than one brace per line when checking spec links in test-tidy.

We had problems caused  by `if unsafe { ... } {`.

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

<!-- 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: 07b0770d21d2b374f9a30c98cdde5ae5531aaecb
2017-06-07 15:36:36 -07:00
J. Ryan Stinnett
a5c7bf0aa5 servo: Merge #17212 - Stylo: Visited selectors for nested links (from jryans:visited-selectors); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1370358

Source-Repo: https://github.com/servo/servo
Source-Revision: 0934df77fdbddcb6ae1534e3c1a150272aea73b2
2017-06-07 12:49:34 -07:00
Alan Jeffrey
73a447a887 servo: Merge #17150 - Implemented the plumbing for paint worklets (from asajeffrey:script-paint-worklets-plumbing); r=jdm
<!-- Please describe your changes on the following line: -->

This PR implements the plumbing for paint worklets:

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

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

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

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] There are tests for these changes

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: bf46da065db58549a74c489d521f9375f4137637
2017-06-07 11:57:07 -07:00
Benjamin Dahse
e3af36081c servo: Merge #17189 - Add pref to force WebGL context creation failure (from bd339:iss17038); r=emilio
<!-- Please describe your changes on the following line: -->
Introduces the pref `webgl.testing.context_creation_error`, to force creation of a new WebGLRenderingContext to fail.

---
<!-- 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 #17038 (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: 3db7f5d556d85ff6af9bb81f693a2c65e6e791fa
2017-06-07 02:27:29 -07:00
Bobby Holley
6d91bbdd99 servo: Merge #17179 - shrink Rule and store all heap-allocated selector data inline (from bholley:one_selector_allocation); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1370107

Source-Repo: https://github.com/servo/servo
Source-Revision: 74ea8ce3ed6aa3d7edfe05924f196ccbe57daed6
2017-06-05 20:10:28 -07:00
Bastien Orivel
c5d903c052 servo: Merge #17104 - Bump euclid to 0.13 and heapsize to 0.4 (from Eijebong:bump_euclid_heapsize); r=emilio
This is necessary for the serde 1.0 update.

--
- [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).

- [X] These changes do not require tests because it's just a dependency bump

Source-Repo: https://github.com/servo/servo
Source-Revision: 9a9a0749b8333947df88da9133f7ebd6283601e0
2017-06-05 12:34:19 -07:00
Connor Brewster
34dd008741 servo: Merge #17112 - Implement custom element registry (from cbrewster:custom_element_registry); r=jdm
<!-- Please describe your changes on the following line: -->
Implements https://html.spec.whatwg.org/multipage/#customelementregistry

---
<!-- 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 #16753 (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: b584944f1731c71920abf9a03e1f3cd1e790f7c4
2017-06-05 08:38:03 -07:00
Emilio Cobos Álvarez
c3dc1e15dd servo: Merge #17154 - style: Split stylesheets.rs (from emilio:split); r=Manishearth
This file has become quite bloated lately. This commit deletes that file in
favor of a set of submodules.

The only noticeable change apart from code move, is converting deep_clone_foo
methods into a trait.

It also unifies logic related to different style rules in the same place.

There's some missing work, specially related to font-face and counter-style, but
I think this is worth landing in the meantime.

Source-Repo: https://github.com/servo/servo
Source-Revision: c260c6ede0988f331011f33485964775e1f3a7f9
2017-06-04 14:26:30 -07:00
Manish Goregaokar
d17c2f17e4 servo: Merge #17145 - Bump cssparser (from Manishearth:bump); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 985050d3645382d5c2cc6bd6819ab05f9b843331
2017-06-02 17:46:35 -07:00
Nikhil Shagrithaya
4cd24e5ab0 servo: Merge #15354 - Redirect document loads manually (from cynicaldevil:manual-redirect); r=jdm
<!-- Please describe your changes on the following line: -->

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

r? @jdm

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: eac4f407e2bfa0055a698ca438972566f0814e43
2017-06-02 14:49:21 -07:00
J. Ryan Stinnett
8646239bdf servo: Merge #17144 - Stylo: Support link preshints on <body> (from jryans:link-pres-hints); r=Manishearth
https://bugzilla.mozilla.org/show_bug.cgi?id=1367923

Source-Repo: https://github.com/servo/servo
Source-Revision: 54448305de3048f23004de0d9ee84efd25af8a79
2017-06-02 13:08:04 -07:00
Anthony Ramine
fc583480bb servo: Merge #17122 - Continue to slim down the code for CSS properties (from servo:derive-all-the-things); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 028908ee269a680464d079ba4f6e9e8ef5b41749
2017-06-02 01:53:55 -07:00
est31
bf7503aceb servo: Merge #17067 - Bring back clipboard support (from est31:master); r=jdm
Brings back clipboard support.

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____
- [x] Testing these chances would require a full integration-style test suite, which servo currently lacks.

Source-Repo: https://github.com/servo/servo
Source-Revision: 12de6165321fe5c066d91bca73eea81c542e5994
2017-06-01 10:07:16 -07:00
Gregory Terzian
6c7bc89f91 servo: Merge #17120 - fix double borrowing of image request (from gterzian:fix_double_borrowing_of_image_request); r=jdm
<!-- Please describe your changes on the following line: -->

@jdm I couldn't reproduce the crashes, but looking at the code, I can tell that if we hit the cache inside `fetch_image`, we go straight to `process_image_response`, so we're still in the same scope as that where the borrowing occurs in `prepare_image_request`. When there is no cache hit, `process_image_response` is executed as part of a task...

This should fix the issue, while retaining the original logic.

All tests in `the-img-element` are passing...

---
<!-- 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 #17109 (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: 6a638876fdf1f7c87d9c17d302864d38b67510cb
2017-05-31 21:47:33 -07:00
Gregory Terzian
3be7dce9e3 servo: Merge #16238 - Implement "update the image data" (from gterzian:implement_update_the_image_data); r=jdm
<!-- Please describe your changes on the following line: -->
Spec compliant implementation of the [update the image data algorithm](https://html.spec.whatwg.org/multipage/embedded-content.html#update-the-image-data).

Currently still a work in progress, the ['async src complete test`](https://github.com/servo/servo/blob/master/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/img.complete.html#L33) is still passing as it was before, even though I switched to the new code, so I guess that's something.

@jdm I will be picking this up next weekend, I left a bunch of TODO and NOTES in the code, if you or someone else have time this week I would appreciate an initial scan and feedback.

---
<!-- 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 #11517 (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: fe7d039416ea93f9a5a120cda9a6114ec1438c3e
2017-05-30 10:27:08 -05:00
Simon Sapin
5138f64f47 servo: Merge #17061 - EventSource: decode UTF-8 code points across network packets (from servo:utf8); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 25d0c561413a42fd375ea04d891855581fdf5168
2017-05-30 03:50:18 -05:00
Simon Sapin
14ffc0aa18 servo: Merge #16989 - Decode UTF-8 code points across network packets (from servo:packets); r=nox
<s>Depends on https://github.com/servo/html5ever/pull/272</s>

Source-Repo: https://github.com/servo/servo
Source-Revision: b0c7c71729e6423cea9387030306a86654cb33de
2017-05-27 04:18:58 -05:00
Alan Jeffrey
965b066e69 servo: Merge #16997 - Webdriver browsing contexts not pipelines (from asajeffrey:webdriver-browsing-contexts-not-pipelines); r=jgraham
<!-- Please describe your changes on the following line: -->

At the moment, a webdriver session stores a `pipeline_id`s, which causes a mismatch with the spec, which asks a session to store a browsing context and a top-level browsing context. This PR fixes this mismatch.

---
<!-- 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 do not require tests because we are not testing webdriver

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 0f5ccdb589f484e17908811173893abc2ac8ff04
2017-05-26 12:18:12 -05:00
antunovicm
12640c5d04 servo: Merge #16920 - Implement window.closed (from synlestidae:servo-16705); r=asajeffrey
<!-- Please describe your changes on the following line: -->

Implements #16705. window.closed should evaluate to true if BrowsingContext is discarded

---
<!-- 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 #16705 (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: 8747ccc9e853bcede73b838634992638655934f5
2017-05-26 10:10:36 -05:00
Emilio Cobos Álvarez
19b329fcb1 servo: Merge #17025 - script/layout: Stop doing unsafe transmutes between refcell references (from emilio:layout-data); r=jdm
This commit splits the style and layout data in two separate refcells.

These transmutes have been a source of trouble (for example on Android), and
they feel like a hack anyway.

Fixes #16982

Source-Repo: https://github.com/servo/servo
Source-Revision: 764da7ba39c0ccbaf807c6131418761f70584322
2017-05-25 19:58:47 -05:00
Imanol Fernandez
e1cfd58de1 servo: Merge #17031 - Update rust-webvr (from MortimerGoro:update_webvr); r=emilio
<!-- Please describe your changes on the following line: -->

Required for https://github.com/servo/servo/issues/16556

---
<!-- 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: 3c267d7fddd036f6bcc9ebf000ed37665cf7496d
2017-05-25 07:12:11 -05:00
J. Ryan Stinnett
6ae7120459 servo: Merge #17032 - Stylo: visited pseudo-class support (from jryans:stylo-visited); r=emilio
Reviewed in https://bugzilla.mozilla.org/show_bug.cgi?id=1328509

Source-Repo: https://github.com/servo/servo
Source-Revision: 1f323f8848e47b01779de5145dd21d0f74ed16ca
2017-05-24 19:53:48 -05:00
Manish Goregaokar
84fb90b55e servo: Merge #17027 - Rollup of 9 pull requests (from Manishearth:rollup); r=Manishearth
- Successful merges: #16993, #17000, #17010, #17013, #17014, #17017, #17019, #17020, #17022
- Failed merges:

Source-Repo: https://github.com/servo/servo
Source-Revision: 8ae546f7ea158466441987d4a86c5c440f0a5e00
2017-05-24 16:08:02 -05:00
Anthony Ramine
d00428c643 servo: Merge #17004 - Rollup of 7 pull requests (from nox:rollup); r=nox
- Successful merges: #16885, #16886, #16932, #16939, #16948, #16986, #16995
- Failed merges:

Source-Repo: https://github.com/servo/servo
Source-Revision: 98edf5d54d2c8269395379c68c1342bd867c8cf9
2017-05-24 04:26:19 -05:00
Emilio Cobos Álvarez
2830db2743 servo: Merge #16985 - layout: Stop mutating the style data from layout (from emilio:cache); r=bholley
This is part of #16982.

Right now we have some code that tries to cache stuff in the style data during
layout.

This code is extremely rarely executed, only for `<details>` and `<summary>`.

I think if we really really want to cache these, we should find a place in the
layout data for it.

For now, let's move it away (and all the other layout code) from mutating the
style data from layout.

Source-Repo: https://github.com/servo/servo
Source-Revision: 84c1f904cbf5ca338b46f41426eab53fc45543e9
2017-05-23 06:35:16 -05:00
Manfred Brandl
37a16d4641 servo: Merge #16979 - remove unused style::restyle_hints::RestyleReplacements (from manfredbrandl:patch-1); r=emilio
<!-- Please describe your changes on the following line: -->
remove unused style::restyle_hints::RestyleReplacements from line 134

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

<!-- Either: -->
- [X] These changes do not require tests because removes only unused "use"

<!-- 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: e8f9ab51cacf75d5d92c2b87a9c23eea5bd0aed3
2017-05-23 00:31:15 -05:00
Alan Jeffrey
cc87e16b97 servo: Merge #16916 - Added a TopLevelBrowsingContextId type (from asajeffrey:constellation-top-level-browsing-contexts); r=cbrewster
<!-- Please describe your changes on the following line: -->

Added a `TopLevelBrowsingContextId` type, which is a subtype of `BrowsingContextId` that only refers to top-level browsing contexts.

---
<!-- 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 do not require tests because 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: a0d6d6883c3f2fde6f0f3e13712a569ce3aa41e5
2017-05-22 15:13:42 -05:00
Imanol Fernandez
8491a51e5b servo: Merge #16933 - Implement MutationObserver childList mutations (from MortimerGoro:mutation_children); r=jdm
<!-- Please describe your changes on the following line: -->

Implement MutationObserver childList mutations

---
<!-- 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: 323760f47e79b49ef8db4484cca1969bc26b5413
2017-05-20 15:04:43 -05:00
Emilio Cobos Álvarez
058ccb2091 servo: Merge #16967 - Bug 1366144: Correctly diff ::before and ::after pseudo-element styles if there's no generated content. r=heycam (from emilio:after); r=heycam,emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 05a26a29967b4cb70cac0055d0a177881e047efd
2017-05-20 13:44:31 -05:00
Boris Chiou
9e3402f2f3 servo: Merge #16963 - stylo: Bug 1334036 - Enable animations running on compositor (from BorisChiou:stylo/animation/omta); r=emilio
These are interdependent patches of Bug 1334036, which enables off-main thread animations. We add one FFI to get the property id set which overriding animations, so we can make sure the cascade result is correct for off-main thread animations.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [Bug 1334036](https://bugzilla.mozilla.org/show_bug.cgi?id=1334036)
- [X] These changes do not require tests because we support off-main thread animation only on Gecko, and there are enough test cases there.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5a012cc9b15890fe8ad132e941d8f896b405472c
2017-05-20 07:24:21 -05:00
Manish Goregaokar
66b5b511cc servo: Merge #16914 - Update app_units to 0.4.1 (from Manishearth:update_au); r=jryans
Source-Repo: https://github.com/servo/servo
Source-Revision: 00376cbaa77b2c3b78990e49eb9ca29cc1e0a714
2017-05-19 23:09:20 -05:00
Gregory Terzian
de0e582940 servo: Merge #16861 - Use microtasks to await a stable state (from gterzian:use_microtask_to_await_stable_state); r=jdm
<!-- Please describe your changes on the following line: -->

@jdm @KiChjang First pass at using microtasks to await a stable state. I ran into all sorts of problems to get it to compile, I think it's mainly related to the fact that the microtasks are stored in a `Vec`, which meant the `Runnalbe.handler(self: Box<Self>)` couldn't be called while iterating over the Vec... It compiles now although I haven't run any tests. I'm assuming I'm missing something fundamental and was hoping my changes would highlight the problems I run into, and you had a better idea of how to implement this... Perhaps we shouldn't pass a `Runnable` to `await_stable_state` at all?

---
<!-- 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 #15375 (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: f05491166f21879f74758b2f03bbc4c4a4c31eb8
2017-05-19 20:09:54 -05:00
Simon Sapin
fce247b642 servo: Merge #16954 - Avoid returning / passing around a huge ParsedDeclaration type (from servo:arrayvec); r=emilio
This enum type used to contain the result of parsing one CSS source declaration (`name: value;`) and expanding shorthands. Enum types are as big as the biggest of their variant (plus discriminant), which was quite big because some shorthands expand to many longhand properties. This type was returned through many functions and methods, wrapped and rewrapped in `Result` with different error types. This presumably caused significant `memmove` traffic.

Instead, we now allocate an `ArrayVec` on the stack and pass `&mut` references to it for various functions to push into it. This type is also very big, but we never move it.

We still use an intermediate data structure because we sometimes decide after shorthand expansion that a declaration is invalid after all and that we’re gonna drop it. Only later do we push to a `PropertyDeclarationBlock`, with an entire `ArrayVec` or nothing.

In future work we can try to avoid a large stack-allocated array, and instead writing directly to the heap allocation of the `Vec` inside `PropertyDeclarationBlock`. However this is tricky: we need to preserve this "all or nothing" aspect of parsing one source declaration, and at the same time we want to make it as little error-prone as possible for the various call sites. `PropertyDeclarationBlock` curently does property deduplication incrementally: as each `PropertyDeclaration` is pushed, we check if an existing declaration of the same property exists and if so overwrite it. To get rid of the stack allocated array we’d need to somehow deduplicate separately after pushing multiple `PropertyDeclaration`.

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 62690887c163332688add2b1e62bb4c12b2e7df4
2017-05-19 10:45:44 -05:00
Imanol Fernandez
b0a2e00a30 servo: Merge #16893 - Implement WebGL extensions (from MortimerGoro:webgl_extensions); r=emilio
<!-- Please describe your changes on the following line: -->

This PR provides the base for implementing WebGL extensions. It comes with the following ones already implemented and passing all related WebGL conformance tests:

- OES_texture_float
- OES_texture_float_linear
- OES_texture_half_float
- OES_texture_half_float_linear
- OES_vertex_array_object

I'll submit other extensions like compressed textures in a separate PR to ease the review process. I included the 5 extensions in this PR because it's easier to show/review how the WebGL extension base works.

To pass all OES_texture_float_xxx tests I had to add some missing format conversions in WebGLRenderingContext.rs

---
<!-- 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: b0976566fb9c79f7dc67b2ac808eb50ef4ad653f
2017-05-19 01:09:48 -05:00
Simon Sapin
70fe8c63b4 servo: Merge #16915 - Shrink selectors::Component, implement attr selector (in)case-sensitivity (from servo:attr-selectors); r=nox,emilio
* https://bugzilla.mozilla.org/show_bug.cgi?id=1364148
* https://bugzilla.mozilla.org/show_bug.cgi?id=1364162
* https://bugzilla.mozilla.org/show_bug.cgi?id=1363531
* Fixes #3322

Source-Repo: https://github.com/servo/servo
Source-Revision: 640b16634f2828bad46ab6d78e785dfc2025ab46
2017-05-18 18:45:20 -05:00