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

14437 Коммитов

Автор SHA1 Сообщение Дата
Emilio Cobos Álvarez ffd639d223 Bug 1486536 - Explicitly flush the StyleSet from FlushPendingNotifications. r=heycam
When CSS rules change, we usually do this implicitly from FlushUserFontSet & co.

However there's a code path that dirties the stylist but not the CSS rules, and
that's when the compat mode changes and we're an SVG document.

I don't think that can get hit (easily, at least?), but it's pretty easy to do
so and I think this is cleaner too.

This fixes that case so the stylist can't assert in that case either, and so
that we still rebuild the cascade data so that the hash maps use the right keys
for a given quirks-mode.

Differential Revision: https://phabricator.services.mozilla.com/D4361
2018-08-28 16:01:06 +02:00
Emilio Cobos Álvarez ab460a4f52 Bug 1425700 - Make the counters non-atomic counters and merge afterwards. r=bholley
This was consistently faster in the benchmark (even when counters were disabled,
which was slightly suspicious, but...).

Anyway, it's not really much code, most of it is FFI copy-pasta.

Differential Revision: https://phabricator.services.mozilla.com/D3874
2018-08-28 15:58:24 +02:00
Emilio Cobos Álvarez 77e9eba591 Bug 1425700 - Add a parsing benchmarks with use counters. r=bholley
That way we have a simple baseline to measure overhead.

Differential Revision: https://phabricator.services.mozilla.com/D3839
2018-08-28 15:58:23 +02:00
Emilio Cobos Álvarez e2379f3921 Bug 1425700 - Add a test for the use counters. r=heycam
Mostly testing that they work, and that they record what we expect them to
record, that is, the actual property that was parsed, and not the properties
that it'd resolve or expand to.

That may be another tricky part for CSSOM, I think style setters would fail an
alias test if implemented with the current setup (we do the property lookup in
C++).

Differential Revision: https://phabricator.services.mozilla.com/D3829
2018-08-28 15:58:21 +02:00
Emilio Cobos Álvarez 7f1f4ab7f0 Bug 1425700 - Hook the use counters into StyleSheet parsing. r=heycam
Still not hooked into telemetry, I talked with :janerik and :gfritzsche about
that, but test incoming!

This intentionally doesn't handle CSSOM and such for now, will file followups
for those, though should be trivial.

I want to unify / clean up how we do the use counters and the error reporting
stuff for CSSOM, since the current function call still shows up in profiles,
but that should be a follow-up.

Differential Revision: https://phabricator.services.mozilla.com/D3828
2018-08-28 15:58:19 +02:00
Daniel Holbert 6fc91f26dc Bug 1483499: Give <legend> consistent default padding, regardless of whether it's a child of fieldset. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D4029

--HG--
extra : moz-landing-system : lando
2018-08-24 21:23:56 +00:00
arthur.iakab 83d1441dfa Merge mozilla-central to autoland 2018-08-25 01:09:11 +03:00
arthur.iakab 5527acb8d8 Merge inbound to mozilla-central a=merge 2018-08-25 01:08:22 +03:00
Ting-Yu Lin 987c1af77f Bug 1486074 - Move logic for copying aliased properties' fields to the bottom of property_database.js. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D4247

--HG--
extra : moz-landing-system : lando
2018-08-24 19:05:18 +00: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 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
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
svoisen d9fce4a9d0 Bug 1466722 - Remove remaining references to nsCSSRuleProcessor since it has been removed. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D3928

--HG--
extra : moz-landing-system : lando
2018-08-22 01:29:39 +00:00
Nathan Froyd a19ca9d1ab Bug 1480652 - add an aarch64 windows case to ServoBindings.toml; r=xidorn
This is the LLVM target name that's getting used in https://github.com/rust-lang/rust/pull/53173.
2018-08-22 08:01:29 -04: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
Boris Chiou cc2e8fb329 Bug 1429298 - Part 6: Apply motion path transform matrix. r=nical
We implement the layout part of offset-path. Now we don't have
offset-distance, so use the default value, 0%, for it.

Note: rename mCombinedTransform as mIndividualTransform, which only
stores the combined individual transforms. We apply the individual
transforms, motion path transform, and specified transform in
ReadTransforms. (We have to follow the order, so we don't combine the
specified transform in FinishStyle.)

Differential Revision: https://phabricator.services.mozilla.com/D2968
2018-08-21 22:41:44 -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
Nicholas Nethercote adaf03f650 Bug 1449787 - Reduce indirection for static pointers in nsMediaFeature. r=emilio
The patch also changes sSystemMetrics to not refcount its elements, because
static atoms don't need refcounting.

MozReview-Commit-ID: 7uf7YjyNaZp

--HG--
extra : rebase_source : 210f2f24632c242e1d3fb129285717dafe0660d4
2018-04-26 13:28:26 +10:00
Coroiu Cristina 9c90e3fa96 Backed out changeset e85309ff67f4 (bug 1352643) for wpt failures at /css/css-images/gradient/color-stops-parsing.html on a CLOSED TREE 2018-10-03 02:37:44 +03:00
Ryan Hunt 629e76085a Bug 1352643 - Implement multi-position gradient color-stops syntax. r=emilio
This commit adds the multi-position gradient color-stops syntax.

GradientItem::parse_comma_separated is extended to attempt to parse
a LengthOrPercent after each color stop. If it succeeds, it appends
an additional color stop with a duplicate color and the specified
position.

This change is only to the parsing, serialization is left unchanged
as per [1].

[1] https://github.com/w3c/csswg-drafts/issues/2714

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

--HG--
extra : rebase_source : 88f2e9276c626bf4e195f10c5b5713861eeb5760
extra : source : 18e81538f6f439a8c02a03f21fff22cc5e6128f4
2018-10-01 14:26:23 -05:00
Emilio Cobos Álvarez bbda2f1225 Bug 1484690 - Move the enabled state to the sheet instead of sharing it. r=heycam
We share the inner object across sheets from the same URL, so what happens here
is that, once the sheet parses and loads, we call SetEnabled() on the first
sheet, which sets the inner bit, then calls ApplicableStateChanged.

That set actually turned the second sheet complete, so when inserting the sheet,
we think that the second sheet is already enabled, and thus in the author data,
and try to insert before it. Of course there's nothing there, so we panic.

We rely on calling SetEnabled() on all the sheets already to insert them in the
styleset / author data, so this makes it clearer and fixes the bug by moving the
state to each individual sheet.

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

--HG--
extra : moz-landing-system : lando
2018-08-21 08:55:10 +00:00
Emilio Cobos Álvarez 3b61137a4b Bug 1484478 - Use a node bit for connectedness. r=smaug
While trying to repro bug 1484293 I noticed that this assertion failed:

https://searchfox.org/mozilla-central/rev/ef8b3886cb173d5534b954b6fb7eb2d94a9473d0/dom/base/ShadowRoot.cpp#160

(during unlink, while unbinding the kids)

We rely on GetComposedDoc returning the right thing during unbind to cleanup
some stuff (see bug 1473637 for example), so it should probably be correct all
the time, regardless of whether something is unlinked or not.

Also this makes GetComposedDoc() much faster, which is nice too, since we call
it somewhat often.

I removed NodeHasRelevantHoverRules, since it's unused (was used by the old
style system).

I moved the SetIsConnected(false) call for the shadow root to before unbinding
the kids for consistency with what Element does with the uncomposed doc flag,
now that the children's connectedness doesn't depend on the shadow root's.

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

--HG--
extra : moz-landing-system : lando
2018-08-20 11:56:27 +00:00
shindli b158b60c25 Backed out changeset 39f61de4e7bb (bug 1484478) for bustages in /builds/worker/workspace/build/src/dom/base/ShadowRoot.cpp:526:20 2018-08-20 14:21:08 +03:00
Emilio Cobos Álvarez ac923a49c1 Bug 1484478 - Use a node bit for connectedness. r=smaug
While trying to repro bug 1484293 I noticed that this assertion failed:

https://searchfox.org/mozilla-central/rev/ef8b3886cb173d5534b954b6fb7eb2d94a9473d0/dom/base/ShadowRoot.cpp#160

(during unlink, while unbinding the kids)

We rely on GetComposedDoc returning the right thing during unbind to cleanup
some stuff (see bug 1473637 for example), so it should probably be correct all
the time, regardless of whether something is unlinked or not.

Also this makes GetComposedDoc() much faster, which is nice too, since we call
it somewhat often.

I removed NodeHasRelevantHoverRules, since it's unused (was used by the old
style system).

I moved the SetIsConnected(false) call for the shadow root to before unbinding
the kids for consistency with what Element does with the uncomposed doc flag,
now that the children's connectedness doesn't depend on the shadow root's.

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

--HG--
extra : moz-landing-system : lando
2018-08-19 18:22:48 +00: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
Emilio Cobos Álvarez fe71af2bfe Bug 1483211 - Make fieldset UA rule use min-inline-size instead of min-width. r=dholbert
Per https://github.com/whatwg/html/pull/3914

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

--HG--
extra : moz-landing-system : lando
2018-08-16 14:59:19 +00: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
Xidorn Quan ed1e3e1f9e Bug 1475033 part 1 - Rename nsChangeHint_CSSOverflowChange to nsChangeHint_ScrollbarChange. r=heycam
Prepare for scrollbar-width which should trigger the same kind of change.

MozReview-Commit-ID: 1n9Y9bobBkJ

--HG--
extra : rebase_source : 520b78dec4daca5050e0cc7fff4ec68fa36663c5
2018-08-03 16:42:33 +10:00
Daniel Holbert 03ba2de2e4 Bug 1483527: Change fieldset block-end & inline-axis padding to match other browsers. r=emilio
This mirrors the web-platform-tests change at
6058e914c1

According to that commit, WebKit/Chromium/EdgeHTML all have the behavior
that we're switching to here.

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

--HG--
extra : moz-landing-system : lando
2018-08-16 18:26:39 +00:00
Ciure Andrei da22f27e86 Backed out 1 changesets (bug 1483527) for fieldset reftest failures CLOSED TREE
Backed out changeset 3d98e379dc38 (bug 1483527)
2018-08-16 21:04:03 +03:00
Daniel Varga 36e523e699 Merge mozilla-central to mozilla-inbound 2018-08-18 01:05:36 +03:00
Emilio Cobos Álvarez 583727a597 Bug 1478813 - Auto-generate ServoStyleConsts. r=xidorn,ted
Differential Revision: https://phabricator.services.mozilla.com/D2447
2018-08-17 19:48:23 +02:00
Cosmin Sabou a1dcf34f94 Backed out changeset 4b9dcf8f2e6c (bug 1478813) for build bustages because cbindgen is missing. CLOSED TREE 2018-08-17 20:24:06 +03:00
Emilio Cobos Álvarez 1e9ffcebe9 Bug 1478813 - Auto-generate ServoStyleConsts. r=xidorn,ted
Differential Revision: https://phabricator.services.mozilla.com/D2447
2018-08-17 19:02:34 +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 557d043591 Bug 1483964: Unify InternalAttr and ServoAttrSnapshot. r=smaug,xidorn
They're the same, and they aren't complex enough to be an AttrArray
implementation detail I think.

