Commit Graph

34 Commits

Author SHA1 Message Date
Jonathan Watt
bd03a860aa Bug 1436048: Use user defined types for font-stretch / font-style. r=jfkthame,jwatt
Co-authored-by: Emilio Cobos Álvarez <emilio@crisal.io>

MozReview-Commit-ID: 7ONYtICeAqb
2018-04-23 18:22:05 +02:00
Emilio Cobos Álvarez
72c7312d1a Bug 1455358: Use a generic type in preparation to fix animation. r=xidorn
Apart from a bit more code reuse.

MozReview-Commit-ID: 2BNOK6v30lX
2018-04-23 16:56:56 +02:00
Emilio Cobos Álvarez
359e56062e Bug 1455358: Update font-style to css-fonts-4. r=xidorn
This patch is meant to be squashed with the following two. This is an initial
strawman implementation that I wrote to unblock jwatt, cleanups and fixes
follow.

Note that this is style pretty much untested until jwatt's patches are ready,
since Gecko doesn't understand the angle at all, but I expect the fixes to be
minor.

MozReview-Commit-ID: 1Nq5DyCjaZe
2018-04-23 16:56:56 +02:00
Emilio Cobos Álvarez
062c72f2a1 Bug 1454883: Update font-stretch to css-fonts-4. r=xidorn
These won't "just work", pending changes from bug 1436048 to use a floating
point representation for those.

MozReview-Commit-ID: Bi5iTdFreMA
2018-04-23 16:56:55 +02:00
Emilio Cobos Álvarez
da9635e9a0 Bug 1454596: Update font-weight property and descriptor to css-fonts-4. r=xidorn
Need to change the tests still, but that should be trivial.

MozReview-Commit-ID: 27aS2UrgXjs
2018-04-19 12:49:37 +02:00
Jonathan Watt
9243470005 Bug 1436048 part 1 - Use a user defined type for font weight everywhere. r=jfkthame,emilio 2018-04-13 20:34:37 +01:00
Bobby Holley
196912c9bf servo: Merge #20603 - Run rustfmt on selectors, servo_arc, and style (from bholley:rustfmt_style); r=Manishearth
Now that rustfmt is getting close to stable, and work on the style system has died down a bit, it seemed like an opportune time to auto-format the style crates.

The first commit disables import reordering, since tidy and rustfmt don't currently agree on the correct ordering. The second commit does a bunch of manual fixups such that the output of rustfmt passes tidy. The third commit runs rustfmt on the three aforementioned crate.

There are a few dozen warnings in the style crate about lines longer than 100 characters. It would be good to fix these, but I don't have time for that now.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9a900ef019cd643bff961d7b20db6da69f3edb29
2018-04-10 21:00:11 -04:00
Jonathan Watt
1f3c75a86e servo: Merge #20572 - Stop using NS_STYLE_FONT_WEIGHT_NORMAL and NS_STYLE_FONT_WEIGHT_BOLD (from jwatt:master); r=emilio
The Servo side of the changes for
https://bugzilla.mozilla.org/show_bug.cgi?id=1452040

- [X] `./mach build -d` does not report any errors
- [X] `./mach build-geckolib` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

- [ ] There are tests for these changes OR
- [X] These changes do not require tests because it's a trivial change to internal constants

