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

76477 Коммитов

Автор SHA1 Сообщение Дата
Emilio Cobos Álvarez 38cb903038 Bug 1717873 - Move link color styles to ua.css. r=morgan
We expose these via CSS system colors, so this way we don't need to
rebuild the preference sheet when the link color is different.

Differential Revision: https://phabricator.services.mozilla.com/D120677
2021-07-24 12:05:30 +00:00
Ting-Yu Lin 6abef7f28c Bug 1671527 Part 4 - Add assertion to check a float containing block candidate is handled before processing its children. r=emilio
Call MaybePushFloatContainingBlock() before some of
ConstructFramesFromItemList()'s caller to enforce the invariant that a
float containing block candidate is handled before processing its
children. Most of them handle nsIFrame::eXULBox frame like nsMenuFrame
that forbid float descendants.

The assertion condition only requires us to call
MaybePushFloatContainingBlock() if aParentFrame forbids float
descendants or is a float containing block, because it is a waste if
aParentFrame has nothing to do with floats, e.g. aParentFrame is
nsInlineFrame or nsCanvasFrame.

Note: ProcessChildren() calls ConstructFramesFromItemList() internally,
so adding the assertion in ConstructFramesFromItemList() is sufficient.

Differential Revision: https://phabricator.services.mozilla.com/D120741
2021-07-23 22:52:06 +00:00
Ting-Yu Lin 9dddcd204f Bug 1671527 Part 3 - Reparent floats when creating non-column-span wrapper frames. r=emilio
When we are in CreateColumnSpanSiblings(), there are floats in
nsFrameConstructorState::mFloatedList that are waiting to be added to
aInitialBlock once we leave scope of the float containing block.
However, since we are creating non-column-span continuations, which are
continuations of aInitialBlock, we should reparent the floats to these
continuations if their placeholders are the descendants of the
newly-created continuations.

multicol-span-float-002.html exercises
nsCSSFrameConstructor::ConstructBlock() and multicol-span-float-003.html
exercises nsCSSFrameConstructor::CreateIBSiblings().

Without this patch, multicol-span-float-002.html and
multicol-span-float-003.html still pass, but they trigger

```
ASSERTION: nsBlockFrame::CheckFloats: Explicit float list is out of
sync with float cache
```

1524382.html used to trigger the above assertions. Now it's fixed.

Differential Revision: https://phabricator.services.mozilla.com/D120105
2021-07-23 22:52:05 +00:00
Ting-Yu Lin f842cc4b96 Bug 1671527 Part 2 - Make ProcessChildren()'s callers responsible for calling MaybePushFloatContainingBlock(). r=emilio
Before this patch, a floating containing block (block frame)'s float
descendants are added to its mFloatedList in
~nsFrameConstructorSaveState() after returning from ProcessChildren().

This patch delays that by avoiding calling
MaybePushFloatContainingBlock() in ProcessChildren(), and move the call
one level up to ProcessChildren()'s callers so that the float
descendants are parented to the block frame after leaving the callers.
This is similar to how we handle the scope of abspos containing block.

This surely adds burden to some of the ProcessChildren() callers, but it
also unifies the float containing block scope for those callers
utilizing both ConstructFramesFromItemList() and ProcessChildren().

This doesn't change the behavior for now, but it is required by the next
part to correctly reparent the float descendants to the correct
non-column-span block continuations split by column-span wrappers.

Differential Revision: https://phabricator.services.mozilla.com/D120104
2021-07-23 22:52:05 +00:00
Ting-Yu Lin 98cd412f2a Bug 1671527 Part 1 - Add MaybePushFloatContainingBlock() method. r=emilio
Extract a helper to consolidate the if-else-if logic dealing with float
containing block, and adapt the callers to use it rather than
PushFloatContainingBlock().

This patch shouldn't change the behavior.

Note: In ConstructTableCell(), `!isBlock` is equivalent to
ShouldSuppressFloatingOfDescendants(cellInnerFrame) since
nsMathMLmtdInnerFrame is of eMathML type, so it's OK to just call
MaybePushFloatContainingBlock().