Differential Revision: https://phabricator.services.mozilla.com/D3535
2018-08-17 14:26:42 +02:00
Daniel Holbert 0a2578eafa Bug 1483527: Change fieldset block-end & inline-axis padding to match other browsers. r=emilio
This mirrors the web-platform-tests change at
6058e914c1

According to that commit, WebKit/Chromium/EdgeHTML all have the behavior
that we're switching to here.

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

--HG--
extra : moz-landing-system : lando
2018-08-16 14:54:39 +00:00
Margareta Eliza Balazs 48299c8cd6 Merge inbound to mozilla-central. a=merge 2018-08-16 12:24:26 +03:00
Timothy Guan-tin Chien 3a8416b993 Bug 1431255 - Part XIII, Make <link> in UA Widget load stylesheets synchronously r=bzbarsky
Set SheetLoadData::mSyncLoad to true when the link element is in a UA Widget.

MozReview-Commit-ID: 2NPSJnL0rKl

--HG--
extra : rebase_source : 9af8c7add41b39f6eb8e3ac02dbefb9607b905f9
2018-08-07 11:20:31 -07:00
dvarga 87db76ae1a Merge mozilla-central to mozilla-inbound on a CLOSED TREE
--HG--
extra : rebase_source : c9e6b9edae9ecf064d1318fa15d5d57ea42c102a
2018-08-16 01:22:36 +03:00
Daniel Holbert 0878eb4d7e Bug 1483394: Remove unneeded #includes of nsContentUtils.h in /layout. r=TYLin
For each file touched in this patch, the file had an #include for nsContentUtils.h, but no other mentions of the string "nsContentUtils", nor any mention of its "ScriptBlocker"-related types. So these files likely don't need their nsContentUtils.h include anymore, and we can remove it to get a marginal win on build time/complexity.

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

--HG--
extra : moz-landing-system : lando
2018-08-15 07:04: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 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 426af33a36 Bug 1482782 - Part 7: Expand out nsStaticAtom.h macros now that we only static atom table. r=njn
Summary: Depends On D3285

Reviewers: njn!

Tags: #secure-revision

Bug #: 1482782

Differential Revision: https://phabricator.services.mozilla.com/D3286
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
Cameron McCormack 4a23b5ff06 Bug 1482782 - Part 4: Move CSS pseudo-element atoms to nsGkAtoms. r=njn,emilio
Summary: Depends On D3282

Reviewers: njn!, emilio!

Tags: #secure-revision

Bug #: 1482782

Differential Revision: https://phabricator.services.mozilla.com/D3283
2018-08-15 15:46:00 +10:00
Narcis Beleuzu d20e8e7674 Backed out 8 changesets (bug 1483121, bug 1482782) for build bustages on nsDirectoryService.cpp. CLOSED TREE
Backed out changeset 0a8334bbcf45 (bug 1483121)
Backed out changeset cb2dcb859071 (bug 1482782)
Backed out changeset c834d4ca2eef (bug 1482782)
Backed out changeset 887de0efbb67 (bug 1482782)
Backed out changeset 018fdb50a6be (bug 1482782)
Backed out changeset 33a8aa8096c9 (bug 1482782)
Backed out changeset e3632354f16e (bug 1482782)
Backed out changeset 46f8319bee82 (bug 1482782)
2018-08-15 09:14:41 +03:00
Cameron McCormack ec18757d45 Bug 1482782 - Part 7: Expand out nsStaticAtom.h macros now that we only static atom table. r=njn
Summary: Depends On D3285

Reviewers: njn!

Tags: #secure-revision

Bug #: 1482782

Differential Revision: https://phabricator.services.mozilla.com/D3286
2018-08-15 15:46:42 +10:00
Cameron McCormack d9edae8bde 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
Cameron McCormack cc6c806369 Bug 1482782 - Part 4: Move CSS pseudo-element atoms to nsGkAtoms. r=njn,emilio
Summary: Depends On D3282

Reviewers: njn!, emilio!

Tags: #secure-revision

Bug #: 1482782

Differential Revision: https://phabricator.services.mozilla.com/D3283
2018-08-15 15:46:00 +10:00
Margareta Eliza Balazs 9575863d77 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-08-14 12:35:25 +03:00
Xidorn Quan 33b8a6dacd Bug 1483090 - Rename StyleUserInterface to StyleUI. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D3276

--HG--
extra : moz-landing-system : lando
2018-08-14 08:37:37 +00:00
Ting-Yu Lin 74992134e1 Bug 1482665 Part 3 - Remove nsPresContext::AppUnitsPerCSSInch() and replace it with mozilla::AppUnitsPerCSSInch(). r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D3156
2018-08-13 14:29:29 -07:00
Ting-Yu Lin 48d02834a5 Bug 1482665 Part 2 - Remove nsPresContext::AppUnitsPerCSSPixel() and replace it with mozilla::AppUnitsPerCSSPixel(). r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D3155
2018-08-13 14:29:28 -07:00
Emilio Cobos Álvarez f75cc9db05 Bug 1481905 - When canceling a user font load, make sure to not leave mUserFontLoadState as LOADING. r=jfkthame
Since that's what we use to kick off new loads, should they be needed.

Differential Revision: https://phabricator.services.mozilla.com/D3111
2018-08-12 15:30:45 +02:00
Morgan Rae Reschenberg f72ce47c36 Bug 1472919 - Establish stacking context, containing block, independent formatting context for contain:layout. r=dbaron
MozReview-Commit-ID: H36HpePX29C

--HG--
rename : layout/reftests/w3c-css/submitted/contain/contain-paint-containing-block-absolute-001.html => layout/reftests/w3c-css/submitted/contain/contain-layout-containing-block-absolute-001.html
rename : layout/reftests/w3c-css/submitted/contain/contain-paint-containing-block-fixed-001.html => layout/reftests/w3c-css/submitted/contain/contain-layout-containing-block-fixed-001.html
rename : layout/reftests/w3c-css/submitted/contain/contain-paint-formatting-context-float-001.html => layout/reftests/w3c-css/submitted/contain/contain-layout-formatting-context-float-001.html
rename : layout/reftests/w3c-css/submitted/contain/contain-paint-formatting-context-margin-001-ref.html => layout/reftests/w3c-css/submitted/contain/contain-layout-formatting-context-margin-001-ref.html
rename : layout/reftests/w3c-css/submitted/contain/contain-paint-formatting-context-margin-001.html => layout/reftests/w3c-css/submitted/contain/contain-layout-formatting-context-margin-001.html
rename : layout/reftests/w3c-css/submitted/contain/contain-paint-ignored-cases-no-principal-box-001.html => layout/reftests/w3c-css/submitted/contain/contain-layout-ignored-cases-no-principal-box-001.html
rename : layout/reftests/w3c-css/submitted/contain/contain-paint-containing-block-absolute-001-ref.html => layout/reftests/w3c-css/submitted/contain/contain-layout-ignored-cases-no-principal-box-002-ref.html
rename : layout/reftests/w3c-css/submitted/contain/contain-paint-containing-block-absolute-001.html => layout/reftests/w3c-css/submitted/contain/contain-layout-ignored-cases-no-principal-box-002.html
rename : layout/reftests/w3c-css/submitted/contain/contain-paint-containing-block-fixed-001-ref.html => layout/reftests/w3c-css/submitted/contain/contain-layout-ignored-cases-no-principal-box-003-ref.html
rename : layout/reftests/w3c-css/submitted/contain/contain-paint-containing-block-fixed-001.html => layout/reftests/w3c-css/submitted/contain/contain-layout-ignored-cases-no-principal-box-003.html
extra : rebase_source : d6e53cd496c98949b0b4ecfb96d6a8a5eb4d6635
2018-07-20 10:57:22 -07:00
Morgan Rae Reschenberg 1eafba7c64 Bug 1476495 - Treat overflow in contain:layout elements as ink overflow. r=dholbert
MozReview-Commit-ID: 2gRm0LOUTI6

--HG--
extra : rebase_source : 83c0519bd76d68ff6fd8a20968fbb1a0ef9e81d4
2018-07-23 11:04:50 -07:00
Margareta Eliza Balazs f617807241 Merge inbound to mozilla-central. a=merge 2018-08-10 12:17:09 +03:00
Cosmin Sabou 2000d70040 Backed out changeset b580e5b9f9e4 (bug 1476495) for wpt reftest failures on contain-layout-ink-overflow. CLOSED TREE
--HG--
extra : amend_source : 52811bc4cb88b219adc749a02c8f51c7ddb69bd3
2018-08-10 07:17:58 +03:00
Morgan Rae Reschenberg 717134bfa2 Bug 1476495 - Treat overflow in contain:layout elements as ink overflow. r=dholbert
MozReview-Commit-ID: 2gRm0LOUTI6

--HG--
extra : rebase_source : 3efe39a597fce724e59ebc8d001c19234b3646ed
2018-07-23 11:04:50 -07:00
L. David Baron 09f62c0e05 Bug 1481866: Swap order of values in 'overflow' shorthand property. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D3069

--HG--
extra : moz-landing-system : lando
2018-08-10 02:20:53 +00:00
Xidorn Quan 34de342864 Bug 1464786 - Implement flow-relative values for resize property. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D2908

--HG--
extra : moz-landing-system : lando
2018-08-08 23:40:06 +00:00
Gabriele Svelto 15adf94f4d Bug 1348273 - Convert crash annotations into a machine-readable list of constants; r=ted.mielczarek,njn,dholbert,mak,cpearce,mcmanus,froydnj,Dexter,jrmuizel,jchen,jimm,bz,surkov
This introduces the machinery needed to generate crash annotations from a YAML
file. The relevant C++ functions are updated to take a typed enum. JavaScript
calls are unaffected but they will throw if the string argument does not
correspond to one of the known entries in the C++ enum. The existing whitelists
and blacklists of annotations are also generated from the YAML file and all
duplicate code related to them has been consolidated. Once written out to the
.extra file the annotations are converted in string form and are no different
than the existing ones.

All existing annotations have been included in the list (and some obsolete ones
have been removed) and all call sites have been updated including tests where
appropriate.

--HG--
extra : source : 4f6c43f2830701ec5552e08e3f1b06fe6d045860
2018-07-05 15:42:11 +02:00
Nazım Can Altınova ba374b05d5 Bug 1480496 - Add a profiler label frame to Loader::ParseSheet with the LAYOUT category r=mstange
MozReview-Commit-ID: CcuCs9fxTbT

--HG--
extra : rebase_source : eec3bb1c60a3fe1d724c302cfe6edfd226c8ac21
2018-08-03 13:43:57 +02:00
Csoregi Natalia 0f4d50ff52 Merge inbound to mozilla-central. a=merge 2018-08-08 12:58:36 +03:00
Xidorn Quan 346661e6fd Bug 1481125 - Put overflow: -moz-scrollbar-* behind pref. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D2845

--HG--
extra : moz-landing-system : lando
2018-08-07 13:57:45 +00:00
Brindusan Cristian 91ec49bade Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-08-08 00:57:25 +03:00
Boris Chiou 094fddc2b9 Bug 1480649 - Use union to wrap different shape-like types. r=xidorn
1. We will add more shape-like types in the future, so it's better to
   use union to reduce the memory usage.
2. Those shape-like types are mutual exclusive, so we could use union to
   wrap them.

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

