Граф коммитов

1360 Коммитов

Автор SHA1 Сообщение Дата
Emilio Cobos Álvarez f70b32956b Bug 1685796 - Return BAD_IMAGE when sync-decoding an incomplete, errored image. r=tnikkel
The only way that this can happen is if we get through the
ShouldTreatAsCompleteDueToSyncDecode check returning true in the case of
the image being errored.

https://hg.mozilla.org/integration/autoland/rev/645a4d6461ca was
supposed to deal with this, but my guess is that there is a slight race
condition in which the error status isn't there at the beginning, but is
there after the StartDecoding call.

It seems returning BAD_IMAGE rather than painting transparent if we hit
a broken image is a better thing to do than what we're doing now, and
should fix the intermittent issue.

Differential Revision: https://phabricator.services.mozilla.com/D101361
2021-01-12 02:28:00 +00:00
Emilio Cobos Álvarez ff64e2ac94 Bug 1684909 - Make rendering aware of image-set(). r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D100700
2021-01-11 01:23:07 +00:00
Emilio Cobos Álvarez c2f1413e6b Bug 1685078 - Support full <image> syntax in list-style-image as per spec. r=jrmuizel,TYLin
This allows supporting image-set(), etc, and simplifies the bullet frame
code significantly, too thanks to two changes:

  * Instead of manually managing the image request, use the CSS image
    loader, with the `REQUEST_REQUIRES_REFLOW` flag, to handle image
    loads correctly. This didn't exist when this code was initially
    implemented, but we can nicely use it now.

  * Instead of re-implementing another WebRender command-builder thing,
    we can just reuse the nsImageRenderer code.

Differential Revision: https://phabricator.services.mozilla.com/D100774
2021-01-08 09:44:24 +00:00
Dorel Luca 7d7078d54e Backed out changeset 47c73e5e08a4 (bug 1685078) for multiple failures related to CSS. CLOSED TREE 2021-01-07 10:44:10 +02:00
Emilio Cobos Álvarez 9fbf3695e7 Bug 1685078 - Support full <image> syntax in list-style-image as per spec. r=jrmuizel,TYLin
This allows supporting image-set(), etc, and simplifies the bullet frame
code significantly, too thanks to two changes:

  * Instead of manually managing the image request, use the CSS image
    loader, with the `REQUEST_REQUIRES_REFLOW` flag, to handle image
    loads correctly. This didn't exist when this code was initially
    implemented, but we can nicely use it now.

  * Instead of re-implementing another WebRender command-builder thing,
    we can just reuse the nsImageRenderer code.

Differential Revision: https://phabricator.services.mozilla.com/D100774
2021-01-07 04:15:01 +00:00
Emilio Cobos Álvarez 5d6e4f2da2 Bug 1684673 - Use an AutoTArray for atom arrays in attributes (class / part). r=smaug
These are never empty, and storing 4 elements inline seems worth it
given we also heap-allocate the array itself.

Depends on D100592

Differential Revision: https://phabricator.services.mozilla.com/D100593
2021-01-04 17:56:33 +00:00
Boris Chiou 361f923f82 Bug 1683424 - Add UseBoxSizing for AspectRatio class, and fix non-replaced element usage. r=TYLin
Based on the spec, if the aspect-ratio property value is:
1) auto: we should always use content-box dimensions.
2) <ratio>: the aspect-ratio works with box sizing dimensions.
3) auto && <ratio>: we use content-box dimensions in all cases.

So we need an extra flag to address that we should use box-sizing or
always use content-box dimensions while computing the size in
ratio-dependent axis.

This also updates some wpts for non-replaced elements because we should
use content-box if aspect-ratio is 'auto && <ratio>'.

Differential Revision: https://phabricator.services.mozilla.com/D100072
2020-12-23 22:42:55 +00:00
Emilio Cobos Álvarez 039592f4d8 Bug 1682003 - Avoid UTF-8 -> UTF-16 conversion during CSSOM serialization. r=heycam
This lifts a bunch of string conversions higher up the stack, but allows
us to make the servo code use utf-8 unconditionally, and seemed faster
in my benchmarking (see comment 0).

It should also make a bunch of attribute setters faster too (like
setting .cssText), now that we use UTF8String for them (we couldn't
because we couldn't specify different string types for the getter and
setters).

Differential Revision: https://phabricator.services.mozilla.com/D99590
2020-12-17 14:04:35 +00:00
Emilio Cobos Álvarez 558087c533 Bug 1681565 - Turn cbindgen asserts on in nightly / early-beta. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D99270
2020-12-09 22:36:02 +00:00
Xidorn Quan 8799a09b16 Bug 1661961 - Upgrade cstr to 0.2.x. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D98839
2020-12-07 08:01:04 +00:00
Emilio Cobos Álvarez 96a85ab8c6 Bug 1680558 - Update cssparser to get ParserState in rule parser. r=heycam
The changes should be trivial.

