Commit Graph

11842 Commits

Author SHA1 Message Date
Boris Chiou
4a1bf6f650 Bug 1485433 - Parse byte slice in PathParser. r=emilio
We only care about ascii char for svg path, so we could parse the string
as byte slice.

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

--HG--
extra : moz-landing-system : lando
2018-08-27 18:14:49 +00:00
arthur.iakab
5527acb8d8 Merge inbound to mozilla-central a=merge 2018-08-25 01:08:22 +03:00
Boris Chiou
a1909a88ff Bug 1246764 - Part 2: Define path() for clip-path. r=emilio
For now, |clip-path: path()| is chrome-only, and not for shape-outside,
so we only implement the parser for clip-path. Besides, I didn't put
path() in BasicShape because path() doesn't use the reference box to
resolve the percentage or keywords (i.e. SVG path only accept floating
point or integer number as the css pixel value). Therefore, I add it into
ShapeSource, instead of BasicShape.

Differential Revision: https://phabricator.services.mozilla.com/D3633
2018-08-24 11:37:53 -07:00
Boris Chiou
2e062cc88c Bug 1246764 - Part 1: Move SVGPathData and its parser into svg_path.rs. r=emilio
SVGPathData will be used by clip-path and offset-path (and/or more on the
properties which support <basic-shape>). Therefore, let's move
SVGPathData out of motion.rs.

Differential Revision: https://phabricator.services.mozilla.com/D3631
2018-08-24 11:37:44 -07:00
Xidorn Quan
7e1e060971 Bug 1424106 - Accept unknown webkit pseudo-element. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D4186

--HG--
extra : source : 9537cee04b53aa60d3f40a1b9d05ab8f739a92f8
2018-08-24 22:17:37 +10:00
Emilio Cobos Álvarez
385e2369c5 Bug 1485951 - Adjust an assertion to account for the changes from bug 1485930. r=me 2018-08-24 13:44:21 +02:00
Boris Chiou
c1a2d39873 Bug 1485823 - Use cbindgen for basic_shape::FillRule. r=xidorn
Just a minor fix to use cbindgen to avoid the conversion between
basic_shape::FillRule and mozilla::StyleFillRule.

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

--HG--
extra : moz-landing-system : lando
2018-08-23 23:00:16 +00:00
Boris Chiou
2cddc42d0f Bug 1485766 - Drop the manually implementation of ToCSS for BasicShape::Polygon. r=emilio
The implementation of ToCSS for Polygon has some rule, and we could use skip_if
to handle and serialization of fill-rule. However, we should derive ToCSS for
the pair of LengthOrPercentages, so define a new type for it.

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

--HG--
extra : moz-landing-system : lando
2018-08-23 20:32:53 +00:00
Xidorn Quan
2c6a391e1b Bug 1485930 - Make tree pseudo-element prefix not case-sensitive. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D4185

--HG--
extra : moz-landing-system : lando
2018-08-24 09:23:05 +00:00
Emilio Cobos Álvarez
4a3ec62885 Bug 1485655: Remove an assertion that doesn't hold in some cases. r=me 2018-08-23 16:56:27 +02:00
Emilio Cobos Álvarez
26115b46cb Bug 1485044: Unbust unit test build. r=me 2018-08-22 12:00:30 +02:00
Noemi Erli
2d8f83047a Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-08-22 12:54:34 +03:00
Noemi Erli
a3eb003ecf Merge inbound to mozilla-central. a=merge
--HG--
rename : testing/web-platform/tests/css/motion/offset-path-string.html => testing/web-platform/tests/css/motion/offset-path-string-001.html
2018-08-22 12:49:02 +03:00
Emilio Cobos Álvarez
3ef3f33868 Bug 1485044: Remove useless StyleDisplay conversion. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D3896
2018-08-22 11:25:58 +02:00
Emilio Cobos Álvarez
b974be2748 Bug 1485037: Use a consistent style for longhands. r=heycam
It's a bit of a mess.

Differential Revision: https://phabricator.services.mozilla.com/D3892
2018-08-22 11:25:23 +02:00
Emilio Cobos Álvarez
ac3701edd3 Bug 1474317: Make text-orientation, unicode-bidi, contain and will-change non-animatable. r=heycam
Per recent CSSWG resolutions:

  https://github.com/w3c/csswg-drafts/issues/2737
  https://github.com/w3c/csswg-drafts/issues/2751

