Commit Graph

7784 Commits

Author SHA1 Message Date
Bobby Holley
02448d65e2 Bug 1431285 - Cap the number of style threads at six. r=emilio
MozReview-Commit-ID: 3qI1mIvDn8j

Differential Revision: https://phabricator.services.mozilla.com/D1928
2018-07-03 23:47:48 +00:00
Emilio Cobos Álvarez
736d35946f Bug 1472552 - Reformat font.mako.rs. r=xidorn
To be consistent, use the block indentation the rest of the Rust code uses.

Differential Revision: https://phabricator.services.mozilla.com/D1906
2018-07-01 23:06:17 +00:00
Emilio Cobos Álvarez
3b94e2c19b Bug 1472538: Update bindgen. r=xidorn
Surprisingly painless.

I'll update to 0.37.4 instead of .3, but that only contains
https://github.com/rust-lang-nursery/rust-bindgen/pull/1343 on top to prevent
build warnings.

MozReview-Commit-ID: H0uMtdGnXvL
2018-07-01 16:04:49 +02:00
Emilio Cobos Álvarez
2fd040bb07 No bug - Appease Servo's tidy lint.
MozReview-Commit-ID: 3PxU77BJFEB
2018-07-01 01:02:43 +02:00
Emilio Cobos Álvarez
909a6966fb No bug - Fix servo build.
MozReview-Commit-ID: EEuyLgAv8LR
2018-07-01 00:52:09 +02:00
Emilio Cobos Álvarez
380b16f8d5 No bug - Remove stray newline. r=me
MozReview-Commit-ID: 4oTHDBjMJHp
2018-06-30 17:19:50 +02:00
Emilio Cobos Álvarez
d596bad293 Bug 1472443: Serialize content properties using Servo. r=xidorn
... and cleanup unused keywords / getters using the scripts in
layout/style/tools

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

MozReview-Commit-ID: BRUGcje7X0q
2018-06-30 17:14:12 +02:00
Emilio Cobos Álvarez
8d181f4ca3 Bug 1472443: Make StyleContentType an enum class. r=xidorn
Most of it is automated by:

  %s/eStyleContentType_/StyleContentType::/g
  %s/nsStyleContentType/StyleContentType/g

But I removed some parentheses by hand.

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

MozReview-Commit-ID: 3IcirjIYX5p
2018-06-30 17:13:07 +02:00
Emilio Cobos Álvarez
5d358548d7 Bug 1116638: Expose logical props in computed style. r=xidorn
Differential Revision: https://phabricator.services.mozilla.com/D1862
2018-06-30 13:45:43 +00:00
Olli Pettay
3b6605eede Bug 1419661, if ExtendedDOMSlots are used before slots, use FatSlots to have fewer allocations, r=mrbkap 2018-06-30 01:30:37 +03:00
Gerald Squelart
cdceb7bc1b Bug 1459524 - Removed layout.css.all-shorthand.enabled pref - r=heycam
The 'all' shorthand has shipped a long time ago, so this pref is not needed
anymore.

MozReview-Commit-ID: GND8qSVAfCG
2018-06-28 14:51:38 +10:00
Emilio Cobos Álvarez
d90761c49b Bug 1454165 - Make :host() and ::slotted() account for the inner selector's specificity. r=xidorn
As resolved in https://github.com/w3c/csswg-drafts/issues/1915.

