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

69781 Коммитов

Автор SHA1 Сообщение Дата
Charlie Marlow be2d349416 Bug 1555865: added text-decoration-thickness to the text-decoration shorthands r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D40335

--HG--
extra : moz-landing-system : lando
2019-08-07 17:42:15 +00:00
Emilio Cobos Álvarez af948d7634 Bug 1572114 - Don't bother blocking onload for already-complete shape images. r=bradwerth
That way we don't need to re-request a reflow. This code can run from reflow
itself, so requesting a reflow from here can break invariants.

There's the question of whether this code should be running at all for
continuations, but this patch fixes a bug regardless of whether we do that or
not.

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

--HG--
extra : moz-landing-system : lando
2019-08-07 17:17:05 +00:00
Charlie Marlow f8d1049107 Bug 1411922: Part 1: Add rendering support for text-decoration-skip-ink r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D39377

--HG--
extra : moz-landing-system : lando
2019-08-07 17:41:13 +00:00
Emilio Cobos Álvarez c35938887d Bug 1571460 - Set prev-in-flow before calling nsFrame::Init. r=TYLin
Parts of nsFrame::Init or code called by it should be able to rely on the
invariant that, if the frame has the NS_FRAME_OUT_OF_FLOW bit, the first-in-flow
frame has a placeholder property.

Alternatively to this patch, the NS_FRAME_OUT_OF_FLOW frame bit could be
propagated later, as it used to be.

Differential Revision: https://phabricator.services.mozilla.com//D40815
2019-08-07 16:55:34 +02:00
Edgar Chen 3d16032632 Bug 1572007 - Remove unused nsPresContext::IsTopLevelWindowInactive; r=smaug
It was introduced in bug 508482 and the consumer went away in bug 1424816.

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

--HG--
extra : moz-landing-system : lando
2019-08-07 09:54:16 +00:00
Cosmin Sabou 76e15b4674 Backed out changeset 3f4421e34ab4 (bug 1571460) for assertion failures on nsTextFrame.cpp. CLOSED TREE 2019-08-07 14:57:58 +03:00
Emilio Cobos Álvarez aab2a5c0a2 Bug 1571460 - Set prev-in-flow before calling nsFrame::Init. r=TYLin
Parts of nsFrame::Init or code called by it should be able to rely on the
invariant that, if the frame has the NS_FRAME_OUT_OF_FLOW bit, the first-in-flow
frame has a placeholder property.

Alternatively to this patch, the NS_FRAME_OUT_OF_FLOW frame bit could be
propagated later, as it used to be.

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

--HG--
extra : moz-landing-system : lando
2019-08-07 10:44:54 +00:00
Bob Owen 2b04f744b3 Bug 1570358: Check validity of enums before playing back Moz2D RecordedEvents. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D40419

--HG--
extra : moz-landing-system : lando
2019-08-05 13:08:30 +00:00
Cosmin Sabou c3430326e6 Backed out changeset ca88862d6b63 (bug 1558915) for causing build bustages on StartupCacheUtils. CLOSED TREE 2019-08-07 13:20:32 +03:00
Tom Schuster 8bc1f5ada8 Bug 1558915 - Use infallible nsIURI::SchemeIs in various places r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D40677

--HG--
extra : moz-landing-system : lando
2019-08-07 09:36:56 +00:00
Cosmin Sabou 9453cf60bf Backed out 2 changesets (bug 1563555) for causing marionette failures on test_profile_management.py.
Backed out changeset 2559f5ddf8e0 (bug 1563555)
Backed out changeset e3c86ffa168c (bug 1563555)

--HG--
extra : histedit_source : 8569cceff2845f697109e2077a00c96074c7fe83
2019-08-07 12:09:13 +03:00
Nicholas Nethercote d5bd89d9a0 Bug 1563555 - Don't bindgen static prefs. r=emilio
Bindgen is no longer necessary now that Rust bindings are generated by
generate_static_pref_list.py.

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

--HG--
extra : moz-landing-system : lando
2019-08-07 04:17:22 +00:00
Ciure Andrei adef2661b1 Merge inbound to mozilla-central. a=merge 2019-08-07 07:34:55 +03:00
Ting-Yu Lin 9615a105df Bug 1571930 - Convert a MOZ_ASSERT in nsColumnSetFrame::ReflowChildren() to be non-fatal. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D40910

--HG--
extra : moz-landing-system : lando
2019-08-07 01:28:29 +00:00
Cameron McCormack d622a3d445 Bug 1569060 - Add layout debugger command to dump process IDs. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D39437

