Commit Graph

28 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
d4b31b7731 servo: Merge #18391 - style: Stop the cascade when only reset structs change (from emilio:cascade-stoph); r=heycam
From https://bugzilla.mozilla.org/show_bug.cgi?id=1395227

Source-Repo: https://github.com/servo/servo
Source-Revision: 9802214aba97287afa729c7efcac5e44316dc591
2017-09-06 07:55:08 -05:00
Simon Sapin
0477f46573 servo: Merge #18126 - geckolib: Fix some warnings (treated as error) new in Rust Nigthly (from servo:glow-fox); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: cc86ca2bcdec5e89ee5279085ea38db63ef41af9
2017-08-17 11:05:32 -05:00
Simon Sapin
6ea0512630 servo: Merge #18046 - Upgrade to rustc 1.21.0-nightly (13d94d5fa 2017-08-10) (from servo:rustup); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 7d9b82b9efa7b10a2e34d93df5ac535d99518f7a
2017-08-15 07:31:04 -05:00
Emilio Cobos Álvarez
3d3d982b74 servo: Merge #18083 - style: Simplify the ruby text adjustment (from emilio:ruby-text); r=upsuper
StyleAdjuster keeps a reference to the parent style, so no need to get it as an
argument.

Source-Repo: https://github.com/servo/servo
Source-Revision: fff50acd8188865c50a12ba6f623d14f94761919
2017-08-15 01:08:56 -05:00
Xidorn Quan
21787b21b4 servo: Merge #18075 - Apply line break suppression to text when in any ruby (from upsuper:text-in-ruby); r=Manishearth
This should fix [bug 1388904](https://bugzilla.mozilla.org/show_bug.cgi?id=1388904).

Source-Repo: https://github.com/servo/servo
Source-Revision: 6f5e7639347766b7c36919ee9b8cd528dff8f58c
2017-08-14 19:10:06 -05:00
Boris Chiou
9278b63804 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
2017-08-07 11:05:17 -05:00
Emilio Cobos Álvarez
06cba97206 servo: Merge #17959 - style: Move nsStyleContext::mParent to GeckoStyleContext (from emilio:no-moar-parent); r=heycam
Unfortunately this means that we lose the NS_STYLE_INHERIT_BIT optimization to
avoid posting changes if we had not requested the struct. In practice, I'm not
sure this optimization matters much, though, and we already compare all the
structs anyway.

We _could_ keep a weak parent pointer from the text style if needed, given we're
going to keep alive the text style at least until the parent style context goes
away, so should be safe, but I don't think the extra churn is worth it, to be
honest. Happy to do so as part of bug 1368290 if you think it's worth it.

Bug: 1385896
Reviewed-by: heycam
MozReview-Commit-ID: ka6tNwf4Ke
Source-Repo: https://github.com/servo/servo
Source-Revision: 452268eca9862e0e150ce3bf828a157263d33341
2017-08-03 05:50:18 -05:00
Emilio Cobos Álvarez
62bbf05fcf servo: Merge #17924 - stylo: Get rid of GetParentAllowServo (from emilio:die-getparentallowservo-die); r=heycam
Bug: 1384542
Source-Repo: https://github.com/servo/servo
Source-Revision: b35791f86fed329046dc54776f1ba73565e0c31f
2017-07-31 05:27:56 -05:00
Boris Zbarsky
a3492ab819 servo: Merge #17875 - Add support for having two separate parent styles. Fixes gecko bug 1382806 (from bzbarsky:first-line-dual-inheritance); r=emilio
<!-- Please describe your changes on the following line: -->

This is needed for ::first-line support.  See https://drafts.csswg.org/css-pseudo-4/#first-line-inheritance

This PR doesn't quite implement what the CSS spec draft says right now.  It implements what Gecko does, which is what an earlier draft said.

---
<!-- 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=1382806

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because servo doesn't support ::first-line yet

<!-- 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: 020188fdd77f0f0f2848e21eb9bcc28362d98506
2017-07-26 15:21:37 -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
Emilio Cobos Álvarez
2b0be17f61 servo: Merge #17825 - style: Move the RELEVANT_LINK_VISITED flag to servo (from emilio:is-visited); r=manishearth
Bug: 1383307
Reviewed-by: Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 14b12eeb3b7ff110dbdb1f9672c2cbfad4133ae0
2017-07-23 04:15:39 -07:00
Emilio Cobos Álvarez
0a34f79727 servo: Merge #17819 - stylo: Set the NS_STYLE_IS_TEXT_COMBINED flag (from emilio:text-combined); r=xidorn
This should fix at least
layout/reftests/writing-mode/1135361-ruby-justify-1.html

Source-Repo: https://github.com/servo/servo
Source-Revision: e4ac067a9b4db4f8bee7cf0eebaabd807dd8627b
2017-07-21 17:30:05 -07:00
Emilio Cobos Álvarez
a2ef51ccea servo: Merge #17817 - style: Move a conditional import to where it's used (from emilio:always-be-removing-the-ugly); r=stshine
To avoid yet another cfg().

Source-Repo: https://github.com/servo/servo
Source-Revision: d1c4d7a6af44de97f86205cb1a19408492f17833
2017-07-21 13:31:13 -07:00
Emilio Cobos Álvarez
e6d7ff0e29 servo: Merge #17788 - style: Cleanup the cascade a good bit (from emilio:clean-cascade); r=heycam
Was about the time.

Source-Repo: https://github.com/servo/servo
Source-Revision: f594ae58a68479af958989aae369a2bfee2b2246
2017-07-20 02:36:15 -07:00
Emilio Cobos Álvarez
cae5c53a3f servo: Merge #17773 - style: Cleanup post #17767 (from emilio:removing-the-ugly); r=manishearth
Reviewed in https://bugzilla.mozilla.org/show_bug.cgi?id=1381764

Source-Repo: https://github.com/servo/servo
Source-Revision: 66e06578ee68b98c94029fba3cfc3ae7d3782044
2017-07-18 09:23:03 -07:00
Xidorn Quan
2344d8e2dd servo: Merge #17764 - Adjust display value for ::-moz-fieldset-content when parent is flex/grid (from upsuper:fieldset-flexgrid); r=emilio,heycam
This is the Servo side change for [bug 1379901](https://bugzilla.mozilla.org/show_bug.cgi?id=1379901).

Source-Repo: https://github.com/servo/servo
Source-Revision: 1b6d29e31996c87218352b825aa93e01909a6a24
2017-07-17 21:16:26 -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
Xidorn Quan
38e7a1a821 servo: Merge #17722 - Implement style adjustments for ruby (from upsuper:ruby-fixup); r=heycam,bz
This is the Servo side changes of [bug 1378287](https://bugzilla.mozilla.org/show_bug.cgi?id=1378287) and [bug 1364274](https://bugzilla.mozilla.org/show_bug.cgi?id=1364274).

Source-Repo: https://github.com/servo/servo
Source-Revision: 18c5ba108d6d2afa00af1d267c03a900c434b87d
2017-07-13 20:02:36 -07:00
Xidorn Quan
bda898671b servo: Merge #17430 - Store font-weight as integer directly (from upsuper:font-weight-int); r=nox
It doesn't make much sense to store `font-weight` as separate enums, especially given that we would need to support (somehow) arbitrary font weight value when we implement CSS Fonts Level 4.

This PR refactors the `font-weight` a bit to make it store as `u16` directly.

Source-Repo: https://github.com/servo/servo
Source-Revision: f11a922760a08ffb956607d9ab447f8f2a319a25
2017-07-06 16:18:36 -07:00
Emilio Cobos Álvarez
600467e348 servo: Merge #17447 - style: Be more strict when setting the root font size (from emilio:root-disconnected-subtree); r=heycam,Manishearth
Before this commit, we assumed that if the element had no parent element, it was
the root of the document, which is plain false, since we can arrive there from,
let's say, getComputedStyle on a detached node.

Bug: 1374062
Reviewed-By: heycam
MozReview-Commit-ID: 65DxdzXgd0J
Source-Repo: https://github.com/servo/servo
Source-Revision: 7d785e75cd9c1b3b74d708bcc9d6ff10a40ae2f6
2017-06-22 04:17:04 -07:00
Cameron McCormack
052bd6e767 servo: Merge #17351 - style: Tweak an import (from heycam:nit); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 4d54f2c9bbc700f06cfef7d85df5f43bdbcf085d
2017-06-15 22:50:53 -07:00
Cameron McCormack
ec406b9a98 servo: Merge #17350 - style: Adjust display:contents to display:inline for NAC (including ::before/::after) (from heycam:gencon-contents); r=emilio
From https://bugzilla.mozilla.org/show_bug.cgi?id=1354879.

Source-Repo: https://github.com/servo/servo
Source-Revision: e3a52536b650f4aeb951b474936a0b67821f112e
2017-06-15 18:58:01 -07:00
Boris Zbarsky
49dfa072ec servo: Merge #17026 - mathvariant attributes should affect computed font style and weight in stylo (from bzbarsky:mathvariant); r=Manishearth
<!-- 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 https://bugzilla.mozilla.org/show_bug.cgi?id=1367301

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because this is stylo-only and Gecko tests it.

<!-- 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: 334d9088b8c843829c47f649a0fe3e5e1a229d2b
2017-05-25 02:07:08 -05:00
Emilio Cobos Álvarez
0032eb6e74 servo: Merge #16794 - style: Adjust text-align properly for -moz- values in tables (from emilio:table-text-fixup); r=Manishearth
Fixes bug 1363576.

Source-Repo: https://github.com/servo/servo
Source-Revision: 15f3db5abf5adbf4c85b66b877b8ffa3aaeea666
2017-05-10 17:24:57 -05:00
Emilio Cobos Álvarez
56cc732ea6 servo: Merge #16663 - style: Add a StyleBuilder struct to avoid refcount and atomic CAS during the cascade (from emilio:style-builder); r=bholley
This should fix most of the complaints that caused
https://bugzilla.mozilla.org/show_bug.cgi?id=1360889 to be open, and also fix a
bunch of other FIXMEs across the style system.

Source-Repo: https://github.com/servo/servo
Source-Revision: bf0bf4f4b4ff7eb79c5d91fb725deefbcd063185
2017-04-30 18:31:41 -05:00
Emilio Cobos Álvarez
3e29671b45 servo: Merge #16648 - Bug 1360508: Adjust text-combine properly. r=jryans (from emilio:combine); r=jryans
Text style is always resolved via ServoStyleSet::ResolveStyleForText, either
from the frame constructor initially, or from
ServoRestyleManager::ProcessPostTraversalForText.

So text-only adjustments should go there instead. Since that doesn't call into
cascade(), all the code that passes `pseudo` there is dead code we can remove.

MozReview-Commit-ID: jpbBYpLlUL
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>

Source-Repo: https://github.com/servo/servo
Source-Revision: bc690d67ebe1c6136a798099d176c6de7b0a0414
2017-04-28 10:25:21 -05:00
J. Ryan Stinnett
2f33cd2039 servo: Merge #16634 - Stylo: Text combine upright style adjustment (from jryans:text-combine-upright-fixup); r=heycam
Ports the text-combine-upright writing mode adjustment to Servo.

Reviewed in https://bugzilla.mozilla.org/show_bug.cgi?id=1359603.

Source-Repo: https://github.com/servo/servo
Source-Revision: ab3f5b0d9f72d32d500170eaf5e45f2708081dc3
2017-04-27 11:42:43 -05:00
Emilio Cobos Álvarez
191c3f7dbc servo: Merge #16608 - style: Move all the fixup code into a StyleAdjuster struct (from emilio:refactor-fixup); r=jryans
This will allow reusing it from text styles, which we need for some corner
cases, like text-align: -moz-center and similar stuff.

Source-Repo: https://github.com/servo/servo
Source-Revision: 09f0ff74811405eb95200ee78d936b4378de65fb
2017-04-25 20:31:00 -05:00