Commit Graph

13011 Commits

Author SHA1 Message Date
Morgan Reschenberg
8c4b2ed8ff Bug 1539212: Add readability backplate for all elements containing text when HCM or a11y theme is active. r=dholbert,mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D42979

--HG--
extra : moz-landing-system : lando
2019-09-16 18:26:04 +00:00
Daisuke Akatsuka
409a2bc885 Bug 713106: Make :visited selector enabled to use from DevTools. r=pbro,emilio
Differential Revision: https://phabricator.services.mozilla.com/D45624

--HG--
extra : moz-landing-system : lando
2019-09-13 22:12:12 +00:00
Emilio Cobos Álvarez
97509fc36a Bug 1315892 - Add a comment quoting the spec. r=me
MANUAL PUSH: Contributor didn't manage to add author information to lando + comment only follow-up.
2019-09-16 09:24:38 +09:00
fantasai
d9d30c73ad Bug 1315892 - 'text-orientation: upright' forces used 'direction' to LTR. r=jfkthame 2019-09-16 09:23:30 +09:00
Bastien Orivel
e20d4dc52f Bug 1580908 - Part 11: Fix test_size_of_rule_node. r=emilio
Apparently I made SourcePropertyDeclaration 8 bytes shorter by updating
arrayvec. (see
b56c3b78d0
and
29012231a8
for details)

Differential Revision: https://phabricator.services.mozilla.com/D45746

--HG--
extra : moz-landing-system : lando
2019-09-12 22:22:50 +00:00
Bastien Orivel
d843925e5f Bug 1580908 - Part 7: Update serde_bytes to 0.11. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D45716

--HG--
extra : moz-landing-system : lando
2019-09-12 21:46:21 +00:00
Bastien Orivel
c98f904a4d Bug 1580908 - Part 2: Update env_logger to 0.6. r=froydnj
This is one less dependency on regex 0.2

Differential Revision: https://phabricator.services.mozilla.com/D45711

--HG--
extra : moz-landing-system : lando
2019-09-12 21:46:02 +00:00
Emilio Cobos Álvarez
a7c5dffa9c Bug 1580963 - Fix servo build and rustfmt recent changes.
Differential Revision: https://phabricator.services.mozilla.com/D45741

--HG--
extra : moz-landing-system : lando
2019-09-12 21:09:45 +00:00
Emilio Cobos Álvarez
5c93ac4bae Bug 1580963 - Cherry-pick style changes from servo's victor import.
https://github.com/servo/servo/pull/24165

Differential Revision: https://phabricator.services.mozilla.com/D45740

--HG--
extra : moz-landing-system : lando
2019-09-12 21:09:39 +00:00
Emilio Cobos Álvarez
7617a0e6fe Bug 1580963 - Cherry-pick some servo changes from a rustc upgrade.
This cherry-picks from Servo commit 98e4a53b724.

Differential Revision: https://phabricator.services.mozilla.com/D45738

--HG--
extra : moz-landing-system : lando
2019-09-12 21:09:27 +00:00
Emilio Cobos Álvarez
78a7d864e6 Bug 1577139 - Remove LengthPercentage::was_calc. r=heycam
There should not be any behavior change between specifying a percentage using %
or calc(%) per the resolution of https://github.com/w3c/csswg-drafts/issues/3482.

Differential Revision: https://phabricator.services.mozilla.com/D43747

--HG--
extra : moz-landing-system : lando
2019-09-12 08:14:44 +00:00
Emilio Cobos Álvarez
0140a5576c Bug 1577439 - Shutdown Servo's thread-pool in leak-checking builds, leak the atom table elsewhere. r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D44217

--HG--
extra : moz-landing-system : lando
2019-09-09 22:39:46 +00:00
Michael Woerister
77f7095cb5 Bug 1577171 - Remove duplicated logic from Stylo's Gecko wrapper. r=emilio
Stylo's Gecko wrapper duplicated some logic from the C++ side so
that the Rust compiler would be able to optimize better. Now that
we have xLTO, this kind of manual inlining should not be neccessary
anymore.

Differential Revision: https://phabricator.services.mozilla.com/D43765

--HG--
extra : moz-landing-system : lando
2019-09-09 17:23:20 +00:00
Boris Chiou
d9a0cd885d Bug 1574222 - Tweak the serialization of text-decoration. r=emilio
We are trying to not serialize `text-decoration-line: none` if there are other
non-default values for the longhands.

Differential Revision: https://phabricator.services.mozilla.com/D44908

--HG--
extra : moz-landing-system : lando
2019-09-10 21:51:54 +00:00
Cameron McCormack
7052f624b5 Bug 1578147 - Align the Rust and C++ representations of WritingMode. r=emilio,jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D44412

--HG--
extra : moz-landing-system : lando
2019-09-09 04:49:55 +00:00
Gurzau Raul
9470d77271 Backed out changeset a396ec8f44fd (bug 1577439) for failing valgrind-test on a CLOSED TREE. 2019-09-07 19:03:27 +03:00
Emilio Cobos Álvarez
d748b6062a Bug 1577439 - Shutdown Servo's thread-pool in leak-checking builds, leak the atom table elsewhere. r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D44217

--HG--
extra : moz-landing-system : lando
2019-09-05 19:18:27 +00:00
Emilio Cobos Álvarez
d5bc03b6f0 Bug 1578295 - Use cbindgen for counters. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D44403

--HG--
extra : moz-landing-system : lando
2019-09-02 23:11:26 +00:00
Emilio Cobos Álvarez
a8acf7d61d No bug - Add a comment about a Send bound that may look confusing.
MANUAL PUSH: comment only, no bug
2019-09-02 13:53:55 +02:00
Razvan Maries
80cfb7b1f5 Backed out changeset 42ebd8a50978 (bug 1577439) for causing perma leakcheck | tab process: negative leaks caught. 2019-09-01 03:41:33 +03:00
Emilio Cobos Álvarez
5ba33267fa Bug 1577439 - Shutdown Servo's thread-pool in leak-checking builds, leak the atom table elsewhere. r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D44217

--HG--
extra : moz-landing-system : lando
2019-08-31 23:28:26 +00:00
Emilio Cobos Álvarez
4505c339ab Bug 1576229 - Account for user stylesheets for Shadow DOM invalidation. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D43992

--HG--
extra : moz-landing-system : lando
2019-08-30 14:35:34 +00:00
Boris Chiou
c8dba8c886 Bug 1575062 - Support css use counters for unimplemented properties. r=emilio
For developing properties, we will handle them in an other bug.

Besides, I use an iframe for the test because we create a use counter in
the constructor of Document, which use the prefs to decide what kind of
properties we want to record. So, in the test, we have to reload iframe
to make sure we re-create the document, so does the use counter, to make
sure the prefs work properly.

The two prefs affect the css use counters:
1. layout.css.use-counters.enabled: Allocate use counters, and record
   non-custom properties.
2. layout.css.use-counters-unimplemented.enabled: Record all unimplmented
   properties into the use counters.

If we disable layout.css.use-counters.enblaed, we don't create use counters
object, so layout.css.use-counters-unimplemented.enabled doesn't work,
either.

Differential Revision: https://phabricator.services.mozilla.com/D43860

--HG--
extra : moz-landing-system : lando
2019-08-29 23:40:13 +00:00
Mats Palmgren
e45d08541b Bug 1576821 - [css-lists-3] Make 'none' invalid as a <counter-style> in counter()/counters(). r=emilio
CSSWG resolution:
https://github.com/w3c/csswg-drafts/issues/4163#issuecomment-521331100

Spec:
https://drafts.csswg.org/css-lists-3/#counter-functions

Differential Revision: https://phabricator.services.mozilla.com/D43893

--HG--
extra : moz-landing-system : lando
2019-08-30 00:15:37 +00:00
Joel Olsson
00e5276301 Bug 1565562: Media Query - Enable single <number> and <number>/<number> for <aspect-ratio>. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D41557

--HG--
extra : moz-landing-system : lando
2019-08-29 10:48:52 +00:00
Emilio Cobos Álvarez
c17fdaaa27 Bug 1576703 - Update cbindgen. r=boris
This cleans up the pattern of "Use a private dtor so that the helper functions
do the right thing" by enabling it everywhere using:

  https://github.com/eqrion/cbindgen/pull/377

It also caught some uninitialized value issues.

I think they're mostly harmless since we zero-initialize our structs:

https://searchfox.org/mozilla-central/rev/325c1a707819602feff736f129cb36055ba6d94f/servo/components/style/properties/gecko.mako.rs#632

And since we override the clip rect, which is the other bit of code that was
failing to build with this change.

Differential Revision: https://phabricator.services.mozilla.com/D43491

--HG--
extra : moz-landing-system : lando
2019-08-26 23:18:46 +00:00
Emilio Cobos Álvarez
7cc40cf7ef Bug 1576666 - Use cbindgen for clip / -moz-image-region. r=boris
This also fixes some of the issues with -moz-image-region, where we just minted
an auto out of the blue.

Depends on D43472

Differential Revision: https://phabricator.services.mozilla.com/D43474

--HG--
extra : moz-landing-system : lando
2019-08-26 23:09:47 +00:00
Emilio Cobos Álvarez
996cd73ea9 Bug 1576666 - Remove old warning allow which is no longer relevant. r=boris
-moz-appearance uses cbindgen since a long time ago.

Differential Revision: https://phabricator.services.mozilla.com/D43472

--HG--
extra : moz-landing-system : lando
2019-08-26 20:09:19 +00:00
Emilio Cobos Álvarez
f93d4c2566 Bug 1576587 - Rustfmt declaration_block.rs and glue.rs
Differential Revision: https://phabricator.services.mozilla.com/D43400

--HG--
extra : moz-landing-system : lando
2019-08-26 09:58:53 +00:00
Emilio Cobos Álvarez
ba5c709666 Bug 1575608 - Simplify -x-span property. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D42914

--HG--
extra : moz-landing-system : lando
2019-08-21 20:02:13 +00:00
Emilio Cobos Álvarez
346d47d739 Bug 1575608 - Avoid manual paint-order glue code. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D42913

--HG--
extra : moz-landing-system : lando
2019-08-21 19:47:53 +00:00
Emilio Cobos Álvarez
611e05f178 Bug 1575608 - Avoid some signed -> unsigned conversions for box-ordinal-group. r=dholbert
This is consistent with the `order` property anyhow, and allows to simplify some
code.

Negatives are still not parsed, but rust uses a similar representation for all
CSS <integer> values and so should C++.

Differential Revision: https://phabricator.services.mozilla.com/D42912

--HG--
extra : moz-landing-system : lando
2019-08-21 18:35:31 +00:00
Emilio Cobos Álvarez
f11bf00012 Bug 1575559 - Make font-variant-alternates use cbindgen. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D42859

--HG--
extra : moz-landing-system : lando
2019-08-21 22:45:26 +00:00
Emilio Cobos Álvarez
110fe36713 Bug 1575559 - Fix rebase messup that makes a constructor public which shouldn't be. r=boris
I just drive-by noticed this, but I think it's worth fixing.

Differential Revision: https://phabricator.services.mozilla.com/D42858

--HG--
extra : moz-landing-system : lando
2019-08-21 18:28:23 +00:00
Emilio Cobos Álvarez
5ad7bad9b0 Bug 1575559 - Remove unused impl_coord_copy. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D42857

--HG--
extra : moz-landing-system : lando
2019-08-21 18:25:21 +00:00
Mats Palmgren
acbd6a2b96 Bug 1574994 part 2 - Remove display:-moz-inline-grid/-moz-inline-stack. r=emilio
Depends on D42551

Differential Revision: https://phabricator.services.mozilla.com/D42552