Differential Revision: https://phabricator.services.mozilla.com/D120103
2021-07-23 22:52:04 +00:00
Emilio Cobos Álvarez 3a75610a0f Bug 1663475 - Paint caret geometry from the containing block. r=mats
This matches other browsers and shouldn't be too terrible, though I'm
not quite a fan of it.

Differential Revision: https://phabricator.services.mozilla.com/D89483
2021-07-23 12:50:31 +00:00
Matt Woodrow 912b7f8ef1 Bug 1721537 - Split out WindowRenderer base class from LayerManager. r=miko
Depends on D120439

Differential Revision: https://phabricator.services.mozilla.com/D120440
2021-07-22 22:58:57 +00:00
Neil Deakin 25c196780b Bug 1717684, remove the popupRangeParent and popupRangeOffset properties in document and just use the cached event in the PendingPopup, r=emilio
This also limits computing the range properties to only the context menu cases that need them rather than all popups.

Differential Revision: https://phabricator.services.mozilla.com/D120132
2021-07-22 19:50:10 +00:00
Neil Deakin 90e36968fc Bug 1717684, use a single temporary object that gets passed to the popup showing methods instead of setting a number of fields and relying on them being cleared after the popup is shown, r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D120131
2021-07-22 19:50:10 +00:00
Sebastian Hengst 4367653892 Bug 1718175 - only change fuzz for radialGradient-basic-03.svg on Windows AArch. CLOSED TREE 2021-07-22 16:59:14 +02:00
Andreea Pavel bf228196ab Bug 1718175 - correct fuzzy condition r=Aryx DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D120119
2021-07-21 23:35:43 +00:00
Sonia Singla 05e2031f5f Bug 1665638 - Remove layout.css.clip-path-path.enabled.r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D120235
2021-07-22 08:04:47 +00:00
Timothy Nikkel 5e462aed3b Bug 1701027. Add test. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D120437
2021-07-22 02:40:08 +00:00
Timothy Nikkel 20475539e3 Bug 1701027. Disable partial display list updates when the root scroll frame is modified. r=mattwoodrow
This is basically equivalent to marking the viewport frame modified when the root scroll frame is marked modified.

We wrap the top layer items in a display wrap list that uses the viewport frame as it's mFrame here

https://searchfox.org/mozilla-central/rev/bb37e6fe8bbe383a57a4ad21a201e26416613ca1/layout/generic/ViewportFrame.cpp#236

So when we invalidate the root scroll frame for getting a new display port we do a partial update. The wrap list item for the top layer items has a new display item parent, a display async zoom item (the creation of the display port changed this), so the a new display wrap list item is created. All of it's children are matched with the old children of the old display wrap list so those go away, but the old display wrap list item itself sticks around: it's mFrame is the viewport frame which was not marked modified. So the next paint we have these two identical display wrap list items (one empty), and we hit the assert.

So it seems like we need to mark the viewport frame modified if the root scroll frame is marked modified if we have top layer items (since those top layers items end up being inside the root scroll frames display list). This in turn would disable a partial update for the next paint because ShouldBuildPartial would return false because a viewport frame is modified

https://searchfox.org/mozilla-central/rev/bb37e6fe8bbe383a57a4ad21a201e26416613ca1/layout/painting/RetainedDisplayListBuilder.cpp#1309

I'm not sure this is even a bad thing, since we also disable partial updates if the canvas frame (child of the root scroll frame) is marked modified. Perhaps we would want to disable partial updates if the root scroll frame is marked modified, but we can't detect root scroll frames purely from their layout frame type.

Differential Revision: https://phabricator.services.mozilla.com/D109848
2021-07-22 02:40:07 +00:00
Kashav Madan 5781dca888 Bug 1720688 - Support extended attribute syntax in protocol declarations, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D119975
2021-07-22 02:24:43 +00:00
Ting-Yu Lin 1fb3c26fc2 Bug 1715661 - Fix justify-content:{left|right} for column oriented vertical flex container. r=dholbert
In a column oriented vertical flex container, its main axis is parallel
to physical left <-> right axis, so justify-content:left and
justify-content:right should map to physical left and right edge,
respectively. This patch makes this particular case go to the (tweaked)
`else` branch.

https://drafts.csswg.org/css-align-3/#valdef-justify-content-left

