Commit graph

100 commits

Author SHA1 Message Date
Martin Robinson
b35beae16d servo: Merge #16531 - Eliminate ScrollRootId (from mrobinson:clip-id); r=glennw
Just use WebRender's ClipId directly. This will allow us to create and
use ReferenceFrames in the future, if we need to do that. It will also
make it easier to have Servo responsible for creating the root
scrolling area, which will allow removing some old hacks in the future.

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

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they should not change behavior.

<!-- 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: 6e05a903afe81af5a45067dde4f9af26a2ea4be2

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ed3c05a3a6ad1de7c189632886473e8b9b294565
2017-04-20 01:55:33 -05:00
coalman
3fa74a14ad servo: Merge #16495 - Make tidy check that opening and closing braces that begin a line do … (from coalman:tidy-brace-alignment); r=emilio
…so with proper alignment.

---
<!-- 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 #16486 (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: 195100f3cac99b979e25157eb437e63bd3262e6f

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 1f340388b3b70f620cbfba6d216955d3ef23b7cb
2017-04-19 03:06:31 -05:00
mckaymatt
149e726153 servo: Merge #16394 - Support line number offsets for inline stylesheets (from mckaymatt:line_num_offset__issue_15693); r=SimonSapin
<!-- Please describe your changes on the following line: -->
This allows accurate line numbers when reporting stylesheet errors.

@jdm This is going to require some effort to merge my changes with other recent changes to `ParserContext`. Because of that I would appreciate a quick sanity check before I put the time into performing the merge.
For example, should I store the `offset` as a u64, or should it be an Option?

---
<!-- 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 #15693 (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: 94397ff0b4fed138241760770ff2d230985bed8a

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 3ebb0c3b05f4529ae61351b2c9120f013d1d3339
2017-04-13 20:12:08 -05:00
Manish Goregaokar
c357d4646c servo: Merge #16316 - stylo: Make font base size computation threadsafe (from Manishearth:stylo-threadsafe); r=emilio
r=emilio https://bugzilla.mozilla.org/show_bug.cgi?id=1351200

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 22f72365127df85cf53f1fd89b955be092cedb70
2017-04-09 06:15:51 -05:00
Emilio Cobos Álvarez
5dd98d6e14 servo: Merge #16301 - Update string-cache (from emilio:atoms-up); r=Wafflespeanut
Source-Repo: https://github.com/servo/servo
Source-Revision: e0731215c0e712d792ea64a709c5178cb2cab165

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 8201e5beb53bff8058fca4f67cec8c87c410d430
2017-04-07 06:40:45 -05:00
Xidorn Quan
fb31179442 servo: Merge #16296 - Update cssparser in Cargo.toml (from upsuper:cssparser); r=heycam
This helps Stylo builds to actually use the new cssparser.

Source-Repo: https://github.com/servo/servo
Source-Revision: 535d0e421a3188473fc0c3cefca569c1276c4804

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : d72cbe5b073fd7a22eb291a86007734c7b54e42b
2017-04-07 01:10:25 -05:00
Bobby Holley
a90fa355f1 servo: Merge #16250 - Don't use a HashMap for pseudo-element styles (from bholley:pseudo_repr); r=emilio
Reviewed in https://bugzilla.mozilla.org/show_bug.cgi?id=1335708

@bors-servo try

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ef691daf9cd4a310e2931d442176203440caa87e
2017-04-03 18:04:34 -05:00
Pu Xingyu
6f26be4ea1 servo: Merge #16096 - Use Servo-specific pseudo elements for anonymous box and text (from stshine:die-modify-style-die); r=emilio
<!-- Please describe your changes on the following line: -->

Use some fake pseudo elements to style servo-specific boxes in servo. Also, Since for nested inline elements non-inheritable properties are properly stored in the inline context of an inline fragment, so get
rid of them on the style using empty pseudo to do cascading.

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

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

<!-- 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: 449758ef5dd399f7e1a5a9550dcdd614056cee9e

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : cd55c9aba7e57bf92d9c386fc8a17fd5fafe95b3
2017-04-01 06:02:08 -05:00
Fernando Jiménez Moreno
b7749d2ddf servo: Merge #16048 - Make image cache per-document rather than global (from ferjm:issue-15701-image-cache); r=jdm
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #15701.
- [X] These changes do not require new tests because there should already be WPTs for image loads.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 795b94666dc18a53ce2d75ef1a5279c76e04a3c7
2017-03-27 13:50:46 -07:00
Simon Sapin
33a9e6d050 servo: Merge #16014 - Per-process lock for CSSOM objects (from servo:style-ref); r=emilio
<!-- Please describe your changes on the following line: -->

