Commit Graph

183 Commits

Author SHA1 Message Date
Alan Jeffrey
126613911f servo: Merge #17810 - Script paint worklets speculative evaluation (from asajeffrey:script-paint-worklets-speculative-evaluation); r=emilio
<!-- Please describe your changes on the following line: -->

This PR speculatively calls paint worklets during style, which increases the concurrency, since it increases the chance that the cache will have the right result in it when it comes to layout. The speculation is wasted effort if the size of the element has changed, but this is often not the case.

---
<!-- 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 #17486 and #17369.
- [X] These changes do not require tests because it's a performance improvement

<!-- 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: cf5602e84f17d14b6a9abb77f1de6460db070921
2017-07-31 13:13:26 -05:00
Dzmitry Malyshau
383313b6ed servo: Merge #17908 - WR multi-document update - try 2 (from kvark:wr); r=emilio
<!-- Please describe your changes on the following line: -->
Combines #17892 with the patch to detach style_traits from webrender_api

---
<!-- 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
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix  #17907

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because _____ new logic is added

<!-- 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: e5527362f761ad082ca37a033bf5c3f8f196bcfb
2017-07-29 07:38:23 -05:00
Wes Kocher
4ec19a5a45 Backed out changeset c424ad1c5f94 for build failures a=backout CLOSED TREE
MozReview-Commit-ID: 2wv9vOLQSHp
2017-07-28 16:20:27 -07:00
Dzmitry Malyshau
51b7ea167f servo: Merge #17892 - WR multi-document update (from kvark:wr); r=glennw
<!-- Please describe your changes on the following line: -->
The PR updates WR version to support multiple documents (https://github.com/servo/webrender/pull/1509) but doesn't take advantage of this new feature yet.
It also makes Servo to use `DevicePixel` from WR instead of rolling out another one.

---
<!-- 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
- [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 _____ no extra logic

<!-- 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: 12a49dc0be8a8acd12440dd7191b349ca17de7c8
2017-07-28 13:26:52 -05:00
Bobby Holley
c50c3dfc02 servo: Merge #17895 - Clean up traversal modes (from bholley:clean_up_traversal); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1384769

Source-Repo: https://github.com/servo/servo
Source-Revision: 255c9d00da8d6837a5625ad19d9b1cd623286c3b
2017-07-27 18:29:29 -05:00
Simon Sapin
c8457ef407 servo: Merge #17884 - Upgrade to rustc 1.21.0-nightly (599be0d18 2017-07-26) (from servo:rustup); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 9370a0c4b500a1ad9dc29c0ad8a37d47f00d0817
2017-07-27 03:13:34 -05:00
Emilio Cobos Álvarez
5ce9e9139b servo: Merge #17828 - stylo: Visited link fixes (from emilio:visited-now); r=Manishearth
Straight from https://bugzilla.mozilla.org/show_bug.cgi?id=1383307

Source-Repo: https://github.com/servo/servo
Source-Revision: 2241d5879e5d66c52d2b4f17ad730c5de1eff364
2017-07-23 13:46:43 -07:00
Alan Jeffrey
c296f05349 servo: Merge #17499 - Fixed scaling artefacts in paint worklets caused by zoom and hidpi (from asajeffrey:script-paint-worklets-zoom); r=glennw
<!-- Please describe your changes on the following line: -->

This PR renders paint worklet canvases at the device pixel resolution, rather than the CSS pixel resolution.

It's a dependent PR, building on #17239, #17326 and #17364.

---
<!-- 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 #17454
- [X] These changes do not require tests because we don't run reftests with zoom enabled

<!-- 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: 9fcbeb3ca2ea0d11d4787c649e82918f7672694d
2017-07-20 17:09:06 -07:00
Fernando Jiménez Moreno
ef95c91639 servo: Merge #17256 - Implement basic Time To First Paint and First Contentful Paint PWMs (from ferjm:ttfp); r=jdm
- [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: eba573d774dd2ac07ec8d62f1ad8deffca4667a4
2017-07-20 11:34:35 -07:00
Michael Partheil
728ab1f36c servo: Merge #17775 - Replace all uses of the style::stylearc alias with servo_arc (from michael-p:rename-stylearc-to-servo-arc); r=emilio
The `stylearc` alias is left there temporarilly and will be removed completely in a later commit/PR where also `components/style/gecko/generated/structs_{debug|release}.rs` are re-generated (they still use the old alias).

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because no new features / only refactoring

Source-Repo: https://github.com/servo/servo
Source-Revision: 31228c18499d1c7f68b6b64b559354c768e81215
2017-07-19 06:03:17 -07:00
Manish Goregaokar
cb8af9ffe8 servo: Merge #17767 - stylo: Fuse ServoStyleContext and ServoComputedValues (from Manishearth:stylo-fuse); r=bholley
r=bholley https://bugzilla.mozilla.org/show_bug.cgi?id=1367904

Source-Repo: https://github.com/servo/servo
Source-Revision: d746abaa9e69e6cf0ad187d2b46be661bbe03a9f
2017-07-17 19:44:25 -07:00
Josh Matthews
d7bfd7a8c4 servo: Merge #17739 - Suppress CSS parser errors for vendor-prefixed properties (from jdm:no-vendor-prefixed-errors); r=emilio
This matches the behaviour of Gecko's CSS parser.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 38f4ae80c4b456b89ee33543c8c6699501696c9c
2017-07-17 07:10:11 -07:00
Emilio Cobos Álvarez
44ec6c7983 servo: Merge #17744 - script: Move the layout_wrapper outside of script (from emilio:ensure-data); r=nox
This allows us to have ensure_data() and clear_data() functions on the TElement
trait, instead of hacking around it adding methods in random traits.

This also allows us to do some further cleanup, which I'd rather do in a
followup.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3497bbbf1d092dd8ab274e21b33b6394afa61d8a
2017-07-15 07:44:08 -07:00
bors-servo
5b540cb699 servo: Merge #17728 - Reuse bloom filter and style sharing cache across traversals (from emilio:reuse-allocs); r=bholley,emilio
This relands #17701, with a fix for the test failures.

Source-Repo: https://github.com/servo/servo
Source-Revision: f49650ce96578c200c71b0a8fa50094764a3c76d
2017-07-14 02:02:55 -07:00
Emilio Cobos Álvarez
a5af85b6ce servo: Merge #17710 - Revert "Auto merge of #17701 - bholley:reuse_allocations, r=emilio" (from emilio:revert-bloom-sharing); r=heycam
This reverts commit ebfc8f585834948f9b7564ffe382a6e266edf738, reversing
changes made to 5585ff2c440dc27c8e98e834c9c0e9d956581b8e.

Animation code can reenter and create a new TLS context from the traversal
SequentialTask, so this won't work as written, and it's making test fails.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9d74ae890b31fc45452ae60af7d89573fc52a86f
2017-07-13 01:26:34 -07:00
Martin Robinson
7b0a6b5e35 servo: Merge #17694 - Upgrade to the latest version of WebRender (from glennw:webrender-update); r=glennw
Source-Repo: https://github.com/servo/servo
Source-Revision: 173181a491f18a292ea80acbc25dd561e6e678d8
2017-07-12 21:52:27 -07:00
Bobby Holley
43f03492ac servo: Merge #17701 - reuse the bloom filter and style sharing cache across traversals (from bholley:reuse_allocations); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1380198

Source-Repo: https://github.com/servo/servo
Source-Revision: ebfc8f585834948f9b7564ffe382a6e266edf738
2017-07-12 16:48:19 -07:00
Hugh Gallagher
e50f51648c servo: Merge #17673 - Removed unused import (from hgallagher1993:local_branch); r=jdm
Removed unused import `script_layout_interface::reporter::CSSErrorReporter in components/layout_thread/lib.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
- [x] These changes fix #17671 (github issue number if applicable).

Source-Repo: https://github.com/servo/servo
Source-Revision: f85778884f8434f0ed189ab3633b490985b3eb2b
2017-07-11 20:09:52 -07:00
Alan Jeffrey
fe03dc44ca servo: Merge #17364 - Implement paint worklet properties (from asajeffrey:script-paint-worklets-properties); r=jdm
<!-- Please describe your changes on the following line: -->

This is the final PR to get basic paint worklet support. It adds support for paint worklet properties (https://drafts.css-houdini.org/css-paint-api/#paint-definition-input-properties). When a paint worklet is registered, it specifies a list of CSS properties, and is provided with their computed values when it is invoked.

This is a dependent PR:
* "Implemented paint worklets invoking worklet scripts" is #17239.
* "Implemented paint worklets rendering contexts" is #17326.

There should be tests added for this, hopefully the existing wpt houdini tests.

---
<!-- 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 #16839
- [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: bc44246fc682d9f2362eaca6bba07b45c293eb42
2017-07-11 16:24:18 -07:00
Josh Matthews
c0e0ebee53 servo: Merge #17655 - Hook up Stylo error reporter to Firefox devtools (from jdm:stylo-error-reporter); r=emilio
Reviewed by @emilio in https://bugzilla.mozilla.org/show_bug.cgi?id=1352669.

---
- [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: 2ddbc92d90ec8df9e5bf4630cd3e93759da81649
2017-07-10 18:13:44 -07:00
Emilio Cobos Álvarez
26af331265 servo: Merge #17590 - stylo: Fix StyleSheetInner/Stylesheet mapping (from emilio:gecko-inner); r=heycam
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1372041 and all the dependent/related issues.

Source-Repo: https://github.com/servo/servo
Source-Revision: 545a53ccadd3ca37330e1ee8ad0ca926af5c9c5a
2017-07-02 07:00:39 -07:00
Jeremy Lempereur
bfbf657d21 servo: Merge #17383 - #17363 : Passing ProfilerChan by reference to the send_profile_data method (from o0Ignition0o:profiler_chan_by_reference); r=jdm
<!-- Please describe your changes on the following line: -->
Passed the ProfilerChan by reference to the send_profile_data method.

I wonder if I should also refactor the
`pub fn profile<T, F>(category: ProfilerCategory, meta: Option<TimerMetadata>, profiler_chan: ProfilerChan, callback: F) -> T where F: FnOnce() -> T method ` , but I don't feel confident enough to make the call, since I don't really understand what it would imply.

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because the project would not compile if there were missing by reference calls.

<!-- 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: d8ae4638397a3834203267ceae075509e9cb9931
2017-06-25 09:06:28 -07:00
J. Ryan Stinnett
5417317b00 servo: Merge #17481 - Stylo: Move match and cascade temporaries to CurrentElementInfo (from jryans:move-rule-node); r=bholley
https://bugzilla.mozilla.org/show_bug.cgi?id=1370719

Source-Repo: https://github.com/servo/servo
Source-Revision: 9ba71fcd57bd8aef7977f09b0f095aa51796c1b3
2017-06-22 17:46:55 -07:00
Simon Sapin
3727d5f818 servo: Merge #17390 - Untry (from servo:untry); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 568ab550053fddf346806ed6cc2d3bfe37f3e1d0
2017-06-18 05:55:11 -07:00
Simon Sapin
7279c780ac servo: Merge #17355 - Bump serde to 1.0 (from servo:serdeup); r=nox
This is a rebase of #17325 with `[replace]` entries removed, a bunch more dependencies updated, and some more compile fixes. Original work by @Eijebong, thanks a lot!

Source-Repo: https://github.com/servo/servo
Source-Revision: 66c130d55aa0d7af1104c00e93a5bf950f23a383
2017-06-16 05:03:18 -07:00
Emilio Cobos Álvarez
b5b0a3f2c9 servo: Merge #17348 - style: Inline RestyleData (from emilio:bup); r=bholley
Bug: 1368236
MozReview-Commit-ID: 49s3SO0PMHf
Source-Repo: https://github.com/servo/servo
Source-Revision: 33766b2714443399808c950e5bb74b1f124f2bc4
2017-06-15 20:28:56 -07:00
Bobby Holley
c446825d29 servo: Merge #17332 - Bump rayon to 0.8 (from bholley:bump_rayon_0_8); r=glennw
Source-Repo: https://github.com/servo/servo
Source-Revision: e0820c8654489a226e3f1348c1e134e890cb84c3
2017-06-14 19:12:30 -07:00
Nicolas Silva
6e99a9e0a6 servo: Merge #17184 - Bump euclid to 0.14.x (from nical:euclid-bump); r=SimonSapin
- [x] `./mach build -d` does not report any errors (kinda, need webrender published and Cargo.toml fixed up)
- [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 it is a refactoring in which the difference is mostly a compile-time/strong-typing thing with no change to the logic.

Source-Repo: https://github.com/servo/servo
Source-Revision: 18653f69581693a5bae1ce4e350e78bc16159b08
2017-06-14 07:25:05 -07:00
Emilio Cobos Álvarez
e6f018cf1f servo: Merge #17317 - Kill StoredRestyleHint, and shrink RestyleData (from emilio:die-storedrestylehint-die); r=bholley
These are the already-reviewed parts of bug 1368236.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8837c80540327db28a6569f0661816b998b65b9f
2017-06-14 04:16:24 -07:00
Matt Brubeck
2c654a7aba servo: Merge #17192 - Parallel layout optimizations (from mbrubeck:layout); r=pcwalton
This takes some of the optimizations made to parallel styling in #16971 and applies them to parallel layout.  Specifically:

* Reduce the chunk size, to increase chances for parallelism on trees with small fan-out.
* Reduce allocations by using SmallVec.
* Reduce task switching by processing up to one chunk of children within the same rayon task as the parent.

This cuts the "Primary Layout Pass" time in **half** on the MySpace page from [tp5n], and on my other real-world test pages it is a small improvement or close to no change.

[tp5n]: https://wiki.mozilla.org/Buildbot/Talos/Tests#tp5n_pages_set

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because they affect performance only

Source-Repo: https://github.com/servo/servo
Source-Revision: c0f3ec87806a0d718d7f9ef1ccb912c78fc482d2
2017-06-07 19:57:57 -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
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
Cameron McCormack
9c45c7331b servo: Merge #17105 - Update rayon to 0.7.1 (from heycam:rayonup); r=nox
To take advantage of nikomatsakis/rayon#348.

<!-- 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 #__ (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: 3337fccd991fcf9e935b1ada55621be474ffb6e6
2017-05-31 15:20:22 -05:00
Emilio Cobos Álvarez
0eb6f7f5eb servo: Merge #17063 - style: Allow sharing styles across elements with presentational hints (from emilio:pres-hints-sharing); r=bholley
Source-Repo: https://github.com/servo/servo
Source-Revision: 38a6a3bff6f6e0e35eb592891d5e70e7cb897b69
2017-05-30 07:28:06 -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
heyzoos
31a0ea0e7f servo: Merge #16968 - Stylist accessors (from HeyZoos:stylist-accessors); r=emilio
<!-- Please describe your changes on the following line: -->
Add accessor methods for the `device` and `ruleset` fields in the `Stylist` struct.

---
<!-- 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 #16857 (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: 1306b16d5a170074b4f42046a7b1a3a43952b346
2017-05-22 20:12:46 -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
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
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
Alan Jeffrey
c01eab79de servo: Merge #16876 - Renamed constellation::Frame to constellation::BrowsingContext (from asajeffrey:constellation-rename-frames); r=cbrewster
<!-- Please describe your changes on the following line: -->

Now that script has `WindowProxy` rather than `BrowsingContext` objects, we can rename `Frame` in the constellation to `BrowsingContext`. In particular, this means that `FrameId`s are now `BrowsingContextid`s, which better captures their purpose (and they are used in a lot of places, not just 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 do not require tests because renaming

<!-- 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: 837531992864f920342020462830b933d5ed0280
2017-05-16 23:10:45 -05:00
Martin Robinson
b0921a0701 servo: Merge #16865 - Properly handle scroll offsets in hit testing (from mrobinson:scroll-offsets-fix); r=emilio
Scroll roots are no longer nested containers holding items, so instead
we need to track the offsets of each, carefully handling fixed position
items and stacking contexts that create new reference frames.
Additionally, we remove the complexity of the pre-computed page scroll
offset, instead opting to send script scrolls to the layout task in
order to more quickly have a ScrollState there that matches the
script's idea of the scroll world.

Fixes #16405.

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because it is currently impossible to test interactive scrolling with Servo's test infrastructure. Existing tests verify the script part though.

<!-- 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: d855c929ef32e8f7d4bc15ba726e8eb5f8ad8e05
2017-05-16 08:33:22 -05:00
Josh Matthews
fc1c6b073c servo: Merge #16295 - Root nodes for the duration of their CSS transitions (from jdm:transition-safety); r=nox
This ensures that we can pass a node address as part of the asynchronous
transition end notification, making it safe to fire the corresponding
DOM event on the node from the script thread. Without explicitly rooting
this node when the transition starts, we risk the node being GCed before
the transition is complete.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: fa251ec96b445b9ba8439d76e05870a88c2caa0f
2017-05-15 15:00:19 -05:00
Nazım Can Altınova
7a479b90f4 servo: Merge #16819 - stylo: Propagate quirks mode information from Gecko to Servo (from canaltinova:quirk-mode); r=bholley,emilio
r=bholley in bugzilla

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 94ac822132bd78a412f847a704c9ddf3eb91151c
2017-05-13 20:50:10 -05:00
Emilio Cobos Álvarez
cd917ee337 servo: Merge #16802 - style: Slim down SharedStyleContext, and do various other cleanups around the style crate (from emilio:slim-down-slc); r=bholley
This slims down SharedStyleContext, in preparation for a few things.

First, I would like to eventually move the stylist to the document in Servo, in
order for it to hold the StyleSheetSet.

Also, this gets rid of a fair amount of overhead while creating it in stylo.

Fixes bug 1363245.

Source-Repo: https://github.com/servo/servo
Source-Revision: eeb1ee9723777b0dc04e919556826eef628363fe
2017-05-12 08:56:47 -05:00
Emilio Cobos Álvarez
9ec301bad6 servo: Merge #16778 - Take all the snapshots into account in the style system (from emilio:snapshots); r=bholley
See [bug 1355343](https://bugzilla.mozilla.org/show_bug.cgi?id=1355343).

The servo part of this patch presumably needs some polishing, let's see.

Source-Repo: https://github.com/servo/servo
Source-Revision: c8171ed5d7d4b715ab30795311724420c95dfa10
2017-05-10 15:08:59 -05:00
Nathan Froyd
adf9e19c40 servo: Merge #16303 - bump required rayon version to 0.7 (from froydnj:rayon-version-bump); r=jdm
...and bring jpeg-decoder along for the ride.  Minor tweaks were necessary because of rayon API changes.

- [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: fc3a7d03f2b0c5292e7414e7555fb75ae0b1d663
2017-05-08 21:36:48 -05:00
Bobby Holley
e02608275b servo: Merge #16702 - Use a custom arc in the style system (from bholley:custom_arc); r=emilio
See https://bugzilla.mozilla.org/show_bug.cgi?id=1360889

Source-Repo: https://github.com/servo/servo
Source-Revision: 7b1006936a27232fb77fef5893cc141e66bb12b7
2017-05-02 20:01:10 -05:00
Anthony Ramine
e77bb9c254 servo: Merge #16609 - Implement unitless length quirk (from nox:quirks); r=Manishearth,emilio
The Gecko side doesn't propagate its quirks mode yet.

Source-Repo: https://github.com/servo/servo
Source-Revision: d8bcc0db1aad26e007b7e2bdeda3cea4953c0db0
2017-04-27 22:32:24 -05:00
Simon Sapin
f0fa06207c servo: Merge #16585 - Don’t log CSS parsing errors in user-agent stylesheets (from servo:log); r=emilio
This used to make `RUST_LOG=style` basically useless.

Source-Repo: https://github.com/servo/servo
Source-Revision: fd7af58becbcee8facfc07c5f9d028bb9c86c3a0
2017-04-24 05:05:51 -05:00
Pu Xingyu
eed89b8922 servo: Merge #16458 - layout: Force reflow in the sequential fallback of block format context (from stshine:sequential-fallback); r=pcwalton,emilio
When reflowing a block format context during the inorder traversal,
propagate restyle damage manually to its children since they were
already reflowed. Also, test the border box to see if it can fit into
floats according to CSS 2.1 § 9.5.

Improves reddit and yahoo.

---
<!-- 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 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: 541db5f9a791f52e22d409d3b40b13223df69b4c
2017-04-22 23:55:22 -05:00