The third_party changes are up for review in
https://github.com/servo/rust-cssparser/pull/277 (and of course I'll
land with a bump to 0.28 rather than the override after that gets r+'d).

The basic idea is that with this we have the actual start offset of the
rule, so we wouldn't include html comments or other invalid stuff we
discard during sanitization in bug 1680084. But that's a separate
change.

Differential Revision: https://phabricator.services.mozilla.com/D98677
2020-12-04 10:47:55 +00:00
Razvan Maries e755870785 Backed out changeset 54068f044426 (bug 1680558) for perma failures on browser_resources_stylesheets.js. CLOSED TREE 2020-12-04 06:48:30 +02:00
Emilio Cobos Álvarez 659a6773ad Bug 1680558 - Update cssparser to get ParserState in rule parser. r=heycam
The changes should be trivial.

The third_party changes are up for review in
https://github.com/servo/rust-cssparser/pull/277 (and of course I'll
land with a bump to 0.28 rather than the override after that gets r+'d).

The basic idea is that with this we have the actual start offset of the
rule, so we wouldn't include html comments or other invalid stuff we
discard during sanitization in bug 1680084. But that's a separate
change.

Differential Revision: https://phabricator.services.mozilla.com/D98677
2020-12-04 03:14:36 +00:00
Emilio Cobos Álvarez 9037439373 Bug 1678881 - Run latest rustfmt in servo/. r=xidorn
Differential Revision: https://phabricator.services.mozilla.com/D97855
2020-11-22 00:41:29 +00:00
Emilio Cobos Álvarez 31a5bb70b4 Bug 1678881 - Avoid some allocations in selector serialization. r=xidorn
The allocations in display_to_css_identifier show up in the profiles of
bug 1675628.

Differential Revision: https://phabricator.services.mozilla.com/D97856
2020-11-22 01:02:22 +00:00
Boris Chiou d494534798 Bug 1651776 - Move Compute{Inline|Block}SizeFromAspectRatio() into AspectRatio struct. r=TYLin
We add a new file, AspectRatio.cpp, to definte the method,
ComputeRatioDependentSize. So we don't have to move this function to
WritingModes.h

Besides, we miss the forward declaration of IPC::ParamTraits, so add it
into AspectRatio.h.

Differential Revision: https://phabricator.services.mozilla.com/D95822
2020-11-20 22:38:36 +00:00
Emilio Cobos Álvarez 5716498fbd Bug 1677073 - Update in-tree version of env_logger. r=janerik
Also update plist to avoid pulling a duplicate humantime version.

Differential Revision: https://phabricator.services.mozilla.com/D96995
2020-11-19 14:03:43 +00:00
Hiroyuki Ikezoe fc509369c5 Bug 1676062 - Use a dummy URL data in Servo_ParseEasing and drop Document* and URLExtraData* arguments from relevant functions. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D96791
2020-11-12 20:34:01 +00:00
Dzmitry Malyshau 8d81c7e769 Bug 1674917 - Update parking_lot to 0.11 r=nika
Differential Revision: https://phabricator.services.mozilla.com/D95610
2020-11-02 22:56:40 +00:00
Boris Chiou 850434d326 Bug 1672793 - Treat 0 or infinity as auto for aspect-ratio on replaced elements. r=emilio
For replaced elements, if <ratio> is not finite, we should treat is as
auto and just use its intrinic ratio.

Differential Revision: https://phabricator.services.mozilla.com/D95412
2020-11-02 18:43:01 +00:00
Emilio Cobos Álvarez 82e837eb83 Bug 933562 - Implement complex :not(). r=jfkthame
This fixes the failures in bug 1671573 and just works thanks to the
invalidation improvements I did for :is / :where.

Added a couple tests for invalidation which is the tricky bit. 001 is a
very straight-forward test, 002 is the :is test but with :is() replaced
by double-:not().

This also fixes default namespaces inside :is() / :where(), which are
supposed to get ignored, but aren't. Added tests for that and for the
pre-existing :not() behavior which Chrome doesn't quite get right.

Differential Revision: https://phabricator.services.mozilla.com/D94142
2020-10-29 18:03:54 +00:00
Emilio Cobos Álvarez e9e00c7007 Bug 1669459 - Introduce InspectorUtils.supports(). r=rcaliman,heycam
Which allows to run CSS.supports in chrome/user-agent context. We should
probably add a couple more tweaks for stuff like quirks or what not (the
`ParsingMode` enum), but that seem lower priority.