Differential Revision: https://phabricator.services.mozilla.com/D1849
2018-06-28 10:58:06 +00:00
shindli
b797ab88fc Merge inbound to mozilla-central. a=merge 2018-06-29 00:53:32 +03:00
Olli Pettay
02c77e25aa Bug 1471871 - Unconditionally enable :defined in chrome (but not unconditionally enabled for querySelector), r=emilio 2018-06-28 15:58:11 +03:00
Olli Pettay
9a87f70a87 Bug 1331334 - Implement :defined pseudo-class for custom elements, r=emilio 2018-06-28 14:55:45 +03:00
Emilio Cobos Álvarez
3d0c891bfb Bug 1464782: Put offset-* aliases behind a pref. r=xidorn
MozReview-Commit-ID: Hl6Muim3wVH
2018-06-27 16:12:04 +02:00
Emilio Cobos Álvarez
ef22922263 Bug 1464782: Rename offset-* logical properties to inset-*. r=xidorn
MozReview-Commit-ID: BW44sru99RF
2018-06-27 16:12:01 +02:00
Xidorn Quan
67ceea3e23 Bug 1471114 part 2 - Generate ComputedStyleMap entry list from property data. r=emilio
This changes the order of properties returned from gCS. The old order
doesn't make much sense, and other browsers don't agree on an identical
order either, so it should be trivial to change it. Also the spec isn't
super clear / useful in this case.

Several -moz-prefixed properties are excluded from the list due to their
being internal. I suspect they are never accessible anyway, so probably
nothing gets changed by this.

MozReview-Commit-ID: 9LfangjpJ3P
2018-06-27 15:34:29 +10:00
Xidorn Quan
8fcf4543e7 Bug 1471104 followup - Upgrade cssparser and revendor.
MozReview-Commit-ID: 74rBgkJEcYd
2018-06-27 10:43:21 +10:00
Xidorn Quan
871684b7c0 Bug 1471104 - Remove location from preludes and take it from argument. r=emilio
MozReview-Commit-ID: HeJUQvkacaf
2018-06-27 10:42:51 +10:00
Xidorn Quan
773679deb4 Bug 1471486 part 2 - Use RUSTFMT env in stylo build script. r=emilio
MozReview-Commit-ID: JOg0xkmG5Yx
2018-06-27 15:28:22 +10:00
Emilio Cobos Álvarez
7f45c7307f Bug 1471063: Simplify selector serialization. r=xidorn
MozReview-Commit-ID: 959U7yd5W9j
2018-06-26 14:15:58 +02:00
Emilio Cobos Álvarez
2f16f5667d Bug 1471063: Deindent the serialization loop. r=xidorn
MozReview-Commit-ID: GPlUAx7YXVb
2018-06-26 14:15:57 +02:00
Emilio Cobos Álvarez
d5138ad869 Bug 1471063: Remove unneeded combinator check in selector-matching. r=xidorn
The combinator doesn't change during the loop, no need to check it.

MozReview-Commit-ID: KIAt0WiEOtI
2018-06-26 14:15:56 +02:00
Margareta Eliza Balazs
e3449ea5a3 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-06-26 12:24:32 +03:00
Hiroyuki Ikezoe
d1b919b70b Bug 1418806 - Try to allocate possible size for AnimationValueMap before composing. r=birtles
The EffectSet count does not exactly represent the count what we really need
for AnimationValueMap, but in most cases it matches.  For example;

1) The element has two different keyframes animations

 @keyframes anim1 {
   to { opacity: 0; }
 }
 @keyframes anim2 {
   to { transform: rotate(360deg); }
 }

 In this case the number matches.

2) The element has two animations but both keyframes have the same CSS property

 @keyframes anim1 {
   to { opacity: 0; }
 }
 @keyframes anim2 {
   to { opacity: 0.1; }
 }

 In this case the number doesn't match, moreover it results more memory than we
 ever needed, but this case is presumably less common.

3) The element has an animation having keyframes for two different CSS
   properties.

 @keyframes anim {
   from { opacity: 0; transform: rotate(360deg); }
 }

 In this kind of cases, the number doesn't match.  But even so, this patch
 reduces the opportunities that the AnimationValueMap tries to allocate a new
 memory (i.e. less opportunities on expanding the map).

Note that when the hash map is expanded, we do allocate a new RawTable with the
new size then replace the old one with the new one [1], so I believe this
change will reduce the crash rate to some extent.

[1] https://hg.mozilla.org/mozilla-central/file/15c95df467be/servo/components/hashglobe/src/hash_map.rs#l734