--HG--
extra : moz-landing-system : lando
2018-08-07 07:56:01 +00:00
Emilio Cobos Álvarez 60a4d14017 Bug 1481155 - Use more references in the snapshot code. r=xidorn
Differential Revision: https://phabricator.services.mozilla.com/D2766

--HG--
extra : moz-landing-system : lando
2018-08-06 23:44:56 +00:00
Olli Pettay 5a669d2747 Bug 1469521 - Change storage of previous and next children in nsINode, r=bz
--HG--
extra : rebase_source : 4cb50889c2cfc788cab7037d26d114e35205e998
2018-08-06 22:29:27 +03:00
Ciure Andrei 9f8ebbde60 Merge inbound to mozilla-central. a=merge 2018-08-07 00:58:13 +03:00
arthur.iakab a3f6453363 Merge mozilla-central to inbound 2018-08-07 18:49:13 +03:00
Morgan Rae Reschenberg 20f759a6e0 Bug 1478550 - Adjust IsInnerTableStyle to fail for table captions. r=dholbert
MozReview-Commit-ID: 6CK1XEYWsTl

--HG--
extra : rebase_source : d5f753d0127c482021577fe0f48c67a1361e0b53
2018-07-26 14:09:52 -07:00
Chris Peterson 72c44c30b9 Bug 1481097 - layout: Remove nsCSSPseudoElements workaround for gcc 4.9.2 bug. r=dbaron
This gcc 4.9.2 workaround (from bug 1273048) is no longer needed because Firefox for Android now uses clang instead of gcc (as of bug 1163171).

The gcc bug was fixed in gcc 4.8.5 and 4.9.3:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64037

MozReview-Commit-ID: IAKONNSkqcz

--HG--
extra : rebase_source : 643dd54bb2fba5c42dc2fd94d037c4867c48aaf9
extra : source : c0a136d3504df14eef7f03e3a5588a47519035d5
2018-07-21 23:48:16 -07:00
Jonathan Watt 35532da8f8 Bug 1480073 pt 1. Fix -webkit-appearance in property_database.js. r=emilio 2018-07-20 11:43:15 +01:00
L. David Baron 5933830a47 Bug 1479859 patch 4 - Test becoming a containing block for contain:paint only for those frames that support it. r=dholbert
This fixes the regression of three web-platform-test reftests:
  testing/web-platform/tests/css/css-contain/contain-paint-002.html
  testing/web-platform/tests/css/css-contain/contain-paint-011.html
  testing/web-platform/tests/css/css-contain/contain-paint-012.html
that was caused by patch 1, but it's written on top of the code in
patches 2 and 3 so it's easier to fix afterwards.

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

--HG--
extra : rebase_source : 030c72d1f2945795afe8a81112cd6cb7035d9d6b
2018-08-07 15:02:08 -07:00
L. David Baron 552f835723 Bug 1479859 patch 2 - Send nsChangeHint_UpdateContainingBlock when containing block-ness changes due to one property change, while another property that might trigger containing block-ness doesn't do so because of the frame type. r=emilio
This fixes a rather subtle bug.  What the underlying code here is trying
to do is remove nsChangeHint_UpdateContainingBlock when some properties
that influence whether a frame is a containing block for absolutely
positioned or fixed positioned elements have changed, but the final
calculation of being a containing block has not changed.  However, the
old code was using a function that tested whether the style could
*possibly* lead to a frame being a containing block.  Some of the
properties (like the transform properties) that lead to being a
containing block, for example, don't apply to non-replaced inlines.
Some, however, do (such as 'filter').  So if there's a dynamic change
adding or removing a filter, on an inline that also has an *ignored*
transform property (like 'transform' or 'perspective') set, then the
code prior to this patch causes us to remove the UpdateContainingBlock
hint.

This patch fixes things by testing whether being a containing block
could have changed for *any* type of frame, by separately testing the
changes.

The added tests fail without the patch and pass with the patch, viewed
in isolation.  However, without the previous patch, test 003 passes.

Test 003 also fails in Chrome (but 001 and 002 pass).

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

--HG--
extra : rebase_source : 0a5dbb15a058cf4a43d989bf53f042c5b718e24d
2018-08-07 15:02:07 -07:00
Emilio Cobos Álvarez dc8f531c74 Bug 1480054: Restrict XUL tree pseudos on nightly and early-beta. r=xidorn
Differential Revision: https://phabricator.services.mozilla.com/D2598

MozReview-Commit-ID: I1dUPuGKkyX
2018-08-06 15:41:24 +02:00
Margareta Eliza Balazs 235bf9e602 Backed out 2 changesets (bug 1480054) for reftest failures in build/tests/reftest/tests/layout/reftests/bugs/664127-1.xul on a CLOSED TREE
Backed out changeset 854bba84bd34 (bug 1480054)
Backed out changeset 37861e92aa13 (bug 1480054)
2018-08-06 14:09:07 +03:00
Emilio Cobos Álvarez 85dc56828a Bug 1480054: Restrict XUL tree pseudos on nightly and early-beta. r=xidorn
Differential Revision: https://phabricator.services.mozilla.com/D2598

MozReview-Commit-ID: I1dUPuGKkyX
2018-08-06 10:36:49 +02:00
Daniel Holbert 677e9015b8 Bug 1480222 part 4: Give css ErrorReporter.h an actual nsString.h include (not nsStringFwd), since it has actual nsString member-vars which need full definition. r=TYLin
Differential Revision: https://phabricator.services.mozilla.com/D2632
2018-08-01 15:21:07 -07:00
Daniel Holbert deb467f397 Bug 1480222 part 3: Add includes to fix unified bustage in ArenaRefPtrInlines.h and nsComputedDOMStyle.cpp. r=TYLin
* ArenaRefPtrInlines.h calls nsPresArena::RegisterArenaRefPtr()
  and hence needs nsPresArena.h.
* nsComputedDOMStyle.cpp calls nsCSSProps::PropHasFlags()
  and hence needs nsCSSProps.h.

Differential Revision: https://phabricator.services.mozilla.com/D2631
2018-08-01 15:09:54 -07:00
Daniel Holbert e7a333a53b Bug 1480222 part 2: Add include for RefCounted.h to some .cpp files in layout/style that use the mozilla::RefCounted type. r=TYLin
Differential Revision: https://phabricator.services.mozilla.com/D2630
2018-08-01 15:05:30 -07:00
Daniel Holbert 69bb1da9c0 Bug 1480222 part 1: Add include for ServoBindings.h to some .cpp files in layout/style, to fix various non-unified build errors about undeclared identifier 'Servo_XYZ'. r=TYLin
Differential Revision: https://phabricator.services.mozilla.com/D2629
2018-08-01 14:52:07 -07:00
Noemi Erli 8f66a71e70 Merge inbound to mozilla-central. a=merge 2018-08-02 11:54:46 +03:00
dvarga 956d57e7f2 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-08-02 01:26:29 +03:00
dvarga e487e6e564 Merge inbound to mozilla-central. a=merge 2018-08-02 01:09:38 +03:00
Emilio Cobos Álvarez 3cd323e6da Bug 1480043: Remove the concept of 'canonical' pseudos. r=xidorn
We only have this so that ::-moz-placeholder keeps serializing as
::-moz-placeholder, but I don't think anybody really cares.

Edge aliases ::-webkit-input-placeholder to ::-ms-input-placeholder at parse
time as well, as can be seen in:

```
let s = document.createElement('style');
s.innerHTML = `input::-webkit-input-placeholder { color: red };`;
document.body.appendChild(s);
document.body.innerHTML = s.sheet.cssRules[0].cssText;
```

And I think this is more consistent with what we do for CSS properties that are
aliases.

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

MozReview-Commit-ID: 3ImDWamJhxh
2018-08-01 15:57:47 +02:00
Brendan Dahl 6a890f9e34 Bug 1473742 - Fix printing fonts loaded with JS API. r=jfkthame
Copy over non-rule font faces to the static clone document that is used
during printing.

MozReview-Commit-ID: 8ggNrCcVpEK

--HG--
extra : rebase_source : 27e270edd28c3ecf19a99f4df5398a89e6c53e6a
2018-08-01 09:40:24 -07:00
Xidorn Quan ea042b2ab2 Bug 1478455 - Add overflow-wrap: normal for table to html.css. r=dbaron
This would fix this bug as well as webcompat/web-bugs#17900.

The argument for this to be a reasonable change is that, table cells can
never shrink below the min intrinsic size, so overflow-wrap: break-word
doesn't make any sense in table when it didn't affect intrinsic size.
So this change basically revert the behavior of bug 1472386 for tables
which seems to be the biggest problem so far.

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

--HG--
extra : moz-landing-system : lando
2018-08-02 01:18:26 +00:00
Dorel Luca d0a0ae30d5 Merge mozilla-inbound to mozilla-central. a=merge 2018-08-01 12:51:56 +03:00
Cameron McCormack 046bd5fe7f Bug 1475197 - Part 1: Shrink selectors::Component to 24 bytes. r=emilio
This saves about 37 KiB of memory across the UA style sheets.

MozReview-Commit-ID: EoZnlmyWwxX

--HG--
extra : rebase_source : cd8ef0ba838618f9a4583b7d9896caa3a0602199
2018-07-16 12:15:47 +10:00
Emilio Cobos Álvarez 27250792bc Bug 1479240: Make system metric queries always return false instead of not matching for fingerprinting-resistance. r=heycam
Looks like these used this mechanism for no great reason, and actually doing
this exposes trivially whether fingerprinting-resistance is enabled, which looks
like an anti-goal (if a media query parses correctly, and doesn't match either 1
or 0, then fingerprinting-resistance is enabled).

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

MozReview-Commit-ID: 76tIIkwlpeP
2018-07-31 12:55:59 +02:00
Emilio Cobos Álvarez 6c81e2e79c Bug 1479450: Convert GetStringValue to use Servo. r=xidorn
And remove gPropertyTable / kCSSRawProperties while at it.

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

MozReview-Commit-ID: 8U87BcBkrJF
2018-07-31 12:05:00 +02:00
Emilio Cobos Álvarez 2996813963 Bug 1479450: Implement nsCSSProps::LookupProperty using Rust. r=xidorn
Always assume allowed-for-all-content. There are a couple callers which weren't
doing that:

 * A unit test -> removed.

 * ComputeAnimationDistance: Used for testing (in transitions_per_property), and
   for the animation inspector. The animation inspector shouldn't show
   non-enabled properties. The transitions_per_property test already relies on
   getComputedStyle stuff which only uses eForAllContent.

 * GetCSSImageURLs: I added this API for the context menu page and such. It
   doesn't rely on non-enabled-everywhere properties, it was only using
   eInChrome because it was a ChromeOnly API, but it doesn't really need this.

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

MozReview-Commit-ID: 4VOi5Su3Bos
2018-07-31 12:00:15 +02:00
Emilio Cobos Álvarez 1ad081c136 Bug 1479681: Fix the loop in nsTransitionManager dealing with stopping `all` transitions. r=hiro
The loop was mutating the nsCSSPropertyID used to guard the exit, which is
obviously wrong.

This branch is pretty rarely taken, since people don't usually specify `all` as
a transition property other than the first, for which case we take the fast path
with `checkProperties = false`. Our test-suite failed to catch this.

