Commit graph

23265 commits

Author SHA1 Message Date
bors-servo
023a9c55ec Auto merge of #15118 - jdm:reflector-barrier-crash, r=Ms2ger
Use Heap instead of UnsafeCell in DOM reflectors

The previous `Reflector` implementation did not use post barriers, so we could crash when storing nursery objects in a `Reflector` structure that were later moved out of the nursery.

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #15085
- [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/15118)
<!-- Reviewable:end -->
2017-01-24 14:11:50 -08:00
Emilio Cobos Álvarez
1b2d932cfb
Revert "Revert "constellation: Cleanup the frame size handler.""
This reverts commit 58e8ae8607.
2017-01-24 22:21:07 +01:00
Emilio Cobos Álvarez
4639940dfe
Revert "Revert "frame-resize refactor""
This reverts commit 6ead3952a3.
2017-01-24 22:20:39 +01:00
bors-servo
39b4f19ebb Auto merge of #15181 - jdm:wptfail, r=SimonSapin
Make test-wpt-failure smoketest work again.

Having this testsuite working would have avoided the issue caused by #15064. This will need to wait until after #15164 is merged, because it picks up the failure that currently exists on master.

<!-- 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/15181)
<!-- Reviewable:end -->
2017-01-24 13:16:50 -08:00
bors-servo
185759f87a Auto merge of #15164 - mbrubeck:revert, r=emilio
Revert several changes that broke tests

This is based on #15158 by @aneeshusa, with additional reverts.

This reverts #15064, which is causing many tests not to run, and #15129 and #15155 which landed while tests were not running and may have caused some new failures in iframe tests.

<!-- 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/15164)
<!-- Reviewable:end -->
2017-01-24 11:14:28 -08:00
Simon Sapin
8b0d8cbbf0 When a css-wide keyword is followed by more stuff, try parsing as "normal" value. 2017-01-24 20:04:28 +01:00
Simon Sapin
d0ea53ade9 Reject CSS-wide keywords in font-family 2017-01-24 20:04:28 +01:00
Simon Sapin
5c8c38be5d Mako: configure included templates like the main one. 2017-01-24 20:04:27 +01:00
Simon Sapin
bf16836598 Properly escape font-family names in CSS serialization.
Fix #15059.
2017-01-24 20:04:26 +01:00
Simon Sapin
5f5fe2ca52 Import test_font_family_parsing.html from Gecko 2017-01-24 20:04:26 +01:00
Josh Matthews
f29e01c5ad Make test-wpt-failure smoketest work again. 2017-01-24 13:33:45 -05:00
bors-servo
f3c102d2fe Auto merge of #14930 - zaynetro:remove-stylesheets, r=emilio
Implement support for removing stylesheets from their document

<!-- Please describe your changes on the following line: -->
This pull request implements removing styles from the document when

* `<link>` element with associated styles is removed
* `<style>` element is removed

Additionally, it tests that when `<style>` element is changed. Styles are being reapplied 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 #14886 (github issue number if applicable).

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

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

<!-- 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/14930)
<!-- Reviewable:end -->
2017-01-24 09:40:07 -08:00
Ms2ger
1e63a26105 Re-enable send-entity-body-document.htm. 2017-01-24 17:30:38 +01:00
bors-servo
8382aaae83 Auto merge of #15176 - nox:the-sadness, r=Ms2ger
Revert "Auto merge of #15136 - nox:mitochondria-finally-makes-it-into…

<!-- 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/15176)
<!-- Reviewable:end -->
2017-01-24 08:02:15 -08:00
bors-servo
c3f0c9054f Auto merge of #15145 - SwagColoredKitteh:issue-15101, r=emilio
Prevent crashing when a link tag has two or more in-flight requests (fix for issue #15101)

<!-- Please describe your changes on the following line: -->
The `HTMLLinkElement::set_stylesheet` function now checks whether there already is a stylesheet, and if there is, calls `Document::invalidate_stylesheets` after modifying `self.stylesheet`.

This PR also includes a minimal WPT that causes the panic.

This is fundamentally a timing issue, so while this fix prevents the crash, it does not fix the underlying issue. Making a &lt;link&gt; element send a second request before the first can finish and then getting the two stylesheet responses out-of-order will apply the wrong stylesheet, as demonstrated with https://gist.github.com/SwagColoredKitteh/2c24c7fac635445042eda4a30e10420e.

r? @emilio

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

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

<!-- 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/15145)
<!-- Reviewable:end -->
2017-01-24 07:06:51 -08:00
SwagColoredKitteh
068f9608dc add tests for stylesheet responses coming out-of-order for the same element 2017-01-24 15:52:03 +01:00
SwagColoredKitteh
bb2826e41f fix issue #15101 and make sure out-of-order stylesheet loads work correctly for the same element 2017-01-24 15:52:01 +01:00
bors-servo
2ff4246215 Auto merge of #15154 - servo:rustup, r=SimonSapin
Update rustc to 1.16.0-nightly (7821a9b99 2017-01-23).