I only added the one-value version of CSS.supports because it should be enough
and supporting the two value version required a bit of awkward code due to when
we parse the CSS property name right now.

Differential Revision: https://phabricator.services.mozilla.com/D92585
2020-10-09 03:20:34 +00:00
Emilio Cobos Álvarez af00a62acd Bug 1669459 - Rustfmt glue.rs. r=jwatt
Just some drive-by cleanup.

Depends on D92583

Differential Revision: https://phabricator.services.mozilla.com/D92584
2020-10-07 08:40:59 +00:00
Emilio Cobos Álvarez 67788d6893 Bug 1669858 - Use Option::as_deref() in style code. r=xidorn
And drive-by simplify another function that was only doing
Option::clone().

Differential Revision: https://phabricator.services.mozilla.com/D92839
2020-10-08 09:42:49 +00:00
Frederic Wang 42b117ee83 Bug 1667527 - Implement CSS parsing for the math-depth property r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D91500
2020-09-28 10:42:49 +00:00
Frederic Wang 0eebca3c33 Bug 1667118 - Rename -moz-math-script-level to math-depth. r=emilio
This renames the internal -moz-math-script-level property in order to
prepare for full math-depth support. Currently, the property is guarded
under a disabled-by-default flag, so there should be no observable
behavior change.

Differential Revision: https://phabricator.services.mozilla.com/D91285
2020-09-26 03:04:56 +00:00
Narcis Beleuzu 679469fad8 Backed out changeset 239f29a99c4f (bug 1667118) for bc failure on browser_parsable_css.js . CLOSED TREE 2020-09-25 23:39:15 +03:00
Frederic Wang 5461921d85 Bug 1667118 - Rename -moz-math-script-level to math-depth. r=emilio
This renames the internal -moz-math-script-level property in order to
prepare for full math-depth support. Currently, the property is guarded
under a disabled-by-default flag, so there should be no observable
behavior change.

Differential Revision: https://phabricator.services.mozilla.com/D91285
2020-09-25 18:37:39 +00:00
Mihai Alexandru Michis cc04d2696e Backed out changeset b08319695e21 (bug 1667118) for causing xpcshell failures in test_css-properties-db.js
CLOSED TREE
2020-09-25 16:40:33 +03:00
Frederic Wang eb4b491896 Bug 1667118 - Rename -moz-math-script-level to math-depth. r=emilio
This renames the internal -moz-math-script-level property in order to
prepare for full math-depth support. Currently, the property is guarded
under a disabled-by-default flag, so there should be no observable
behavior change.

Differential Revision: https://phabricator.services.mozilla.com/D91285
2020-09-25 12:04:53 +00:00
Razvan Maries ed260c95a0 Backed out changeset 08538390d573 (bug 1667118) for perma failures on test_css-properties-db.js. CLOSED TREE 2020-09-25 00:12:10 +03:00
Frederic Wang c828ccef71 Bug 1667118 - Rename -moz-math-script-level to math-depth. r=emilio
This renames the internal -moz-math-script-level property in order to
prepare for full math-depth support. Currently, the property is guarded
under a disabled-by-default flag, so there should be no observable
behavior change.

Differential Revision: https://phabricator.services.mozilla.com/D91285
2020-09-24 18:44:41 +00:00
Frederic Wang 7ef35cabad Bug 1666075 - Implement displaystyle attribute on all MathML elements. r=emilio
Gecko implements the displaystyle attribute as defined by MathML 3 i.e.
only on the math, mstyle and mtable elements. This commit follows MathML
Core and instead define it as a global attribute mapped to math-style.
See https://mathml-refresh.github.io/mathml-core/#the-displaystyle-and-scriptlevel-attributes

Differential Revision: https://phabricator.services.mozilla.com/D90786
2020-09-24 15:34:17 +00:00
Emilio Cobos Álvarez 3cfb419d00 Bug 1665816 - CSSOM should respect rule-level property restrictions. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D90729
2020-09-21 09:57:46 +00:00
Emilio Cobos Álvarez a3c20c9800 Bug 1662703 - Make appearance: button behave like auto. r=heycam
As per https://github.com/w3c/csswg-drafts/issues/5174.

Differential Revision: https://phabricator.services.mozilla.com/D89119
2020-09-10 08:58:09 +00:00
Razvan Maries f0ac3ad62a Backed out changeset baab244deeb0 (bug 1662703) for perma failures on 482681.xhtml. CLOSED TREE 2020-09-10 04:50:23 +03:00
Emilio Cobos Álvarez af8bc3472b Bug 1662703 - Make appearance: button behave like auto. r=heycam
As per https://github.com/w3c/csswg-drafts/issues/5174.