Before this PR, every object reflected in CSSOM is in `Arc<RwLock<_>>` to enable safe (synchronized) mutable aliasing. Acquiring all these locks has significant cost during selector matching:

* https://bugzilla.mozilla.org/show_bug.cgi?id=1311469
* https://bugzilla.mozilla.org/show_bug.cgi?id=1335941
* https://bugzilla.mozilla.org/show_bug.cgi?id=1339703

This PR introduce a mechanism to protect many objects with the same `RwLock` that only needs to be acquired once.

In Stylo, there is one such lock per process (in a `lazy_static`), used for everything.

I non-Stylo Servo, I originally intended to have one such lock per document (for author-origin stylesheets, and one per process for user-agent and user sytlesheets since they’re shared across documents, and never mutated anyway). However I failed to have the same document-specific (or pipeline-specific) `Arc` reachable from both `Document` nodes and `LayoutThread`. Recursively following callers lead me to include this `Arc` in `UnprivilegedPipelineContent`, but that needs to be serializable. So there is a second process-wide lock.

This was previously #15998, closed accidentally.

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

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

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 851230e57ac8775707df5f0f103be5feac81fc41
2017-03-19 14:31:19 -07:00
Simon Sapin
fae5836560 servo: Merge #16029 - Remove never-sent ReflowWithNewlyLoadedWebFont message, fix #16026 (from servo:dead-code); r=nox
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #16026 (github issue number if applicable).

Source-Repo: https://github.com/servo/servo
Source-Revision: 058b93640f03a8ba434e54f891a4d51d79965c8c

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : bbc94cb1f679a587dd86c267b07258384a75fb14
2017-03-19 05:48:39 -07:00
Emilio Cobos Álvarez
b11ee5a0ec servo: Merge #15931 - style: Kill SharedStyleContext::default_computed_values (from emilio:die-defaultvalues-die); r=mbrubeck
This is on top of https://github.com/servo/servo/pull/15928.

Now that cascade() gets a Device ref, we can use the default computed values
from there to avoid propagating that state all over the place.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8c8edb8731dc01d254839d0922590fba72f278c6

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 4da0b4a162f5987954a443b93f411e461ef0187d
2017-03-13 16:50:26 -07:00
Boris Zbarsky
e9bbabc48b servo: Merge #15910 - Add support for skipping display fixup for pseudos (from bzbarsky:anon-box-nofixup); r=emilio
This is needed for https://bugzilla.mozilla.org/show_bug.cgi?id=1346481

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

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because will be tested on the Gecko side

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e00f4cdb3c062d8c71bf806a460cd1e7adb1057e
2017-03-13 10:47:05 -07:00
avinash
de24a7dde7 servo: Merge #15751 - first stab. added ServoUrl as a parameter to report_error(...) of Par… (from avinash-vijayaraghavan:testing-csserror); r=cbrewster
@jdm @SimonSapin
<!-- Please describe your changes on the following line: -->

1. Added ServoUrl as a parameter to report_error(...) of ParseErrorReporter trait.
2. I am not sure how to handle the case of impl ParseErrorReporter for CSSErrorReporter and MemoryHoleReporter, so have not made any changes  (other than adding ServoUrl arg) to report_error implementations for these.
3. In StdoutErrorReporter i have added the ServoUrl arg to the info! function,
4. I would like to know if i am on the correct path and clarify what else needs to be done.

---
<!-- 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
- [ ] `./mach test-tidy` does not report any errors
- [ ] These changes fix #15708 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because wanted to clarify before writing tests