--HG--
extra : moz-landing-system : lando
2019-08-19 21:19:04 +00:00
Boris Chiou
03853a6e87 Bug 1574957 - Clamp negative values for font-size-adjust animations. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D42586

--HG--
extra : moz-landing-system : lando
2019-08-20 01:30:43 +00:00
Dzmitry Malyshau
9875e48074 Bug 1575008 - Update parking_lot dependency to 0.9.0 r=aosmond
Updating parking_lot would allow us to avoid dependency duplication when WebGPU tree is vendored.

Differential Revision: https://phabricator.services.mozilla.com/D42557

--HG--
rename : third_party/rust/parking_lot_core/src/thread_parker/wasm.rs => third_party/rust/parking_lot_core/src/thread_parker/wasm_atomic.rs
extra : moz-landing-system : lando
2019-08-19 21:28:51 +00:00
Emilio Cobos Álvarez
6a74af6652 Bug 1572738 - Don't clamp font-size calc() factors too early. r=manishearth
These two bugs (bug 1572738 and bug 1572451) are stylo regressions.

When font-family changes, we try to recompute the font-size with a length /
percentage combinations in case the generic family changes, so the user
preferences are kept.

When calc() is involved, we clamp to non-negative too early, via
NonNegativeLength::scale_by.

I think we should generally dump this "try to track font-size across calc()"
thingie, as as various comments note it is not quite perfect, and it's not clear
how it should work in presence of min()/max().

This patch fixes the issue and simplifies code a bit, I may consider removing
this altogether in a follow-up.

Differential Revision: https://phabricator.services.mozilla.com/D41776

--HG--
extra : moz-landing-system : lando
2019-08-19 19:59:48 +00:00
Emilio Cobos Álvarez
a03875ef63 Bug 1568536 - Simplify some style system APIs. r=heycam
Return a raw pointer instead of a strong reference to a ComputedStyle, and
handle the case of the style not being present by returning null rather than
requiring an extra function to check it and crashing if the precondition is not
met.

Also, name them so that it's clear they just return outdated styles and don't
make any extra effort.

This is just cleanup that makes the next patch easier / more obvious.

Differential Revision: https://phabricator.services.mozilla.com/D40080

--HG--
extra : moz-landing-system : lando
2019-08-16 05:59:03 +00:00
Mats Palmgren
1f1f009b71 Bug 1574060 - Implement layout for 'display: flow-root list-item'. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D42087

--HG--
extra : moz-landing-system : lando
2019-08-16 06:30:24 +00:00
Emilio Cobos Álvarez
4be851e345 Bug 1574148 - Update itertools in the style crate.
It was updated in Servo long ago.

Differential Revision: https://phabricator.services.mozilla.com/D42131

--HG--
extra : moz-landing-system : lando
2019-08-15 13:31:47 +00:00
Emilio Cobos Álvarez
3a60b58080 Bug 1574148 - Fix Servo build and unify display representation.
Differential Revision: https://phabricator.services.mozilla.com/D42130

--HG--
extra : moz-landing-system : lando
2019-08-15 13:31:44 +00:00
Emilio Cobos Álvarez
3fb09c923b Bug 1574148 - Fix formatting of recent changes.
Differential Revision: https://phabricator.services.mozilla.com/D42129

--HG--
extra : moz-landing-system : lando
2019-08-15 13:31:37 +00:00
Emilio Cobos Álvarez
7455082edb Bug 1574148 - Cherry-pick some Servo build/formatting fixes.
Differential Revision: https://phabricator.services.mozilla.com/D42128

--HG--
extra : moz-landing-system : lando
2019-08-15 13:31:36 +00:00
Mats Palmgren
c784db904f Bug 1557825 part 1 - Implement 'display:block ruby'. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D40211

--HG--
extra : moz-landing-system : lando
2019-08-14 14:38:31 +00:00
Mats Palmgren
740cfc08a3 Bug 1105868 part 3 - Implement 'inline list-item' and 'inline flow-root list-item' values for the 'display' property. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D39832

--HG--
extra : moz-landing-system : lando
2019-08-14 14:37:03 +00:00
Mats Palmgren
307e0a6d66 Bug 1569825 - Hide some 'display' values in devtools auto-completion that we want to discourage authors from using. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D39810

--HG--
extra : moz-landing-system : lando
2019-08-14 14:35:56 +00:00
Mats Palmgren
6b3058eeb5 Bug 1038294 part 12 - Implement multi-keyword 'display' values for Gecko. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D39764

--HG--
extra : moz-landing-system : lando
2019-08-14 14:34:37 +00:00
Charlie Marlow
693746ef3d Bug 1558929: adding from-font support to text-underline-offset and text-decoration-thickness r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D41476

--HG--
extra : moz-landing-system : lando
2019-08-13 17:43:25 +00:00
Emilio Cobos Álvarez
588e375d87 Bug 1573106 - Use shortest serialization for computed text-emphasis-style too. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D41513

--HG--
extra : moz-landing-system : lando
2019-08-13 19:26:02 +00:00
Narcis Beleuzu
043721cdd8 Backed out changeset 0836c998795b (bug 1573106) for wpt failures on accumulation-per-property.html . CLOSED TREE 2019-08-13 05:18:44 +03:00
Emilio Cobos Álvarez
7e441e1dd8 Bug 1573106 - Use shortest serialization for computed text-emphasis-style too. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D41513

--HG--
extra : moz-landing-system : lando
2019-08-12 21:31:52 +00:00
Emilio Cobos Álvarez
6283631506 Bug 1572805 - Adjust comment grammar as suggested by xidorn. r=comment-only
MANUAL PUSH: Comment only post-review fixup

DONTBUILD
2019-08-11 22:47:15 +02:00
Razvan Maries
c9a1909817 Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2019-08-11 12:48:00 +03:00
Csoregi Natalia
99bc0eceee Merge mozilla-central to mozilla-inbound. CLOSED TREE 2019-08-11 00:39:45 +03:00
Csoregi Natalia
6d04491407 Merge inbound to mozilla-central. a=merge 2019-08-11 00:28:20 +03:00
Emilio Cobos Álvarez
20dc132b08 Bug 1553545 - Remove now-incorrect comment. r=comment-only
MANUAL PUSH: Comment-only fixup to an inbound patch.

DONTBUILD
2019-08-10 18:40:18 +02:00
Joel Olsson
aa7bc8f357 Bug 1553545 - Enable font-size:xxx-large. r=emilio
MANUAL PUSH: Manually fixed up contributor's patch stack to squash the two patches in the bug.

Differential Revision: https://phabricator.services.mozilla.com/D41240
2019-08-10 18:32:33 +02:00
Charlie Marlow
ab6f4c453d Bug 1572303: updating text-underline-offset to support ::first-line/first-letter/placeholder r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D41227

--HG--
extra : moz-landing-system : lando
2019-08-09 04:58:10 +00:00
Csoregi Natalia
3edad1f4b7 Merge mozilla-central to autoland. CLOSED TREE 2019-08-11 00:36:21 +03:00
Emilio Cobos Álvarez
1322bb7290 Bug 1572805 - Undo last minute serialization change so that I can land it with tests. r=me
MANUAL PUSH: bustage, some WPTs need updating.
2019-08-10 22:21:12 +02:00
Emilio Cobos Álvarez
6068035edc Bug 1572805 - Use cbindgen for text-emphasis-style. r=boris
I sent https://github.com/eqrion/cbindgen/pull/377 since I got sick of
copy-pasting the private default constructor stuff :)

Differential Revision: https://phabricator.services.mozilla.com/D41419

--HG--
extra : moz-landing-system : lando
2019-08-10 18:11:31 +00:00
Emilio Cobos Álvarez
60447df0e6 Bug 1572805 - Simplify text-emphasis-style. r=boris,xidorn
Differential Revision: https://phabricator.services.mozilla.com/D41418

--HG--
extra : moz-landing-system : lando
2019-08-10 18:15:37 +00:00
Daniel Varga
3430859a68 Backed out 2 changesets (bug 1572805) for build-rusttests failure. On a CLOSED TREE
Backed out changeset 849ca4b3f9de (bug 1572805)
Backed out changeset 81b56d76505a (bug 1572805)
2019-08-10 21:07:03 +03:00
Emilio Cobos Álvarez
ccd8c3bedc Bug 1572805 - Use cbindgen for text-emphasis-style. r=boris
I sent https://github.com/eqrion/cbindgen/pull/377 since I got sick of
copy-pasting the private default constructor stuff :)

Differential Revision: https://phabricator.services.mozilla.com/D41419

--HG--
extra : moz-landing-system : lando
2019-08-10 16:21:15 +00:00
Emilio Cobos Álvarez
5d9d9b9844 Bug 1572805 - Simplify text-emphasis-style. r=boris,xidorn
Differential Revision: https://phabricator.services.mozilla.com/D41418

--HG--
extra : moz-landing-system : lando
2019-08-10 16:23:52 +00:00
Emilio Cobos Álvarez
56df9575bc Bug 1499000 - Don't do CORS checks on CSS images with the resource:// scheme. r=bzbarsky
CORS only works on http channels, so anything else that tries to do a
CORS-enabled request fails catastrophically.

resource:// images are useful for extension developers, so don't perform CORS
checks on them. We may want to also do file:// and fix bug 1565509, while at it,
if we consider it's causing developer pain.

Differential Revision: https://phabricator.services.mozilla.com/D40651

--HG--
extra : moz-landing-system : lando
2019-08-09 18:09:55 +00:00
Charlie Marlow
b469e3daed Bug 1572304: updating text-decoration-skip-ink to support ::first-line/first-letter/placeholder r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D41228

--HG--
extra : moz-landing-system : lando
2019-08-08 18:44:03 +00:00
Nicholas Nethercote
2c0b69fee1 Bug 1563555 - Use static_prefs::pref! in Stylo. r=emilio
It's much nicer.

One nice thing about this is that the new code is subject to the existing
threadedness checking, which identified that several of these should be atomic
because they're accessed off the main thread.

Differential Revision: https://phabricator.services.mozilla.com/D40792

--HG--
extra : moz-landing-system : lando
2019-08-07 22:58:55 +00:00
Charlie Marlow
be2d349416 Bug 1555865: added text-decoration-thickness to the text-decoration shorthands r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D40335

--HG--
extra : moz-landing-system : lando
2019-08-07 17:42:15 +00:00
Cosmin Sabou
9453cf60bf Backed out 2 changesets (bug 1563555) for causing marionette failures on test_profile_management.py.
Backed out changeset 2559f5ddf8e0 (bug 1563555)
Backed out changeset e3c86ffa168c (bug 1563555)

--HG--
extra : histedit_source : 8569cceff2845f697109e2077a00c96074c7fe83
2019-08-07 12:09:13 +03:00
Nicholas Nethercote
b723ddbe42 Bug 1563555 - Use static_prefs::pref! in Stylo. r=emilio
It's much nicer.

One nice thing about this is that the new code is subject to the existing
threadedness checking, which identified that several of these should be atomic
because they're accessed off the main thread.

Differential Revision: https://phabricator.services.mozilla.com/D40792

--HG--
extra : moz-landing-system : lando
2019-08-07 04:17:08 +00:00
Boris Chiou
e158ad1169 Bug 1339672 - Support multiple track sizes for grid-auto-{columns|rows}. r=emilio,mats
Support `<track-size>+` on the implicit track sizing properties,
grid-auto-columns and grid-auto-rows.

Differential Revision: https://phabricator.services.mozilla.com/D38408

--HG--
extra : moz-landing-system : lando
2019-08-06 18:32:16 +00:00
Emilio Cobos Álvarez
9e60b0219a Bug 1571537 - Don't write manual glue code for the order property. r=boris
The default code works just as well.