--HG--
extra : moz-landing-system : lando
2019-08-06 23:31:55 +00:00
Razvan Maries eedbf1137f Backed out changeset b197ca57677a (bug 1558915) for build bustages. CLOSED TREE 2019-08-07 01:04:43 +03:00
Boris Chiou e158ad1169 Bug 1339672 - Support multiple track sizes for grid-auto-{columns|rows}. r=emilio,mats
Support `<track-size>+` on the implicit track sizing properties,
grid-auto-columns and grid-auto-rows.

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

--HG--
extra : moz-landing-system : lando
2019-08-06 18:32:16 +00:00
Tom Schuster 03c7998ef2 Bug 1558915 - Use infallible nsIURI::SchemeIs in various places r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D40677

--HG--
extra : moz-landing-system : lando
2019-08-06 20:19:41 +00:00
Andreea Pavel bc9193db19 Backed out changeset e9cc17a8f83f (bug 1571855) for build bustages on a CLOSED TREE 2019-08-07 00:23:58 +03:00
Andrew McCreight 92d2ef8571 Bug 1571855 - Disable tautology warning in nsIFrame.h in Clang. r=heycam
ClassID::nsBox_id is zero, so that case is trivial. Disable the
warning in Clang, like it is in GCC. The Clang pragma can't be behind
an #elseif because Clang appears to define __GNUC__, too.

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

--HG--
extra : moz-landing-system : lando
2019-08-06 20:45:35 +00:00
Kris Maglione c01ad83372 Bug 1571502: Don't leak TabGroups which have never had windows joined to them. r=nika
Currently, TabGroups know to break their reference cycles only when the last
window leaves them. For TabGroups which have never had a window join (which
happens under Fission), this means they also never see a window leave, and
therefore never break their reference cycles, and leak.

This patch adds a check to break reference cycles if no windows have joined by
the time a BrowserChild they belong to is destroyed.

MANUAL PUSH: Lando fails to rebase.

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

--HG--
extra : source : 03acb28ab60fb77fa06064385a62cc46cf4ad1bd
extra : amend_source : 0a71625d99951bebe45ee6f62570de491a714e97
2019-08-02 18:19:53 -07:00
Masayuki Nakano f3fb0d1af8 Bug 1569613 - Add surrogate pair handling API to `nsTextFragment` r=hsivonen
We check surrogate pair at specific index in `nsTextFragement` in a lot of
places.  This requires boundary check of the index so that it can cause
security issue and crash reason with simple mistake, and also it steals
your time to understand the code what it does especially when it's a
part of an `if` condition.

Therefore, this patch adds new API to `nsTextFragment` and makes the all
surrogate pair handlers of `nsTextFragument` use new API.

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

--HG--
extra : moz-landing-system : lando
2019-08-06 05:43:21 +00:00
Gurzau Raul b882212938 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-08-06 01:04:53 +03:00
Gurzau Raul 21da9fc3f4 Merge inbound to mozilla-central. a=merge 2019-08-06 00:59:38 +03:00
Emilio Cobos Álvarez bbb4b8dac6 Bug 1519958 - followup: Fix bustage in 32-bit builds and rust unit tests. r=me
CLOSED TREE
2019-08-05 22:53:35 +02:00
Emilio Cobos Álvarez 30fc8c8c4d Bug 1519958 - Improve stack size of grid templates and re-enable style struct size assertions disabled in the previous patch. r=boris
This re-enables the assertion which was disabled on the previous patch by doing
a bit of boxing around.

Differential Revision: https://phabricator.services.mozilla.com/D36599
2019-08-05 22:13:33 +02:00
Emilio Cobos Álvarez 1f3d6c04f2 Bug 1519958 - Refactor grid types to preserve repeat() at computed value time and use cbindgen. r=mats,boris
I'm _really_ sorry for the size of the patch. I tried to do this in two steps
but it was a lot of work and pretty ugly.