Differential Revision: https://phabricator.services.mozilla.com/D3888
2018-08-22 11:24:39 +02:00
Emilio Cobos Álvarez
0cf34bf459 Bug 1484316: Serialize clip-path and shape-outside using Servo. r=xidorn
Differential Revision: https://phabricator.services.mozilla.com/D3653
2018-08-22 11:20:41 +02:00
Cameron McCormack
61ab3b7383 Bug 1485252 - Add MallocSizeOf impls for 128-bit integers. r=xidorn
Differential Revision: https://phabricator.services.mozilla.com/D3947

--HG--
extra : moz-landing-system : lando
2018-08-22 05:37:39 +00:00
Ciure Andrei
40b18c41b7 Backed out 7 changesets (bug 1429298) for xpcshell failures properties-db.js CLOSED TREE
Backed out changeset 48214a8e1b6b (bug 1429298)
Backed out changeset cc2785ab879e (bug 1429298)
Backed out changeset c217209a3b04 (bug 1429298)
Backed out changeset 196fc7b48b84 (bug 1429298)
Backed out changeset 761e9bb54adb (bug 1429298)
Backed out changeset 0b9ec0d707b5 (bug 1429298)
Backed out changeset 38ad1cc1b0c8 (bug 1429298)

--HG--
rename : testing/web-platform/tests/css/motion/offset-path-string-002.html => testing/web-platform/tests/css/motion/offset-path-string.html
2018-08-22 08:01:49 +03:00
Boris Chiou
9c3c5fcf1d Bug 1429298 - Part 3: Use macro for path parser. r=emilio
There are a lot of duplicates, so we use macro to refine them.

Depends on D2963

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

--HG--
extra : moz-landing-system : lando
2018-08-22 01:20:21 +00:00
Boris Chiou
4171197c25 Bug 1429298 - Part 2: Define offset-path and implement it in style system. r=emilio
Define OffsetPath & SVGPathData on the servo-side, and StyleMotion &
StyleSVGPath on the gecko-side. We parse the SVG Path string into a
vector of PathCommand. To build the gfx::Path, we will convert it into
gfx::Path later in a different patch.

The basic flow is:
  - Parse SVG Path String into SVGPathData (in Rust).
  - Use cbindgen to make sure the layout of PathCommand and StylePathCommand, and then set the Box[PathCommand] into nsTArray<StylePathCommand>.
  - Try to convert nsTArray<StylePathCommand> into gfx::Path. (This part will be implemented in a different patch.)

Finally, we use the gfx::Path to create a motion path transform.
The layout implementation is in the later patch.

Depends on D2962

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

--HG--
extra : moz-landing-system : lando
2018-08-22 01:24:13 +00:00
Boris Chiou
d935ea329c Bug 1429298 - Part 3: Use macro for path parser. r=emilio
There are a lot of duplicates, so we use macro to refine them.

Differential Revision: https://phabricator.services.mozilla.com/D2966
2018-08-21 22:41:39 -07:00
Boris Chiou
a8bd6dfc8a Bug 1429298 - Part 2: Define offset-path and implement it in style system. r=emilio
Define OffsetPath & SVGPathData on the servo-side, and StyleMotion &
StyleSVGPath on the gecko-side. We parse the SVG Path string into a
vector of PathCommand. To build the gfx::Path, we will convert it into
gfx::Path later in a different patch.

The basic flow is:
* Parse SVG Path String into SVGPathData (in Rust).
* Use cbindgen to make sure the layout of PathCommand and StylePathCommand,
  and then set the Box[PathCommand] into nsTArray<StylePathCommand>.
* Try to convert nsTArray<StylePathCommand> into gfx::Path. (This part
  will be implemented in a different patch.)

Finally, we use the gfx::Path to create a motion path transform.
The layout implementation is in the later patch.

Differential Revision: https://phabricator.services.mozilla.com/D2963
2018-08-21 22:41:38 -07:00
Henri Sivonen
9f7d45a15a Bug 1482093 - Make conversions from UTF-16 and Latin1 to UTF-8 utilize the slop in the first ASCII-sized allocation. r=nika
MozReview-Commit-ID: 4Y8K1JZkXWq

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