Differential Revision: https://phabricator.services.mozilla.com/D120415
2021-07-22 00:12:07 +00:00
Lee Salzman 7b813c3f50 Bug 1713047 - Adjust feDropShadow-01 fuzz for Android + WR. r=aosmond
This is already a known divergence in this test that affects all of WR, rather than a new finding for only Android. We just need to move the fuzz a bit so that Android falls into it as well.

Differential Revision: https://phabricator.services.mozilla.com/D120261
2021-07-21 18:27:26 +00:00
Miko Mynttinen 31121ed5e7 Bug 1717655 - Fix bevelRect size calculation r=nical
Differential Revision: https://phabricator.services.mozilla.com/D119982
2021-07-21 15:05:35 +00:00
Emilio Cobos Álvarez 4f696bd524 Bug 1721370 - Undo the behavior change from bug 1720703. r=annevk
Making <source> display: none is not web compatible. <track> could
probably stay, your call, but other browsers also don't do this so
perhaps we should just change the spec...

Differential Revision: https://phabricator.services.mozilla.com/D120454
2021-07-21 10:03:53 +00:00
Boris Chiou df3e4e4f9e Bug 1679794 - Downgrade MOZ_ASSERT to NS_WARNING_ASSERTION for the resolved non-auto-insets block size on abs-positioned elements. r=dholbert
This is an known issue for nscoord because we don't have a better way to
distinguish between the unresolved size and the resolved super large size.
Using NS_WARNING_ASSERTION is the current acceptable way.

Differential Revision: https://phabricator.services.mozilla.com/D119470
2021-07-21 00:07:27 +00:00
Agi Sferro 7517b3ca00 Bug 1718341 - Generate Android AVD in TL job instead of using tooltool r=aklotz,nalexander
Tooltool images are hard to update because we don't provide a script to
generate the image and documentation is often inaccurate.

This patch makes it so we generate the AVD in the android-sdk TL job instead.

Differential Revision: https://phabricator.services.mozilla.com/D119221
2021-07-20 22:19:14 +00:00
Emilio Cobos Álvarez 851c9a8e9f Bug 1718755 - Ensure global theme/font pref changes are handled regardless of the pres context being alive. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D120318
2021-07-20 14:10:59 +00:00
Emilio Cobos Álvarez 8d7b040874 Bug 1718755 - Ensure the reftest harness at least ticks the refresh driver once. r=tnikkel
Otherwise after the previous change we might get some reftest failures
like this in noqr platforms if the snapshot is taken too soon:

  https://treeherder.mozilla.org/jobs?repo=try&revision=5452076b8278fdb514e8c3bc10486b0c74917eb0

This patch fixes it.

Differential Revision: https://phabricator.services.mozilla.com/D119453
2021-07-20 14:10:58 +00:00
Emilio Cobos Álvarez de54c4e1fc Bug 1718755 - Fix the SpecialPowers pref code to deal with ui / font prefs correctly after the previous change. r=kmag
This allows us to remove the timeout (which was there for these prefs)
and makes the code a bit more explicit.

Unconditionally making all tests wait for rAF causes some timing changes
which cause some tests to time out / fail, see:

  https://treeherder.mozilla.org/jobs?repo=try&revision=3aef4c168c6ab7d762dd360f49d4f56dff686c03

So this only does it when changing the prefs that care about it. Fix
some tests that were relying on the timeout to get this green.

Differential Revision: https://phabricator.services.mozilla.com/D119040
2021-07-20 14:10:58 +00:00
Emilio Cobos Álvarez 7d5f5e0d0c Bug 1718755 - Use an early refresh driver runner rather than Dispatch() to coalesce theme changes. r=stransky
That way we guarantee they are processed before display.

Differential Revision: https://phabricator.services.mozilla.com/D119023
2021-07-20 14:10:58 +00:00
Emilio Cobos Álvarez 60812fc63c Bug 1711437 - Don't EnsureUniqueInner from the cssRules getter. r=layout-reviewers,jfkthame
Instead, fix up the various content data structures when the stylesheet
is mutated. This makes reading a stylesheet not disable style sharing.