Added a crashtest that hangs without this patch.

The reason bug 1478990 regressed this is because it changed the order of
nsCSSPropertyID so that `p` actually went backwards causing the infinite loop,
but the bug was introduced (by me, whoops) in bug 1309752.

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

MozReview-Commit-ID: Ii3D1FaZ31R
2018-07-31 11:54:41 +02:00
dvarga 09eac64963 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-08-02 01:19:44 +03:00
Daniel Holbert 23f34d63f7 Bug 1480213: Give nsMediaFeatures.h an include for nsCSSProps.h, to provide nsCSSKTableEntry type definition & fix non-unified build bustage. r=TYLin
Differential Revision: https://phabricator.services.mozilla.com/D2628

--HG--
extra : moz-landing-system : lando
2018-08-01 21:25:20 +00:00
Jonathan Watt f3ea3c7d86 Bug 1428676 pt 3. Change our existing consumers of 'menulist-button' to use '-moz-menulist-button'. r=emilio 2018-06-20 13:50:23 +01:00
Jonathan Watt 6af7c052b1 Bug 1428676 pt 2. Test content can't use '-moz-appearance: -moz-menulist-button'. r=emilio 2018-06-20 13:50:23 +01:00
Jonathan Watt 11e49726b5 Bug 1428676 pt 1. Add a '-moz-menulist-button' value to '-moz-appearance'. r=emilio
The '-moz-menulist-button' value currently behavies identically to the
'menulist-button' value.  This is not implemented as an alias because later
patches in this patch series will change the behavior of our pre-existing
'menulist-button' value to more closely match what Chrome does.
2018-06-19 20:12:45 +01:00
shindli 0a48a3cd3c Backed out 3 changesets (bug 1428676) for bc failures in browser/base/content/test/static/browser_parsable_css.js on a CLOSED TREE
Backed out changeset 6ba5975115fc (bug 1428676)
Backed out changeset 7f1270a9ec3d (bug 1428676)
Backed out changeset 662bfc31a950 (bug 1428676)
2018-07-31 19:30:46 +03:00
Jonathan Watt 449e0fddad Bug 1428676 pt 3. Change our existing consumers of 'menulist-button' to use '-moz-menulist-button'. r=emilio
--HG--
extra : rebase_source : 5fd3de8c33cd0d168c63accbf98f50e9947bf31c
2018-06-20 13:50:23 +01:00
Jonathan Watt 069c4bbaf4 Bug 1428676 pt 2. Test content can't use '-moz-appearance: -moz-menulist-button'. r=emilio
--HG--
extra : rebase_source : 38fbb1987f416d859a75cd3742d936aca9ac6d41
2018-06-20 13:50:23 +01:00
Jonathan Watt e8a416046f Bug 1428676 pt 1. Add a '-moz-menulist-button' value to '-moz-appearance'. r=emilio
The '-moz-menulist-button' value currently behavies identically to the
'menulist-button' value.  This is not implemented as an alias because later
patches in this patch series will change the behavior of our pre-existing
'menulist-button' value to more closely match what Chrome does.

--HG--
extra : rebase_source : b66bf6427db5be2eb12f4e0aa36d22a4da46555a
2018-06-19 20:12:45 +01:00
Boris Zbarsky 754087a992 Bug 1446940 part 5. Stop getting docshells from windows via getInterface in dom/editor/etc code. r=kmag 2018-08-01 13:07:11 -04:00
Cosmin Sabou bfc1e72e01 Backed out changeset 9035ff3757ac (bug 1415980) at request from froydnj on the suspicion that it's going to break MSVC builds when it gets merged to central. 2018-07-31 01:19:49 +03:00
Nathan Froyd 017b016850 Bug 1415980 - make hash keys movable and not copyable; r=erahm
Everything that goes in a PLDHashtable (and its derivatives, like
nsTHashtable) needs to inherit from PLDHashEntryHdr.  But through a lack
of enforcement, copy constructors for these derived classes didn't
explicitly invoke the copy constructor for PLDHashEntryHdr (and the
compiler didn't invoke the copy constructor for us).  Instead,
PLDHashTable explicitly copied around the bits that the copy constructor
would have.

The current setup has two problems:

1) Derived classes should be using move construction, not copy
   construction, since anything that's shuffling hash table keys/entries
   around will be using move construction.

2) Derived classes should take responsibility for transferring bits of
   superclass state around, and not rely on something else to handle
   that.

The second point is not a huge problem for PLDHashTable (PLDHashTable
only has to copy PLDHashEntryHdr's bits in a single place), but future
hash table implementations that might move entries around more
aggressively would have to insert compensation code all over the place.
Additionally, if moving entries is implemented via memcpy (which is
quite common), PLDHashTable copying around bits *again* is inefficient.

Let's fix all these problems in one go, by:

1) Explicitly declaring the set of constructors that PLDHashEntryHdr
   implements (and does not implement).  In particular, the copy
   constructor is deleted, so any derived classes that attempt to make
   themselves copyable will be detected at compile time: the compiler
   will complain that the superclass type is not copyable.

   This change on its own will result in many compiler errors, so...

2) Change any derived classes to implement move constructors instead
   of copy constructors.  Note that some of these move constructors are,
   strictly speaking, unnecessary, since the relevant classes are moved
   via memcpy in nsTHashtable and its derivatives.
2018-07-30 17:15:11 -04:00
Emilio Cobos Álvarez 4d76331dcf Bug 1479012: Improve logging for attribute changes. r=xidorn
And general Element logging. We now print all the attributes for comparison.

If this turns out to be too verbose we can change it to diff them or something.

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

MozReview-Commit-ID: 1Gl9AumdnvZ
2018-07-30 14:19:30 +02:00
Emilio Cobos Álvarez dbf24cdab5 Bug 1478990: Make NonCustomPropertyId <-> nsCSSPropertyId conversions fast. r=xidorn
We have a different order in nsCSSPropertyId for no good reason. The only
invariant there is that longhands come before shorthands, and shorthands before
aliases.

Luckily that's also an invariant that NonCustomPropertyId has, so we can reuse
them.

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

MozReview-Commit-ID: 1hsQu6hmqiN
2018-07-30 12:51:19 +02:00
Emilio Cobos Álvarez f8c5ea739f Bug 1466614: Remove a no longer used function. r=me CLOSED TREE
MozReview-Commit-ID: GBFaR3SNY0F
2018-07-30 12:00:57 +02:00
Andreea Pavel 048663ea0a Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2018-07-30 12:56:08 +03:00
Emilio Cobos Álvarez 3aaf4c171a Bug 1466614: Remove -moz-windows-theme. r=xidorn
Differential Revision: https://phabricator.services.mozilla.com/D2492

MozReview-Commit-ID: 70vOmLH7C27
2018-07-30 11:38:46 +02:00
Emilio Cobos Álvarez 051e9a8579 Bug 1479239: prefers-reduced-motion should be sensible re. unsupported platforms / resistFingerprinting. r=hiro
With the current early-returning behavior, the expression will unconditionally
evaluate to false, which is a bit of a footgun.

Make sure to always return no-preference in unsupported platforms or when
resisting fingerprinting.

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

MozReview-Commit-ID: 41uUudut7b4
2018-07-29 04:46:34 +02:00
Hiroyuki Ikezoe 66cfd53581 Bug 1478643 - Introduce a new change hint set for added or removed transform style. r=birtles
MozReview-Commit-ID: GfK1e5QaOu6

--HG--
extra : rebase_source : c6e28e7fabb43f54d04e756865a652fc4752ce30
2018-07-30 10:51:18 +09:00
Kris Maglione 031076f2f3 Bug 1463291: Move docShell getter from Document to Window. r=bz
DocShells are associated with outer DOM Windows, rather than Documents, so
having the getter on the document is a bit odd to begin with. But it's also
considerably less convenient, since most of the times when we want a docShell
from JS, we're dealing most directly with a window, and have to detour through
the document to get it.

MozReview-Commit-ID: LUj1H9nG3QL

--HG--
extra : source : fcfb99baa0f0fb60a7c420a712c6ae7c72576871
extra : histedit_source : 5be9b7b29a52a4b8376ee0bdfc5c08b12e3c775a
2018-05-21 16:58:23 -07:00
Emilio Cobos Álvarez 726673649b Bug 1479230: Remove useless condition in GetPrefersReducedMotion. r=hiro
This query is always enabled in content, so this check is always true.

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

MozReview-Commit-ID: 5etk5TM0agz
2018-07-29 03:01:08 +02:00
Narcis Beleuzu 561ccb2ceb Backed out 2 changesets (bug 1463016, bug 1463291) for geckoview failures
Backed out changeset fcfb99baa0f0 (bug 1463291)
Backed out changeset 0d69b4fb1ed4 (bug 1463016)
2018-07-29 03:55:23 +03:00
Kris Maglione cb1ee1e34d Bug 1463291: Move docShell getter from Document to Window. r=bz
DocShells are associated with outer DOM Windows, rather than Documents, so
having the getter on the document is a bit odd to begin with. But it's also
considerably less convenient, since most of the times when we want a docShell
from JS, we're dealing most directly with a window, and have to detour through
the document to get it.

MozReview-Commit-ID: LUj1H9nG3QL

--HG--
extra : rebase_source : a13c59d1a5ed000187c7fd8e7339408ad6e2dee6
2018-05-21 16:58:23 -07:00
Emilio Cobos Álvarez 8c4ec8b3ba Bug 1479216: Restore the order of Scrollbarbutton appearance values. r=xidorn
The patch at bug 1478391 comment 6 changed the way the math in Scrollbarbutton*
worked, which pretty surely caused this.

Restore the original order and math to be the same as before bug 1478391.

MozReview-Commit-ID: CK3iOqeX2NW
2018-07-29 01:02:44 +02:00
Emilio Cobos Álvarez 638c015ba9 Bug 1477198: Remove Document.obsoleteSheet. r=bz
Not used anywhere, not even comm-central or bluegriffon.

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

MozReview-Commit-ID: LGefiaYSZjT
2018-07-29 00:34:33 +02:00
Jeff Gilbert 0e128a3868 Bug 1470985 - s/PodEqual/ArrayEqual/ from ArrayUtils.h. - r=waldo
We can't use memcmp to compare PODs, largely because of undefined
padding. The rest of the Pod* functions are fine though, since we're
replicating or zeroing PODs.

MozReview-Commit-ID: LSspAi8qCWw
2018-07-27 14:11:18 -07:00
Emilio Cobos Álvarez 517256e365 Bug 1478391: Autogenerate StyleAppearance. r=jwatt
This builds on bug 1428676 and introduces StyleAppearance, which replaces the
NS_THEME_* constants.

Really sorry for the size of the patch.

There's a non-trivial change in the gtk theme, which I submitted separately as
bug 1478385.

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

MozReview-Commit-ID: DiSmMWK7Krp
2018-07-26 17:06:17 +02:00
Emilio Cobos Álvarez f48df04e5b Bug 1478330: Generate StyleDisplay using cbindgen. r=heycam
We use the same setup WR uses, which is checking-in the files.

But I think it's much better than keeping the two things in sync manually :)

When you add a new value, you need to add it to the rust source, then run the
command, but since it doesn't need to build the style crate (it uses the Rust
AST, doesn't build) there's no problem.

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