This patch makes us use cbindgen for grid-template-{rows,columns}, in order to:

 * Make us preserve repeat() at computed-value time. This is per spec since
   interpolation needs to know about repeat(). Except for subgrid, which did the
   repeat expansion at parse-time and was a bit more annoying (plus it doesn't
   really animate yet so we don't need it to comply with the spec).

 * Tweaks the WPT tests for interpolation to adopt the resolution at:
   https://github.com/w3c/csswg-drafts/issues/3503.

Trade-off here, as this patch stands, is that this change makes us use less
long-living memory, since we expand repeat() during layout, but at the cost of a
bit of CPU time during layout (conditional on the property applying though,
which wasn't the case before). It should be very easy to store a cached version
of the template, should this be too hot (I expect it isn't), or to change the
representation in other ways to optimize grid layout code if it's worth it.

Another trade-off: I've used SmallPointerArray to handle line-name merging,
pointing to the individual arrays in the style data, rather than actually
heap-allocating the merged lists. This would also be pretty easy to change
should we measure and see that it's not worth it.

This patch also opens the gate to potentially improving memory usage in some
other ways, by reference-counting line-name lists for example, though I don't
have data that suggests it is worth it.

In general, this patch makes much easier to tweak the internal representation of
the grid style data structures. Overall, I think it's a win, the amount of magic
going on in that mako code was a bit huge; it took a bit to wrap my head around
it.

This patch comments out the style struct size assertions. They will be
uncommented in a follow-up patch which contains some improvements for this type,
which are worth getting reviewed separately.

Also, this patch doesn't remove as much code as I would've hoped for because of
I tried not to change most of the dom/grid code for inspector, but I think a
fair bit of the nsGridContainerFrame.cpp code that collects information for it
can be simplified / de-copy-pasted to some extent. But that was a pre-existing
problem and this patch is already quite massive.

Differential Revision: https://phabricator.services.mozilla.com/D36598
2019-08-05 22:13:21 +02:00
Emilio Cobos Álvarez da047c3d7f Bug 1567191 - Move datetime input widget attribute handling code to HTMLInputElement. r=smaug
It's the only sound place now that we use Shadow DOM, since the widget exists
when we have no frames.

Differential Revision: https://phabricator.services.mozilla.com/D40509
2019-08-05 22:11:57 +02:00
Brindusan Cristian a7eac84315 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-08-05 12:59:29 +03:00
Emilio Cobos Álvarez b4ac7dbf3f No bug - Improve CSS loader logging. 2019-08-05 10:58:56 +02:00
Ting-Yu Lin 570f61b02d Bug 1571118 - Keep NS_FRAME_FIRST_REFLOW bit in nsBlockFrame::Reflow() until nsFrame::DidReflow(). r=dholbert
This patch lets nsBlockFrame keep its NS_FRAME_FIRST_REFLOW bit a bit
longer, for the full duration of its first reflow, so that in the future
we may add more code to inspect it if needed before nsFrame::DidReflow()
clears it.

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

--HG--
extra : moz-landing-system : lando
2019-08-05 17:54:34 +00:00
Ting-Yu Lin 83d9aa16f4 Bug 1571135 - Remove the preference that controls breaking floats inside columns. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D40587

--HG--
extra : moz-landing-system : lando
2019-08-05 17:39:19 +00:00
Daniel Varga 515c95b17d Merge autoland to mozilla-central. a=merge on a CLOSED TREE
--HG--
extra : amend_source : def86b2bde0dafee971b53da39ff666d664eb953
2019-08-04 01:09:52 +03:00
Emilio Cobos Álvarez 141334b620 Bug 1571222 - Fuzz a test on Android to keep central green. rpending=dbaron
This annotation matches the one in
layout/reftests/css-invalid/select/reftest.list for
select-disabled-fieldset-1.html (which should really produce the same
rendering, and have the same reference).

This is a one-pixel fuzz on the fieldset border near the bottom right corner.

It's unclear which patch of this pushlog, if any, caused this:

  https://hg.mozilla.org/mozilla-central/pushloghtml?changeset=4a49d88894d8d88f87760ac59ae35b2158fab7b2

Probably bug 1404868, which added reftests and tickled something. But it seems
this is not really that patches' fault, so to avoid speculatively backing it
out, with the chance of it not being the offender, let's mark it as fuzzy for
now.

I kept the exact same annotation as the other test, since this goes directly to
central, so it's less risky.

We could try to make it fuzzy-if(Android,9-9,1-1), maybe, though given it seems
to be affected to changes to adjacent reftests that may be unwise.
2019-08-03 19:36:29 +02:00
Botond Ballo 1b22298440 Bug 1565512 - Ensure the RCD-RSF callback transform is applied for events targeting fixed content too. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D40535

--HG--
extra : moz-landing-system : lando
2019-08-03 16:16:56 +00:00
Emilio Cobos Álvarez 09da414857 Bug 1404140 - followup: Avoid busting GCC base toolchain jobs which warn about a debug-only variable. 2019-08-03 04:51:42 +02:00
Geoff Brown f7b0420fd4 Bug 1570051 - Minor updates to android mach commands; r=bc
Various cleanup:
 - remove extraneous calls to grant_runtime_permissions
 - remove unused legacy jimdb support code
 - remove "This may take a while" logging
 - emphasize x86/x86_64 capabilities of emulator

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

--HG--
extra : moz-landing-system : lando
2019-08-03 01:52:39 +00:00
Emilio Cobos Álvarez 0f118f30e5 Bug 1404140 - Remove the GetCSNeedsLayoutFlush flag, as it is unneeded now. r=heycam
MANUAL PUSH: Would need to reorder the stack manually (https://bugzilla.mozilla.org/show_bug.cgi?id=1481539)

Differential Revision: https://phabricator.services.mozilla.com/D40300
2019-08-03 04:10:55 +02:00
Emilio Cobos Álvarez b38e7248ab Bug 1404140 - Don't flush layout for layout-dependent properties if we know that it won't affect the result. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D40299
2019-08-03 04:09:13 +02:00
Emilio Cobos Álvarez b509090178 Bug 1404140 - Refactor nsComputedDOMStyle::UpdateCurrentStyleSources so that it happens in two flushes, not one. r=heycam
We still don't optimize out the second based on the results of the first, but I
plan to do that in a bit. That's what this bug is about anyway.

Differential Revision: https://phabricator.services.mozilla.com/D40298
2019-08-03 04:05:35 +02:00
Emilio Cobos Álvarez ac6ac81c6f Bug 1404140 - Return early when trying to flush to get the style of a disconnected element. r=heycam
We just don't return a styles for them anyway, and this simplifies the following
patches a bit.

Differential Revision: https://phabricator.services.mozilla.com/D40297
2019-08-03 04:05:34 +02:00
Emilio Cobos Álvarez d53b9edd1d Bug 1404140 - Factor out getting the outer and inner frame. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D40296
2019-08-03 04:05:34 +02:00
Emilio Cobos Álvarez 61e965dfe9 Bug 1404140 - Rename nsComputedDOMStyle::NeedsToFlush to NeedsToFlushStyle. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D40295
2019-08-03 04:05:33 +02:00
Emilio Cobos Álvarez 405bc1b7e9 Bug 1404140 - Cleanup initialization of nsComputedDOMStyle::mFlushedPendingReflows. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D40294
2019-08-03 04:05:32 +02:00
Emilio Cobos Álvarez 12cc4ad0c8 Bug 1404140 - Fix non-unified build bustage in nsComputedDOMStyle.cpp r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D40293
2019-08-03 04:05:31 +02:00
L. David Baron 20201d0cc7 Bug 1404868 - Always reflow float placeholders when they move to a different block fragment. r=TYLin
Differential Revision: https://phabricator.services.mozilla.com/D40276

--HG--
extra : moz-landing-system : lando
2019-08-02 21:05:20 +00:00
L. David Baron 956e709378 Bug 1404868 - Record in the reflow input whether we're in a different page/column than before. r=TYLin
This depends on the line state stored in the previous patch, and will be
used in the following patch.

I'm passing this information through the reflow input here, rather than
doing an extra pass over the frame tree in the following patch, because
I believe it's substantially better for memory locality during reflow.

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

--HG--
extra : moz-landing-system : lando
2019-08-02 23:51:21 +00:00
L. David Baron cbd6753ba8 Bug 1404868 - Record when lines are in a different fragment than the one in which they were previously reflowed. r=TYLin
This will be used in the following patch.

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

--HG--
extra : moz-landing-system : lando
2019-08-02 20:44:53 +00:00
L. David Baron cf73a1c8cc Bug 1404868 - Add reftests. r=TYLin
Differential Revision: https://phabricator.services.mozilla.com/D40273

--HG--
extra : moz-landing-system : lando
2019-08-02 23:44:13 +00:00
Eitan Isaacson 67c11960cc Bug 686400 - Delay accessible removal on frame reconstruction. r=Jamie,emilio
We naively remove and then recreate accessibles when their content's
frame is reconstructed. By delaying the removal until we are certain the
content does not have a new layout frame, we can cut down on redundant
recreations.

When reconstructed content is re-inserted we can check it and its
subtree for missing frames and prune those accessibles from the tree.

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

--HG--
extra : moz-landing-system : lando
2019-08-02 22:13:28 +00:00