<!-- 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: 0dbee36915abd926e61ca8571e11abf1f97ec830

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f16f3faea6a37ab983ca26ec8637c698a581b9e5
2017-03-06 07:11:51 -08:00
Fernando Jiménez Moreno
82f05b739f servo: Merge #15768 - Trigger reflow on document.elementsFromPoint (from ferjm:issue-15592-document-elementsFromPoint); r=emilio
As [suggested](https://github.com/servo/servo/issues/15592#issuecomment-280379805) by @jdm `Document::nodes_from_point` now triggers a reflow.

I added a new reftest that panics with `ERROR:servo: Tried to hit test without a DisplayList` if this patch is not applied.

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

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 021cbb5719229eeffbde8abde6a69508cf997f4f
2017-03-02 11:43:17 -08:00
Simon Sapin
f2b2959821 servo: Merge #15766 - Update cssparser (from servo:cssparserup); r=Manishearth
<!-- Please describe your changes on the following line: -->

https://github.com/servo/rust-cssparser/pull/123

In particular, `match_ignore_ascii_case` now supports the full `match` syntax.

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

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

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 0be96fc61d6e7a157d88ce68c85a94344dc46d8e
2017-02-28 08:22:27 -08:00
Simon Sapin
32fe1965f3 servo: Merge #15735 - Update cssparser to 0.11 (from servo:cssparserup); r=emilio
<!-- Please describe your changes on the following line: -->

<s>Depends on https://github.com/servo/rust-cssparser/pull/122.</s>

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

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

<!-- 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: 94e563e4d9292d7b19ce061e070cda358e822172

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b6f18aa92334574e0874e2ce8505c03f295c7d49
2017-02-26 02:19:32 -08:00
Josh Matthews
814d03f8f0 servo: Merge #14962 - Remove network requests from image cache thread (from jdm:image_script_load); r=Ms2ger,glennw,emilio
The design of initiating network requests from the image cache thread was simple, but it makes it difficult to implement image loading that conforms to the HTML specification. These changes make the implementation of HTMLImageElement responsible for network requests for `<img>` elements, and CSS-based images (background-image, bullets, etc.) are requested by the script thread to ensure that the layout thread does not attempt to retain unsafe pointers to DOM nodes during asynchronous operations.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 854d720b21dda68034233a25385c4f2564a4a2d5

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 845215025ea28e20cf0372075841172a4ed5206c
2017-02-22 17:50:48 -08:00
Anthony Ramine
12f49cb702 servo: Merge #15670 - Kill the plugins crate and its clippy support (from nox:die-plugins-die); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 14bbe9d8729dece2d80bb651bca1c2eda13d0429

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e37e34fddb2107725548a4af0b2bb1ba21d5d70e
2017-02-21 05:15:15 -08:00
Anthony Ramine
b20ac2cefb servo: Merge #15588 - Update serde to 0.9 (from servo:serde); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 7f3a75fa804c0be67f1567ca4a2449cebefa9616

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ee100538644baf6bfc695351c42ab95295d7264f
2017-02-18 12:10:26 -08:00
Anthony Ramine
fb18b1bc80 servo: Merge #15537 - Update ipc-channel to 0.6.3 (from servo:webrender); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 4a0b730cafd09fbd6e5cbc00727caef9b3cae315

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ff60d998ee96372d2dc811e5e73b730801c4f5c9
2017-02-16 03:53:49 -08:00
Simon Sapin
f79ed665d6 servo: Merge #15552 - Update cssparser to 0.9 (from servo:cssparserup); r=nox
<!-- Please describe your changes on the following line: -->

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

<!-- Either: -->
- [ ] 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 216a89f7766dd366c4afbeae42cf6e1fb4f67349

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 4fda145836ce21afef7e9733c770f937b94a34d2
2017-02-15 03:58:38 -08:00
Emilio Cobos Álvarez
2f276aa7e7 servo: Merge #15518 - style: Unbox a bunch of color properties (from emilio:color); r=SimonSapin
This builds on https://github.com/servo/rust-cssparser/pull/118.

Source-Repo: https://github.com/servo/servo
Source-Revision: 357bf3b85a1b548ba012f95a97853b34035c89ab

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : af82ad1d14fefde10323d92f1b7ad75768436aec
2017-02-14 11:43:16 -08:00
Bobby Holley
a890a85070 servo: Merge #15480 - Refactor style computation (from bholley:refactor_style_computation); r=emilio
See https://bugzilla.mozilla.org/show_bug.cgi?id=1338382

Source-Repo: https://github.com/servo/servo
Source-Revision: 0dd4afcf6dd3efb8e9f6e620e8e0dc7b135f8eee

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 092cfaab13e17d3d19e7107de593efc7692ad198
2017-02-10 10:34:57 -08:00
Bobby Holley
a9e7b86e87 servo: Merge #15462 - Accumulate parent elements that need selector bits set on the ThreadLocalStyleContext (from bholley:accumulate_selector_flags); r=emilio
Discussion and review in https://bugzilla.mozilla.org/show_bug.cgi?id=1336646

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c3bfb03915e31cb95db1b247edb24872eb1cfcf5
2017-02-08 19:33:27 -08:00
Bobby Holley
fd99deb665 servo: Merge #15447 - Move rust-selectors into servo/servo (from bholley:in_tree_selectors); r=SimonSapin
See the thread at [1].

[1] https://groups.google.com/d/msg/mozilla.dev.servo/iHykieVC5SM/Z31_n0agBAAJ

Source-Repo: https://github.com/servo/servo
Source-Revision: 8aec1ccdd22145df0ca7bb9456b40b3175fc5992

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b45d7b526718eb826d64906aa7514f1806a074ae
2017-02-08 16:06:06 -08:00
Anthony Ramine
adff1c356b servo: Merge #15440 - Update selectors to 0.17 (from KiChjang:selectors); r=KiChjang
Closes #15434.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : cff895ff34f92aaae2935c59f76fbb05ad3ee41e
2017-02-07 20:36:59 -08:00
Ms2ger
fe440ee348 servo: Merge #15154 - Update rustc to 1.16.0-nightly (7821a9b99 2017-01-23) (from servo:rustup); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 2ff42462154025b1aed97a825e3a171eaa156d9b
2017-01-24 06:11:40 -08:00
Boris Chiou
1bd7c8c532 servo: Merge #15150 - Update selectors to 0.15.1 (from BorisChiou:update_selectors); r=heycam
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

Source-Repo: https://github.com/servo/servo
Source-Revision: 0170138887005215b2b6e194d8765e33ff3a2657
2017-01-22 23:07:30 -08:00
Emilio Cobos Álvarez
6e5f74d476 servo: Merge #15053 - Return the intrinsic image dimension when the image is not rendered (from emilio:image-width); r=jdm
See individual commits for details.

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: ba59ee662752891f9f9b452c1f4b847fad9f64ac
2017-01-18 08:43:19 -08:00
Florian Merz
873f716138 servo: Merge #14291 - Position insertion point in input field with mouse (from fiji-flo:text-input-select); r=pcwalton
<!-- Please describe your changes on the following line: -->
Implements cursor positioning in input elements (text/password) via mouse. The related issue is #10083 but is only covered partly.
This PR does **not** cover:
* positioning in textarea elements via mouse
* text selection in input/textarea elements via mouse

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because I can't think of a way to test mouse interaction in the current test pipeline.

<!-- 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: 68a8e1bf2b57afe9bf6c4fb295bdc5dca099a9f6
2017-01-11 14:19:10 -08:00
Ms2ger
9c0a9101b5 servo: Merge #14942 - Fix some warnings (from servo:warnings); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: b5b5533d675db5e015f0596568c369c6cfc6ebb9
2017-01-10 08:00:43 -08:00
Bobby Holley
e445eee20a servo: Merge #14907 - Give up on hoisting ElementData into the frame and eliminate the concept of consuming styles (from bholley:eliminate_consume); r=emilio
Servo PR for the work in https://bugzilla.mozilla.org/show_bug.cgi?id=1325734

Source-Repo: https://github.com/servo/servo
Source-Revision: 2a2a89b7e401e72a4d8d6199c483d7ab09ff5c1e
2017-01-09 17:26:50 -08:00
Cameron McCormack
6fc96abe8f servo: Merge #14922 - Don't inherit all properties for eagerly computed pseudos if there are no matching rules (from heycam:pseudo-inherit); r=emilio
<!-- Please describe your changes on the following line: -->

When we resolve style for an eagerly computed pseudo-element, such as an anonymous box, if there are no matching rules we currently just clone the parent's style.  We should only do that if `inherit_all` is true, otherwise we should inherit only the inherited properties from the parent.

I was going to use `.unwrap_or_default()` on the result of looking up `precomputed_pseudo_element_decls`, but that didn't seem to work since that map lookup returns a reference and not a `Vec` itself.

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 https://bugzilla.mozilla.org/show_bug.cgi?id=1329121

<!-- Either: -->
- [ ] 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: ebd4a8b3ee1aab910ef714420a814912fec31e30
2017-01-09 02:46:09 -08:00
Simon Sapin
f5e9398e12 servo: Merge #14889 - Upgrade to rustc 1.16.0-nightly (6f1ae663e 2017-01-06) (from servo:rustup); r=jdm
<!-- Please describe your changes on the following line: -->

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

<!-- Either: -->
- [ ] 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: df895cb80c460594f220b6cf28aa5869464d05ec
2017-01-07 08:18:28 -08:00
Boris Zbarsky
d934174175 servo: Merge #14848 - Stop using global initial styles for stylo; the initial styles need to be per-document (from bzbarsky:initial-styles); r=bholley
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix https://bugzilla.mozilla.org/show_bug.cgi?id=1298588

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests on the servo side because behavior is unchanged.  Gecko-side tests probably exist.

<!-- 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: 143dfc879e609603839502d61bc064fba96cc80f
2017-01-04 21:01:38 -08:00
Bobby Holley
b830eea173 servo: Merge #14835 - Switch to crates.io for atomic_refcell (from bholley:external_atomic_refcell); r=Manishearth
r? @Manishearth

See #14828 for backstory.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1e927ca88bf6622d5a87db75863f76976a1df56c
2017-01-03 19:20:59 -08:00
Matt Brubeck
61cae9bbf7 servo: Merge #14518 - Fix inline layout of table cells impacted by rowspan (from mbrubeck:rowspan2); r=notriddle
This is part of the fix for #11297. This PR fixes the inline layout of table cells impacted by row-spanning cells from previous rows. A separate PR to follow will fix the table block size calculations to account for rowspan.

This PR doesn't yet include any test changes. If it doesn't cause any existing tests to pass, I will add a new test to it.

r? @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: 9d320d5a34fe9911266940eb1ce96204d345b678
2016-12-26 10:09:09 -08:00
Simon Sapin
b176e4d08e servo: Merge #14535 - Introduce a PropertyId enum and use it instead of strings of property names (from servo:property-id); r=mbrubeck
<!-- Please describe your changes on the following line: -->

* `LonghandId` and `ShorthandId` are C-like enums
* `Atom` is used for the name of custom properties.
* `PropertyDeclarationId` is the identifier for `PropertyDeclaration`,
  after parsing and shorthand expansion. (Longhand or custom property.)
* `PropertyId` represents any CSS property, e.g. in CSSOM.
  (Longhand, shorthand, or custom.)

CC @upsuper

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

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

<!-- 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: 6dd4b4822fa788694153ee61a04dd9a5dfb748ec
2016-12-10 01:16:26 -08:00
Bobby Holley
637f6af4d6 servo: Merge #14436 - Make restyle tracking more granular (from bholley:granular_restyle); r=emilio
The primary idea of this patch is to ditch the rigid enum of Previous/Current
styles, and replace it with a series of indicators for the various types of
work that needs to be performed (expanding snapshots, rematching, recascading,
and damage processing). This loses us a little bit of sanity checking (since
the up-to-date-ness of our style is no longer baked into the type system), but
gives us a lot more flexibility that we'll need going forward (especially when
we separate matching from cascading). We also eliminate get_styling_mode in
favor of a method on the traversal.

