Commit Graph

8287 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
1834c20f36 Bug 1518045 - Make Servo use a single thread-pool for layout-related tasks per-process. r=jdm
Instead of per-document. This also allows to reuse this thread-pool if needed
for other stuff, like parallel CSS parsing (#22478), and to share more code with
Gecko, which is always nice.

This cherry-picks https://github.com/servo/servo/pull/22487, with a few minor
fixes to the build that are landing as part of the sync associated to this bug,
and an lsan exception tweak to point to the right module since it's moving.
2019-01-07 00:53:04 +01:00
bitnotri
542ea80ecd Bug 1461737 - Move nsstring-rs to a better location, r=nika
Differential Revision: https://phabricator.services.mozilla.com/D15743

--HG--
rename : servo/support/gecko/nsstring/Cargo.toml => xpcom/rust/nsstring/Cargo.toml
rename : servo/support/gecko/nsstring/src/conversions.rs => xpcom/rust/nsstring/src/conversions.rs
rename : servo/support/gecko/nsstring/src/lib.rs => xpcom/rust/nsstring/src/lib.rs
extra : moz-landing-system : lando
2019-01-04 22:03:56 +00:00
Hiroyuki Ikezoe
88483b9261 Bug 1517682 - Drop layout.css.background-blend-mode.enabled pref. r=heycam
It was enabled by default in bug 970600.

Depends on D15707

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

--HG--
extra : moz-landing-system : lando
2019-01-04 07:21:32 +00:00
Hiroyuki Ikezoe
1415d28adf Bug 1517682 - Drop layout.css.scroll-behavior.property-enabled pref. r=heycam
It was enabled by default in bug 1041833 (for desktops) and
bug 1087562 (for Fennect).

Depends on D15706

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

--HG--
extra : moz-landing-system : lando
2019-01-04 07:21:53 +00:00
Hiroyuki Ikezoe
602a0bb6c3 Bug 1517682 - Drop layout.css.mix-blend-mode.enabled pref. r=heycam
It was enabled by default in bug 952643.

Depends on D15705

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

--HG--
extra : moz-landing-system : lando
2019-01-04 07:22:13 +00:00
Hiroyuki Ikezoe
bed5a404f1 Bug 1517682 - Drop layout.css.isolation.enabled pref. r=heycam
It was enabled by default in bug 1091885.

Depends on D15704

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

--HG--
extra : moz-landing-system : lando
2019-01-04 07:22:27 +00:00
Hiroyuki Ikezoe
9bdfa0cf64 Bug 1517682 - Drop layout.css.image-orientation.enabled pref. r=heycam
It was enabled by default in bug 825771.

Depends on D15703

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

--HG--
extra : moz-landing-system : lando
2019-01-04 07:22:52 +00:00
Hiroyuki Ikezoe
6aaa816a8a Bug 1517682 - Drop layout.css.color-adjust.enabled pref. r=heycam
It was enabled by default in bug 1209273.

Depends on D15702

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

--HG--
extra : moz-landing-system : lando
2019-01-04 07:23:38 +00:00
Hiroyuki Ikezoe
f2d516f849 Bug 1517682 - Drop layout.css.box-decoration-break.enabled pref. r=heycam
It was enabled by default in bug 1006326.

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

--HG--
extra : moz-landing-system : lando
2019-01-04 07:23:07 +00:00
Emilio Cobos Álvarez
d2ed260822 Bug 1517241 - Rename nsIDocument to mozilla::dom::Document. r=smaug
Summary: Really sorry for the size of the patch. It's mostly automatic
s/nsIDocument/Document/ but I had to fix up in a bunch of places manually to
add the right namespacing and such.

Overall it's not a very interesting patch I think.

nsDocument.cpp turns into Document.cpp, nsIDocument.h into Document.h and
nsIDocumentInlines.h into DocumentInlines.h.

I also changed a bunch of nsCOMPtr usage to RefPtr, but not all of it.

While fixing up some of the bits I also removed some unneeded OwnerDoc() null
checks and such, but I didn't do anything riskier than that.
2019-01-03 17:48:33 +01:00
Xidorn Quan
e9eae8a984 Bug 1516829 - Replace trim_{left,right}* with trim_{start,end}*. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D15496

--HG--
extra : moz-landing-system : lando
2018-12-30 08:37:19 +00:00
quasicomputational
baf06c6032 Bug 1422235 - Implement the 'overflow-inline' media query. r=emilio 2018-12-28 02:16:59 +01:00
quasicomputational
20fa93316d Bug 1422235 - Implement the 'overflow-block' media query. r=emilio 2018-12-28 02:16:53 +01:00
Emilio Cobos Álvarez
d6f2d4bb73 Bug 1516365 - Update the Rust target version for bindgen. r=xidorn
This brings us alignas support and also associated constants for bitfield enums.

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

--HG--
extra : moz-landing-system : lando
2018-12-25 23:09:29 +00:00
sharath
ba62a9414a Bug 1516221 - changes to implement enum class for #define NS_STYLE_COLOR_ADJUST. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D15284

--HG--
extra : moz-landing-system : lando
2018-12-24 15:28:11 +00:00
Cameron McCormack
99f949e5e4 Bug 1515533 - Bump smallvec and smallbitvec r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D15052

--HG--
extra : moz-landing-system : lando
2018-12-20 01:49:42 +00:00
Boris Chiou
87c7ed9b72 Bug 1512883 - Part 1: Clamp to non-negative value after doing interpolation for circle(), ellipse(), and inset(). r=emilio,birtles
Replace LengthOrPercentage with NonNegativeLengthOrPercentage on
ShapeRadius, Circle, Ellipse. And derive ToAnimatedValue for ShapeSource and
its related types, so we clamp its interpolated results into non-negative
values. (i.e. The radius of circle()/ellipse() and the border-radius of
inset().)

Note: We may get negative values when using a negative easing function, so the
clamp is necessary to avoid the incorrect result or any undefined behavior.

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

--HG--
extra : moz-landing-system : lando
2018-12-19 19:08:08 +00:00
Boris Chiou
5c91563dc1 Bug 1322780 - Part 3: Let logical height, block-size, accept keywords. r=emilio
We should let block-size/min-block-size/max-block-size accept keywords as the
initial value, just like width in vertical writing mode or height in horizontal
writing mode.

Depends on D7536

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

--HG--
extra : moz-landing-system : lando
2018-12-18 18:47:39 +00:00
Boris Chiou
c35f47093e Bug 1322780 - Part 2: Support unprefixed min-content and max-content. r=mats,emilio
Support unprefixed min-content and max-content and treat the prefixed
version as aliases for
1. width, min-width, max-width if inline-axis is horizontal, and
2. height, min-height, max-height if inline-axis is vertical, and
3. inline-size, min-inline-size, max-inline-size, and
4. flex-basis.

Besides, update the test cases to use unprefixed max-content and
min-content.

Depends on D7535

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

--HG--
extra : moz-landing-system : lando
2018-12-18 18:47:37 +00:00
Boris Chiou
17c2c5c3c4 Bug 1322780 - Part 1: Use cbindgen for ExtremumLength. r=emilio
ExtremumLength is the keyword type for css sizing properties, so we
could use cbindgen.

In Gecko, we use nsStyleCoord to store the sizing properties, and use
integer values to check the enum values, so I keep the macros in nsStyleConsts.
Even though we need to convert the enum type into integer, we still have
benefits to reduce the complexity of converting Rust into C++, and leave
the simplified mappings in C++ for better readability.

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

--HG--
extra : moz-landing-system : lando
2018-12-18 18:47:35 +00:00
Emilio Cobos Álvarez
63179c8b0f Bug 1514449 - Use NonNegative more in the border code. r=boris,#style
This ended up not being so small of a patch as I'd have thought, since it
propagated a bit. But most of it is mechanical. Interesting part is
NonNegativeNumberOrPercentage and the actual uses of the NonNegative stuff and
during parsing.

This looks like it'd fix a few correctness issues during interpolation for all
the types except for BorderRadius and co (which handled it manually).

I should write tests for those in a different patch.

Depends on D14672

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

--HG--
extra : moz-landing-system : lando
2018-12-17 21:35:14 +00:00
Emilio Cobos Álvarez
d9fc919cd1 Bug 1514449 - Cleanup some conversion code dealing with NonNegative. r=boris,xidorn,#style
I'm about to introduce another use of it and I don't want to repeat the same
copy-pasta again.

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

--HG--
extra : moz-landing-system : lando
2018-12-16 09:13:49 +00:00
Emilio Cobos Álvarez
94522362b2 Bug 1513920 - Make <use> shadow trees lookup keyframe rules in the containing tree. r=heycam
The same thing we do for rule matching.

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

--HG--
extra : moz-landing-system : lando
2018-12-17 13:14:19 +00:00
Emilio Cobos Álvarez
a8df58f265 Bug 1514086 - The 'all' property is not animatable. r=hiro
Since it allows to animate display, which is not good.

This is a regression from:

  https://hg.mozilla.org/mozilla-central/rev/6884ba750aa3

Actually I wonder if the logic shouldn't be the other way around, i.e., a
shorthand is animatable if all the longhands are, not if just one.

In any case this rolls back to the previous behavior, should we do that, it
should be another bug.

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

--HG--
extra : moz-landing-system : lando
2018-12-15 22:48:37 +00:00
Daniel Holbert
1d4ecff2ef Bug 1501492: Enable CSS containment for frontend code. r=dbaron
Differential Revision: https://phabricator.services.mozilla.com/D9963

--HG--
extra : moz-landing-system : lando
2018-12-15 08:17:46 +00:00
Emilio Cobos Álvarez
5b2e5c9d79 Bug 1514439 - Fix tidy issues. 2018-12-15 03:55:44 +01:00
Shotaro Yamada
1f70d62e6e Bug 1514439 - Remove redundant .clone()s. r=emilio 2018-12-15 03:55:42 +01:00
Emilio Cobos Álvarez
2e85a22d15 Bug 1514439 - Fix formatting of inverse transform matrix. 2018-12-15 03:55:41 +01:00
Daniel Holbert
38e7aed189 Bug 1514309 part 1: Include the 'unsafe' keyword in serializations of css-align properties. r=emilio
Previously we'd omit it since it was merely an explicit way of requesting the
default behavior.  But the spec has changed such that it's not necessarily
equivalent to the default anymore:
https://drafts.csswg.org/css-align/#overflow-values

(Technically the behaviors are probably still equivalent in our implementation,
pending bug 1451380, but we don't have to publicize that via our
serialization.)

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

--HG--
extra : moz-landing-system : lando
2018-12-14 21:24:17 +00:00
Boris Zbarsky
5fda010a9b Bug 1514029. Fix serialization of explicitly case-sensitive attr selectors with a namespace. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D14493

--HG--
extra : moz-landing-system : lando
2018-12-13 23:25:08 +00:00
Emilio Cobos Álvarez
61a51a3800 Bug 1512026 - Handle nested slots correctly in slotted matching and invalidation. r=heycam
The patch and test should be pretty much self-descriptive.

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

--HG--
extra : moz-landing-system : lando
2018-12-13 02:17:53 +00:00
Boris Zbarsky
d3b02f9991 Bug 1512386. Add support for 's' flag on attribute selectors. r=emilio
We could keep using ParsedCaseSensitivity::CaseSensitive as a temporary stand-in
for "case-sensitive or maybe not depending on what HTML says" until we check the
attribute list, but it seems better to make that explicit.

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

--HG--
extra : moz-landing-system : lando
2018-12-10 22:24:49 +00:00
Emilio Cobos Álvarez
4591031b65 Bug 1513012 - Move overflow to use cbindgen. r=heycam
It's one of the most annoying / hacky mako bits we have.

Differential Revision: https://phabricator.services.mozilla.com/D14084
2018-12-11 03:07:08 +01:00
Emilio Cobos Álvarez
1bc5b6ea92 Bug 1513058 - Deduplicate a bit the malloc_size_of code for hashmaps / hashsets. r=heycam
This allows to experiment with other hash maps easily rather than
depending on what hashglobe::fake::HashMap dereferences to.

In particular I wrote it while trying to get a build working with hashbrown.

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

--HG--
extra : moz-landing-system : lando
2018-12-11 00:11:18 +00:00
Emilio Cobos Álvarez
0b0dd2d95f Bug 1512328 - Use cbindgen for a couple more CSS properties. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D13886
2018-12-07 15:06:07 -05:00
Bastien Orivel
e648c4dee9 Bug 1511811 - Update syn and related dependencies. r=emilio 2018-12-07 09:00:20 -05:00
Olli Pettay
1ceeb71b80 Bug 1512256 - Move FragmentOrElement::mAttrs to Element, r=ehsan 2018-12-06 15:58:40 +02:00
Emilio Cobos Álvarez
79ea897cf5 Bug 1511811 - Minor build fixup after the Servo crossbeam_channel update. 2018-12-03 08:48:25 -05:00
Bastien Orivel
87addfd044 Bug 1511811 - Update crossbeam-channel to 0.3.
Cherry-picks https://github.com/servo/servo/pull/22142
2018-12-03 08:48:15 -05:00
Emilio Cobos Álvarez
c11d6bcf14 Bug 1511811 - Update Servo's version of encoding_rs. 2018-12-03 08:47:30 -05:00
Paul Rouget
f17cf51bfd Bug 1511811 - Update mozjs and enable 'init_once' feature for Android.
Cherry-picks https://github.com/servo/servo/pull/22200
2018-12-03 08:47:06 -05:00
Emilio Cobos Álvarez
59e1f1e9ec Bug 1511811 - Rustfmt new changes to ensure Servo-tidy doesn't complain. 2018-12-03 08:45:08 -05:00
Emilio Cobos Álvarez
41f6c49a69 Bug 1511811 - Make page-break-* Gecko-only.
Servo doesn't support it.
2018-12-03 08:44:49 -05:00
Emilio Cobos Álvarez
1f4fecfcd2 Bug 1511811 - Use https for the MPL license URL.
Cherry-picks https://github.com/servo/servo/pull/22198
2018-12-03 08:43:48 -05:00
shindli
6c6e4a960d Backed out 13 changesets (bug 1511811) for Btup bustages
Backed out changeset d71cde918f43 (bug 1511811)
Backed out changeset 0ae2634de8e1 (bug 1511811)
Backed out changeset 53d1f5ca4099 (bug 1511811)
Backed out changeset 5a08148928ef (bug 1511811)
Backed out changeset da7816ec50ef (bug 1511811)
Backed out changeset 5fe23889cccc (bug 1511811)
Backed out changeset 800bc60c75a7 (bug 1511811)
Backed out changeset 2392d8199cd0 (bug 1511811)
Backed out changeset 7bc486fbd195 (bug 1511811)
Backed out changeset d2c997426108 (bug 1511811)
Backed out changeset ddd573878432 (bug 1511811)
Backed out changeset 29c8ec1559a4 (bug 1511811)
Backed out changeset f5851346109d (bug 1511811)

--HG--
rename : third_party/rust/darling_core/src/macros_private.rs => third_party/rust/darling_core/src/macros.rs
2018-12-03 15:39:11 +02:00
Emilio Cobos Álvarez
ee324a2b68 Bug 1511811 - Minor build fixup after the Servo crossbeam_channel update. 2018-12-03 08:15:30 -05:00
Emilio Cobos Álvarez
9ba570d998 Bug 1511811 - Go back to bindgen 0.43 since I can't manage to make the tup build succeed. 2018-12-03 08:15:29 -05:00
Emilio Cobos Álvarez
bd99a5f577 Bug 1511811 - Fix formatting of inverse transform matrix to appease tidy. 2018-12-03 08:15:27 -05:00
Bastien Orivel
768dd101be Bug 1511811 - Update crossbeam-channel to 0.3.
Cherry-picks https://github.com/servo/servo/pull/22142
2018-12-03 08:15:26 -05:00
Emilio Cobos Álvarez
6461b805b2 Bug 1511811 - Update Servo's version of encoding_rs. 2018-12-03 08:15:24 -05:00