Differential Revision: https://phabricator.services.mozilla.com/D40698

--HG--
extra : moz-landing-system : lando
2019-08-06 12:08:47 +00:00
Emilio Cobos Álvarez
bbb4b8dac6 Bug 1519958 - followup: Fix bustage in 32-bit builds and rust unit tests. r=me
CLOSED TREE
2019-08-05 22:53:35 +02:00
Emilio Cobos Álvarez
30fc8c8c4d Bug 1519958 - Improve stack size of grid templates and re-enable style struct size assertions disabled in the previous patch. r=boris
This re-enables the assertion which was disabled on the previous patch by doing
a bit of boxing around.

Differential Revision: https://phabricator.services.mozilla.com/D36599
2019-08-05 22:13:33 +02:00
Emilio Cobos Álvarez
1f3d6c04f2 Bug 1519958 - Refactor grid types to preserve repeat() at computed value time and use cbindgen. r=mats,boris
I'm _really_ sorry for the size of the patch. I tried to do this in two steps
but it was a lot of work and pretty ugly.

This patch makes us use cbindgen for grid-template-{rows,columns}, in order to:

 * Make us preserve repeat() at computed-value time. This is per spec since
   interpolation needs to know about repeat(). Except for subgrid, which did the
   repeat expansion at parse-time and was a bit more annoying (plus it doesn't
   really animate yet so we don't need it to comply with the spec).

 * Tweaks the WPT tests for interpolation to adopt the resolution at:
   https://github.com/w3c/csswg-drafts/issues/3503.

Trade-off here, as this patch stands, is that this change makes us use less
long-living memory, since we expand repeat() during layout, but at the cost of a
bit of CPU time during layout (conditional on the property applying though,
which wasn't the case before). It should be very easy to store a cached version
of the template, should this be too hot (I expect it isn't), or to change the
representation in other ways to optimize grid layout code if it's worth it.

Another trade-off: I've used SmallPointerArray to handle line-name merging,
pointing to the individual arrays in the style data, rather than actually
heap-allocating the merged lists. This would also be pretty easy to change
should we measure and see that it's not worth it.

This patch also opens the gate to potentially improving memory usage in some
other ways, by reference-counting line-name lists for example, though I don't
have data that suggests it is worth it.

In general, this patch makes much easier to tweak the internal representation of
the grid style data structures. Overall, I think it's a win, the amount of magic
going on in that mako code was a bit huge; it took a bit to wrap my head around
it.

This patch comments out the style struct size assertions. They will be
uncommented in a follow-up patch which contains some improvements for this type,
which are worth getting reviewed separately.

Also, this patch doesn't remove as much code as I would've hoped for because of
I tried not to change most of the dom/grid code for inspector, but I think a
fair bit of the nsGridContainerFrame.cpp code that collects information for it
can be simplified / de-copy-pasted to some extent. But that was a pre-existing
problem and this patch is already quite massive.

Differential Revision: https://phabricator.services.mozilla.com/D36598
2019-08-05 22:13:21 +02:00
Emilio Cobos Álvarez
6515ac7225 Bug 1571151 - Expand and simplify a macro that's not very useful. r=boris
Skip whitespace upfront rather than on each individual branch. The only
difference in behavior is that we would've consumed some extra whitespace in the
error case, but I don't think that matters at all.

We were consuming some extra whitespace as well after the close path command for
example, which wasn't parsing anything.

Depends on D40538

Differential Revision: https://phabricator.services.mozilla.com/D40539

--HG--
extra : moz-landing-system : lando
2019-08-03 10:05:14 +00:00
Emilio Cobos Álvarez
8374c113aa Bug 1571151 - Deindent a bit SVG path parsing code. r=boris
None cannot be returned, since we just called peek() and it returned something.

Differential Revision: https://phabricator.services.mozilla.com/D40538

--HG--
extra : moz-landing-system : lando
2019-08-03 10:01:58 +00:00
Emilio Cobos Álvarez
0f118f30e5 Bug 1404140 - Remove the GetCSNeedsLayoutFlush flag, as it is unneeded now. r=heycam
MANUAL PUSH: Would need to reorder the stack manually (https://bugzilla.mozilla.org/show_bug.cgi?id=1481539)

Differential Revision: https://phabricator.services.mozilla.com/D40300
2019-08-03 04:10:55 +02:00
Emilio Cobos Álvarez
b38e7248ab Bug 1404140 - Don't flush layout for layout-dependent properties if we know that it won't affect the result. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D40299
2019-08-03 04:09:13 +02:00
Boris Chiou
f7b833b7ce Bug 1559231 - Make offset-anchor animatable. r=birtles
Per the spec issue, https://github.com/w3c/csswg-drafts/issues/3482,
we update the wpt to keep the percentage in `calc()` for `offset-anchor`.

Differential Revision: https://phabricator.services.mozilla.com/D39552

--HG--
extra : moz-landing-system : lando
2019-08-02 20:12:40 +00:00
Boris Chiou
b91b90c199 Bug 1559231 - Support offset-anchor. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D39432

--HG--
extra : moz-landing-system : lando
2019-08-02 20:12:38 +00:00
Brindusan Cristian
0b3e26149c Backed out 2 changesets (bug 1559231) for rusttests build bustages. CLOSED TREE
Backed out changeset d47d9f4bf9a9 (bug 1559231)
Backed out changeset 50f92d01c47a (bug 1559231)
2019-08-02 21:55:37 +03:00
Boris Chiou
4dbc9ab7ef Bug 1559231 - Make offset-anchor animatable. r=birtles
Per the spec issue, https://github.com/w3c/csswg-drafts/issues/3482,
we update the wpt to keep the percentage in `calc()` for `offset-anchor`.

Differential Revision: https://phabricator.services.mozilla.com/D39552

--HG--
extra : moz-landing-system : lando
2019-08-02 00:47:09 +00:00
Boris Chiou
9463547bb3 Bug 1559231 - Support offset-anchor. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D39432

--HG--
extra : moz-landing-system : lando
2019-08-02 00:43:11 +00:00
Emilio Cobos Álvarez
d93f6419d8 Bug 1570721 - Move the overrides to a separate struct in nsPresContext. r=heycam
Just so that we can keep track of these together.

Differential Revision: https://phabricator.services.mozilla.com/D40247
2019-08-02 15:18:24 +02:00
Emilio Cobos Álvarez
e288006e4e Bug 1570721 - Simplify emulated medium setup in nsPresContext. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D40246
2019-08-02 15:18:19 +02:00
Emilio Cobos Álvarez
864a54dff0 Bug 1570182 - Fix cursor prefixed aliases to do the right thing. r=boris
This was an oversight in bug 1520154. We kept the -moz- version in the specified
value but not the computed value.

That's a very peculiar way of making aliases work. This makes them work
consistently as many other aliases instead.

Also, add an assert that would've caught this much much earlier.

Differential Revision: https://phabricator.services.mozilla.com/D40063

--HG--
extra : moz-landing-system : lando
2019-07-31 18:18:21 +00:00
Emilio Cobos Álvarez
caf746c853 Bug 1569911 - Fix some issues when importing the previous patches in Gecko.
MANUAL PUSH: Manual cherry-pick of Servo code.
2019-07-30 12:25:12 +02:00
Simon Sapin
ff58da4ccc Bug 1569911 - Servo: Generate apis.html and css-properties.json for docs as part of crates' build scripts. r=nox
… rather than as an extra step after `cargo doc`.
This helps always using the correct set of CSS properties
(for layout 2013 v.s. 2020).

Cherry-picked from: https://github.com/servo/servo/pull/23856
2019-07-30 12:24:10 +02:00
Simon Sapin
df960afd6f Bug 1569911 - Stylo: replace product={gecko,servo} with engine={gecko,servo-2013,servo-2020}. r=emilio,nox
Renaming the variable helped make sure I looked at every use.

Cherry-picked from: https://github.com/servo/servo/pull/23856
2019-07-30 12:24:07 +02:00
Simon Sapin
5448b8c036 Bug 1569911 - Servo: Auto-generate CSSStyleDeclaration.webidl for CSS properties based on the style crate. r=nox
Cherry-picked from https://github.com/servo/servo/pull/23856
2019-07-30 12:23:51 +02:00
Mike Hommey
bf3db9e84f Bug 1569331 - Update bindgen to 0.51. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D39580

--HG--
extra : moz-landing-system : lando
2019-07-27 00:36:18 +00:00
Boris Chiou
0d2240d1bd Bug 1568615 - Accept percentage for shape-image-threshold. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D39241

--HG--
extra : moz-landing-system : lando
2019-07-24 21:37:22 +00:00
Emilio Cobos Álvarez
8f9891381d Bug 1568446 - followup: Properly refcount-log UniqueArcs created with new_uninitialized(). 2019-07-24 13:44:49 +02:00
Emilio Cobos Álvarez
8e87a20fb9 Bug 1568446 - Don't insta-free in UniqueArc::assume_init. r=SimonSapin
Also sent to https://github.com/servo/servo/pull/23843.
2019-07-24 12:39:15 +02:00
Simon Sapin
da9e1d3b0e Bug 1568446 - Replace uses of mem::uninitialized with MaybeUninit. r=emilio
Cherry-picked from: https://github.com/servo/servo/pull/23824
2019-07-24 12:39:11 +02:00
Simon Sapin
b6cef5cba9 Bug 1568446 - Add UniqueArc::new_uninit, UniqueArc::assume_init. r=emilio
Cherry-picked from: https://github.com/servo/servo/pull/23824
2019-07-24 12:39:06 +02:00
Emilio Cobos Álvarez
42fd1a62a1 Bug 1568083 - Fix servo build and rustfmt / tidy recent changes. 2019-07-23 02:18:36 +02:00
Emilio Cobos Álvarez
558d3a5cc2 Bug 1568083 - Fix a warning in Servo builds by moving a macro to where it's used. 2019-07-23 02:18:35 +02:00
Patrick Walton
b65fc89d31 Bug 1568083 - WebRender units are no longer reexported. r=emilio
This cherry-picks changes from Servo PR #23516.
2019-07-23 02:18:35 +02:00
Emilio Cobos Álvarez
8f98d46196 Bug 1568083 - Servo doesn't still support backdrop-filter.
This is a previous build fix that I forgot to sync to Gecko.
2019-07-23 02:18:34 +02:00
Bastien Orivel
f8a37fc9d4 Bug 1568083 - Update rayon in the style system. r=emilio
As a bonus this also removes one version of crossbeam-utils

This cherry-picks Servo PR #23630.


--HG--
rename : third_party/rust/crossbeam-deque-0.2.0/LICENSE-APACHE => third_party/rust/crossbeam-queue/LICENSE-APACHE
2019-07-23 02:18:33 +02:00
Mihai Alexandru Michis
e637325c0e Merge mozilla-central to mozilla-inbound. a=merge
--HG--
extra : amend_source : f93ba2cbe8a0ea251a8c95dd565117a109e25a91
2019-07-20 01:23:23 +03:00
longsonr
15c69a978b Bug 1353164 Part 2 - Change dominant-baseline from reset to inherit r=heycam
--HG--
extra : source : 5c8a0f41b86df61e7a1ef26b64fb355b5a11ab7d
2019-07-19 12:57:54 +01:00
Bogdan Tara
e34bf750c9 Backed out changeset 5c8a0f41b86d (bug 1353164) for test_css-properties-db.js failures CLOSED TREE 2019-07-19 16:50:35 +03:00
longsonr
1335355ed5 Bug 1353164 Part 2 - Change dominant-baseline from reset to inherit r=heycam 2019-07-19 12:57:54 +01:00
Charlie Marlow
f66a867469 Bug 1567282: renamed text-decoration-width to text-decoration-thickness r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D38586

--HG--
rename : testing/web-platform/meta/css/css-text-decor/text-decoration-width-001.html.ini => testing/web-platform/meta/css/css-text-decor/text-decoration-thickness-001.html.ini
rename : testing/web-platform/meta/css/css-text-decor/text-decoration-width-computed.html.ini => testing/web-platform/meta/css/css-text-decor/text-decoration-thickness-computed.html.ini
rename : testing/web-platform/meta/css/css-text-decor/text-decoration-width-initial.html.ini => testing/web-platform/meta/css/css-text-decor/text-decoration-thickness-initial.html.ini
rename : testing/web-platform/meta/css/css-text-decor/text-decoration-width-invalid.html.ini => testing/web-platform/meta/css/css-text-decor/text-decoration-thickness-invalid.html.ini
rename : testing/web-platform/meta/css/css-text-decor/text-decoration-width-linethrough-001.html.ini => testing/web-platform/meta/css/css-text-decor/text-decoration-thickness-linethrough-001.html.ini
rename : testing/web-platform/meta/css/css-text-decor/text-decoration-width-overline-001.html.ini => testing/web-platform/meta/css/css-text-decor/text-decoration-thickness-overline-001.html.ini
rename : testing/web-platform/meta/css/css-text-decor/text-decoration-width-scroll-001.html.ini => testing/web-platform/meta/css/css-text-decor/text-decoration-thickness-scroll-001.html.ini
rename : testing/web-platform/meta/css/css-text-decor/text-decoration-width-underline-001.html.ini => testing/web-platform/meta/css/css-text-decor/text-decoration-thickness-underline-001.html.ini
rename : testing/web-platform/meta/css/css-text-decor/text-decoration-width-valid.html.ini => testing/web-platform/meta/css/css-text-decor/text-decoration-thickness-valid.html.ini
rename : testing/web-platform/meta/css/css-text-decor/text-decoration-width-vertical-001.html.ini => testing/web-platform/meta/css/css-text-decor/text-decoration-thickness-vertical-001.html.ini
rename : testing/web-platform/meta/css/css-text-decor/text-decoration-width-vertical-002.html.ini => testing/web-platform/meta/css/css-text-decor/text-decoration-thickness-vertical-002.html.ini
rename : testing/web-platform/meta/css/css-typed-om/the-stylepropertymap/properties/text-decoration-width.html.ini => testing/web-platform/meta/css/css-typed-om/the-stylepropertymap/properties/text-decoration-thickness.html.ini
rename : testing/web-platform/tests/css/css-text-decor/reference/text-decoration-width-001-notref.html => testing/web-platform/tests/css/css-text-decor/reference/text-decoration-thickness-001-notref.html
rename : testing/web-platform/tests/css/css-text-decor/reference/text-decoration-width-green-rect-ref.html => testing/web-platform/tests/css/css-text-decor/reference/text-decoration-thickness-green-rect-ref.html
rename : testing/web-platform/tests/css/css-text-decor/reference/text-decoration-width-scroll-001-ref.html => testing/web-platform/tests/css/css-text-decor/reference/text-decoration-thickness-scroll-001-ref.html
rename : testing/web-platform/tests/css/css-text-decor/reference/text-decoration-width-vertical-green-rect-ref.html => testing/web-platform/tests/css/css-text-decor/reference/text-decoration-thickness-vertical-green-rect-ref.html
rename : testing/web-platform/tests/css/css-text-decor/text-decoration-width-001.html => testing/web-platform/tests/css/css-text-decor/text-decoration-thickness-001.html
rename : testing/web-platform/tests/css/css-text-decor/text-decoration-width-computed.html => testing/web-platform/tests/css/css-text-decor/text-decoration-thickness-computed.html
rename : testing/web-platform/tests/css/css-text-decor/text-decoration-width-initial.html => testing/web-platform/tests/css/css-text-decor/text-decoration-thickness-initial.html
rename : testing/web-platform/tests/css/css-text-decor/text-decoration-width-invalid.html => testing/web-platform/tests/css/css-text-decor/text-decoration-thickness-invalid.html
rename : testing/web-platform/tests/css/css-text-decor/text-decoration-width-linethrough-001.html => testing/web-platform/tests/css/css-text-decor/text-decoration-thickness-linethrough-001.html
rename : testing/web-platform/tests/css/css-text-decor/text-decoration-width-overline-001.html => testing/web-platform/tests/css/css-text-decor/text-decoration-thickness-overline-001.html
rename : testing/web-platform/tests/css/css-text-decor/text-decoration-width-scroll-001.html => testing/web-platform/tests/css/css-text-decor/text-decoration-thickness-scroll-001.html
rename : testing/web-platform/tests/css/css-text-decor/text-decoration-width-underline-001.html => testing/web-platform/tests/css/css-text-decor/text-decoration-thickness-underline-001.html
rename : testing/web-platform/tests/css/css-text-decor/text-decoration-width-valid.html => testing/web-platform/tests/css/css-text-decor/text-decoration-thickness-valid.html
rename : testing/web-platform/tests/css/css-text-decor/text-decoration-width-vertical-001.html => testing/web-platform/tests/css/css-text-decor/text-decoration-thickness-vertical-001.html
rename : testing/web-platform/tests/css/css-text-decor/text-decoration-width-vertical-002.html => testing/web-platform/tests/css/css-text-decor/text-decoration-thickness-vertical-002.html
rename : testing/web-platform/tests/css/css-typed-om/the-stylepropertymap/properties/text-decoration-width.html => testing/web-platform/tests/css/css-typed-om/the-stylepropertymap/properties/text-decoration-thickness.html
extra : moz-landing-system : lando
2019-07-19 16:33:08 +00:00
Nicolas Silva
a58ba90d31 Bug 1567241 - Update to euclid 0.20. r=kvark, emilio.
Differential Revision: https://phabricator.services.mozilla.com/D38530

--HG--
extra : source : d65512e23a13164f540430ff0c85a1f2a147d8a0
2019-07-18 22:54:16 +02:00
Emilio Cobos Álvarez
2c808051d3 Bug 1567333 - Remove the ability to build Gecko without the bindgen feature. r=heycam
This is not used for anything, as far as I can tell.

Differential Revision: https://phabricator.services.mozilla.com/D38584

--HG--
extra : moz-landing-system : lando
2019-07-18 23:39:14 +00:00
Emilio Cobos Álvarez
6cb6a39607 Bug 1564366 - Update animations when a pseudo-element had animations but no longer has, and has been re-framed in the meantime. r=birtles
This is the easy fix.

The hard fix (outlined in the comment) would be nice, but I don't think this bug
alone justifies it.

Differential Revision: https://phabricator.services.mozilla.com/D38184

--HG--
extra : moz-landing-system : lando
2019-07-16 15:42:08 +00:00
Thomas Nguyen
2376337c41 Bug 1546334 - Modify URLExtraData rust debug to include referrerInfo r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D36475

--HG--
extra : moz-landing-system : lando
2019-07-16 15:03:40 +00:00
longsonr
7cf71757bf Bug 1353164 Part 1 - Remove dominant-baseline values that no longer exist r=heycam 2019-07-13 15:35:08 +01:00
Boris Chiou
e801f9fefa Bug 1562086 - Add percentage for opacity (i.e. <alpha-value>). r=emilio
The following properties accept <alpha-value> [1], which is
"<number> | <percentage>", so we update the parser, spec links, and
their web-platform-tests.
1. opacity
2. flood-opacity
3. fill-opacity
4. stroke-opacity
5. stop-opacity
6. -moz-window-opacity

Besides, shape-image-threshold [2] still only accepts <number>, so we need
to support a different version of `Opacity::parse()`.

[1] https://drafts.csswg.org/css-color/#typedef-alpha-value
[2] https://drafts.csswg.org/css-shapes/#shape-image-threshold-property

Differential Revision: https://phabricator.services.mozilla.com/D37493

--HG--
extra : moz-landing-system : lando
2019-07-12 19:49:32 +00:00
Emilio Cobos Álvarez
65d9b59c91 Bug 1565214 - Set the property restrictions flags from the centralized list. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D37721

--HG--
extra : moz-landing-system : lando
2019-07-11 23:07:20 +00:00
Emilio Cobos Álvarez
1bfffcd38a Bug 1565214 - Centralize property restrictions. r=boris
The assertion in properties.mako.rs ensures I got this right.

Differential Revision: https://phabricator.services.mozilla.com/D37720

--HG--
extra : moz-landing-system : lando
2019-07-11 23:07:09 +00:00
Emilio Cobos Álvarez
876daf8a87 Bug 1565214 - scroll-margin properties shouldn't apply to first-line / first-letter. r=boris
From https://drafts.csswg.org/css-scroll-snap-1/#placement:

> None of the properties in this module apply to the ::first-line and
> ::first-letter pseudo-elements.

Differential Revision: https://phabricator.services.mozilla.com/D37719

--HG--
extra : moz-landing-system : lando
2019-07-11 23:06:59 +00:00
Emilio Cobos Álvarez
baa56e062d Bug 1565214 - Update spec link for font-variation-settings. r=boris
It had got outdated.

Differential Revision: https://phabricator.services.mozilla.com/D37718

--HG--
extra : moz-landing-system : lando
2019-07-11 23:06:50 +00:00
Emilio Cobos Álvarez
85c5fe106f Bug 1565214 - Don't apply property restrictions to pseudo-elements in UA stylesheets. r=boris
And remove some of the ::placeholder and ::cue hacks where we need to use
!important to make the property not apply for content but apply on UA sheets.

The comment about the white-space property was wrong, we don't enforce it with
!important in the UA stylesheets for <input> (we do for <textarea> though), so
I've kept the flag since it really applies.

Differential Revision: https://phabricator.services.mozilla.com/D37717

--HG--
extra : moz-landing-system : lando
2019-07-11 23:06:41 +00:00
Cameron McCormack
1fdc57a4a9 Bug 1564597 - Ignore pref-controlled properties in cached scrollbar style assertions. r=emilio
Now if you add a new inherited, pref-controlled property, you must
declare whether it can have an effect on scrollbar styles.  If no,
then the property will be skipped in the assertions that check
whether our cached styles are equal to those we would compute.

Differential Revision: https://phabricator.services.mozilla.com/D37507

--HG--
extra : moz-landing-system : lando
2019-07-10 22:43:24 +00:00
Boris Chiou
4ad09ccda8 Bug 1559276 - Part 2: Retire the support for 3-valued syntax for position. r=emilio
According to this resolved spec issue:
https://github.com/w3c/csswg-drafts/issues/2140,
we retire the 3-valued <position> on
1. `object-position`
2. `perspective-origin`,
3. `mask-position`
4. `circle()` and `ellipse()`
, but still keep the support for `background-position`.

Besides, I simply run this python script to generate the .ini file:
```
s = sys.argv[1] + ".ini"
with open(s, "w") as f:
    f.write('[{}]\n'.format(sys.argv[1]))
    f.write('  expected: FAIL\n')
    f.write('  bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1559276\n')
```

Differential Revision: https://phabricator.services.mozilla.com/D37126

--HG--
extra : moz-landing-system : lando
2019-07-10 20:25:25 +00:00
Jonathan Kew
7ae68c458b Bug 1421938 - Add an 'auto' value for the CSS 'quotes' property, and make it use language-dependent quote marks. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D36429

--HG--
extra : moz-landing-system : lando
2019-07-09 08:59:27 +00:00
alwu
c2ca57258b Bug 1305732 - part5 : set CSS properties directly on '::cue'. r=heycam,emilio
According to the spec [1], we have to set those CSS properties on the root node, and then this root node would have a child node, background box [2], which would contain all other child nodes.

In our case, the background box is `cueDiv` [3].

In theory, all those properties set on the root node should be inherited by the background box. However, when the background box is a pseudo element `::cue`, they won't be directly inherit from the the background box's parent, inherited styles would acutally come from video instead.

Therefore, we have to directly set these properties on the pseudo element and mark them as `!important` to avoid being overrided by user style script.

[1] https://www.w3.org/TR/webvtt1/#ref-for-list-of-webvtt-node-objects-9
[2] https://www.w3.org/TR/webvtt1/#webvtt-cue-background-box
[3] https://searchfox.org/mozilla-central/rev/11712bd3ce7454923e5931fa92eaf9c01ef35a0a/dom/media/webvtt/vtt.jsm#533-534

Differential Revision: https://phabricator.services.mozilla.com/D35694

--HG--
extra : moz-landing-system : lando
2019-07-09 01:42:45 +00:00
shindli
f5dea34efe Backed out 5 changesets (bug 1421938) for bustages in /builds/worker/workspace/build/src/layout/base/nsQuoteList.cpp CLOSED TREE
Backed out changeset 4e25a6db1f5b (bug 1421938)
Backed out changeset 11a8f9bc0418 (bug 1421938)
Backed out changeset f27980997dc5 (bug 1421938)
Backed out changeset adb2e2714c14 (bug 1421938)
Backed out changeset 33e38a62b400 (bug 1421938)
2019-07-09 02:52:38 +03:00
Jonathan Kew
6bea7b3966 Bug 1421938 - Add an 'auto' value for the CSS 'quotes' property, and make it use language-dependent quote marks. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D36429

--HG--
extra : moz-landing-system : lando
2019-07-08 20:16:19 +00:00
shindli
2c12986a7f Backed out 5 changesets (bug 1421938) for causing a bustage in /builds/worker/workspace/build/src/intl/locale/cldr-quotes.inc:21:448 CLOSED TREE
Backed out changeset 3958f2af0e34 (bug 1421938)
Backed out changeset 89a0866d1aa0 (bug 1421938)
Backed out changeset f150702af11f (bug 1421938)
Backed out changeset b8ebd4d241e0 (bug 1421938)
Backed out changeset 1d38eb5eff6e (bug 1421938)
2019-07-08 23:09:34 +03:00
Jonathan Kew
e5f479f588 Bug 1421938 - Add an 'auto' value for the CSS 'quotes' property, and make it use language-dependent quote marks. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D36429

--HG--
extra : moz-landing-system : lando
2019-07-08 12:13:28 +00:00
atouchet
9d6f235f64 Bug 1564085 - Update Travis CI URLs. r=emilio
This is cherry-picked from https://github.com/servo/servo/pull/23611.
2019-07-08 13:10:01 +02:00
Emilio Cobos Álvarez
3f3d4a99c4 Bug 1564085 - Appease tidy. 2019-07-08 13:09:50 +02:00
Emilio Cobos Álvarez
9218bd63e4 Bug 1564085 - Rustfmt recent changes. 2019-07-08 13:09:06 +02:00
Emilio Cobos Álvarez
cda54a6274 Bug 1564085 - simplify some recently-added code. 2019-07-08 13:08:59 +02:00
Kagami Sascha Rosylight
b33621ce08 Bug 1564085 - Add a f64 version of to_transform_3d_matrix. r=emilio
This is cherry-picked from https://github.com/servo/servo/pull/23665.
2019-07-08 13:08:38 +02:00
Emilio Cobos Álvarez
e4638db56f No bug - Remove a map(From::from) statement that does literally nothing. r=trivial 2019-07-06 11:42:17 +02:00
Emilio Cobos Álvarez
117f562dcb Bug 1563315 - Use cbindgen for fill and stroke r=boris
Differential Revision: https://phabricator.services.mozilla.com/D36807

--HG--
extra : moz-landing-system : lando
2019-07-06 08:31:02 +00:00
Emilio Cobos Álvarez
42ce0fc8e5 Bug 1563315 - Simplify parsing and storage of SVG paint server fallback. r=boris
Depends on D36805

Differential Revision: https://phabricator.services.mozilla.com/D36806

--HG--
extra : moz-landing-system : lando
2019-07-06 08:24:39 +00:00
Emilio Cobos Álvarez
db6ecd7691 Bug 1563315 - Use more compact and ffi-friendly types for some svg props. r=boris
No functional change yet.

Differential Revision: https://phabricator.services.mozilla.com/D36805

--HG--
extra : moz-landing-system : lando
2019-07-05 22:19:42 +00:00
Emilio Cobos Álvarez
26197b29e2 Bug 1563484 - Apply text-only zoom to system fonts. r=dbaron
Differential Revision: https://phabricator.services.mozilla.com/D36893

--HG--
extra : moz-landing-system : lando
2019-07-05 21:31:40 +00:00
Calixte Denizet
8cff6b528a Bug 1559975 - Fix python3 lint issues on servo r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D35247

--HG--
extra : moz-landing-system : lando
2019-07-05 14:29:44 +00:00
Emilio Cobos Álvarez
18e6e5dc1e Bug 1561283 - Don't optimize out recascading of children when becoming or stopping being display: contents. r=dholbert
Since they can change whether descendants get blockified.

Differential Revision: https://phabricator.services.mozilla.com/D35818

--HG--
extra : moz-landing-system : lando
2019-07-01 21:39:47 +00:00
Emilio Cobos Álvarez
be10aa358a No bug - rustfmt recent changes. r=whitespace-only 2019-06-29 23:00:11 +02:00
Hugh Gallagher
d18768244b Bug 1560494 - In CounterStyleOrNone check if SymbolsType is symbolic and skip if it is. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D36235

--HG--
extra : moz-landing-system : lando
2019-06-28 16:10:13 +00:00
Emilio Cobos Álvarez
b1ca51fe1e Bug 1561738 - Remove nsStyleCoord. r=boris
And move the useful bits of it somewhere else (ServoStyleConstInlines.h for the
inline function definitions, and nsFrame.cpp for the static assertions).

Differential Revision: https://phabricator.services.mozilla.com/D36120
2019-06-28 12:44:44 +02:00
Emilio Cobos Álvarez
6dea92be38 Bug 1561738 - Stop using nsStyleSides for -moz-image-rect. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D36119
2019-06-28 12:44:43 +02:00
Emilio Cobos Álvarez
0a4d4343b9 Bug 1561738 - Use cbindgen for grid track sizing. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D36118
2019-06-28 12:44:43 +02:00
Cosmin Sabou
2fa2a56685 Backed out 3 changesets (bug 1561738) for causing build bustages on nsGridContainerFrame.cpp CLOSED TREE
Backed out changeset 98f100abc2ba (bug 1561738)
Backed out changeset 9ed20d0fb9ba (bug 1561738)
Backed out changeset 483b1e134ace (bug 1561738)
2019-06-28 13:27:09 +03:00
Emilio Cobos Álvarez
e023916761 Bug 1561738 - Remove nsStyleCoord. r=boris
And move the useful bits of it somewhere else (ServoStyleConstInlines.h for the
inline function definitions, and nsFrame.cpp for the static assertions).

Differential Revision: https://phabricator.services.mozilla.com/D36120

--HG--
extra : moz-landing-system : lando
2019-06-28 09:46:26 +00:00
Emilio Cobos Álvarez
02348421e4 Bug 1561738 - Stop using nsStyleSides for -moz-image-rect. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D36119

--HG--
extra : moz-landing-system : lando
2019-06-28 09:46:17 +00:00
Emilio Cobos Álvarez
9d92ed9a07 Bug 1561738 - Use cbindgen for grid track sizing. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D36118

--HG--
extra : moz-landing-system : lando
2019-06-28 09:46:02 +00:00
Charlie Marlow
8d6b1bcaa4 Bug 1561131: Adding parsing support for text-decoration-skip-ink r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D35831

--HG--
extra : moz-landing-system : lando
2019-06-27 21:34:33 +00:00
Andreea Pavel
ea400c1438 Backed out changeset 21d365e43fec (bug 1561131) for failing test_bug1112014.html on a CLOSED TREE 2019-06-28 00:12:41 +03:00
Charlie Marlow
3f0f7ff856 Bug 1561131: Adding parsing support for text-decoration-skip-ink r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D35831

--HG--
extra : moz-landing-system : lando
2019-06-27 18:09:10 +00:00
Emilio Cobos Álvarez
ca7c3716eb Bug 1552578 - Restrict properties that apply to ::marker for now. r=dbaron
Differential Revision: https://phabricator.services.mozilla.com/D31680
2019-06-27 13:27:40 +02:00
Cameron McCormack
9bbe5b00a3 Bug 1554571 - Part 3: Cache computed styles of scrollbar part anonymous content. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D33123

--HG--
extra : moz-landing-system : lando
2019-06-27 07:22:22 +00:00
Cameron McCormack
5bf528676e Bug 1554571 - Part 1: Remove unused argument from Servo_ResolveStyle. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D33121

--HG--
extra : moz-landing-system : lando
2019-06-27 07:22:13 +00:00
Mihai Alexandru Michis
b485399185 Backed out 4 changesets (bug 1554571) for causing failures in minimal-xul.css
Backed out changeset 1cc4e6374b8a (bug 1554571)
Backed out changeset 30728685499e (bug 1554571)
Backed out changeset c14e9c381345 (bug 1554571)
Backed out changeset a2143551d7bc (bug 1554571)

--HG--
extra : rebase_source : 4b4442d96eb40e57b0a9834b4048b11f9be1a964
2019-06-27 07:09:55 +03:00
Mihai Alexandru Michis
c97c5547e7 Backed out changeset 7423f5bc275c (bug 1552578) for causing failures in test_marker_restrictions.html. CLOSED TREE 2019-06-27 05:52:48 +03:00
Emilio Cobos Álvarez
5fa55a81bc Bug 1552578 - Restrict properties that apply to ::marker for now. r=dbaron
Differential Revision: https://phabricator.services.mozilla.com/D31680

--HG--
extra : moz-landing-system : lando
2019-06-27 00:53:45 +00:00
Cameron McCormack
8538a62557 Bug 1554571 - Part 3: Cache computed styles of scrollbar part anonymous content. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D33123

--HG--
extra : moz-landing-system : lando
2019-06-27 00:25:03 +00:00
Cameron McCormack
60ac348ac5 Bug 1554571 - Part 1: Remove unused argument from Servo_ResolveStyle. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D33121

--HG--
extra : moz-landing-system : lando
2019-06-27 00:24:54 +00:00
Connor Brewster
691d3c2a59 Bug 1555165 - Part 1: Parse backdrop-filter CSS property r=emilio,boris
Differential Revision: https://phabricator.services.mozilla.com/D35816

--HG--
extra : moz-landing-system : lando
2019-06-26 23:02:16 +00:00
Emilio Cobos Álvarez
3ff14f467f Bug 1547231 - Add an internal aspect-ratio CSS property. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D29037

--HG--
extra : moz-landing-system : lando
2019-06-26 22:10:04 +00:00
Emilio Cobos Álvarez
e86340308c Bug 1559814 - Use the cbindgen representation for grid line properties. r=mats
We clamp earlier (parse time rather than computed value time), but that's the
only behavior change, which I think doesn't really matter.

Differential Revision: https://phabricator.services.mozilla.com/D35198

--HG--
extra : moz-landing-system : lando
2019-06-26 21:21:38 +00:00
Emilio Cobos Álvarez
914637451c Bug 1559814 - Generate top-level function and constant declarations for the style crate. r=heycam
This needs https://github.com/eqrion/cbindgen/pull/362, but I expect it to be
uncontroversial. I'll add a patch to this bug when it's merged to update it.

cbindgen historically didn't include these, but it turns out to be pretty useful
to generate constants for the style crate (since the binding crate is
`servo/ports/geckolib`).

An alternative is to get a completely different cbindgen-generated header for
these, but that seems a bit wasteful. This generates the constants with the
Style prefix (so we'll get `StyleMAX_GRID_LINE` for example), which is very
ugly. But we probably want to eventually stop using the Style prefix and use a
namespace instead, plus it's trivial to do `auto kMaxLine = StyleMAX_GRID_LINE`,
for example, so it's probably not a huge deal.

Another alternative would be to use associated consts, which _are_ generated by
cbindgen. Something like:

```
struct GridConstants([u8; 0]);
impl GridConstants {
    const MAX_GRID_LINE: i32 = 10000;
}
```

Which would yield something like:

```
static const int32 StyleGridConstants_MAX_GRID_LINE = 10000;
```

I'm not sure if you find it preferrable, but I'm also happy to change it in a
follow-up to use this.

We need to fix a few manual C++ function signature definitions to match the C++
declaration.

Differential Revision: https://phabricator.services.mozilla.com/D35197

--HG--
extra : moz-landing-system : lando
2019-06-26 21:21:28 +00:00
Emilio Cobos Álvarez
96113a798b Bug 1559814 - Use a more similar representation in Rust and C++ for grid lines. r=heycam
Option<> is not FFI-safe, so if we want to use the same representation
everywhere we need to get rid of it. This also makes it take the same amount of
memory as the C++ representation, and it's not very complex, I'd think.

Differential Revision: https://phabricator.services.mozilla.com/D35195

--HG--
extra : moz-landing-system : lando
2019-06-26 21:21:06 +00:00
Mihai Alexandru Michis
0f86a6b30b Backed out 4 changesets (bug 1559814) for causing bustages. CLOSED TREE
Backed out changeset 11ec9de59076 (bug 1559814)
Backed out changeset fec03c5d3661 (bug 1559814)
Backed out changeset 62f9d89fb827 (bug 1559814)
Backed out changeset 362d9435ca4e (bug 1559814)
2019-06-27 00:04:50 +03:00
Emilio Cobos Álvarez
f792986565 Bug 1559814 - Use the cbindgen representation for grid line properties. r=mats
We clamp earlier (parse time rather than computed value time), but that's the
only behavior change, which I think doesn't really matter.

Differential Revision: https://phabricator.services.mozilla.com/D35198

--HG--
extra : moz-landing-system : lando
2019-06-26 20:33:23 +00:00
Emilio Cobos Álvarez
48ab92e23c Bug 1559814 - Generate top-level function and constant declarations for the style crate. r=heycam
This needs https://github.com/eqrion/cbindgen/pull/362, but I expect it to be
uncontroversial. I'll add a patch to this bug when it's merged to update it.

cbindgen historically didn't include these, but it turns out to be pretty useful
to generate constants for the style crate (since the binding crate is
`servo/ports/geckolib`).

An alternative is to get a completely different cbindgen-generated header for
these, but that seems a bit wasteful. This generates the constants with the
Style prefix (so we'll get `StyleMAX_GRID_LINE` for example), which is very
ugly. But we probably want to eventually stop using the Style prefix and use a
namespace instead, plus it's trivial to do `auto kMaxLine = StyleMAX_GRID_LINE`,
for example, so it's probably not a huge deal.

Another alternative would be to use associated consts, which _are_ generated by
cbindgen. Something like:

```
struct GridConstants([u8; 0]);
impl GridConstants {
    const MAX_GRID_LINE: i32 = 10000;
}
```

Which would yield something like:

```
static const int32 StyleGridConstants_MAX_GRID_LINE = 10000;
```

I'm not sure if you find it preferrable, but I'm also happy to change it in a
follow-up to use this.

We need to fix a few manual C++ function signature definitions to match the C++
declaration.

Differential Revision: https://phabricator.services.mozilla.com/D35197

--HG--
extra : moz-landing-system : lando
2019-06-26 20:33:14 +00:00
Emilio Cobos Álvarez
9228dbbbfa Bug 1559814 - Use a more similar representation in Rust and C++ for grid lines. r=heycam
Option<> is not FFI-safe, so if we want to use the same representation
everywhere we need to get rid of it. This also makes it take the same amount of
memory as the C++ representation, and it's not very complex, I'd think.

Differential Revision: https://phabricator.services.mozilla.com/D35195

--HG--
extra : moz-landing-system : lando
2019-06-26 20:32:49 +00:00
Nicholas Nethercote
41b679b6e2 Bug 1561216 - Change StaticPrefs from a class to a namespace. r=froydnj
This doesn't change the way C++ code uses static prefs. But it does slightly
change how Rust code uses static prefs, specifically the name generated by
bindgen is slightly different.

The commit also improves some comments.

Differential Revision: https://phabricator.services.mozilla.com/D35764

--HG--
extra : rebase_source : 13cf215aeb713e188103ef0cd04d094aa150853e
2019-06-25 10:36:59 +10:00
Alastor Wu
b501f4f9fe Bug 1321488 - restrict CSS properties for '::cue' r=emilio
According to the spec [1], only those CSS properties listed on the spec can be applied on the `::cue`.

[1] https://www.w3.org/TR/webvtt1/#the-cue-pseudo-element

Differential Revision: https://phabricator.services.mozilla.com/D34262

--HG--
extra : moz-landing-system : lando
2019-06-25 00:32:07 +00:00
Dorel Luca
88d9c25909 Backed out changeset 49799d898958 (bug 1321488) for Mochitest failures in dom/base/test/test_audioNotificationSilent_audioFile.html 2019-06-25 03:08:45 +03:00
Alastor Wu
0fbd3654ff Bug 1321488 - restrict CSS properties for '::cue' r=emilio
According to the spec [1], only those CSS properties listed on the spec can be applied on the `::cue`.

[1] https://www.w3.org/TR/webvtt1/#the-cue-pseudo-element

Differential Revision: https://phabricator.services.mozilla.com/D34262

--HG--
extra : moz-landing-system : lando
2019-06-24 20:16:39 +00:00
violet
75f6c6ddaa Bug 1560828 - paint-order parsing has off-by-one error r=emilio
A couple of firefox only WPT failure caused by this off-by-one bug.

Differential Revision: https://phabricator.services.mozilla.com/D35630

--HG--
extra : moz-landing-system : lando
2019-06-24 04:07:42 +00:00
violet
8a8f7223a9 Bug 1557563 - Add computed value ZeroToOneNumber r=emilio,birtles
Correctly handle clamping to 1 behavior of grayscale(),
invert(), opacity() and sepia().

Differential Revision: https://phabricator.services.mozilla.com/D35509

--HG--
extra : moz-landing-system : lando
2019-06-23 23:01:47 +00:00
Emilio Cobos Álvarez
6053d3deb8 Bug 1560777 - followup: Servo doesn't implement white-space: break-spaces. 2019-06-23 14:37:58 +02:00
Emilio Cobos Álvarez
dade3682e3 Bug 1560777 - Fix Servo build. 2019-06-23 13:20:02 +02:00
Emilio Cobos Álvarez
9ed6555245 Bug 1560777 - Rustfmt and fix tidy on recent changes. 2019-06-23 13:16:03 +02:00
Emilio Cobos Álvarez
ed31d80598 Bug 1560777 - Update various servo / test-only dependencies. 2019-06-23 13:15:55 +02:00
Emilio Cobos Álvarez
c08ad2bc03 Bug 1560777 - Fix various nightly warnings in Servo-only code. 2019-06-23 13:15:39 +02:00
Emilio Cobos Álvarez
2295794f5f Bug 1560777 - Fix RuleNode::has_children_for_testing.
I fixed it in the last sync but forgot to do that in Gecko.
2019-06-23 13:14:36 +02:00
Emilio Cobos Álvarez
86c78d4e72 Bug 1560777 - Remove various bits of dead code removed in upstream servo. r=emilio 2019-06-23 13:10:27 +02:00
Emilio Cobos Álvarez
568c07f7ef Bug 1560777 - Fix a typo in a comment. 2019-06-23 13:08:25 +02:00
violet
e6d794f2b0 Bug 1547633 - Invalidate style for ::selection r=emilio
This patch invalidates the style for `::selection`, which will restore the behavior before the regression.

However, it's still not quite correct, because repaint is not triggered. Given that `::selection` requires some major change to implement https://github.com/w3c/csswg-drafts/issues/2474, we can address this problem later.

Differential Revision: https://phabricator.services.mozilla.com/D35305

--HG--
extra : moz-landing-system : lando
2019-06-22 10:09:51 +00:00
Boris Chiou
88447089e6 Bug 1560198 - Fix the serialization of the computed value of background-size. r=emilio
This patch produces the following serialization:
```
    input      |  computed value
  ------------------------------
1. "auto"            "auto"
2. "auto auto"       "auto"
3. "15px auto"       "15px"
4. "15px"            "15px"
```
i.e. If the second value is 'auto', then it's omitted from our serialization,
because it's implied.

Besides, we update the wpt to address this spec issue:
https://github.com/w3c/csswg-drafts/issues/2574

Differential Revision: https://phabricator.services.mozilla.com/D35510

--HG--
extra : moz-landing-system : lando
2019-06-21 21:48:54 +00:00
Emilio Cobos Álvarez
3a16c93150 Bug 1556602 - Fix various warnings with rust 1.37 nightly. r=froydnj
In particular:

 * trait objects without an explicit `dyn` are deprecated
 * `...` range patterns are deprecated

I think these shouldn't really warn by default and should be clippy / opt-in
lints, but anyway, doesn't hurt.

Differential Revision: https://phabricator.services.mozilla.com/D35135

--HG--
extra : moz-landing-system : lando
2019-06-18 21:32:16 +00:00
Emilio Cobos Álvarez
6ed8680108 Bug 1559546 - Use atoms for grid line names. r=mats
The style system already atomizes all CustomIdent values, which means that we're
just wasting memory and CPU by doing string copies all over the place.

This patch fixes it. This also simplifies further changes to use as much of the
rust data structures as possible.

I had to switch from nsTHashtable to mozilla::HashTable because the former
doesn't handle well non-default-constructible structs (like NamedLine, which
now has a StyleAtom, which is not default-constructible).

Differential Revision: https://phabricator.services.mozilla.com/D35119

--HG--
extra : moz-landing-system : lando
2019-06-19 05:58:11 +00:00
Emilio Cobos Álvarez
5a2717a028 Bug 1559546 - Allow to construct StyleAtom objects from C++. r=heycam
I'm going to need it in an upcoming patch.

Differential Revision: https://phabricator.services.mozilla.com/D35118

--HG--
extra : moz-landing-system : lando
2019-06-19 05:58:01 +00:00
Emilio Cobos Álvarez
841d3eea32 Bug 1559545 - Use servo for the representation of grid template areas. r=mats
Right now we do a lot of useless string copying. In order to avoid transcoding
to utf-16 during layout, make sure to use nsCString at a few related places.

I may revisit this since we're storing other line names as atoms in some places.
So it may be better to just use atoms everywhere.

But that'd be a different patch either way.

Depends on D35116

Differential Revision: https://phabricator.services.mozilla.com/D35117

--HG--
extra : moz-landing-system : lando
2019-06-18 22:29:58 +00:00
Emilio Cobos Álvarez
f720448603 Bug 1559545 - Use more ffi-friendly types in grid template areas. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D35116

--HG--
extra : moz-landing-system : lando
2019-06-17 15:44:21 +00:00
violet
f8f8760a7f Bug 1559796 - Should not serialize default radius of circle r=emilio
Should not serialize default shape-outside circle() function radius.

The ToCss impl of Circle and Ellipse turn out to be identical in specified and computed value, thus move them to generics.

Differential Revision: https://phabricator.services.mozilla.com/D35183

--HG--
extra : moz-landing-system : lando
2019-06-18 11:54:41 +00:00
Noemi Erli
f555fa472a Backed out changeset a2a92e2fd645 (bug 1559796) for failing in shape-outside-circle-004.html 2019-06-18 08:44:42 +03:00
violet
a213db9419 Bug 1559796 - Should not serialize default radius of circle r=emilio
Should not serialize default shape-outside circle() function radius.

The ToCss impl of Circle and Ellipse turn out to be identical in specified and computed value, thus move them to generics.

Differential Revision: https://phabricator.services.mozilla.com/D35183

--HG--
extra : moz-landing-system : lando
2019-06-18 03:48:27 +00:00
violet
682af614dd Bug 1470695 - Implement overflow-block and overflow-inline properties r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D34738

--HG--
extra : moz-landing-system : lando
2019-06-15 13:09:16 +00:00
violet
d5bbf998dd Bug 1351432 - Implement the break-spaces value of the white-space property r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D34499

--HG--
extra : moz-landing-system : lando
2019-06-12 10:23:49 +00:00
Boris Chiou
d6e5792aff Bug 1542064 - Add MOZ_DBG support for AnimationValue. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D33357

--HG--
extra : moz-landing-system : lando
2019-06-12 18:14:18 +00:00
Emilio Cobos Álvarez
8381c5ce61 Bug 1505489 - Add a pref and enable Shadow Parts in Nightly and for chrome stylesheets. r=heycam
I want to enable in Nightly to evaluate (in the medium term) shipping it without
the part forwarding, once the cascade order and importance issues are fixed, and
that we pass all the tests that don't involve forwarding.

That is, I want to monitor whether having ::part() causes compat issues or not.

Depends on D32648

Differential Revision: https://phabricator.services.mozilla.com/D32649

--HG--
extra : moz-landing-system : lando
2019-06-11 17:42:58 +00:00
Emilio Cobos Álvarez
72a9fa3730 Bug 1505489 - Implement GeckoElement::each_part. r=heycam
This should make all the pieces come together.

Note that we don't need to look at the snapshot for ::part() for now (other than
when selector-matching normally) because I decided to just restyle the element
for now when the part attribute changes.

::part() can't affect descendants anyway (as long as we don't do the forwarding
stuff), and eager pseudo-elements are handled during the normal element restyle,
so it seems to me that adding all the complexity that we have for classes to
part may not be worth it at least yet.

Depends on D32647

Differential Revision: https://phabricator.services.mozilla.com/D32648

--HG--
extra : moz-landing-system : lando
2019-06-11 17:42:49 +00:00
Emilio Cobos Álvarez
3685cf25a7 Bug 1505489 - Add code to make part rules affect the style of the elements. r=heycam
I still haven't implemented each_part(), so this will do nothing yet.

The cascade order stuff is fishy, I know, and I'll fix in a followup if it's
fine with you. I moved the sorting of the rules to rule_collector, since it
seemed to me it was better that way that duplicating the code, and those
SelectorMap functions only have a single caller anyway.

Depends on D32646

Differential Revision: https://phabricator.services.mozilla.com/D32647

--HG--
extra : moz-landing-system : lando
2019-06-11 17:42:41 +00:00
Emilio Cobos Álvarez
838e209b31 Bug 1505489 - Collect ::part() rules during CascadeData rebuilds. r=heycam
Unlike for :host() or ::slotted(), or regular rules, we don't need a whole
SelectorMap<>, so gotta make the code a bit more generic.

Depends on D32645

Differential Revision: https://phabricator.services.mozilla.com/D32646

--HG--
extra : moz-landing-system : lando
2019-06-11 17:42:32 +00:00
Emilio Cobos Álvarez
b2875e0362 Bug 1505489 - Add an extra flag to flag ::part() to selectors. r=heycam
This grows the selector struct, but only in 32-bit, since in 64-bit we take
space from the alignment padding that we're paying due to having the size of the
slice as a word.

Depends on D32644

Differential Revision: https://phabricator.services.mozilla.com/D32645

--HG--
extra : moz-landing-system : lando
2019-06-11 17:42:23 +00:00
Emilio Cobos Álvarez
0d984c302b Bug 1505489 - Don't go through all the part names if not there. r=jwatt
This uses the bit added for tracking part attributes in order to avoid doing
wasted work.

Depends on D32643

Differential Revision: https://phabricator.services.mozilla.com/D32644

--HG--
extra : moz-landing-system : lando
2019-06-11 17:42:09 +00:00
Emilio Cobos Álvarez
103cf22ede Bug 1505489 - Add plumbing code to invalidate shadow parts. r=heycam
Still does nothing, since we still do not collect part rules, but this is all
the plumbing that should allow us to invalidate parts when attributes or state
change on their ancestors.

Depends on D32641

Differential Revision: https://phabricator.services.mozilla.com/D32642

--HG--
extra : moz-landing-system : lando
2019-06-11 17:41:51 +00:00
Emilio Cobos Álvarez
351d40e7c3 Bug 1557430 - Add memory reporters for SVG mapped attribute declarations. r=njn,heycam
These are owned by the element and not referenced from the stylesheets.

They're referenced from the rule tree, but the rule nodes don't measure their
style source (since they're non-owning).

So unconditionally reporting them even though it's a refcounted object is ok.

While at it, remove some other fields from the old style system that are no
longer used.

Differential Revision: https://phabricator.services.mozilla.com/D34014

--HG--
extra : moz-landing-system : lando
2019-06-08 18:58:57 +00:00
Emilio Cobos Álvarez
67c30d05d2 Bug 1557212 - Use cbindgen for gradients. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D33901

--HG--
extra : moz-landing-system : lando
2019-06-07 14:13:17 +00:00
Daniel Varga
fe7dbedf22 Merge mozilla-inbound to mozilla-central. a=merge 2019-06-07 12:50:35 +03:00
Emilio Cobos Álvarez
e2fcdb0253 Bug 1557403 - Handle default angle in radians. r=me
We were not copying the angle in this case for some reason, and I overlooked
this.
2019-06-06 19:30:03 -04:00
Charlie Marlow
29aa4dbb9a Bug 1555863 added text-decoration-width support to style system including mochitests and web platform tests r=emilio
from-font support will be added later

Differential Revision: https://phabricator.services.mozilla.com/D33392

--HG--
extra : moz-landing-system : lando
2019-06-06 17:12:22 +00:00
Emilio Cobos Álvarez
3df59a0cfa Bug 1557110 - Cleanup gradient parsing by removing the simple-moz-gradient parsing pref. r=dholbert
It looks like bug 1547939 will stick, given how fast the other regressions came
in for bug 1337655.

We haven't seen any regression from this, and it seems unlikely that we'd want
this code back.

This blocks further improvements to the style system. Simplifying this code
allows me to remove all the conversion code for gradients.

Let me know if you think it's premature and I'm happy to wait, but I really want
to see this code gone :)

Differential Revision: https://phabricator.services.mozilla.com/D33820

--HG--
extra : moz-landing-system : lando
2019-06-06 04:08:52 +00:00
Daniel Holbert
d9ebfdd4d2 Bug 1556855 part 4: Remove support for the layout.css.prefixes.webkit pref. r=mats
From this point on, the webkit-prefixed CSS features that were previously
protected by this pref will now be unconditionally enabled.

Differential Revision: https://phabricator.services.mozilla.com/D33807

--HG--
extra : moz-landing-system : lando
2019-06-05 18:23:02 +00:00
Charlie Marlow
da73c04156 Bug 1555150: adding support for CSS text underline offset to the style system r=emilio
support  for from-font listed in the CSS spec will be implemented in a later bug

Differential Revision: https://phabricator.services.mozilla.com/D33233

--HG--
extra : moz-landing-system : lando
2019-06-04 22:04:14 +00:00
Coroiu Cristina
b2c75da135 Backed out changeset ba1f75c56457 (bug 1555150) for xpcshell failures at devtools/shared/tests/unit/test_css-properties-db.js 2019-06-04 07:52:50 +03:00
Charlie Marlow
a2861fd11e Bug 1555150: adding support for CSS text underline offset to the style system r=emilio
support  for from-font listed in the CSS spec will be implemented in a later bug

Differential Revision: https://phabricator.services.mozilla.com/D33233

--HG--
extra : moz-landing-system : lando
2019-06-03 19:43:08 +00:00
Emilio Cobos Álvarez
749db71829 Bug 1554150 - Hide some appearance values from content. r=mats
They're not used internally either, so remove all ability to address them.

I haven't removed the implementation yet, as some of them are quite complex, and
I don't have a mac / windows build. We should do that when this hits release
though.

Differential Revision: https://phabricator.services.mozilla.com/D32488

--HG--
extra : moz-landing-system : lando
2019-06-03 17:32:48 +00:00
Emilio Cobos Álvarez
e088b3760a Bug 1555867 - Report heap size of rule tree heap allocations as well. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D33353

--HG--
extra : moz-landing-system : lando
2019-06-03 16:37:53 +00:00
Emilio Cobos Álvarez
afb4bcad28 Bug 1555867 - Inline one child in the rule tree. r=heycam
It is indeed the most common case according to a bit of measurement.

A non-atypical example from GitHub for example:

> Rule tree stats:
>  0 - 340
>  1 - 1403
>  2 - 28
>  3 - 8
>  4 - 2
>  6 - 1
>  7 - 3
>  8 - 2
>  12 - 2
>  14 - 1
>  41 - 1
>  45 - 1
>  67 - 1
>  68 - 1

Differential Revision: https://phabricator.services.mozilla.com/D33351

--HG--
extra : moz-landing-system : lando
2019-06-03 16:37:45 +00:00
Emilio Cobos Álvarez
d34afb7b9d Bug 1555867 - Add some very basic rule tree stats that can be enabled with trace-level logging. r=heycam
This is useful to analyze the shape of the rule tree at a glance.

Differential Revision: https://phabricator.services.mozilla.com/D33350

--HG--
extra : moz-landing-system : lando
2019-06-03 16:37:34 +00:00
Evgeniy Reizner
8e33a62cdd Bug 1556388 - Do not use borrowed types in the selectors::Element trait. r=emilio
This cherry-picks https://github.com/servo/servo/pull/23463 with a few fixes for
the Gecko build.
2019-06-03 09:12:17 -04:00
Emilio Cobos Álvarez
b58cd8f644 Bug 1556388 - Fix Servo build. 2019-06-03 09:12:15 -04:00
Emilio Cobos Álvarez
63da4ebdab Bug 1556388 - Appease tidy. 2019-06-03 09:12:13 -04:00
Emilio Cobos Álvarez
66b65a1241 Bug 1556388 - Rustfmt recent changes. 2019-06-03 09:12:12 -04:00
Cosmin Sabou
bb748896e1 Backed out changeset 118a2ee53436 (bug 1555150) for xpcshell failures on /test_css-properties-db.js. CLOSED TREE 2019-06-01 02:27:33 +03:00
Charlie Marlow
aa48f14906 Bug 1555150: adding support for CSS text underline offset to the style system r=emilio
support  for from-font listed in the CSS spec will be implemented in a later bug

Differential Revision: https://phabricator.services.mozilla.com/D33233

--HG--
extra : moz-landing-system : lando
2019-05-31 21:09:11 +00:00
Emilio Cobos Álvarez
80e62fe4db Bug 1555944 - Make nsIContent::GetBindingParent return an element. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D33308
2019-05-31 23:31:59 +02:00
Emilio Cobos Álvarez
19258bfbb4 Bug 1554716 - Remove nsStyleColor moving the color property to nsStyleText. r=jfkthame
I think this is a good change regardless of other discussion in bug 1552587. If
we decide to move `mColor` to the top-level of the struct that can be done
separately.

Differential Revision: https://phabricator.services.mozilla.com/D32726

--HG--
extra : moz-landing-system : lando
2019-05-31 14:48:22 +00:00
Emilio Cobos Álvarez
0bdeae4db0 Bug 1493420 - followup: Bump max allowed stack size of RuleNode. irc-r=heycam 2019-05-30 02:27:59 +02:00
Emilio Cobos Álvarez
41399e03a6 Bug 1493420 - Use a RwLock'd HashMap instead of a lock-free linked list for rule node children. r=heycam
I need to profile this a bit more, but talos was pretty happy about this, and it
solves the known performance issues here such as the test-case from bug 1483963
for example. This also gets rid of a bunch of unsafe code which is nice.

This still keeps the same GC scheme, removing the key from the hashmap when
needed. I kept those as release assertions, but should probably be turned into
debug-only assertions.

Differential Revision: https://phabricator.services.mozilla.com/D6801

--HG--
extra : moz-landing-system : lando
2019-05-29 23:41:01 +00:00
Emilio Cobos Álvarez
058ea528a4 Bug 1552080 - Rejigger a bit rust features so that rusttests still link. r=froydnj
We cannot compile with just feature(gecko + debug_assertions), since that's how
debug rusttests get compiled and they don't have the refcount logging stuff.

We were getting away with it for the pre-existing usage of the style crate,
because it wasn't used during any test and presumably the linker didn't
complain. But servo_arc is definitely used in tests.

Differential Revision: https://phabricator.services.mozilla.com/D32691
2019-05-29 21:30:52 +02:00
Emilio Cobos Álvarez
bce5af1e30 Bug 1552080 - Add refcount logging to servo_arc. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D32173
2019-05-29 21:30:23 +02:00
Emilio Cobos Álvarez
fce57b44fd Bug 1552878 - Use cbindgen for filters. r=jwatt
Had to implement some OwnedSlice bits that the canvas code used.

Differential Revision: https://phabricator.services.mozilla.com/D31799
2019-05-29 21:22:07 +02:00
Emilio Cobos Álvarez
a384dedd93 Bug 1552708 - Use cbindgen for URIs. r=heycam
This doesn't clean up as much as a whole, but it's a step in the right
direction. In particular, it allows us to start using simple bindings for:

 * Filters
 * Shapes and images, almost. Need to:
   * Get rid of the complex -moz- gradient parsing (let
     layout.css.simple-moz-gradient.enabled get to release).
 * Counters, almost. Need to:
   * Share the Attr representation with Gecko, by not using Option<>.
     * Just another variant should be enough (ContentItem::{Attr,Prefixedattr},
       maybe).

Which in turn allows us to remove a whole lot of bindings in followups to this.

The setup changes a bit. This also removes the double pointer I complained about
while reviewing the shared UA sheet patches. The old setup is:

```
SpecifiedUrl
 * CssUrl
   * Arc<CssUrlData>
     * String
     * UrlExtraData
 * UrlValueSource
   * Arc<CssUrlData>
   * load id
   * resolved uri
   * CORS mode.
   * ...
```

The new one removes the double reference to the url data via URLValue, and looks
like:

```
SpecifiedUrl
 * CssUrl
   * Arc<CssUrlData>
     * String
     * UrlExtraData
     * CorsMode
     * LoadData
       * load id
       * resolved URI
```

The LoadData is the only mutable bit that C++ can change, and is not used from
Rust. Ideally, in the future, we could just use rust-url to resolve the URL
after parsing or something, and make it all immutable. Maybe.

I've verified that this approach still works with the UA sheet patches (via the
LoadDataSource::Lazy).

The reordering of mWillChange is to avoid nsStyleDisplay from going over the
size limit. We want to split it up anyway in bug 1552587, but mBinding gains a
tag member, which means that we were having a bit of extra padding.

One thing I want to explore is to see if we can abuse rustc's non-zero
optimizations to predict the layout from C++, but that's something to explore at
some other point in time and with a lot of care and help from Michael (who sits
next to me and works on rustc ;)).

Differential Revision: https://phabricator.services.mozilla.com/D31742
2019-05-29 21:22:04 +02:00
Boris Chiou
a194573277 Bug 1429303 - Animate offset-rotate. r=birtles
Differential Revision: https://phabricator.services.mozilla.com/D32237

--HG--
extra : moz-landing-system : lando
2019-05-28 18:31:48 +00:00
Emilio Cobos Álvarez
dc948a87d9 Bug 1554433 - Hide -moz-gtk-buttonactivetext from content. r=stransky
This prevents exposing the value to web content.

Differential Revision: https://phabricator.services.mozilla.com/D32611

--HG--
extra : moz-landing-system : lando
2019-05-27 20:25:31 +00:00
Bogdan Tara
30515e505f Backed out changeset 8855dd7a2aa8 (bug 1554433) for browser_parsable_css.js failures CLOSED TREE
--HG--
extra : histedit_source : b19cc175e04aa20eb80e13ded4b36704923849a3
2019-05-27 22:30:32 +03:00
Brindusan Cristian
40a5b04ab5 Backed out 3 changesets (bug 1552708, bug 1552878) for build bustages and compiler issues. CLOSED TREE
Backed out changeset 9d4f178bfcbd (bug 1552878)
Backed out changeset 80db9f845237 (bug 1552708)
Backed out changeset 1bdbfbb5b342 (bug 1552708)
2019-05-27 17:00:03 +03:00
Emilio Cobos Álvarez
a6bdf94e22 Bug 1552878 - Use cbindgen for filters. r=jwatt
Had to implement some OwnedSlice bits that the canvas code used.

Differential Revision: https://phabricator.services.mozilla.com/D31799

--HG--
extra : moz-landing-system : lando
2019-05-27 12:37:37 +00:00
Emilio Cobos Álvarez
c2d1e98f4c Bug 1552708 - Tweak rust tests to account for more compact URL representation. r=bustage
CLOSED TREE
2019-05-27 14:21:17 +02:00
Emilio Cobos Álvarez
f2190857bb Bug 1552708 - Use cbindgen for URIs. r=heycam
This doesn't clean up as much as a whole, but it's a step in the right
direction. In particular, it allows us to start using simple bindings for:

 * Filters
 * Shapes and images, almost. Need to:
   * Get rid of the complex -moz- gradient parsing (let
     layout.css.simple-moz-gradient.enabled get to release).
 * Counters, almost. Need to:
   * Share the Attr representation with Gecko, by not using Option<>.
     * Just another variant should be enough (ContentItem::{Attr,Prefixedattr},
       maybe).

Which in turn allows us to remove a whole lot of bindings in followups to this.

The setup changes a bit. This also removes the double pointer I complained about
while reviewing the shared UA sheet patches. The old setup is:

```
SpecifiedUrl
 * CssUrl
   * Arc<CssUrlData>
     * String
     * UrlExtraData
 * UrlValueSource
   * Arc<CssUrlData>
   * load id
   * resolved uri
   * CORS mode.
   * ...
```

The new one removes the double reference to the url data via URLValue, and looks
like:

```
SpecifiedUrl
 * CssUrl
   * Arc<CssUrlData>
     * String
     * UrlExtraData
     * CorsMode
     * LoadData
       * load id
       * resolved URI
```

The LoadData is the only mutable bit that C++ can change, and is not used from
Rust. Ideally, in the future, we could just use rust-url to resolve the URL
after parsing or something, and make it all immutable. Maybe.

I've verified that this approach still works with the UA sheet patches (via the
LoadDataSource::Lazy).