Differential Revision: https://phabricator.services.mozilla.com/D115203
2021-07-20 13:17:02 +00:00
Sebastian Hengst 5a4f8ee0eb Backed out 13 changesets (bug 1709640, bug 1718341) for failing geckoview-junit tasks on shippable lite platform. CLOSED TREE
Backed out changeset abc4249b08a0 (bug 1709640)
Backed out changeset c7f2fa8d7535 (bug 1709640)
Backed out changeset 45b07d37f247 (bug 1709640)
Backed out changeset a15b3b87d71e (bug 1718341)
Backed out changeset a87639f2921b (bug 1718341)
Backed out changeset 31a57851c6d1 (bug 1718341)
Backed out changeset c7de56a1f886 (bug 1718341)
Backed out changeset 5e76806752c8 (bug 1718341)
Backed out changeset 74cfe6df218b (bug 1718341)
Backed out changeset 3bd0e376de51 (bug 1718341)
Backed out changeset 176238f92cfe (bug 1718341)
Backed out changeset 38d622f60fa5 (bug 1718341)
Backed out changeset 2e16fa5f0a1f (bug 1718341)
2021-07-20 11:31:01 +02:00
Agi Sferro 43584d5056 Bug 1718341 - Generate Android AVD in TL job instead of using tooltool r=aklotz,nalexander
Tooltool images are hard to update because we don't provide a script to
generate the image and documentation is often inaccurate.

This patch makes it so we generate the AVD in the android-sdk TL job instead.

Differential Revision: https://phabricator.services.mozilla.com/D119221
2021-07-20 03:23:29 +00:00
Matt Woodrow e082df56bb Bug 1720621 - Adjust display list building rect for page scale transform within nsPageContentFrame. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D120127
2021-07-20 01:21:31 +00:00
Matt Woodrow 81dcdf515d Bug 1720429 - CreateClippedDrawTarget takes a rect in user space. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D120135
2021-07-19 22:01:31 +00:00
Matt Woodrow f36ae46161 Bug 1720429 - Add test for transformed filter, which fails under reftest-snapshot. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D120134
2021-07-19 22:01:31 +00:00
Alex Henrie 2610b8861a Bug 1720618 - Remove redundant checks from nsTableFrame::ExpandBCDamageArea. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D119935
2021-07-19 21:45:45 +00:00
Botond Ballo da4b66c796 Bug 1720176 - Get Matrix4x4Typed::Decompose() to compile for non-Unknown matrix types. r=jrmuizel
Depends on D119696

Differential Revision: https://phabricator.services.mozilla.com/D119697
2021-07-19 18:37:37 +00:00
Andreea Pavel ecd395a099 Bug 1718175 - mark radialGradient-basic-03.svg as fuzzy on win10 webrender debug r=intermittent-reviewers,ahal,emilio
Differential Revision: https://phabricator.services.mozilla.com/D120119
2021-07-19 16:07:20 +00:00
Alex Lopez 77ce415604 Bug 1696251 - Replace self with command_context where possible in existing mach commands. r=mhentges,webdriver-reviewers,perftest-reviewers,whimboo
This step removes all the dependencies of mach commands to
having a MachCommandBase as the `self` by using the `command_context`
argument instead. This also removes any remaining statefulness from those
classes that implement mach commands, ultimately making it easier to move
existing commands out of classes in a follow-up.

Differential Revision: https://phabricator.services.mozilla.com/D118058
2021-07-19 16:04:25 +00:00
Miko Mynttinen 0db87ebeb5 Bug 1720804 - Part 2: Cleanup clang tidy warnings and namespaces r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D120042
2021-07-19 11:28:21 +00:00
Miko Mynttinen 76c9644105 Bug 1720804 - Part 1: Move majority of the display list code inside mozilla namespace r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D120041
2021-07-19 11:28:20 +00:00
Emilio Cobos Álvarez 94913a95b1 Bug 1720703 - Sync the list of hidden elements with the HTML spec. r=annevk
`<source>` and `<track>` were missing, and the order is tweaked to match the HTML spec.