--HG--
extra : moz-landing-system : lando
2018-08-20 18:47:39 +00:00
Cameron McCormack
771b9fb2f1 Bug 1484575 - Simplify PropertyDeclarationBlock::get a little. r=xidorn
Depends On D3747

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

--HG--
extra : moz-landing-system : lando
2018-08-20 04:11:37 +00:00
Cameron McCormack
2ccae542f5 Bug 1484571 - Replace NormalDeclarationIterator return type with impl Trait. r=xidorn
Differential Revision: https://phabricator.services.mozilla.com/D3747

--HG--
extra : moz-landing-system : lando
2018-08-20 05:34:16 +00:00
Emilio Cobos Álvarez
1bffebea0b Bug 1484459: Appease Servo's tidy lint. r=me 2018-08-18 19:07:08 +02:00
Emilio Cobos Álvarez
8d50b26faf Bug 1484459: Port servo to the new media query system. r=me
Port `width`, and also add the `scan` media feature so I don't need to add
ugliness just to workaround the unused keyword_evaluator macro.

This is not part of the Gecko build in any case.
2018-08-18 19:07:06 +02:00
Emilio Cobos Álvarez
b68adb6896 Bug 1484459: Update num-traits in style. r=me 2018-08-18 19:07:05 +02:00
Csoregi Natalia
3e61ab4489 Merge inbound to mozilla-central. a=merge 2018-08-18 12:46:20 +03:00
Daniel Varga
3ee92b7a2f Merge mozilla-central to autoland 2018-08-18 01:04:09 +03:00
Emilio Cobos Álvarez
94eb4ee48e Bug 1483808 - Make webkit device-pixel-ratio media queries a proper alias to resolution. r=dholbert
According to the spec:

  https://compat.spec.whatwg.org/#css-media-queries-webkit-device-pixel-ratio

And to the Chromium implementation:

  https://cs.chromium.org/chromium/src/third_party/blink/renderer/core/css/media_query_evaluator.cc?l=366&rcl=1d7328865bcf06a687aafc18ff95d55317030672

They're no different than resolution.

In our implementation `resolution` does slightly different stuff. Given we
still haven't shipped -webkit-device-pixel-ratio, making this match resolution
looks better than the opposite.

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

--HG--
extra : moz-landing-system : lando
2018-08-17 21:25:37 +00:00
Daniel Varga
707a0b3f74 Merge mozilla-inbound to mozilla-central. a=merge 2018-08-18 00:53:04 +03:00
Xidorn Quan
f2d834dde8 Bug 1484146 - Use AspectRatio directly for RangeOrOperator::evaluate. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D3587

--HG--
extra : moz-landing-system : lando
2018-08-17 12:46:02 +00:00
Margareta Eliza Balazs
0b2fdd0c87 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-08-17 12:50:13 +03:00
Margareta Eliza Balazs
6c198262de Merge inbound to mozilla-central. a=merge 2018-08-17 12:46:14 +03:00
Nicholas Nethercote
6b176ea952 Bug 1484096 - Remove use of fnv in bloom.rs. r=heycam
To support that, this patch also does the following.

- Removes the insert(), remove() and might_contain() methods, because they are
  specialized versions of insert_hash(), remove_hash(), and
  might_contain_hash(), and they are only used by tests within this file.

- Moves hash() from the top level into create_and_insert_some_stuff().

- Changes create_and_insert_some_stuff() so that instead of hashing consecutive
  integers, it instead hashes stringified consecutive integers, which matches
  real usage a little better.

- Raises the false_positives limit a little to account for the above changes.

--HG--
extra : rebase_source : f839ff86986d5c8a17506a808ba676f69c7ef407
2018-08-17 15:33:22 +10:00
Emilio Cobos Álvarez
accc448c34 Bug 1483823 - Deduplicate system metric atoms. r=xidorn
Now that :-moz-system-metric is gone, there's no real reason for the atoms to
be separate.

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