MozReview-Commit-ID: DnXkNAzP54H
2018-07-26 17:06:05 +02:00
shindli a007b2dc62 Backed out changeset 230ea1f373ff (bug 1478330) for Linting failure on a CLOSED TREE 2018-07-26 16:49:19 +03:00
Emilio Cobos Álvarez 42a2ddb5b9 Bug 1478330: Generate StyleDisplay using cbindgen. r=heycam
We use the same setup WR uses, which is checking-in the files.

But I think it's much better than keeping the two things in sync manually :)

When you add a new value, you need to add it to the rust source, then run the
command, but since it doesn't need to build the style crate (it uses the Rust
AST, doesn't build) there's no problem.

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

MozReview-Commit-ID: DnXkNAzP54H
2018-07-26 15:35:24 +02:00
Emilio Cobos Álvarez b366597b4a Bug 1478001: Gate testing the inaccessible values on the pref. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D2332

MozReview-Commit-ID: AeQ4r8Yjs9J
2018-07-25 18:28:13 +02:00
Sebastian Hengst bd900ee36a Merge mozilla-inbound to mozilla-central. a=merge 2018-07-25 17:16:53 +03:00
Emilio Cobos Álvarez 26b508d03c Bug 1478069: Trivial frame constructor cleanup. r=TYLin
Using references helps to see when stuff can and cannot be null.

I removed useless aTag / aNamespaceId arguments which are useless now that XBL
can't override them (bug 1450617), so FindXULData is the only one that keeps
them alive.

Also, I took the liberty of renaming a few fooComputedStyle variables to just
fooStyle, and clarify naming in some pseudo-element-related functions to say
originating element (the spec term) and avoid confusing it with the generated
_moz_generated_content_before / _moz_generated_content_after element.

Note that this is a partial state, more stuff will come in the future.

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

MozReview-Commit-ID: 39B30doREUH
2018-07-25 11:31:18 +02:00
Hiroyuki Ikezoe 4785e473c5 Bug 1478158 - Don't expose prefers-reduced-motion setting in content if Resist Fingerprinting enabled. r=heycam
MozReview-Commit-ID: JaTTT0HIjFx

--HG--
extra : rebase_source : bf3d44ed400960de5dd3d1b6e8571eab859c8897
2018-07-25 07:36:19 +09:00
Dan Glastonbury 5ba8f2364f Bug 1330375 - P4: GetInnerText perf regression test. r=heycam
Mochitest to ensure that that zero reflows occur while iterating table
calling innerText and setting `display:none`.

MozReview-Commit-ID: K5vrsj3ogWy

--HG--
extra : rebase_source : 61ceacc5133db6a558a4e8b80f72f18a7195d153
2018-07-19 17:34:48 +10:00
Boris Zbarsky 75abc43e0d Bug 1476145 part 8. Stop using getInterface(nsIDOMWindowUtils) in various test code. r=kmag 2018-07-24 19:47:43 -04:00
Hiroyuki Ikezoe ea2e577fa3 Bug 1365045 - Introduce keywords for prefers-reduced-motion. r=heycam
https://drafts.csswg.org/mediaqueries-5/#prefers-reduced-motion

MozReview-Commit-ID: RQUo1DBR0W
2018-07-24 16:50:47 +09:00
Hiroyuki Ikezoe 3353a9c0e3 Bug 1365045 - Introduce nsCSSKeywordAndBoolTableEntry. r=heycam
The values in the boolean context depend on its feature.  For examples, in the
case of prefers-reduced-motion 'no-preference' means false and 'reduced' mean
true in the boolean context, whereas in the case of prefers-contrast
'no-preference' means false and other two values, 'high' and 'low' means true
in the boolean context.  To support it we introduce a child struct of
nsCSSKTableEntry that has an additional field representing the value in the
boolean context and use it when we have no specified value in the media feature
(i.e. in the boolean context).

MozReview-Commit-ID: 79HiW8l5ous
2018-07-24 16:50:47 +09:00
Coroiu Cristina 3628e073f1 Merge mozilla-central to inbound a=merge on a CLOSED TREE 2018-07-24 00:46:46 +03:00
Coroiu Cristina 44141cfda4 Merge inbound to mozilla-central a=merge 2018-07-24 00:43:44 +03:00
Brian Hackett 5957562fcb Bug 1465452 Part 4 - Don't sort image loader requests and frames when recording/replaying, r=aosmond.
--HG--
extra : rebase_source : 02441b976c61842ff32af12c78d18830b0532d66
2018-07-23 14:59:01 +00:00
Ting-Yu Lin 222d82f138 Bug 1477533 - Convert NS_STYLE_COLUMN_SPAN_* to an enum class. r=heycam
MozReview-Commit-ID: F8M1DlpBop2

--HG--
extra : rebase_source : f98d97be38c6f2a8b3cf6624db3df15389cb0123
2018-07-21 19:53:44 -07:00
Ting-Yu Lin a6015f5b37 Bug 1477533 - Convert NS_STYLE_COLUMN_FILL_* to an enum class. r=heycam
I put Balance as the first item in StyleColumnFill because it is the default
value.

MozReview-Commit-ID: A4DVMLL6XBa

--HG--
extra : rebase_source : 8c8d07b724bcd49dd4f4057fcbf0ccd46ed591ff
2018-07-21 12:00:26 -07:00
Ting-Yu Lin 582327218e Bug 1477533 - Use static const class variable to represent column-count: auto. r=heycam
NS_STYLE_COLUMN_COUNT_UNLIMITED is unused, so I remove it.

MozReview-Commit-ID: HLHLn9ZbkUY

--HG--
extra : rebase_source : 9bf00e1db00051c4454719e205633717fabde050
2018-07-20 17:09:31 -07:00
Emilio Cobos Álvarez 0c01140e18 Bug 1477553: Hide display: -moz-box|-moz-inline-box from content on Nightly and early beta. r=xidorn
Differential Revision: https://phabricator.services.mozilla.com/D2288

MozReview-Commit-ID: F9BeAneKY6e
2018-07-23 17:27:17 +02:00
Cosmin Sabou 39220f357c Backed out 2 changesets (bug 1477553) for reftest failures on xulscroll.html.
Backed out changeset a5bebad6bb23 (bug 1477553)
Backed out changeset 8d4b97056365 (bug 1477553)
2018-07-23 18:03:10 +03:00
Emilio Cobos Álvarez e8373c682f Bug 1477553: Hide display: -moz-box|-moz-inline-box from content on Nightly and early beta. r=xidorn
Differential Revision: https://phabricator.services.mozilla.com/D2288

MozReview-Commit-ID: F9BeAneKY6e
2018-07-23 15:31:30 +02:00
Cosmin Sabou 51ed9f0129 Backed out changeset d0cb9041aa08 (bug 1477553) for browser chrome mochitest failures on /browser_parsable_css.js. 2018-07-23 13:17:09 +03:00
Cosmin Sabou de8180ecd2 Merge mozilla-central to mozilla-inbound. a=merge 2018-07-23 12:33:45 +03:00
Xidorn Quan 04cfb39e53 Bug 1477599 - Move StyloParsingBench helper functions into #if as well. r=emilio
MozReview-Commit-ID: GhcdIdX6IBk

--HG--
extra : rebase_source : a6a8870f2605f2fa87a37d775f1250a71797e769
2018-07-23 09:51:41 +10:00
Emilio Cobos Álvarez 6eb98a1602 Bug 1477553: Hide display: -moz-box|-moz-inline-box from content on Nightly and early beta. r=xidorn
Differential Revision: https://phabricator.services.mozilla.com/D2288

MozReview-Commit-ID: F9BeAneKY6e
2018-07-23 10:33:32 +02:00
Emilio Cobos Álvarez 458e708950 Bug 1475511: Add a few parsing tests for this. r=me
MozReview-Commit-ID: 4ygKHGk3Meb
2018-07-21 23:02:18 +02:00
Emilio Cobos Álvarez ecbdd3e854 Bug 1475511: Add @-moz-document media-document(image|video|plugin). r=xidorn
MozReview-Commit-ID: CD3O1vGLAoV
2018-07-21 23:02:17 +02:00
Emilio Cobos Álvarez 8f98d1846d Bug 1475511: Simplify MozdocumentRule::Match. r=xidorn
MozReview-Commit-ID: 9qBm3BJqhWY
2018-07-21 23:02:16 +02:00
Emilio Cobos Álvarez 5bb3038c05 Bug 1475511: UrlMatchingFunction -> DocumentMatchingFunction. r=xidorn
MozReview-Commit-ID: HLcaVmehFW7
2018-07-21 23:02:12 +02:00
Gurzau Raul 636e7285e3 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-07-19 12:57:55 +03:00
Emilio Cobos Álvarez f206e569cd Bug 1476470: Remove dead code from nsStyleUtil. r=jwatt
This is dead since we started serializing the relevant stuff with Servo.

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

--HG--
extra : moz-landing-system : lando
2018-07-19 09:50:09 +00:00
Xidorn Quan 99d822fb5f Bug 1474959: Add a visited reftest for different logical border color with different writing modes. r=emilio
MozReview-Commit-ID: 7kWSEsuXQzC
2018-07-18 22:15:11 +02:00
Emilio Cobos Álvarez df9be7cfbc Bug 1309752: Transition tests. r=birtles
MozReview-Commit-ID: 6nLBFvSmQCN
2018-07-18 12:10:20 +02:00
Emilio Cobos Álvarez 243930608d Bug 1309752: Cleanup might_need_transitions_update. r=birtles
Thought I had to update this as well, but nope. When basically any style changes
we already update transitions.

needs_transitions_update already handles the physical mapping changing by
checking whether any transition for the physical property remain there or not.

MozReview-Commit-ID: 6vKwal4yzRU
2018-07-18 12:10:19 +02:00
Emilio Cobos Álvarez 9b504cb749 Bug 1309752: Animate logical properties. r=birtles
The setup is that AnimationValue only contains physical properties, and
we physicalize when building keyframes and transitions.

MozReview-Commit-ID: 9dI20N0LFrk
2018-07-18 12:10:16 +02:00
Emilio Cobos Álvarez 50b38a9f31 Bug 1309752: Add a method to physicalize longhands. r=heycam
MozReview-Commit-ID: 1eutEoeqQwk
2018-07-18 12:10:14 +02:00
Tiberius Oros d6492ca47e Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-07-18 00:59:21 +03:00
Tiberius Oros d701ae940f Merge inbound to mozilla-central. a=merge 2018-07-18 00:55:33 +03:00
Brian Birtles 8ab6ee61ba Bug 1471814 - Add a preference for {Document,Element}.getAnimations(); r=bz,hiro
This is probably the last thing we will ship since it needs the most spec work.

MozReview-Commit-ID: LLmDBLCsCBJ

--HG--
extra : rebase_source : c06752c9201a9ede87e1ac200ab12577bf784ce6
2018-07-14 09:23:03 +09:00
Brian Birtles 382fd2fe39 Bug 1471814 - Add a preference for animation composite modes; r=bz,hiro
This feature should not be shipped until the various definitions of addition for
each additive property are properly specified.

Unlike other patches in this series, compositing is not frequently used
internally (e.g. by DevTools etc.) so there is no need to enable this by default
for system code.