<!-- 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/15154)
<!-- Reviewable:end -->
2017-01-24 06:11:40 -08:00
bors-servo
8511258a5b Auto merge of #15124 - cynicaldevil:pass-output, r=jdm
WPT tests now show debug ouput for passing tests as well

<!-- 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 (partially) #12808
<!-- Either: -->

@jdm I thought it would be better to make a PR for my local changes anyway, since you wanted it :)
<!-- 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/15124)
<!-- Reviewable:end -->
2017-01-24 04:20:59 -08:00
Anthony Ramine
f1738ee266 Revert "Auto merge of #15136 - nox:mitochondria-finally-makes-it-into-the-tree, r=jdm"
This reverts commit ca6376a714, reversing
changes made to bb24fd3177.
2017-01-24 11:50:43 +01:00
Boris Chiou
19aea7ea78 Bug 1317209 - Part 5: Support transition cascade level. r=emilio
Support a new enum, EffectCompositor_CascadeLevel, which is an equivalent of
EffectCompositor::CascadeLevel in Gecko.
2017-01-24 18:44:07 +08:00
Nikhil Shagrithaya
1551dbae09 Output mach logs to stdout if only a single test is running 2017-01-24 15:39:35 +05:30
Ms2ger
14fe337866 Update rustc to 1.16.0-nightly (7821a9b99 2017-01-23). 2017-01-24 11:02:51 +01:00
Dexter Haslem
305db366a1 forgot to tidy unit test 2017-01-24 01:33:29 -07:00
Boris Chiou
3a89e89952 Bug 1317209 - Part 4: Put animation rule to cascade. r=emilio
We try to get the servo animation rule and declarations during elements
matching, and put the rule to the right priority.
Note: According to CSS Cascade Level spec, Animations is between
      Important author declarations and Normal override declarations.
2017-01-24 16:32:20 +08:00
Dexter Haslem
f3bcb0a496 make -webkit-text-stroke color and width shorthand no longer sensitive to order of values 2017-01-24 01:24:12 -07:00
Boris Chiou
c09b204d5d Bug 1317209 - Part 3: Add TElement::get_animation_rule. r=heycam
We use TElement::get_animation_rule to get the animation rules from
Gecko side, which contain the interpolated values of the specific
element and the pseudo type.
2017-01-24 16:11:01 +08:00
Boris Chiou
1f1c67f485 Bug 1317209 - Part 2: Implement interpolate FFI. r=manishearth 2017-01-24 16:10:52 +08:00
Boris Chiou
4f0791a94b Bug 1317209 - Part 1: Implement uncompute FFI. r=manishearth 2017-01-24 15:47:35 +08:00
Xidorn Quan
d814c5b659 Fix serialization of border-image-repeat 2017-01-24 18:44:23 +11:00
Emilio Cobos Álvarez
f00b628c3a
style: Expose the traversal kind to the style system.
This way we'll be able to take different paths for the sequential and parallel
traversals in some concrete cases.

This is a preliminar patch to fix bug 1332525.
2017-01-24 08:41:29 +01:00
Xidorn Quan
3c412383fb Add space before keyword for border-image-slice 2017-01-24 16:53:34 +11:00
Xidorn Quan
a994e4e96b Correct serialization of column-rule shorthand 2017-01-24 16:00:55 +11:00
Cameron McCormack
87c57489d7 Update cssparser to 0.7.3 to get perf improvements. 2017-01-24 11:20:17 +08:00
Matt Brubeck
6ead3952a3 Revert "frame-resize refactor"
This reverts commit bca565a1a3.
2017-01-23 16:44:56 -08:00
Matt Brubeck
58e8ae8607 Revert "constellation: Cleanup the frame size handler."
This reverts commit 79ef2067cd.
2017-01-23 16:43:33 -08:00
Xidorn Quan
4bb982131b Put stylo's pseudo-class into a list file 2017-01-24 10:17:57 +11:00
Aneesh Agrawal
7595a90221 Revert "Remove -w flag now that WebRender is always used"
This reverts commit b94b58f7ae.
The wptrunner changes are not quite right and causes Python exceptions
inside the test haness.
2017-01-23 15:01:55 -08:00
bors-servo
231481570e Auto merge of #15155 - emilio:frame-size-cleanup, r=cbrewster
constellation: Cleanup the frame size handler.