This patch does a few other things as ridealongs:
* Temporarily eliminates the handling for transfering ownership of styles to the
  frame. We'll need this again at some point, but for now it's causing too much
  complexity for a half-implemented feature.
* Ditches TRestyleDamage, which is no longer necessary post-crate-merge, and is
  a constant source of compilation failures from either needing to be imported
  or being unnecessarily imported (which varies between gecko and servo).
* Expands Snapshots for the traversal root, which was missing before.
* Fixes up the skip_root stuff to avoid visiting the skipped root.
* Unifies parallel traversal and avoids spawning for a single work item.
* Adds an explicit pre_traverse step do any pre-processing and determine whether
      we need to traverse at all.

Source-Repo: https://github.com/servo/servo
Source-Revision: b9a8ccd775c3192e3810a1730b1d0bc2b5c9dfb6
2016-12-09 17:01:05 -08:00
Michael Howell
d86b5f936b servo: Merge #12862 - added dom obj counting to decide sequential/parallel layout (#10110) (from servo:layout-new); r=emilio
This is a rebased version of #11713

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #10110 (github issue number if applicable).
- [X] There are no tests for these changes because it's an optimization with no visible behavioral changes

Source-Repo: https://github.com/servo/servo
Source-Revision: 0fe94a6724a42da8f02a60d1efe18fdfc96885ae
2016-12-07 14:32:20 -08:00
Martin Robinson
6017bd9b4b servo: Merge #14367 - Reimplement scrolling to fragments (from mrobinson:scroll-fragment-point); r=pcwalton
<!-- 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 #13736, #10753 (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. -->