Differential Revision: https://phabricator.services.mozilla.com/D120206
2021-07-19 10:40:17 +00:00
Sonia Singla 28ced48ac1 Bug 1659266 - Remove layout.css.prefixes.columns. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D120057
2021-07-19 09:20:14 +00:00
Ting-Yu Lin 70a94bffbb Bug 1720963 - Remove unused method declarations in nsTableFrame.h. r=layout-reviewers,jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D120123
2021-07-18 18:42:10 +00:00
Butkovits Atila df5b6f3929 Backed out 13 changesets (bug 1709640, bug 1718341) for causing android build bustages. CLOSED TREE
Backed out changeset 20645ae32b84 (bug 1709640)
Backed out changeset 7c45682a8f98 (bug 1709640)
Backed out changeset 667e768fd75e (bug 1709640)
Backed out changeset f072adb45b85 (bug 1718341)
Backed out changeset cf443dddb5f5 (bug 1718341)
Backed out changeset 09d3d3e4ce7d (bug 1718341)
Backed out changeset 2b47cc469477 (bug 1718341)
Backed out changeset 8ec277361e46 (bug 1718341)
Backed out changeset b6c4c82d3efc (bug 1718341)
Backed out changeset 8afb8fcd0dc3 (bug 1718341)
Backed out changeset 7723d3a9ba7f (bug 1718341)
Backed out changeset f33b120a77d0 (bug 1718341)
Backed out changeset e7bf6deac270 (bug 1718341)
2021-07-17 01:02:51 +03:00
Emily McDonough 6e2a97de80 Bug 1717703 Part 2 - Add test for printing with down-scaled page-size. r=dholbert
This test couldn't succeed without the fix for the clipping issue.

Differential Revision: https://phabricator.services.mozilla.com/D119460
2021-07-16 19:47:49 +00:00
Emily McDonough 2844167a17 Bug 1717703 Part 1 - Set display list clipping rect for nsPageFrame children to use the content size. r=emilio,mattwoodrow
Without explicitly setting the clipping rect to the specified page size, the
building rect of the display lists will be kept to the size of the nsPageFrame.
This means that any content in the nsPageContentFrame which is larger than the
physical paper size will be clipped.

The actual content frames are scaled down when this is too large, so no
overdraw will occur.

Differential Revision: https://phabricator.services.mozilla.com/D119459
2021-07-16 19:47:48 +00:00
Agi Sferro fa3a9445b3 Bug 1718341 - Generate Android AVD in TL job instead of using tooltool r=aklotz,nalexander
Tooltool images are hard to update because we don't provide a script to
generate the image and documentation is often inaccurate.

This patch makes it so we generate the AVD in the android-sdk TL job instead.

Differential Revision: https://phabricator.services.mozilla.com/D119221
2021-07-16 17:49:54 +00:00
Butkovits Atila a07f790e42 Backed out changeset e1921c5112d8 (bug 1696251) for causing bustages complaining about 'CommandContext'. CLOSED TREE 2021-07-16 20:35:55 +03:00
Alex Lopez 190e03aaab Bug 1696251 - Replace self with command_context where possible in existing mach commands. r=mhentges,webdriver-reviewers,perftest-reviewers,whimboo
This step removes all the dependencies of mach commands to
having a MachCommandBase as the `self` by using the `command_context`
argument instead. This also removes any remaining statefulness from those
classes that implement mach commands, ultimately making it easier to move
existing commands out of classes in a follow-up.

Differential Revision: https://phabricator.services.mozilla.com/D118058
2021-07-16 15:51:29 +00:00
Alexandru Michis fbd939b860 Backed out 2 changesets (bug 1720804) for causing bustages.
CLOSED TREE

Backed out changeset 5278e88c6d34 (bug 1720804)
Backed out changeset 1acb4ed79b6b (bug 1720804)
2021-07-16 18:10:11 +03:00
Miko Mynttinen 9be17e0d34 Bug 1720804 - Part 2: Cleanup clang tidy warnings and namespaces r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D120042
2021-07-16 14:36:35 +00:00
Miko Mynttinen ffc501ddc9 Bug 1720804 - Part 1: Move majority of the display list code inside mozilla namespace r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D120041
2021-07-16 14:36:34 +00:00
Miko Mynttinen f1d35170a6 Bug 1720803 - Merge nsDisplayItemBase and nsDisplayItem r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D120039
2021-07-16 13:11:40 +00:00