Also, it turns out we have inadvertently been shipping part of this feature for
some time now. The next patch in this series will add tests for that case and
disable that part of the feature (a suitable intent to unship will follow). This
patch merely adapts and extends the existing tests without affecting the surface
area covered by the combination of the newly-added pref and the existing
dom.animations-api.core.enabled pref.

MozReview-Commit-ID: Htr6mlyCBav

--HG--
rename : dom/animation/test/mozilla/file_disable_animations_api_core.html => dom/animation/test/mozilla/file_disable_animations_api_compositing.html
rename : dom/animation/test/mozilla/test_disable_animations_api_core.html => dom/animation/test/mozilla/test_disable_animations_api_compositing.html
extra : rebase_source : 7715a25e59568eb122ba3f7dbd2c2b2ffdd19954
2018-07-14 09:23:03 +09:00
Brian Birtles fc657410ff Bug 1471814 - Add a preference for implicit keyframes; r=bz,hiro
This preference controls whether authors are allowed to specify animations
without a 0% or 100% keyframe.

We intend to ship this soon but this preference acts as a safeguard in case we
discover we need to disable it.

This feature is very convenient and commonly used so this patch ensures it is
always enabled for system content.

MozReview-Commit-ID: BHTsuS2xO61

--HG--
rename : dom/animation/test/mozilla/file_disable_animations_api_core.html => dom/animation/test/mozilla/file_disable_animations_api_implicit_keyframes.html
rename : dom/animation/test/mozilla/test_disable_animations_api_core.html => dom/animation/test/mozilla/test_disable_animations_api_implicit_keyframes.html
extra : rebase_source : 04fd93dd26a4765c14b0b22febdb0311b650ea59
2018-07-14 09:23:03 +09:00
Brian Birtles 5d13151cb9 Bug 1471814 - Add a preference for Web Animations timelines; r=bz,hiro
We don't intend to ship this in the near future until the integration with
AnimationWorklet is clear (although we might ship a read-only version).

That said, we use this feature extensively internally (e.g. in DevTools etc.) so
we enable this feature for system callers.

MozReview-Commit-ID: AhB7ZmU1Xzw

--HG--
extra : rebase_source : 630d7dc56b44a9261bb34aa5417cb9b7050efba4
2018-07-14 09:23:03 +09:00
Emilio Cobos Álvarez adf95c2d09 Bug 1476054: Fixes and cleanups for Servo PR #21156. r=me
Similar to the previous patch, logical clear doesn't appear in computed style
objects.

MozReview-Commit-ID: FbN0hiUGzYa
2018-07-17 10:23:26 +02:00
Emilio Cobos Álvarez bbc6f5b7f2 Bug 1476054: Fixes and cleanups for Servo PR #21139. r=me
Logical floats don't appear in the computed style objects, so there's no need to
check for them.

MozReview-Commit-ID: 3ocJrRB3jeO
2018-07-17 10:15:46 +02:00
Kris Maglione 0bfdb4329f Bug 1473631: Part 0a - Make preference callbacks typesafe. r=njn
I initially tried to avoid this, but decided it was necessary given the number
of times I had to repeat the same pattern of casting a variable to void*, and
then casting it back in a part of code far distant from the original type.

This changes our preference callback registration functions to match the type
of the callback's closure argument to the actual type of the closure pointer
passed, and then casting it to the type of our generic callback function. This
ensures that the callback function always gets an argument of the type it's
actually expecting without adding any additional runtime memory or
QueryInterface overhead for tracking it.

MozReview-Commit-ID: 9tLKBe10ddP

--HG--
extra : rebase_source : 7524fa8dcd5585f5a31fdeb37d95714f1bb94922
2018-07-06 12:24:41 -07:00
Kris Maglione 4fa87dd304 Bug 1473634: Part 3 - Update nsDOMComputedStyle to use RegisterCallbacks. r=bz
nsComputedDOMStyle is currently one of the biggest sources of pref callback
memory overhead. It currently registers about 5KB of callbacks per process. A
lot of that has to do with it registering multiple callbacks for the same
preference. But even with that problem fixed, we can do better by registering
a single callback for all observed preferences.

This patch does that, but also adds the optimization of deduplicating the list
of observed preferences to avoid wasted cycles needlessly matching against
many identical strings.

MozReview-Commit-ID: LZNgd7cAwo2

--HG--
extra : rebase_source : b73f8a17427bd01c362050d1a7c66e3f6e62332b
2018-07-04 19:07:28 -07:00
Gurzau Raul c05f725b1e Backed out 6 changesets (bug 1476054) for failing on servo/ports/geckolib/glue.rs on a CLOSED TREE
Backed out changeset f4941fe345ad (bug 1476054)
Backed out changeset cc571c618e4c (bug 1476054)
Backed out changeset 0a712d7bcb66 (bug 1476054)
Backed out changeset 62293a989ed2 (bug 1476054)
Backed out changeset ef2a43e3fc6c (bug 1476054)
Backed out changeset a2bb0089cf1d (bug 1476054)
2018-07-16 23:56:23 +03:00
Emilio Cobos Álvarez 9325870208 Bug 1476054: Fixes and cleanups for Servo PR #21156. r=me
Similar to the previous patch, logical clear doesn't appear in computed style
objects.

MozReview-Commit-ID: FbN0hiUGzYa
2018-07-16 21:38:46 +02:00
Emilio Cobos Álvarez cd116a52c4 Bug 1476054: Fixes and cleanups for Servo PR #21139. r=me
Logical floats don't appear in the computed style objects, so there's no need to
check for them.

MozReview-Commit-ID: 3ocJrRB3jeO
2018-07-16 21:38:44 +02:00
Dan Glastonbury fda2c1ee17 Bug 1467622 - P3: Cleanup transition tests with currentcolor. r=xidorn
Now that all properties handle currentcolor via mozilla::StyleComplexColor,
unify test_currentcolor_transition() and test_true_currentcolor_transition()
into test_currentcolor_transition().

MozReview-Commit-ID: 81hlAgTotpL

--HG--
extra : rebase_source : 0c77a60918a365eb907327e16ff7253df955cf17
2018-06-28 14:06:01 +10:00
Dan Glastonbury c9c954a337 Bug 1467622 - P1: nsStyleSVGPaint - Change nscolor to StyleComplexColor. r=xidorn
MozReview-Commit-ID: 1bbQzOoOuBe

--HG--
extra : rebase_source : 1631a71a78b0e6fbc4842ee14e11e946a5063afa
2018-06-27 17:07:37 +10:00
Xidorn Quan 2c5c2a4e44 Bug 1475229 - Remove unused parent parameter in ComputedValues::new. r=emilio
MozReview-Commit-ID: EBG0TS7tI4P

--HG--
extra : source : 9e548c6bf4a2c9f7795b30ac84e2251b86fb637f
2018-07-13 22:06:05 +10:00
Brian Birtles c96dd5e595 Bug 1475162 - Drop pref annotations from tests that no longer need them; r=hiro
Many tests set the dom.animations-api.core.enabled pref to true when all they
really require are the features covered by the dom.element-animate.core.enabled
pref. Now that we have removed that pref and permanently enabled that
functionality we can drop the annotations from such tests.

MozReview-Commit-ID: CGOLp6pVFLE

--HG--
extra : rebase_source : e298e9404d76d55421d9ca4b514410d02cc243b1
2018-07-12 17:22:09 +09:00
Olli Pettay cb4f7fda48 Bug 1475003, don't notify DOM of SMIL changes, r=peterv 2018-07-12 13:04:26 +03:00
Timothy Guan-tin Chien 5f71e2aa7f Bug 1474574 - Ensure <video> is the only focusable element in TopLevelVideoDocument r=Gijs
Instead of re-dispatch an untrusted event, simply make sure the keyboard event is handled
by the video controls.

MozReview-Commit-ID: 9Kj7E3UP77w

--HG--
extra : rebase_source : 8bbc787c7e5dd3d4351270b17f521f49b0f1a21c
2018-07-11 11:51:48 +08:00
Brindusan Cristian 232d35f4b9 Backed out 5 changesets (bug 1467622) for reftest failures on layout/reftests/svg/smil/style/anim-css-fill-1-from-by-curcol-hex.svg. CLOSED TREE
Backed out changeset 8694fe928b04 (bug 1467622)
Backed out changeset 74533cad9479 (bug 1467622)
Backed out changeset e1dbee410e98 (bug 1467622)
Backed out changeset 56142038cc7f (bug 1467622)
Backed out changeset 90cede21bad1 (bug 1467622)
2018-07-11 09:37:26 +03:00
Hiroyuki Ikezoe 1609fd1ef0 Bug 1472900 - Use timestamp associated with the timeline for animation cancel events. r=birtles
Before this change, the test in this commit fails.  The received events order
is;

 1) cancel
 2) transitioncancel
 3) transitionstart
 4) finish

MozReview-Commit-ID: 8liTFXime6e

--HG--
extra : rebase_source : 3c68ef330b1f263afa2fad9670a30b351b8dbf28
2018-07-05 06:19:12 +09:00
Hiroyuki Ikezoe 067150dbd6 Bug 1472900 - Rename mTimeStamp in AnimationEventInfo to mScheduledEventTimeStamp. r=birtles
It matches the name in the spec.
https://drafts.csswg.org/web-animations/#scheduled-event-time

MozReview-Commit-ID: EKoUNRfTVMJ

--HG--
extra : rebase_source : 83a5ee36d5df98273e26789733df69800d115b34
2018-07-05 06:13:18 +09:00
Dan Glastonbury b299d976de Bug 1467622 - P3: Cleanup transition tests with currentcolor. r=xidorn
Now that all properties handle currentcolor via mozilla::StyleComplexColor,
unify test_currentcolor_transition() and test_true_currentcolor_transition()
into test_currentcolor_transition().

MozReview-Commit-ID: 81hlAgTotpL

--HG--
extra : rebase_source : 9c9744c3fe4e423451e5a581501c88539c9d591f
2018-06-28 14:06:01 +10:00
Dan Glastonbury 0a83cfb70f Bug 1467622 - P1: nsStyleSVGPaint - Change nscolor to StyleComplexColor. r=xidorn
MozReview-Commit-ID: 1bbQzOoOuBe

--HG--
extra : rebase_source : 879e7d644f1dc3873cdfb352fce21e3d085db55a
2018-06-27 17:07:37 +10:00
Cameron McCormack 8d5efb0c93 Bug 1473450 - Remove angle values from image-orientation. r=emilio
MozReview-Commit-ID: FB74ILJM6Fm

--HG--
extra : rebase_source : 0902aff63e0db070d2fdda3568453975f752b988
2018-07-05 12:04:58 +10:00
Andreea Pavel 41fc51d32b Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2018-07-10 19:38:34 +03:00
Cameron McCormack 7954f12743 Bug 1474513 - Simplify CSS::Supports. r=emilio
MozReview-Commit-ID: Lw9K7uRknfv

--HG--
extra : rebase_source : 78130aad34d76fdb37002db4a299db02c83aa10b
2018-07-10 15:51:38 +10:00
Andrea Marchesini 5fff1762ad Bug 1418236 - Correct EventTarget for CSP violation events, r=ckerschb 2018-07-10 17:40:21 +02:00
Andreea Pavel 721e84c658 Backed out changeset 641b02da5961 (bug 1473450) for failing xpchsell and mochitest on a CLOSED TREE 2018-07-10 09:28:59 +03:00
Cameron McCormack e2ce31efc1 Bug 1473450 - Remove angle values from image-orientation. r=emilio
MozReview-Commit-ID: FB74ILJM6Fm

