6284 Commits

Author SHA1 Message Date
Brad Werth
59bb5e96e7 servo: Merge #18024 - Rework MediaType to be an atom-based struct instead of an enum (from bradwerth:mediatypeAtom); r=emilio
MozReview-Commit-ID: 1Tfrs9PBkhA

<!-- Please describe your changes on the following line: -->
https://bugzilla.mozilla.org/show_bug.cgi?id=1371395
https://reviewboard.mozilla.org/r/163194/

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

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

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

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

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 16506c8cce172296f698807039dc36bbd759227e
2017-08-09 18:24:48 -05:00
Connor Brewster
90c5853da0 servo: Merge #17935 - Custom element upgrades (from cbrewster:ce_upgrades); 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: -->
- [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: a087fee4b4daa76c7e1677b0adae512fb6c87d04

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : bc88c8fe15f2b1838da65c9a5d0d1b007c036fe6
2017-08-09 17:22:28 -05:00
Simon Sapin
4331d2478e servo: Merge #18025 - Update to cssparser 0.19, count line numbers during tokenization (from servo:line-counting); r=jdm
https://github.com/servo/rust-cssparser/pull/177

Also simplify the `ParseErrorReporter` trait a bit.

Source-Repo: https://github.com/servo/servo
Source-Revision: 845131c425ebd50eea2fe5bf6005b6c304664242

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : d24cb7526225e8393bbc0a90206cba0199f95798
2017-08-09 16:16:33 -05:00
Bobby Holley
0863e1a0da servo: Merge #18026 - Continue cleaning up the traversal entry point machinery (from bholley:continue_traversal_cleanup); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1388623

Source-Repo: https://github.com/servo/servo
Source-Revision: 2b92a7e82d49b8fcead78f91abbabdedf2a569c1

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e28cb4237e8d72d6fb2b911d3d9a8112e66b65f7
2017-08-09 13:03:00 -05:00
Emilio Cobos Álvarez
5eb994379f servo: Merge #18022 - style: Only zoom absolute lengths (from emilio:text-zoom-woes); r=Manishearth
As silly as it may seem to specify font-sizes using viewport units, we weren't
handling zoom for them correctly either.

Bug: 1388588
Reviewed-by: Manishearth
MozReview-Commit-ID: 3Q6phYAu5CE
Source-Repo: https://github.com/servo/servo
Source-Revision: 1457f999099b74df8822750ff16628443402d408

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f0f0bcbbd8321608f814b01e2522c5f9e6b43de6
2017-08-09 11:58:12 -05:00
Fernando Jiménez Moreno
2efc656d5f servo: Merge #18021 - Update Trusted<T> documentation (from ferjm:trusted.doc); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 8074c6aaad06c11e85f6cf02404457c9b91a0092

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 59dec3d44ee512746526032815341fb654ada99e
2017-08-09 10:19:57 -05:00
Emilio Cobos Álvarez
cccbc46d0c servo: Merge #18019 - stylo: Devirtualize nsIAtom refcounting (from emilio:devirt-nsiatom); r=froydnj
Bug: 1362338
Reviewed-by: froydnj
MozReview-Commit-ID: 3q5rz3L8quQ
Source-Repo: https://github.com/servo/servo
Source-Revision: 77cb5371b38153d9c81cd469a59ea20a3405ba80

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f54fd90aaa4d32353eb34b23e12ef10e997e7047
2017-08-09 06:08:14 -05:00
Hiroyuki Ikezoe
635e1cd478 servo: Merge #18018 - Make list-style-type animatable (from hiikezoe:list-style-type-animatable); r=emilio
<!-- Please describe your changes on the following line: -->
https://bugzilla.mozilla.org/show_bug.cgi?id=1388652
---
- [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: f6aa17add96a49e7ee6746b24bc8f250380ea51e

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 78461360f93ffa7aa963551a54dff18280fd20c3
2017-08-09 03:45:56 -05:00
Boris Chiou
977c62dc0f servo: Merge #18016 - stylo: Don't apply the rotation if it cannot be normalized (from BorisChiou:stylo/transform/rotate); r=heycam
According to the spec, the computed value of transform is as specified, but
with relative lengths converted into absolute lengths, so in Gecko, we do
nothing while computing the value of rotate3d(), and do normalization in
ProcessRotate3D(). If the direction cannot be normalized, we treat it as
an identity matrix.

However, in Servo, we do normalization in to_computed_value(), and looks
like we are trying to normalize any kind of direction vectors, so according
to the spec, let's move the normalization into Fragment::transform_matrix(),
and return an identity matrix if we cannot normalize its direction vector.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [Bug 1388216](https://bugzilla.mozilla.org/show_bug.cgi?id=1388216).
- [X] These changes do not require tests because the added test is on Gecko side.

Source-Repo: https://github.com/servo/servo
Source-Revision: 89971910cf8ef5e24ae1542c93699b9ee7c4132c

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 0edf045ff54cceabb2ccca3a06445dbe6fbac6df
2017-08-08 22:33:03 -05:00
Glenn Watson
60b7df739c servo: Merge #18002 - Update WR (text optimizations, Linux subpixel positioning / rasterization) (from glennw:update-wr-linux-subpx); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 31582a487437f599005bb96bf94a1942b8e46d24

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 99de154135f2cea70619c0400e1c0e1fdb05f68c
2017-08-08 16:05:54 -05:00
Matt Brubeck
d47ade8089 servo: Merge #18004 - Clean up and simplify layout traversal code (from mbrubeck:layout-cleanup); r=pcwalton
Various refactorings of the code for traversing flow trees, including:

* Add a generic inorder traversal method
* Remove unused `traverse_postorder_absolute_flows` method
* Combine `compute_absolute_position` and `build_display_list` into a single traversal
* Move all generic traversal code into the `layout::traversal` module

And some changes to add documentation and more-accurate names:

* Fix spelling of `bottom_up_flow`
* Rename `compute_absolute_position` to `compute_stacking_relative_position`
* Change the mis-named `traverse_flow_tree_preorder` to `reflow`

---
- [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 are refactoring only

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : cc9af787c396dbdbf6b20eca349a55130d58f6d1
2017-08-08 14:04:23 -05:00
DarkDrek
fc6258913e servo: Merge #18003 - Move percentage to mod.rs (from DarkDrek:move_percentage); r=canaltinova
<!-- Please describe your changes on the following line: -->
The tests in the issue worked for me locally.

---
<!-- 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
- [X] These changes fix #18001 (github issue number if applicable).

<!-- Either: -->
- [X] These changes do not require tests because they are just 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: 955b62506042a330b7602a48d1d8899b0b6ae4af

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 770982d859cef03d90bf397293474bb8c2241c09
2017-08-08 13:01:00 -05:00
Emilio Cobos Álvarez
847873031f servo: Merge #18014 - stylo: We've had bitfield accessors for a while now (from emilio:bitfields); r=SimonSapin
This will allow my work in bug 1362338 to not break stylo.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3c644ea616ba3f614a00834327e3b0196daaf406

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 55ebf29c9d390a7140547cf6c06e9d3db77cf51d
2017-08-08 11:45:37 -05:00
Emilio Cobos Álvarez
3a65770a9f servo: Merge #18011 - style: Avoid hashing hashes (from emilio:less-dumb-hash); r=nox
These are the last instances I can find of us hashing the atoms hash.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 95f90abdf465762dd270efb1e700800425b49a1b
2017-08-08 10:06:32 -05:00
Fernando Jiménez Moreno
d58fe888c8 servo: Merge #17973 - stylo: ensure consistent order for custom properties computed values (from ferjm:ordered-map); r=heycam
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors

From https://bugzilla.mozilla.org/show_bug.cgi?id=1379577

Source-Repo: https://github.com/servo/servo
Source-Revision: 3ba4f784f84742a9e40c83b0c89d75bf87e9a828

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e608c345f49c3e333de52e0ed4ea83e69a1a4bfe
2017-08-08 08:29:14 -05:00
Manish Goregaokar
1cedde3ab8 servo: Merge #17984 - Remove style/testing feature (from Manishearth:rm-testing); r=SimonSapin
We added this because a year ago we had no reliable Gecko CI. This meant that Gecko-only properties needed to be tested *somehow*, and we solved that by making it so that for unit tests we compile all properties, not just the servo ones.

This was useful back then, but I don't think we need this anymore. We have reliable Gecko CI, and all the gecko-only stuff we tested is adequately handled by the properties-database parsing mochitests. It's a bit of annoying cruft that just complicates things; we probably should remove it.

r? @emilio or @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 32f835260cd3ea03a881f7a344a01f401c4db621

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 2b280c0e8d9940b424b893e18a46cdad65fa40ca
2017-08-08 07:35:29 -05:00
Emilio Cobos Álvarez
ebc13231a0 servo: Merge #17999 - style: Use an enumerated array for per-pseudo maps (from emilio:pseudo-enumerated-array); r=heycam
Source-Repo: https://github.com/servo/servo
Source-Revision: b6d46789f8d56dc90d6c6d44f857fc31afd23e51

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c34dfb952023358beeff79dd1d69e364b15d4e81
2017-08-08 06:32:12 -05:00
Emilio Cobos Álvarez
f5afe5c1a5 servo: Merge #18009 - stylo: Fix skip_root_and_item_display_fixup (from emilio:video-controls); r=heycam
The check isn't doing what the comment is saying.

XBL subtrees for video controls all have the
NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE flag, but not all of them are NAC
themselves, so we may incorrectly miss blockification.

Bug: 1366163
Reviewed-by: heycam
MozReview-Commit-ID: Oq3W258Lz2
Source-Repo: https://github.com/servo/servo
Source-Revision: 5ecedb562c66c1f436850704b6dc467a04f5a283

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 4ac2d18a9f0b660d8bc869a436d6e2e210d07302
2017-08-08 05:28:35 -05:00
Emilio Cobos Álvarez
ce167a2880 servo: Merge #17992 - style: Rework how precomputed pseudo stuff works, to avoid malloc/free churn (from emilio:rework-precomputed-pseudo); r=heycam
This showed up in a few profiles, and was an easy improvement.

Source-Repo: https://github.com/servo/servo
Source-Revision: 69f02f4f7f102a3fe3f82d5f000533a9277d233e

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : d71674e9235874fd965574ec5dd145efba19928f
2017-08-08 04:25:24 -05:00
Boris Chiou
624a54b3f3 servo: Merge #18007 - stylo: Fix the computation of the interpolation of FontWeight (from BorisChiou:stylo/animation/interpolation/font_weight); r=xidorn
Interpolated result of FontWeight is wrong because clamping code is incorrect.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [Bug 1387948](https://bugzilla.mozilla.org/show_bug.cgi?id=1387948).
- [X] These changes do not require tests because Gecko has tests

Source-Repo: https://github.com/servo/servo
Source-Revision: 48b7e6d27c6fbeea9b03acface18d163cb7eedbc

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b634dad43aa799dee556deb2d319ab88f6afe3fc
2017-08-08 01:32:06 -05:00
Hiroyuki Ikezoe
364262e43d servo: Merge #18005 - Don't clear animation only dirty bit during style recalc (from hiikezoe:dont-unset-animation-only-dirty-bit); r=birtles
Unless the element is in a display:none subtree.

After bug 1356141, the setup of animation-only dirty bit should have matched
to normal dirty bit's one (Though they don't match in post traversal due to
throttled animation flush). An unset_animation_only_dirty_descendants call
removed in this patch cleared dirty bits which are needed for post traversal if
there is a second animation-only traversal and if there is no need to restyle
for the second animation-only traversal.

The reftest in this patch fails without either this fix or the fix for bug
1367975.

See [Gecko bug 1384435 comment 12](https://bugzilla.mozilla.org/show_bug.cgi?id=1384435#c12)
for more detail what's going on at that time.

<!-- Please describe your changes on the following line: -->
https://bugzilla.mozilla.org/show_bug.cgi?id=1384435
---
<!-- 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

Source-Repo: https://github.com/servo/servo
Source-Revision: 689dadc75174eff892e1da9d072ee9f109ede925

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : d753d57193dc192e0eda506dce7925b9ce4816eb
2017-08-07 20:13:32 -05:00
Daisuke Akatsuka
9f072ee949 servo: Merge #17985 - Make list-style-type animatable (from dadaa:make-list-style-type-animatable); r=hiro
<!-- 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. The test is patch 3 in https://bugzilla.mozilla.org/show_bug.cgi?id=1382137

<!-- 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: 10c3e2f3ac781905b43b3529253ba1bc9926d9e8

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e7402194c82e4973541feec2da3f793e8f9d7171
2017-08-07 19:06:43 -05:00
Alan Jeffrey
35f3137f63 servo: Merge #17845 - Use CSS background-size property when computing the size of a paint worklet (from asajeffrey:script-paint-worklet-background-size); r=glennw
<!-- Please describe your changes on the following line: -->

The size of a paint worklet should be based on the background-size CSS property.

---
<!-- 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 #17676.
- [X] These changes do not require tests because the existing css-paint-api tests catch this.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 3fe8818e813fb80e9d6115846ac5719e3b8444bf
2017-08-07 16:54:35 -05:00
Emilio Cobos Álvarez
2fe95894f9 servo: Merge #17998 - style: Remove outdated comments (from emilio:outdated); r=SimonSapin
(And tidy a bit a misindented function while at it).

Source-Repo: https://github.com/servo/servo
Source-Revision: 82de4c49f378aed7c9497ba6995020fa79dbf942

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 74dc73100221a360a89ae5f9d589b1b9b0310db3
2017-08-07 13:21:42 -05:00
Alan Jeffrey
eb7b0ae53d servo: Merge #17855 - Implement getProperties for StylePropertyMapReadOnly (from asajeffrey:script-implement-more-stylepropertymaypreadonly); r=emilio
<!-- Please describe your changes on the following line: -->

Implement `getProperties` for `StylePropertyMapReadOnly`.

---
<!-- 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 #17579.
- [X] These changes do not require tests because the existing css-paint-api tests catch this (rather annoyingly, they all fail for different reasons, sigh)

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : fccd2072f1aaf4a55809ecb0f58b299d5dc40058
2017-08-07 12:29:55 -05:00
Boris Chiou
102da9013f servo: Merge #17783 - stylo: Bug 1374233 - Clamp interpolated values for properties which need to be restricted (from BorisChiou:stylo/animation/restrictions); r=nox
Some properties only accept non-negative values, or values greater than or equal to one. It is possible to produce an negative interpolated values while using negative timing functions, so we have to apply a restriction to these values to avoid getting invalid values.

For example, line-height must be non-negative, but the output progress of some timing functions (e,g. cubic-bezier(0.25, -2, 0.75, 1)) may be a negative value, so the interpolated result of line-height is also negative.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix Bug 1374233.
- [X] These changes do not require tests because we have tests in Gecko side already.

Source-Repo: https://github.com/servo/servo
Source-Revision: 016ea11cbaf7586db144be122581c5b110649aee

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 3562be334610046cb0edaad2fc231dd169a4aa0d
2017-08-07 11:05:17 -05:00
Emilio Cobos Álvarez
2fb6351050 servo: Merge #17995 - style: Don't pre-fill eager pseudo-maps (from emilio:less-pseudo-maps); r=SimonSapin
This was needed long time ago for Servo's layout. But I don't think there's any
reason for doing this now.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 7974c18af7dc3873105bbe2b89ff98ca3deb3b49
2017-08-07 09:42:16 -05:00
Emilio Cobos Álvarez
f333782a51 servo: Merge #17993 - style: Avoid hashing the precomputed hash atoms already have (from emilio:rehash); r=SimonSapin
This shaves a fair amount of time of stylist rebuild.

Most of the extra remaining overhead are memory allocations...

I'll try to get those sorted out next, though fixing that may overlap quite a
bit with the work Cameron is doing in bug 1382925.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 5c506863db85090b1edb2dcd4350a6913cf4cf21
2017-08-07 07:13:38 -05:00
Emilio Cobos Álvarez
288d392ecd servo: Merge #17991 - style: Avoid branching on the origin for each selector when inserting in the cascade data (from emilio:dumb-branches); r=heycam
This is on top of #17990, and it's intended to help with bug 1386045.

Source-Repo: https://github.com/servo/servo
Source-Revision: 806540cabdbca1799dd14bb1c67bd0c86b21f6a7

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 618224ec519ee0cb985d6e345c0ea1dedad3f5e8
2017-08-07 05:15:37 -05:00
Cameron McCormack
bbe6006497 servo: Merge #17990 - style: Invert storage of selector maps to key off origin first (from heycam:invert-selector-maps); r=emilio
<!-- Please describe your changes on the following line: -->

This will make it easier to avoid rebuilding all cascade levels when only a style sheet at a particular level changes.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : abc4bde3d17e73a101c2d17824384f752fbc3392
2017-08-07 04:03:24 -05:00
Nazım Can Altınova
be2cdc1022 servo: Merge #17986 - Implement ToAnimatedZero for MozLength (from canaltinova:moz-length); r=hiro
---
<!-- 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 1382168](https://bugzilla.mozilla.org/show_bug.cgi?id=1382168)

Source-Repo: https://github.com/servo/servo
Source-Revision: 74c2117b0a3c787298676b086106acda00a026c8

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : cfdbc99a46e9acd5d27bcfbd86e502b4ff7cc909
2017-08-07 03:08:09 -05:00
Bobby Holley
e4c12083df servo: Merge #17988 - Use a 1-entry smallvec in the selector maps (from bholley:smallvec_selectormap); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1363789

Source-Repo: https://github.com/servo/servo
Source-Revision: 19d862a984d11c9d4f97d50924ad2d5fdabaf7e9

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 32bf56e12ad3c261f410cc55c13e4d4e8b192b67
2017-08-07 02:00:02 -05:00
Cameron McCormack
be74891fba servo: Merge #17987 - style: Remove stray debugging println (from heycam:rm-println); r=upsuper
Left this in accidentally in #17981.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : cf2551eaeaa04f2f1d922a076c00c8b56e0eecfa
2017-08-07 00:52:22 -05:00
Emilio Cobos Álvarez
a8bd195a49 servo: Merge #17966 - style: Less ID revalidation selectors (from emilio:less-id-revalidation-stuff); r=bzbarsky
Avoid adding id selectors that are in the rule hash keyed by that ID to the list
of revalidation selectors.

This partially fixes bug 1369611 (we could look at the rule hash itself to avoid
inserting some more into the list of revalidation selectors).

Source-Repo: https://github.com/servo/servo
Source-Revision: 16704bbaaa9ec324972788f1a455639d4bbef0fd

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ed163c86dfd3c94d0cc11f564432d05c9fafadd9
2017-08-06 06:16:12 -05:00
Nathan Froyd
4213350301 servo: Merge #17974 - remove testing feature from stylo_tests (from froydnj:remove-testing-feature); r=SimonSapin
`stylo_tests` currently requires a separate version of the `style` crate, compiled with the `testing` feature, so a function testing the size of specified values can be accessed.  With a few tweaks, we can make the information needed for the test available to the `stylo_tests` crate directly, eliminating the need for a separately-compiled `style` crate.

This doesn't matter much for Servo itself (it might make CI times slightly faster?), but Gecko automation/development would like to run `stylo_tests`, and not having to compile two versions of the `style` crate (or have a dead, test-only function hanging around in the `style` crate) would be a win.

---

- [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: a6369149dc5344b2b80a12fca1c43cf99c94fdc9

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f23cc39c69a996f3d1023f4c00f8d564d4a3e97f
2017-08-05 09:58:26 -05:00
Cameron McCormack
cbc2dccd7d servo: Merge #17982 - style: Don't perform parent display-based style fixups on most pseudos (from heycam:parent-fixup); r=emilio
Reviewed by Emilio in https://bugzilla.mozilla.org/show_bug.cgi?id=1379865.

Source-Repo: https://github.com/servo/servo
Source-Revision: 586f84f5fea9a15c90dc5bc5415e2c5f5caa3ddb

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 2bc4a44859b0b32200c2816c0a4ffbfeb2eebcde
2017-08-05 05:52:59 -05:00
Cameron McCormack
b7431c3fa2 servo: Merge #17981 - style: Preserve font-family identifier sequence when serializing (from heycam:family-serialization); r=emilio
Reviewed by Emilio in https://bugzilla.mozilla.org/show_bug.cgi?id=1384398.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6cb790f8eb5024dba1d82ad5f7fb4bb912aeda46

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b09e6dc743ee10df53d9b25acc9a4a1125f2ccc7
2017-08-05 04:56:08 -05:00
Bobby Holley
a0324a142f servo: Merge #17980 - Introduce a new flag and use it to be more permissive about cousin sharing (from bholley:fix_initial_sharing); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1387116

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 4f81898b45e85740b61ae598a7f855708d8c0f2b
2017-08-05 03:23:55 -05:00
Cameron McCormack
557434233a servo: Merge #17979 - style: Revert font-family serialization commit #17972 (from heycam:font-family-revert); r=heycam
This reverts commit 4f525f6fa04195cdb93fc4394fbc0c78f2626bd7.

I accidentally included some unrelated changes in #17972, so backing out here.

Source-Repo: https://github.com/servo/servo
Source-Revision: 40315a6bf701dc8ade850f7521acf023966d1a09

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 96056d1c77c1afd7638026bab0a3a43346bdb131
2017-08-05 02:03:47 -05:00
Cameron McCormack
18350e6b56 servo: Merge #17972 - style: Allow styles to be computed ignoring existing element data (from heycam:ignore-existing); r=bholley
From https://bugzilla.mozilla.org/show_bug.cgi?id=1384824.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 0caf23c831e67a51eb6375817f45ef6ba4670f81
2017-08-04 21:33:59 -05:00
Martin Robinson
44467d0f2c servo: Merge #17923 - Fix fixed position items with parents with CSS clips (from mrobinson:fixed-position-css-clip); r=emilio
In order to properly handle CSS clipping, we need to keep track of what
the different kinds of clips that we have. On one hand, clipping due to
overflow rules should respect the containing block hierarchy, while CSS
clipping should respect the flow tree hierarchy. In order to represent
the complexity of items that are scrolled via one clip/scroll frame and
clipped by another we keep track of that status with a
ClipAndScrollInfo.

<!-- 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: -->
- [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: 49615284d0f45646da917f7dda22a1103d12974d

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b950eddcbaa45507365bf0e94255f9ae86258bd4
2017-08-04 11:17:24 -05:00
Xidorn Quan
a0319f6892 servo: Merge #17970 - Preserve unit in specified time value (from upsuper:time-unit); r=emilio
This fixes #15346.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7b299caf9b547412390512ff07a119a47d0cc1bf

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 71bdb7be12396254b953ebe22ff9735f2f1b8764
2017-08-04 05:35:41 -05:00
Xidorn Quan
9d92667c39 servo: Merge #17971 - Always set mBgPos for LineDirection::Vertical (from upsuper:linear-gradient); r=canaltinova
This fixes [bug 1385469](https://bugzilla.mozilla.org/show_bug.cgi?id=1385469).

Source-Repo: https://github.com/servo/servo
Source-Revision: 187254bf26fc9974c65d061a146bbbbfb484fbd3

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 3ac79946382f864940d986c11e184aaf4190c203
2017-08-04 04:31:19 -05:00
Josh Matthews
a40c6baae5 servo: Merge #17967 - CSS parsing optimizations (from jdm:parsefun); r=SimonSapin
These address some small inefficiencies that showed up while profiling the myspace talos test.

---
- [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: aef95cf195d8d74595b7b266472bc34634c49120

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e4430604b572fe5a92b660e05768067e6afb18e5
2017-08-04 02:10:05 -05:00
Daisuke Akatsuka
3b1a2364ee servo: Merge #17964 - Make 'image-orientation' and 'paint-order' animatable (from dadaa:bug1386963); r=hiro
<!-- 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: -->
- [ ] There are tests for these changes. The test code is patch 3 in https://bugzilla.mozilla.org/show_bug.cgi?id=1386963

<!-- 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: 50c9797ddd7b206c96f9436c634d915efe4acc17

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 596da466caf6c5be55db82c0734ee90398f933ec
2017-08-03 18:52:13 -05:00
Manish Goregaokar
9f5c1f2e4b servo: Merge #17969 - Update stylo code to work on nightly (from Manishearth:rustup); r=emilio
r=emilio https://bugzilla.mozilla.org/show_bug.cgi?id=1386887

Source-Repo: https://github.com/servo/servo
Source-Revision: 7cee7d7fcc4194e410fa8a308a77d37ac452778a

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : d9c874ebcfa1e64c86265d0ed2e5cff65d9133be
2017-08-03 16:27:12 -05:00
Emilio Cobos Álvarez
cd07b54187 servo: Merge #17968 - style: Prevent cousin sharing if we haven't restyled the parents (from emilio:no-sharing-if-not-restyled); r=bzbarsky
This "fixes" bug 1381821 by disabling the optimization in the cases we can't
prove this is correct. Bug 1387116 tracks fixing the optimization to apply more
broadly.

Bug: 1381821
Reviewed-by: bz
MozReview-Commit-ID: COKdmHHokGx
Source-Repo: https://github.com/servo/servo
Source-Revision: a59a8f835531b38cfe6e4cf25d6a36d1e8b741b3

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : d237685ba182c1723d58f4d91908f7012fd79b49
2017-08-03 11:35:17 -05:00
Emilio Cobos Álvarez
4e43d96c81 servo: Merge #17965 - stylo: Avoid recreating the stylist in RebuildAllStyleData (from emilio:rebuild-not); r=heycam
Bug: 1386602
Reviewed-by: heycam
MozReview-Commit-ID: 31G9BLgqEmm
Source-Repo: https://github.com/servo/servo
Source-Revision: 8b5a356c57e6ad9b2d40936760674f96e40e9b1b

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 66885c8a76c477dda09fa4e67dbe65bdf3384a3a
2017-08-03 09:36:21 -05:00
Martin Robinson
35899af0c6 servo: Merge #17960 - Fix warning in scroll root id assignment to TableColGroupFlow (from mrobinson:fix-warning-for-table-colgroup); r=emilio
The traversal currently expects every flow to have a scroll root id
assigned, even if it doesn't produce any display items. This change
fixes the error that arises from this situation.

<!-- 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 do not change behavior, just fix a runtime warning.

<!-- 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: 46f6e68bad7aafc380976bfddd9e76bfaa86229e

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : de75e85a605eaa517b1a88afed60a541df8bba3f
2017-08-03 07:51:22 -05:00
Ting-Yu Lin
9f193a0a69 servo: Merge #17958 - Pseudo classes chrome privilege (bug 1381851) (from aethanyc:pseudo-classes-chrome-privilege-bug1381851); r=heycam
This is reviewed in https://bugzilla.mozilla.org/show_bug.cgi?id=1381851

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : d6120073c92edf3ae9827dc6d1699b25854fa50f
2017-08-03 06:56:01 -05:00