--HG--
extra : moz-landing-system : lando
2018-08-17 01:07:22 +00:00
Xidorn Quan
464ef30ab4 Bug 1475033 part 3 - Add scrollbar-width property. r=heycam
MozReview-Commit-ID: CmCbaZosUrU

--HG--
extra : rebase_source : 85136c729524fdd8b9cdfcbf30e2bb35accd0d4a
2018-08-01 14:13:41 +10:00
Daniel Varga
36e523e699 Merge mozilla-central to mozilla-inbound 2018-08-18 01:05:36 +03:00
Emilio Cobos Álvarez
d0af9148ee No bug - Remove an inaccurate and useless debug message. r=me 2018-08-17 23:26:24 +02:00
Emilio Cobos Álvarez
5a92426ddb Bug 1483964: Manually inline class and ID getters. r=xidorn
Somewhat ugly but hopefully not too much. Somehow it ends up removing more lines
than adding.

Differential Revision: https://phabricator.services.mozilla.com/D3536
2018-08-17 14:26:45 +02:00
Emilio Cobos Álvarez
e0013844c5 No bug - Add some spec links to media queries. r=xidorn
Differential Revision: https://phabricator.services.mozilla.com/D3489

--HG--
extra : moz-landing-system : lando
2018-08-16 10:05:52 +00:00
Xidorn Quan
398c9582ea No bug - Simplify some code in NoCalcLength::parse_dimension. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D3473

--HG--
extra : moz-landing-system : lando
2018-08-16 09:34:43 +00:00
Emilio Cobos Álvarez
03eea217a8 Bug 1481961: Rewrite media queries so that they work on an evaluator function. r=xidorn
This moves most of the code to be Rust, except potentially some evaluator
functions, and allows to unblock the use case from any-hover / any-pointer and
remove nsMediaFeatures.

Differential Revision: https://phabricator.services.mozilla.com/D2976
2018-08-15 16:09:19 +02:00
Emilio Cobos Álvarez
f0f42a0ad0 Bug 1477773: Simplify visited-related code in invalidation. r=xidorn
We match with AllLinksVisitedAndUnvisited for style invalidation, and we already
do a subtree restyle because :visited matching doesn't depend on the actual
element state.

So all this stuff is just not needed. The comment points to the attribute tests
in bug 1328509, but those still trivially pass with this change.

I think this was unneeded since I introduced AllLinksVisitedAndUnvisited, or
maybe since https://github.com/servo/servo/pull/19520. In any case it doesn't
really matter, and I already had done this cleanup in my WIP patches for
bug 1406622, but I guess this is a slightly more suitable place to land them :)

Differential Revision: https://phabricator.services.mozilla.com/D3305
2018-08-15 12:55:32 +02:00
Emilio Cobos Álvarez
6493ebbcf0 Bug 1477773: no-op visited changes earlier if visited links are disabled. r=xidorn
We force a repaint from ContentStateChangedInternal if visited links are
disabled, and that's observable. Let's cut it off as early as we can to avoid
timing attacks even when :visited is disabled.

Differential Revision: https://phabricator.services.mozilla.com/D3304
2018-08-15 12:54:26 +02:00
Cameron McCormack
be0a66bcfb Bug 1483121 - Generate static atom hash in StaticAtoms.py. r=njn,emilio
Summary: Depends On D3286

Reviewers: njn!, emilio!

Tags: #secure-revision

Bug #: 1483121

Differential Revision: https://phabricator.services.mozilla.com/D3295
2018-08-15 15:52:42 +10:00
Cameron McCormack
b17e6b4468 Bug 1482782 - Part 6: Remove support for multiple static atom sources. r=njn,emilio
Summary: Depends On D3284

Reviewers: njn!, emilio!

Tags: #secure-revision

Bug #: 1482782

Differential Revision: https://phabricator.services.mozilla.com/D3285
2018-08-15 15:46:42 +10:00
Cameron McCormack
99d9013b12 Bug 1482782 - Part 5: Move CSS anonymous box atoms to nsGkAtoms. r=njn,emilio
Summary: Depends On D3283

Reviewers: njn!, emilio!

Tags: #secure-revision

Bug #: 1482782

Differential Revision: https://phabricator.services.mozilla.com/D3284
2018-08-15 15:46:39 +10:00