The reordering of mWillChange is to avoid nsStyleDisplay from going over the
size limit. We want to split it up anyway in bug 1552587, but mBinding gains a
tag member, which means that we were having a bit of extra padding.

One thing I want to explore is to see if we can abuse rustc's non-zero
optimizations to predict the layout from C++, but that's something to explore at
some other point in time and with a lot of care and help from Michael (who sits
next to me and works on rustc ;)).

Differential Revision: https://phabricator.services.mozilla.com/D31742

--HG--
extra : moz-landing-system : lando
2019-05-27 11:45:12 +00:00
Emilio Cobos Álvarez
998419a429 Bug 1554433 - Hide -moz-gtk-buttonactivetext from content. r=stransky
This prevents exposing the value to web content.

Differential Revision: https://phabricator.services.mozilla.com/D32611

--HG--
extra : moz-landing-system : lando
2019-05-27 11:25:02 +00:00
Emilio Cobos Álvarez
810916db16 Bug 1554433 - Move system colors to values::specified::color. r=xidorn
This should be an idempotent patch. The way to come up with this patch has been:

 * Run the first script attached to the bug and pipe it to xclip, then paste it
   in color.rs
 * Add the relevant #[derive] annotations and remove the color.mako.rs
   definition.
 * Reorder the values to match the ColorID definition, on which some widget
   prefs and caching stuff relies on.
 * Manually port some documentation from nsLookAndFeel.h
 * Run `rg 'eColorID_' | cut -d : -f 1 | sort | uniq >files`
 * Run the second script attached to the bug.
 * Manually fix usage of `LAST_COLOR` (adding the `End` variant), and adding
   casts to integer as needed.
 * Add an static assert so that people remember to update the prefs, rather than
   a comment on the definition :)