MozReview-Commit-ID: 6tcF9aqXh7a
2018-06-26 11:08:24 +09:00
Hiroyuki Ikezoe
09321003aa Bug 1418806 - Introduce a constant variable to represents the number of all animatable longhands. r=xidorn
We will use this number to cap the pre-allocation AnimationValueMap in the next
patch.

MozReview-Commit-ID: Iqq9plbD8Vl
2018-06-26 08:51:13 +09:00
Noemi Erli
a5502af9d0 Merge inbound to mozilla-central. a=merge 2018-06-25 22:02:08 +03:00
Emilio Cobos Álvarez
eb8183300a Bug 1374017: Add namespace bucket for the selector map. r=heycam
After bug 1470163 we have some nasty selectors from mathml.css in every page.

We only want to match them against MathML elements.

This patch brings the global revalidation selectors from 14 to 2 in about:blank.
Also halves the ones from XUL documents.

MozReview-Commit-ID: nOVyknNcVm
2018-06-25 10:57:21 +02:00
Emilio Cobos Álvarez
9aec6d7a36 No bug - Appease Servo's tidy lint. r=me
MozReview-Commit-ID: WPZYZPzuCK
2018-06-23 20:46:42 +02:00
Emilio Cobos Álvarez
5842f982b2 No bug - Fix servo build. r=me
MozReview-Commit-ID: 5irg82k3o6m
2018-06-23 20:46:05 +02:00
Emilio Cobos Álvarez
4c3da99b96 Bug 1470145: Better debugging for media-query related code and ua-cache. r=xidorn
MozReview-Commit-ID: 3XHAxK2BOTS
2018-06-22 02:33:44 +02:00
Emilio Cobos Álvarez
b74c80a080 Bug 1470145: Better debugging for stylesheets and URLs. r=xidorn
MozReview-Commit-ID: FIcz2K1ZYX0
2018-06-22 02:33:07 +02:00
Nicholas Nethercote
4fac40c971 Bug 1447951 - Store nsDynamicAtom's chars after the end of the object. r=froydnj
This reduces memory usage because we only need one allocation instead of two
for the dynamic atom and its chars, and because we don't need to store a
refcount and a size. It precludes sharing of chars between dynamic atoms, but
we weren't benefiting much from that anyway.

This reduces per-process memory usage by up to several hundred KiB on my
Linux64 box.

One consequence of this change is that we need to allocate + copy in
DOMString::SetKnownLiveAtom(), which could make some things slower.
2018-06-22 09:38:42 +10:00
Emilio Cobos Álvarez
4ff2b0a7db Bug 1470105: Fix a typo in stylesheet cloning. r=jwatt
Summary: Just something I noticed while writing unrelated code.

Reviewers: jwatt

Bug #: 1470105

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

MozReview-Commit-ID: 7KMTT9Kmdwc
2018-06-21 15:03:50 +02:00
Emilio Cobos Álvarez
4adea46644 Bug 1469957: Move the error reporter into ParserContext. r=xidorn
Summary:
This should make it easier to report errors, and also reduce codesize.

The reason this was so generic is that error reporting was unconditionally
enabled and was super-hot, but now that's no longer the case after bug 1452143,
so we can afford the virtual call in the "error reporting enabled" case.

This opens the possibility of simplifying a lot the error setup as well, though
this patch doesn't do it.

Test Plan: No behavior change, so no new tests.

Reviewers: xidorn

Bug #: 1469957

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

MozReview-Commit-ID: F3wTdhX9MB5
2018-06-21 09:24:07 +02:00
Cosmin Sabou
e508f7bd05 Merge inbound to central. a=merge 2018-06-21 04:16:40 +03:00
Emilio Cobos Álvarez
73bf8736f1 No bug - Remove some cfgs. r=me
DONTBUILD, since this is not part of the build.