Differential Revision: https://phabricator.services.mozilla.com/D89119
2020-09-08 23:03:58 +00:00
Nicolas Silva 298e987b8e Bug 1656236 - Update euclid in stylo. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D85762
2020-08-18 17:28:27 +00:00
Csoregi Natalia fd9ca77e37 Backed out 3 changesets (bug 1656236) for wrench failures on filter-drop-shadow-clip-3.yaml. CLOSED TREE
Backed out changeset 78205b816ac8 (bug 1656236)
Backed out changeset dc4ccb5a8ea9 (bug 1656236)
Backed out changeset dcfa644ba078 (bug 1656236)
2020-08-18 20:22:57 +03:00
Nicolas Silva 0473064210 Bug 1656236 - Update euclid in stylo. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D85762
2020-08-18 16:06:19 +00:00
Boris Chiou cb69cd917a Bug 1639963 - Drop redundant check of auto in nsImageFrame. r=emilio
Appearally, we don't have to check mAspectRatio.auto_ because we checked it
already in the same function.

Differential Revision: https://phabricator.services.mozilla.com/D79336
2020-08-17 07:08:16 +00:00
Boris Chiou b425a6022b Bug 1639963 - Calculate inline size and block size based on aspect-ratio. r=emilio
We calculate the size of ratio-dependent axis by aspect-ratio while
initializing its ReflowInput, for most of the basic block cases.

This patch doesn't include "Automatic content-based minimum sizes",
which will be handled later. Besides, replaced elements will be handled
later as well.

We don't pass abspos-004.tentative.html because there is still a
spec issue: https://github.com/w3c/csswg-drafts/issues/5151.
For other tests we didn't pass (e.g. block-aspect-ratio-009.tentative.html,
or replaced-element-00x.tentative.html), we fix them later.

Besides, in this patch, we don't handle the case if the size of
ratio-determining axis uses intrinsic size keywords (which needs to be
calculated by its content size). We will fix this in the following bug
(Bug 1646100).

Differential Revision: https://phabricator.services.mozilla.com/D78964
2020-08-17 06:26:19 +00:00
Emilio Cobos Álvarez b800731028 Bug 1655751 - Invalidate for CSSOM changes in a more fine-grained way. r=heycam
Also, for changes in CSS declarations, like changing
cssRules[i].style.color or something, we end up avoiding a lot of the
work we were doing.

This page still trips us in the sense that they add a stylesheet, then
call getBoundingClientRect(), then insert more rules in the stylesheet,
which causes us to rebuild a lot of the cascade data.

We could try to detect appends to the last stylesheet on the list or
something I guess, and avoid rebuilding the cascade data in some cases.

Depends on D85615

Differential Revision: https://phabricator.services.mozilla.com/D85616
2020-08-10 18:00:44 +00:00
Dorel Luca c594ecfbe7 Backed out 4 changesets (bug 1656236) for Webrender build bustage in reftests/filters/filter-drop-shadow-clip-3.yaml. CLOSED TREE
Backed out changeset c24f6a05294b (bug 1656236)
Backed out changeset a5d6a6f2f3ac (bug 1656236)
Backed out changeset bf4a2fe9f9c0 (bug 1656236)
Backed out changeset c5189b274b91 (bug 1656236)
2020-08-05 18:39:35 +03:00
Nicolas Silva 22f326b43d Bug 1656236 - Update euclid in stylo. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D85762
2020-08-05 09:15:24 +00:00
Cristina Coroiu 2930787297 Backed out 4 changesets (bug 1656236) for build bustages on a CLOSED TREE
Backed out changeset bd79e14bc5ba (bug 1656236)
Backed out changeset dc76da883823 (bug 1656236)
Backed out changeset c4883923e091 (bug 1656236)
Backed out changeset 9464c1dcb0c9 (bug 1656236)
2020-08-05 12:10:43 +03:00
Nicolas Silva 4db3a418e0 Bug 1656236 - Update euclid in stylo. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D85762
2020-08-05 08:37:38 +00:00
Brian Birtles 9159650f0b Bug 1636562 - Respect property restrictions on pseudo elements when animating; r=boris
Differential Revision: https://phabricator.services.mozilla.com/D84306
2020-07-21 23:12:35 +00:00
Cameron McCormack 557d0316a9 Bug 1620467 - Part 8: Make `appearance: button` behave like auto on various elements. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D83434
2020-07-16 22:04:24 +00:00
Cameron McCormack 4e13fec003 Bug 1620467 - Part 1: Remove appearance use counters. r=emilio
They have served their purpose.

Differential Revision: https://phabricator.services.mozilla.com/D83427
2020-07-16 22:03:54 +00:00