This is a followup to #15129, addressing my last review comment.

r? anyone

<!-- 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/15155)
<!-- Reviewable:end -->
2017-01-23 10:13:45 -08:00
bors-servo
b0f91193fd Auto merge of #13681 - gpoesia:master, r=mbrubeck
Fix margin size calculation for TableWrapper

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

Fixes inline size calculation for TableWrapper. The table's width was always reaching the inline size equation solver as a specified variable, which was causing the system to be overdetermined when there was a margin specified for the table, and this caused the overflow reported in #12748. The fix consists in handling three cases when the table's width is not specified: if the preferred size of all columns fits, it is returned; if the minimum size does not fit, it is returned instead (it will overflow), otherwise, it is returned as a free variable (that should be solved together with the margin to some value above the minimum width and below the preferred width).

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #12748
- [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/13681)

<!-- Reviewable:end -->
2017-01-23 08:55:44 -08:00
Emilio Cobos Álvarez
79ef2067cd
constellation: Cleanup the frame size handler.
This is a followup to #15129, addressing my last review comment.
2017-01-23 17:07:02 +01:00
bors-servo
1706ffd6e5 Auto merge of #14141 - samuknet:home-end-key-scroll2, r=glennw
Implement home end key scrolling

<!-- Please describe your changes on the following line: -->
* Refactor all scroll related code to use a new `ScrollLocation` struct which can either be a `delta` (as before) or a `Start` or `End` request, to represent the desire to scroll to the start and end of the page.
Effectively, everywhere a delta was used, there is now a `ScrollLocation` struct instead.

* Add key press listeners for HOME and END keys so as to cause a scroll to be queued with `ScrollLocation::Start` (in HOME case) or `ScrollLocation::End` (in END case).

* These changes depend on added support for the new `ScrollLocation` in webrender and webrender_traits. See https://github.com/servo/webrender/pull/540.

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

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

<!-- 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/14141)
<!-- Reviewable:end -->
2017-01-23 07:26:00 -08:00
bors-servo
7e2329ea4e Auto merge of #15129 - cynicaldevil:iframe-resize, r=emilio
Refactor to send iframe resize messages directly from layout thread to constellation

<!-- 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 #14682.
<!-- Either: -->

r? @jdm
passing tests:
tests/wpt/mozilla/tests/css/matchMedia.html, tests/wpt/mozilla/tests/mozilla/window_resize_not_triggered_on_load.html, tests/wpt/mozilla/tests/mozilla/iframe/resize_after_load.html, tests/wpt/mozilla/tests/css/meta_viewport_resize.html

<!-- 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/15129)
<!-- Reviewable:end -->
2017-01-23 06:08:02 -08:00
Nikhil Shagrithaya
bca565a1a3 frame-resize refactor 2017-01-23 19:12:16 +05:30
Sam
7e4255eb95 Implement home end key scroll. 2017-01-23 13:38:10 +00:00
bors-servo
ca6376a714 Auto merge of #15136 - nox:mitochondria-finally-makes-it-into-the-tree, r=jdm
Use mitochondria::OnceCell to store ScriptThread in TLS

<!-- 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/15136)
<!-- Reviewable:end -->
2017-01-23 03:17:33 -08:00
Anthony Ramine
2002de441f Use mitochondria::OnceCell to store ScriptThread in TLS 2017-01-23 12:16:13 +01:00
bors-servo
bb24fd3177 Auto merge of #15064 - aneeshusa:remove-webrender-opt, r=Ms2ger
Remove -w flag now that WebRender is always used

Also remove the obsolete `--cpu` and `--gpu` renderer flags,
which also are no longer used.

Update tests and wptrunner to not pass these flags.

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because the tests are updated to no longer pass these flags

<!-- 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/15064)
<!-- Reviewable:end -->
2017-01-23 02:05:40 -08:00
bors-servo
0170138887 Auto merge of #15150 - BorisChiou:update_selectors, r=heycam
Update selectors to 0.15.1

selectors 0.15.1 supports AFFECTED_BY_ANIMATIONS and
AFFECTED_BY_TRANSITIONS, which are used by stylo animations.

Reference:
https://bugzilla.mozilla.org/show_bug.cgi?id=1317209

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix Bug 1317209
- [X] These changes do not require tests because I only update the version, which only added two StyleRelations flags, and are not used yet

<!-- 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/15150)
<!-- Reviewable:end -->
2017-01-22 23:07:30 -08:00
Boris Chiou
9360beb03c Update selectors to 0.15.1
selectors 0.15.1 supports AFFECTED_BY_ANIMATIONS and
AFFECTED_BY_TRANSITIONS, which are used by stylo animations.
2017-01-23 14:51:10 +08:00