--HG--
extra : rebase_source : 8c13a67086aedad73a642b5125bbb44f48068f5d
2018-07-05 12:04:58 +10:00
Oriol Brufau 281b4c08f4 Bug 1472567 - Honor logical border colors in visited links r=emilio
MozReview-Commit-ID: IF8yvkFmPc4

--HG--
extra : rebase_source : 56d82de88c9390007a7fea5f2f8ef99292ad61d8
2018-07-05 12:56:34 +02:00
Olli Pettay 9456afdee0 Bug 1473856 - MediaQueryList could use ProbablyShortLivingWrapper + LastRelease, r=bz
--HG--
extra : rebase_source : 71091f1a58a11648fb87c5639f5ac85bd1e9760e
2018-07-07 03:08:35 +03:00
Cameron McCormack 81599f34a7 Bug 1473735 - Add memory reporting for MediaQueryLists. r=emilio
MozReview-Commit-ID: 87rgRtQOOyG

--HG--
extra : rebase_source : a2ba4e1ed29fd7249378f9496c2059fa26316c3c
2018-07-06 11:09:12 +10:00
Andrea Marchesini a053cf1c15 Bug 1476306 - Moving NullPrincipal/ContentPrincipal/SystemPrincipal under mozilla namespace - part 1 - NullPrincipal, r=ckerschb 2018-07-17 21:37:48 +02:00
Margareta Eliza Balazs af46e30cce Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-07-06 12:55:40 +03:00
Emilio Cobos Álvarez 34c308c2ec No bug - Make SmallPointerArray opaque. r=me
MozReview-Commit-ID: 9PEsYURxmlg
2018-07-06 04:47:30 +02:00
Cameron McCormack a051633346 Bug 1473776 - Remove out of date comment. r=emilio
MozReview-Commit-ID: 1FqcJpu5L81

--HG--
extra : rebase_source : 33a21100fcfcbe3afe8f86a357ad3ea6dc08574f
2018-07-06 11:23:09 +10:00
Ciure Andrei 2198f99f97 Merge inbound to mozilla-central. a=merge 2018-07-05 12:51:41 +03:00
Andrea Marchesini 14d462eeb3 Bug 1418246 - Return valid columnNumber value in CSP violation events, r=ckerschb 2018-07-05 08:21:04 +02:00
Kris Maglione 3e400a8f72 Bug 1472523: Part 2 - Avoid unnecessary string copies in preference caches. r=njn
MozReview-Commit-ID: 74svGlwMVF1

--HG--
extra : rebase_source : ee25a335773b9afba9125c9092ed95eecc702cd9
2018-06-30 23:07:30 -07:00
Kris Maglione 8e4b8a954f Bug 1472523: Part 1 - Avoid string copies in preference callbacks. r=njn
Most preference callbacks use literal strings for their domain filters, which
means that there's no need to make copies of them at all. Currently, however,
every preference observer node makes a separate heap-allocated copy of its
domain string.

This patch switches the domain string storage to nsCString instances, which
dramatically reduces the amount of unnecessary copies, at the expense of
making the callback nodes slightly larger.

MozReview-Commit-ID: 8NA3t2JS2UI

--HG--
extra : rebase_source : 628ad9af65cec16fb8be0c8dddc608b5ee5602e2
2018-06-30 23:06:17 -07:00
Emilio Cobos Álvarez 38ff952014 Bug 1473225 - Serialize a few more lengths with Servo. r=xidorn
Differential Revision: https://phabricator.services.mozilla.com/D1934

--HG--
extra : moz-landing-system : lando
2018-07-04 06:42:38 +00:00
Gerald Squelart 24fb00608f Bug 1211330 - Moved 'unset' invalid values from background-image alone to shared invalidGradientAndElementValues - r=heycam
This expands the testing of 'unset' invalid values to border-image-source,
mask-image, and shape-outside.

MozReview-Commit-ID: 3tcHnCgr6Dh

--HG--
extra : rebase_source : 80205a8ee5d186b3606adde50cadd7027f695c5f
2018-07-03 10:40:33 +10:00
Gerald Squelart c601e3df86 Bug 1211330 - Removed CSS pref layout.css.unset-value.enabled - r=heycam
Feature is mature and doesn't need pref.
In fact, it was not used in code anymore, only in tests.

MozReview-Commit-ID: AbH8OCiksDa

--HG--
extra : rebase_source : b9a7d18b3c1b948f213632a16d2152f80d676068
2018-06-28 16:10:56 +10:00
Hiroyuki Ikezoe b5935f0573 Bug 1354501 - Bail out if we know there is no need to dispatch any animation events in advance of checking which animation event we need. r=birtles
MozReview-Commit-ID: JhOs0CD49R

--HG--
extra : rebase_source : dd4c779ed23eb4f728192fdc27536f4409de2c55
2018-07-03 11:06:46 +09:00
Hiroyuki Ikezoe 1c47aa1edf Bug 1354501 - Factor out calculations for interval start/end times. r=birtles
MozReview-Commit-ID: H9iXX9VLXLr

--HG--
extra : rebase_source : 736d304858cd0a2c5953f9986dd161ebd21c8099
2018-07-03 09:25:02 +09:00
Matt Woodrow 7391f4b580 Bug 1467688 - Make sure we invalidate for perspective changes even if the frame isn't otherwise transformed. r=dbaron
MozReview-Commit-ID: JQGb41kp76P

--HG--
extra : rebase_source : f9105e949f8fa02697a94718ea69742ac115f8e6
2018-07-02 21:35:14 -04:00
Ciure Andrei a43e1b09ad Backed out 1 changesets (bug 1467688) for reftest failures crashtests/1467688.html CLOSED TREE
Backed out changeset b976829f826a (bug 1467688)
2018-07-03 01:55:17 +03:00
Matt Woodrow dc37a6b69c Bug 1467688 - Make sure we invalidate for perspective changes even if the frame isn't otherwise transformed. r=dbaron
MozReview-Commit-ID: DpND8Jwr226

--HG--
extra : rebase_source : c6f51b9e8f91978a1783eb27de5ca89f75a3f2a5
2018-07-02 17:46:10 -04:00
Emilio Cobos Álvarez 92952c788e Bug 1472551 - Serialize font properties using Servo. r=xidorn
Differential Revision: https://phabricator.services.mozilla.com/D1905

--HG--
extra : moz-landing-system : lando
2018-07-01 23:00:18 +00:00
Cameron McCormack 48fe6dbe69 Bug 1472065 - Initialize mSheet and mParentRule in css::Rule's constructor. r=xidorn
MozReview-Commit-ID: JI3cMiJaH3x

--HG--
extra : rebase_source : 3f45a63c8817df9550c5c638ad5b978421fa051c
2018-06-29 12:56:09 +10:00
Emilio Cobos Álvarez ed2763bea8 Bug 1472497 - Serialize list-style-type / list-style-image using Servo. r=xidorn
Differential Revision: https://phabricator.services.mozilla.com/D1903

--HG--
extra : moz-landing-system : lando
2018-07-01 00:44:26 +00:00
Emilio Cobos Álvarez f36a3eac08 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 fac54cd7df 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 97cf1e0c02 Bug 1116638: Expose logical props in computed style. r=xidorn
Differential Revision: https://phabricator.services.mozilla.com/D1862

--HG--
extra : moz-landing-system : lando
2018-06-30 13:45:43 +00:00
Gerald Squelart fadefb87a2 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

--HG--
extra : rebase_source : 10708e749911fa95554ed423a5782db61df67cd0
2018-06-28 14:51:38 +10:00
Cosmin Sabou f4b3baf021 Merge mozilla-inbound to mozilla-central. a=merge 2018-06-28 13:04:23 +03:00
Tiberius Oros 945c24abe5 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-06-28 01:12:18 +03:00
Tiberius Oros 705b995848 Merge inbound to mozilla-central. a=merge 2018-06-28 01:07:30 +03:00
Emilio Cobos Álvarez 8aaca6bf90 Bug 1464782: Allow logical aliases in the property database. r=me
MozReview-Commit-ID: 68WqG0OViPQ
2018-06-27 17:35:46 +02:00
Dorel Luca 4e1a98da16 Merge mozilla-central to autland. CLOSED TREE
--HG--
extra : amend_source : f27ba81f58e12b4cf5286650b6910404748e7f95
2018-06-27 14:07:04 +03:00
Dorel Luca d296624690 Backed out 5 changesets (bug 1340498) for build bustage due to conflicts with bug 1470325. a=backout
Backed out changeset 28bedb658af4 (bug 1340498)
Backed out changeset f950a2310e26 (bug 1340498)
Backed out changeset 5fcd31c65fe0 (bug 1340498)
Backed out changeset 515bb5e24dd7 (bug 1340498)
Backed out changeset 79a8619bd3e2 (bug 1340498)
2018-06-27 14:05:20 +03:00
Dorel Luca bc2fbd0648 Merge mozilla-central to autoland
--HG--
extra : rebase_source : 0f5c3c308ce6ddd6fb9fcb49b83d4450a24d67dc
2018-06-27 13:33:04 +03:00
Dorel Luca f51c4fa5d9 Merge mozilla-inbound to mozilla-central. a=merge 2018-06-27 13:26:49 +03:00
Cameron McCormack 674e812659 Bug 1471499 - Part 3: Replace remaining "see nsStyleConsts.h" comments with more useful references. r=xidorn
MozReview-Commit-ID: kO8uT9JZgK

--HG--
extra : rebase_source : 119ce72ccb1f2b79ec0e827325ed4ea6897a9e87
2018-06-27 16:45:56 +10:00
Cameron McCormack 73de67e798 Bug 1471499 - Part 2: Remove "see nsStyleConsts.h" comments for style struct members that are enum classes. r=xidorn
MozReview-Commit-ID: ISkGZ7FU8xR

--HG--
extra : rebase_source : 74e8b99a38e9d9fd94d1a93c2385fb91d66c12f4
2018-06-27 15:51:33 +10:00
Cameron McCormack d5ad9f4ec6 Bug 1471499 - Part 1: Remove [reset] and [inherited] comments on style struct members. r=xidorn
MozReview-Commit-ID: 9dL51J2KqPS

--HG--
extra : rebase_source : 28cb17a14052db90b55a75d09ac190b85051624e
2018-06-27 15:44:58 +10:00
Xidorn Quan 4b65f18d5a Bug 1471114 part 7 - Scripts used to generated the previous patches. r=emilio
MozReview-Commit-ID: E9dB5l9AmeS