MozReview-Commit-ID: 90UkG6QJWq
2018-06-20 16:36:58 +02:00
Emilio Cobos Álvarez
a3512c25a0 Bug 1468651: followup: Fix windows build bustage. r=me CLOSED TREE
MozReview-Commit-ID: 9Xj5lMFG4Ab
2018-06-20 12:10:49 +02:00
Emilio Cobos Álvarez
241876eb00 Bug 1468651: Generate different files for different structs. r=heycam
MozReview-Commit-ID: KEDJ1zJVwMx
2018-06-20 11:26:56 +02:00
Emilio Cobos Álvarez
7547e2d9e0 Bug 1468651: Make StyleStruct.name_lower snake case. r=heycam
MozReview-Commit-ID: A3TpDTmFgF
2018-06-20 11:26:55 +02:00
Emilio Cobos Álvarez
7af2526cd8 Bug 1468651: Rename mask.mako.rs to svg.mako.rs for consistency. r=heycam
MozReview-Commit-ID: 6sqGxL8hhA0
2018-06-20 11:26:54 +02:00
Emilio Cobos Álvarez
b2e81ceb10 Bug 1468651: Rename the properties directories from "shorthand" to "shorthands", "longhand" to "longhands". r=heycam
MozReview-Commit-ID: CY4THCC4zkX
2018-06-20 11:26:53 +02:00
Emilio Cobos Álvarez
0075e172e0 Bug 1468651: remove shorthand/serialize.mako.rs. r=heycam
MozReview-Commit-ID: 8Xyep2Q7trR
2018-06-20 11:26:52 +02:00
Emilio Cobos Álvarez
16f8c99d91 Bug 1469076: Fix the broken invariants of the rule node cache. r=heycam
We were spuriously reframing the <shadow> because it initially shared style with
the <br>, which ended up being display: none, while the <shadow> should've been
display: contents from the beginning.

lookup_by_rules seems pretty prone to obscure bugs, and also it's pretty
complex... Probably we should try to get rid of it, I'm unconvinced that it's
worth it.

Even with that, in a normal restyle the <details> wouldn't have ended up with a
style. It of course never had it before the reframe because the <shadow> was
display: none, but that doesn't mean it shouldn't have gotten one, since we
detected we needed to go through kids in:

  https://searchfox.org/mozilla-central/rev/6eea08365e7386a2b81c044e7cc8a3daa51d8754/servo/components/style/matching.rs#500

That code did happen, but since it's an animation-only restyle, we don't look at
unstyled stuff.

That looks somewhat fishy, but I guess for now it's fine as long as display
isn't animatable.

MozReview-Commit-ID: B6NMSTNOKgK
2018-06-20 11:21:35 +02:00
Xidorn Quan
87d149f551 Bug 1463917 part 1 - Add scrollcorner to -moz-appearance so that widget can render it. r=heycam
MozReview-Commit-ID: 1Za22ifONfG
2018-05-11 10:12:17 +10:00
Emilio Cobos Álvarez
87c37eb755 Bug 1422225: Error reporting fixes. r=xidorn
Do it so that we always try to evaluate the media expression and the modern
syntax last, so that the most specific error message comes up.

MozReview-Commit-ID: 2tqdAsWh6Kh
2018-06-25 21:19:39 +02:00
Emilio Cobos Álvarez
febb9848e6 Bug 1422225: Evaluate MediaConditions, and glue it all together. r=xidorn
MozReview-Commit-ID: 3MThE2FvfDf
2018-06-25 21:19:37 +02:00
Emilio Cobos Álvarez
c216a039b2 Bug 1422225: Add serialization code for MediaCondition. r=xidorn
MozReview-Commit-ID: AxQQottV1hG
2018-06-25 21:19:36 +02:00
Emilio Cobos Álvarez
703f3212f1 Bug 1422225: Add code to parse media conditions. r=xidorn
Still unused.

MozReview-Commit-ID: IQfxObw9BV5
2018-06-25 21:19:34 +02:00