Source-Repo: https://github.com/servo/servo
Source-Revision: a0bdba73e3f0dd52a74f75bc8191f52c3af2a62c
2018-04-06 09:22:33 -04:00
Xidorn Quan
83d4cc8a68 servo: Merge #20541 - Use Servo data to back @counter-style rule in Gecko (from upsuper:counter-style); r=emilio
This is the Servo side changes of [bug 1449068](https://bugzilla.mozilla.org/show_bug.cgi?id=1449068).

Source-Repo: https://github.com/servo/servo
Source-Revision: 8c35be94c2910a50bbb7106449bab4e231697aea
2018-04-04 19:34:06 -04:00
Xidorn Quan
5cd2b45919 servo: Merge #20519 - Use Servo data to back @font-face rule in Gecko (from upsuper:font-face-rule); r=emilio
This is the Servo side change of [bug 1449087](https://bugzilla.mozilla.org/show_bug.cgi?id=1449087).

Source-Repo: https://github.com/servo/servo
Source-Revision: 34b13dac66b48790003ccd069f4636f1def77e7d
2018-04-03 19:33:59 -04:00
OJ Kwon
24c1441304 servo: Merge #20368 - refactor(counter_style): parse int via parse_non_negative (from kwonoj:refactor-counter-style); r=emilio
<!-- Please describe your changes on the following line: -->
Relates to #20332.

This PR intends to refactor `counter_style` to use `parse_non_negative` where applicable, mostly which uses `expect_integer` currently. Change still grabs value from parsed result then assign it into each struct as needed and does not change definition of struct (i.e `AdditiveTuple`) itself.

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____
- This PR has locally built & ran unit test on macOS.

<!-- 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: 4e26212d5e661b21392f59bdbe5518d047fe0531
2018-03-21 18:18:55 -04:00
Nupur Baghel
554ef2532e servo: Merge #20304 - CounterBound::Integer made to store an Integer (from nupurbaghel:counterbound); r=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
- [x] These changes fix #20197

<!-- Either: -->
- [x] These changes do not require tests because they involve datatype change of already existing enum CounterBound

<!-- 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: 6d06d1bbcc99af5195c538b339bf4e92beaa412f
2018-03-19 04:25:56 -04:00
Anthony Ramine
4c8edb235e servo: Merge #20196 - Derive some more ToCss implementations (from servo:derive-all-the-things); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 266258331ee16fe90a96dffa9ec78bbe4d3e3f9f
2018-03-05 06:03:53 -05:00
Jonathan Kew
144a00eedc servo: Merge #20191 - style: Make 'font' shorthand reset 'font-variation-settings' property (from jfkthame:font-shorthand-resets-variation-settings); r=emilio
As required by the spec: https://drafts.csswg.org/css-fonts-4/#font-prop

See https://bugzilla.mozilla.org/show_bug.cgi?id=1435983

Basically, make font-variation-settings work in the same way as font-feature-settings
already does.

- [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).

- [ ] There are tests for these changes OR
- [X] These changes do not require tests because font-variation-settings isn't supported in servo; it is implemented here for gecko/stylo, and will be tested by mozilla-central mochitests.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1783e41f34c75bc7dfb158b4aa2628fd945eceb3
2018-03-04 11:50:56 -05:00
Anthony Ramine
8fa887416b servo: Merge #20178 - Derive ToCss for some more stuff (from servo:derive-all-the-things); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 0c9be9f77630c30120a72e50f0865b8b6e55db00
2018-03-03 10:17:42 -05:00
Anthony Ramine
8b4e0b9d7b servo: Merge #20047 - Move some font code around (from servo:derive-all-the-things); r=emilio
The only notable change is that KeywordInfo is now generic.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0baab064df950cff65ce76dc5f134e2cd4c7413b
2018-02-15 06:26:02 -05:00
Xidorn Quan
54554ed0ed servo: Merge #20042 - Integrate font-variation-settings descriptor with stylo (from upsuper:font-variation-desc); r=emilio
This is the Servo side change for [bug 1435984](https://bugzilla.mozilla.org/show_bug.cgi?id=1435984).

Source-Repo: https://github.com/servo/servo
Source-Revision: 27cd4f7b5387f188570a355c58bf87b9a029d76e
2018-02-13 19:16:34 -05:00
Emilio Cobos Álvarez
e9bb176ad6 servo: Merge #19918 - style: Refactor font-feature-settings and font-variation-settings (from emilio:font-stuff-is-a-mess); r=nox
This fixes all known issues with serialization and parsing of these two
properties, and in particular calc handling and such:

  https://bugzilla.mozilla.org/show_bug.cgi?id=1434692
  https://bugzilla.mozilla.org/show_bug.cgi?id=1434724

Also does a fair amount of cleanup and all that, which was needed, this code
was a mess.

There are further cleanups that can be done, like renaming the
font-variation-settings animation stuff.

Source-Repo: https://github.com/servo/servo
Source-Revision: dcd13b857cc5085dcec5047433637af3d9013920
2018-02-01 06:45:20 -06:00
Bobby Holley
49c5f801a7 servo: Merge #19841 - stylo: Avoid separate monomorphizations of CSS serialization for utf-8 and utf-16 (from bholley:single_tocss); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1431268

Source-Repo: https://github.com/servo/servo
Source-Revision: 6f543d3de1658e3cacf7fc2caed7b9bda69e1d23
2018-01-22 16:58:30 -06:00
Emilio Cobos Álvarez
034c3d82a4 servo: Merge #19500 - style: Make all keywords CamelCase for consistency (from emilio:camel-case-all-the-way); r=nox
style: Make all keywords CamelCase for consistency.

Source-Repo: https://github.com/servo/servo
Source-Revision: b24778202a4d886a990ee493adfb6851ac4be40c
2017-12-05 19:35:25 -06:00
CYBAI
9a4963f721 servo: Merge #19366 - style: Move font-family outside of mako (from CYBAI:font-family-out-of-mako); r=emilio
This is a sub-PR of #19015
Besides, this is the last PR for `font.mako.rs`! 🎉
r? emilio

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #19355
- [x] These changes do not require tests

Source-Repo: https://github.com/servo/servo
Source-Revision: 8f61fde3907f2dde3e697791ccfb9a4d86d1a48c
2017-11-25 13:06:31 -06:00
Nicholas Nethercote
0e513549c9 servo: Merge #18736 - Remove nsTFixedString<T> (from nnethercote:bug-1403506); r=erahm,mystor
This is for https://bugzilla.mozilla.org/show_bug.cgi?id=1403506, which is r=erahm,mystor.

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because they are tested in Gecko.

<!-- 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: c0f404999c5fe40cba3a1d5d231a922e922a55b3
2017-10-03 23:21:18 -05: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
Nazım Can Altınova
4686fe711f servo: Merge #17517 - stylo: Implement font-language-override descriptor for @font-face rule (from canaltinova:font-lang-override); r=SimonSapin
Generally  we use computed values for `@font-face` rule descriptors but that descriptor is a bit different than the others in gecko side. It accepts strings instead of unsigned integer(which is computed value of this property). So we had to use SpecifiedValue for that in here.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 2843eb5ddf0c8170854eb420774bd5a34bc6710d
2017-06-27 11:35:33 -07:00
Fernando Jiménez Moreno
a470b7bda4 servo: Merge #17343 - stylo: make font-weight descriptor in @font-face preserve keyword values (from ferjm:bug1355368.fontweight.keyword); r=upsuper
- [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=1355368

Source-Repo: https://github.com/servo/servo
Source-Revision: 3e698340ac704921cb7bd98e623c8eaf349dfff4
2017-06-21 10:40:35 -07:00
Brad Werth
d7542fc3ec servo: Merge #17236 - Define Gecko CounterStyle and FontFaceRule clone functions (from bradwerth:cloneRulesBetter); r=heycam
<!-- Please describe your changes on the following line: -->
Defines and calls Gecko CounterStyle and FontFaceRule clone functions, protected by cfg directives to only apply in gecko builds.

---
<!-- 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: 0dc3fbfce3263cb8aabbed8c5f9b856a12e59460
2017-06-08 13:23:14 -07:00
Manish Goregaokar
79b7d38c5a servo: Merge #17058 - stylo: Support remaning longhands (from Manishearth:stylo-randomprops); r=emilio
r=xidorn https://bugzilla.mozilla.org/show_bug.cgi?id=1367275

Source-Repo: https://github.com/servo/servo
Source-Revision: 369d5cf1242632efeb56278e18a5ea25a3c933a5
2017-05-27 13:37:59 -05:00
Fernando Jiménez Moreno
1cf5aaca99 servo: Merge #16931 - Support font-feature-settings as a @font-face descriptor (from nox:font-feature-descriptor); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 61d64daf4c5831e5e4428f76faaea874d8d5f4cd
2017-05-19 07:49:27 -05:00
Xidorn Quan
40e0a1f5fe servo: Merge #16888 - Implement @counter-style for stylo (from upsuper:bug1328319); r=heycam,Manishearth,SimonSapin
Servo side change of [bug 1328319](https://bugzilla.mozilla.org/show_bug.cgi?id=1328319).

Source-Repo: https://github.com/servo/servo
Source-Revision: 1afc89e944c7ea7e4510b4b678a95a8faaa309b1
2017-05-16 01:17:07 -05:00
Fernando Jiménez Moreno
5237876c6d servo: Merge #16835 - Stylo: Bug 1350175 - Support getting line / column number of CSS rules (from ferjm:bug1350175.line.column.css.rules); r=upsuper,SimonSapin
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors

Bugzilla bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1350175

Source-Repo: https://github.com/servo/servo
Source-Revision: 5cd8265f9a279e1cebe84218e691e7f80a541fb9
2017-05-15 05:28:50 -05:00
Simon Sapin
d54f7055a7 servo: Merge #16455 - Bug 1354970 - Add @counter-style rules (from servo:counter-style); r=upsuper
Source-Repo: https://github.com/servo/servo
Source-Revision: 2eff661ebb2737979b80367ada3ac99d73a06fc4
2017-04-26 00:59:58 -05:00
Simon Sapin
aa7e1030b3 servo: Merge #16224 - Make the parser accept @font-face rules without font-family or src (from servo:valid-fontface); r=upsuper
Fix #16165.

Also, it turns out that the CSSFontFaceRule IDL specified in the css-fonts spec is not web-compatible. Instead browsers implement a .style attribute like in CSSStyleRule: https://github.com/w3c/csswg-drafts/issues/825

This in turn requires preserving data about which descriptors were set or not (distinguishing unset from set to a value that happens to be the initial value), so this commit also makes every field `Option<_>`.

Source-Repo: https://github.com/servo/servo
Source-Revision: fac0d17fd6edf996876d6e6379e48ef4f9cb43d6
2017-04-03 03:53:09 -05:00
Nazım Can Altınova
c32938990b servo: Merge #16194 - stylo: Serialize unquoted font-family without quote (from canaltinova:font-family); r=Manishearth
<!-- Please describe your changes on the following line: -->
Reviewed by Manishearth

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

<!-- 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: ecf42ca6e94bc50b835defc084a357152c24cdaf
2017-03-30 15:45:39 -05:00
Xidorn Quan
4f43b83d45 servo: Merge #16187 - Implement access to CSSFontFaceRule for stylo (from upsuper:bug1345696); r=Manishearth,heycam
This is the Servo part of [bug 1345696](https://bugzilla.mozilla.org/show_bug.cgi?id=1345696) which has been reviewed on Bugzilla.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2084ee29c40291c9abf9b0922e05f0663b215333
2017-03-29 20:50:47 -05:00