--HG--
extra : source : 960b212b998e728f90bbf564f5899a92f65c9e0e
2018-06-27 15:34:29 +10:00
Xidorn Quan 882b6f2f03 Bug 1471114 part 6 - Remove unused CSS keywords. r=emilio
This is done with the following script:
```python
#!/usr/bin/env python3

import re
import subprocess

LIST_FILE = "layout/style/nsCSSKeywordList.h"

RE_KEYWORD = re.compile(r"\beCSSKeyword_(\w+)")
rg_result = subprocess.check_output(["rg", r"eCSSKeyword_\w+"], encoding="UTF-8")
to_keep = set()
for item in rg_result.splitlines():
    file, line = item.split(':', 1)
    for m in RE_KEYWORD.finditer(line):
        to_keep.add(m.group(1))

remaining_lines = []
RE_ITEM = re.compile(r"CSS_KEY\(.+, (\w+)\)")
with open(LIST_FILE, "r") as f:
    for line in f:
        m = RE_ITEM.search(line)
        if m is not None and m.group(1) not in to_keep:
            print("Removing " + m.group(1))
            continue
        remaining_lines.append(line)
with open(LIST_FILE, "w", newline="") as f:
    f.writelines(remaining_lines)
```

MozReview-Commit-ID: upyTPc8984

--HG--
extra : source : 65a744682fe99d8f0de4fa4b7a478e10aba0349e
2018-06-27 15:34:29 +10:00
Xidorn Quan a18ad3b214 Bug 1471114 part 5 - Remove unused keyword tables. r=emilio
This is done with the following script:
```python
#!/usr/bin/env python3

import re
import subprocess

from pathlib import Path

HEADER = Path("layout/style/nsCSSProps.h")
SOURCE = Path("layout/style/nsCSSProps.cpp")

RE_TABLE = re.compile(r"\b(k\w+KTable)")
rg_result = subprocess.check_output(["rg", r"\bk\w+KTable"], encoding="UTF-8")
to_keep = set()
all = set()
for item in rg_result.splitlines():
    file, line = item.split(':', 1)
    name = RE_TABLE.search(line).group(1)
    path = Path(file)
    if path != HEADER and path != SOURCE:
        to_keep.add(name)
    else:
        all.add(name)

to_remove = all - to_keep
remaining_lines = []
with HEADER.open() as f:
    for line in f:
        m = RE_TABLE.search(line)
        if m is not None and m.group(1) in to_remove:
            print("Removing " + m.group(1))
            continue
        remaining_lines.append(line)
with HEADER.open("w", newline="") as f:
    f.writelines(remaining_lines)

remaining_lines = []
removing = False
RE_DEF = re.compile(r"KTableEntry nsCSSProps::(k\w+KTable)\[\]")
with SOURCE.open() as f:
    for line in f:
        if removing:
            if line == "};\n":
                removing = False
            continue
        m = RE_DEF.search(line)
        if m is not None and m.group(1) in to_remove:
            if remaining_lines[-1] == "\n":
                remaining_lines.pop()
            removing = True
            continue
        remaining_lines.append(line)
with SOURCE.open("w", newline="") as f:
    f.writelines(remaining_lines)
```

MozReview-Commit-ID: FeDZRcBceqV

--HG--
extra : source : fe9369e5cef11a6c6eaac641c185844eb45554b1
2018-06-27 15:34:29 +10:00
Xidorn Quan a01792b85b Bug 1471114 part 4 - Remove unused getter functions from nsComputedDOMStyle. r=emilio
This is done with the following script:
```python
#!/usr/bin/env python3

import re
import sys

from pathlib import Path

if len(sys.argv) != 2:
    print("Usage: {} objdir".format(sys.argv[0]))
    exit(1)

generated = Path(sys.argv[1]) / "layout" / "style"
generated = generated / "nsComputedDOMStyleGenerated.cpp"
RE_GENERATED = re.compile(r"DoGet\w+")
keeping = set()
with generated.open() as f:
    for line in f:
        m = RE_GENERATED.search(line)
        if m is not None:
            keeping.add(m.group(0))

HEADER = "layout/style/nsComputedDOMStyle.h"
SOURCE = "layout/style/nsComputedDOMStyle.cpp"

# We need to keep functions invoked by others
RE_DEF = re.compile(r"nsComputedDOMStyle::(DoGet\w+)\(\)")
RE_SRC = re.compile(r"\b(DoGet\w+)\(\)")
with open(SOURCE, "r") as f:
    for line in f:
        m = RE_DEF.search(line)
        if m is not None:
            continue
        m = RE_SRC.search(line)
        if m is not None:
            keeping.add(m.group(1))

removing = set()
remaining_lines = []
with open(HEADER, "r") as f:
    for line in f:
        m = RE_SRC.search(line)
        if m is not None:
            name = m.group(1)
            if name not in keeping:
                print("Removing " + name)
                removing.add(name)
                continue
        remaining_lines.append(line)

with open(HEADER, "w", newline="") as f:
    f.writelines(remaining_lines)

remaining_lines = []
is_removing = False
with open(SOURCE, "r") as f:
    for line in f:
        if is_removing:
            if line == "}\n":
                is_removing = False
            continue
        m = RE_DEF.search(line)
        if m is not None:
            name = m.group(1)
            if name in removing:
                remaining_lines.pop()
                if remaining_lines[-1] == "\n":
                    remaining_lines.pop()
                is_removing = True
                continue
        remaining_lines.append(line)

with open(SOURCE, "w", newline="") as f:
    f.writelines(remaining_lines)
```

MozReview-Commit-ID: ACewvZ9ztWp

--HG--
extra : source : 7f167f9affd954da907d1da307ebc82be4b85911
2018-06-27 15:34:29 +10:00
Xidorn Quan cd114ec151 Bug 1471114 part 3 - Drop the reference to getter functions we don't call. r=emilio
MozReview-Commit-ID: IbBayOwsjNX

--HG--
extra : source : 82ce1f7b7fd21c406cf61726c78de5f120028e35
2018-06-27 15:34:29 +10:00
Xidorn Quan dca9867a8f 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

--HG--
extra : source : 879a7265c35f51c5954d8a44ccd374a606ecba0e
2018-06-27 15:34:29 +10:00
Xidorn Quan d1caa962ed Bug 1471114 part 1 - Move CSSPropFlags prefix generation into GenerateServoCSSPropList.py. r=emilio
MozReview-Commit-ID: E5dl9V2B2dq

--HG--
extra : source : 6e2448ce3f4d9965749298a575795dfab926b9cb
2018-06-27 15:34:29 +10:00
Xidorn Quan cca2036556 Bug 1471116 - Use nsCSSProps::kPropertyPrefTable for pref callback register of nsComputedDOMStyle. r=emilio
MozReview-Commit-ID: 7VvFGYi12te

--HG--
extra : rebase_source : de146bf00f8902ba01278cc70ddf231272fc5cee
2018-06-26 14:06:46 +10:00
Morgan Rae Reschenberg 41f649ace3 Bug 1471267 - Update some baseline-querying utility functions to bail on frames that have 'contain:size'. r=dholbert
MozReview-Commit-ID: Bk2P73tlRqG

--HG--
extra : rebase_source : f20c751b9dd902f295a2a2181a13453451327e2c
2018-06-26 15:34:15 -07:00
Emilio Cobos Álvarez 688e2c1d75 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 d73b4b0679 Bug 1464782: Rename offset-* logical properties to inset-*. r=xidorn
MozReview-Commit-ID: BW44sru99RF
2018-06-27 16:12:01 +02:00
Jeff Gilbert 5b753da289 Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot
MozReview-Commit-ID: JtTcLL5OPF0
2018-06-26 17:05:01 -07:00
Tiberius Oros eacc3eda3e Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-06-28 01:15:41 +03:00
Stephen A Pohl 1f2e716a79 Bug 1466335: Automatically switch to the appropriate Firefox theme based on the macOS dark mode system preference. r=dao,mstange 2018-06-27 13:59:21 -04:00
Emilio Cobos Álvarez c7d35aa526 Bug 1470930: Use enums for passing arguments for event dispatch. r=smaug
MozReview-Commit-ID: DsNuF7GAflJ
2018-06-26 18:22:06 +02:00
Doug Thayer 864c89631c Bug 1340498 - Fix unified sources build errors r=mrbkap
Adding the Places* files into unified sources pushed the
unified sources into a situation that exposed a strangely
large number of errors. This seems to be the minimum set of
changes I could make to resolve all of the issues.

MozReview-Commit-ID: C2H9ce8FmE4

--HG--
extra : rebase_source : 4f8dd2996d820fdb5a07afe544be5e2d6ca6a5c7
2018-04-13 11:04:47 -07:00
Doug Thayer 488eb2eb9c Bug 1340498 - Fix unified sources build errors r=mrbkap
Adding the Places* files into unified sources pushed the
unified sources into a situation that exposed a strangely
large number of errors. This seems to be the minimum set of
changes I could make to resolve all of the issues.

MozReview-Commit-ID: C2H9ce8FmE4

--HG--
extra : rebase_source : 61afc5481dc8ec34caba1886bd74200cf3659fb4
2018-04-13 11:04:47 -07:00
Emilio Cobos Álvarez 9e9546ecb2 Bug 1471045: Don't flush layout if the ready promise is not resolved yet. r=heycam
This prevents FOUC, and also matches the chromium logic:

  https://cs.chromium.org/chromium/src/third_party/blink/renderer/core/css/font_face_set_document.cc?l=105&rcl=e70e652d516c7d14d50e547aae2da1690c4ae54c

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

MozReview-Commit-ID: A6m5fAMXhae
2018-06-26 15:32:03 +02:00
Olli Pettay abf54817b9 Bug 1428246 - The attributeChangedCallback is fired twice for the *first* style attribute change, r=peterv
The idea with this patch is that style code will first call
InlineStyleDeclarationWillChange before style declaration has changed, and SetInlineStyleDeclaration once it has changed.

In order to be able to report old attribute value, InlineStyleDeclarationWillChange reads the value and also calls AttributeWillChange (so that DOMMutationObserser can grab the old value). Later SetInlineStyleDeclaration passes the old value to
SetAttrAndNotify so that mutation events and attributeChanged callbacks are handled correctly.

Because of performance, declaration can't be cloned for reading the old value. And that is why the recently-added callback is used to detect when declaration is about to change (bug 1466963 and followup bug 1468665).

To keep the expected existing behavior, even if declaration isn't changed, but just a new declaration was created (since there wasn't any), we need to still run all these
willchange/set calls. That is when the code has 'if (created)' checks.

Since there are several declaration implementation and only nsDOMCSSAttributeDeclaration needs the about-to-change callback, GetPropertyChangeClosure is the one to initialize the callback closure, and the struct which is then passes as data to the closure.

Apparently we lost mutation event testing on style attribute when the pref was added, so test_style_attr_listener.html is modified to test both pref values.

--HG--
extra : rebase_source : 9e605d43f22e650ac3912fbfb41abb8d5a2a0c8f
2018-06-26 12:54:00 +03:00
Margareta Eliza Balazs c866c30fcf Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-06-26 12:24:32 +03:00
Chris Peterson 2afd829d0f Bug 1469769 - Part 6: Replace non-failing NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE. r=froydnj
This patch is an automatic replacement of s/NS_NOTREACHED/MOZ_ASSERT_UNREACHABLE/. Reindenting long lines and whitespace fixups follow in patch 6b.

MozReview-Commit-ID: 5UQVHElSpCr

--HG--
extra : rebase_source : 4c1b2fc32b269342f07639266b64941e2270e9c4
extra : source : 907543f6eae716f23a6de52b1ffb1c82908d158a
2018-06-17 22:43:11 -07:00