Differential Revision: https://phabricator.services.mozilla.com/D32610

--HG--
extra : moz-landing-system : lando
2019-05-26 13:10:00 +00:00
Emilio Cobos Álvarez
7f9009b15b Bug 1554347 - Fix servo build. 2019-05-25 04:14:38 +02:00
Emilio Cobos Álvarez
104f06a08e Bug 1554347 - Revert a change that ended up not being needed and busts the servo build. 2019-05-25 04:14:36 +02:00
Emilio Cobos Álvarez
393e8c0703 Bug 1554347 - Appease tidy. 2019-05-25 04:14:33 +02:00
Emilio Cobos Álvarez
344f076c16 Bug 1554347 - Reformat recent style system changes. 2019-05-25 04:14:30 +02:00
Jan Andre Ikenmeyer
410911152d Bug 1554347 - Update MPL license to https. r=emilio 2019-05-25 04:14:28 +02:00
Emilio Cobos Álvarez
fc06d4485e Bug 1554347 - Sort derive list to keep tidy shut. 2019-05-25 04:14:25 +02:00
Bastien Orivel
2a7eee8242 Bug 1554347 - Update xml5ever and html5ever. r=npotb 2019-05-25 04:14:23 +02:00
Bastien Orivel
337837b0ce Bug 1554347 - Update darling to 0.9. r=emilio 2019-05-25 04:14:18 +02:00
Martin Stransky
ba6373e9aa Bug 1531338 - [Linux/Gtk] Get and use Gtk theme text color for active/pressed button, r=dao,emilio
- Follow Gtk and get theme button text color directly from "button" CSS node instead of "button label"
- Provide new -moz-gtk-buttonactivetext color for active/pressed button text color
- Replace ButtonText color with -moz-gtk-buttonactivetext when it's appropriate

Differential Revision: https://phabricator.services.mozilla.com/D30566

--HG--
extra : moz-landing-system : lando
2019-05-24 08:51:48 +00:00