This reimplemntation of the feature uses ScrollRootIds to scroll
particular scrollable areas of the page.

Fixes #13736.
Fixes #10753.

Source-Repo: https://github.com/servo/servo
Source-Revision: a0619688a638b322f17d2034e0309502af1a5e52
2016-12-06 14:42:00 -08:00
Ms2ger
96740ae66f servo: Merge #13996 - Implement synchronous about:blank loading (from servo:about-blank); r=Ms2ger,jdm,asajeffrey,nox
Based on initial work by jdm in <https://github.com/servo/servo/pull/8600>.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0d896a8d820e31037d536f133b5a8b8c43c2e1a2
2016-12-01 00:35:12 -08:00
Bobby Holley
62e95664e4 servo: Merge #14300 - stylo: Basic infrastructure for RestyleHint-driven traversal (from bholley:restyle_driven_traversal); r=emilio
Gecko Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=131701

(Don't review yet, will flag on the gecko bug when the time comes)

Source-Repo: https://github.com/servo/servo
Source-Revision: d98abaec20e624aa89a3abddf4cf2a6399951ef1
2016-11-25 09:00:44 -08:00
Simon Sapin
ce87984b66 servo: Merge #14320 - Update to selectors 0.15 (from servo:selectorsup); r=nox
<!-- Please describe your changes on the following line: -->

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: f37fc5ea5ef3335ebc0a754dce93872dd5fd85a1
2016-11-22 10:44:03 -06:00
Simon Sapin
c839f3f401 servo: Merge #14294 - Rename a few source files (from servo:renames); r=Wafflespeanut
<!-- Please describe your changes on the following line: -->

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 68b1d1d2860ac6c6e8c1c0dfe46af6790ca01dc8

--HG--
rename : servo/components/style/gecko/selector_impl.rs => servo/components/style/gecko/selector_parser.rs
rename : servo/components/style/selector_impl.rs => servo/components/style/selector_parser.rs
rename : servo/components/style/servo/selector_impl.rs => servo/components/style/servo/selector_parser.rs
rename : servo/components/style/selector_matching.rs => servo/components/style/stylist.rs
rename : servo/tests/unit/style/selector_matching.rs => servo/tests/unit/style/stylist.rs
2016-11-20 09:21:52 -06:00
Emilio Cobos Álvarez
9747761479 servo: Merge #14246 - Urlmageddon (from emilio:servo-url); r=SimonSapin
<!-- Please describe your changes on the following line: -->

Still needs a bunch of code in net to be converted in order to get more
advantage of this for images and stuff, but meanwhile this should help quite a
bit with #13778.

Still wanted to get this in.

r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 22aebdf5d41a3509cd6515ccf5edcdf33715a76d
2016-11-17 15:34:47 -06:00
Bobby Holley
484461d581 servo: Merge #14214 - Overhaul dirtiness handling in Servo to prepare for the new incremental restyle architecture (from bholley:dirtiness_overhaul); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: e4a27c4d16ee0e80ccd4ffd97a93c2b2a4f05391
2016-11-17 12:25:52 -06:00
Bobby Holley
bc86bdcc31 servo: Merge #14034 - incremental restyle: Use more concrete types in the style system (from bholley:more_concrete_types); r=emilio
We need to hang both snapshots and restyle damage off of ElementData, and so we need them to be concrete to avoid infecting ElementData with the trait hierarchy.

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

--HG--
rename : servo/resources/shaders/debug_color.fs.glsl => servo/components/style/servo/mod.rs
rename : servo/components/script_layout_interface/restyle_damage.rs => servo/components/style/servo/restyle_damage.rs
rename : servo/components/style/servo_selector_impl.rs => servo/components/style/servo/selector_impl.rs
2016-11-07 16:31:10 -06:00
Simon Sapin
9c206a6cf3 servo: Merge #13202 - Rule tree, v1 (from emilio:rule-tree); r=SimonSapin,Manishearth,emilio
<!-- Please describe your changes on the following line: -->
---

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

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

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

This patch introduces infrastructure for the rule tree, and constructs it.

We don't use it yet, nor have good heuristics for GC'ing it, but this should not
happen anymore once we store the rule node reference in the node.

I haven't messed up with memory orders because I want to do a try run with it,
then mess with them.

Source-Repo: https://github.com/servo/servo
Source-Revision: ac0475971bb24a63ca5d36d1d17e3036ddb99049
2016-11-05 17:11:24 -05:00