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

16621 Коммитов

Автор SHA1 Сообщение Дата
Mats Palmgren 8cc57c8048 Bug 1248227 - Add crashtest. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D45278

--HG--
extra : moz-landing-system : lando
2019-09-10 03:36:29 +00:00
Brian Grinstead dffa39b257 Bug 1561326 - Support CSS min/max width/height for top level windows with root HTML element. r=emilio
Helps support migrating from XUL DOM to an HTML DOM structure. I attempted
to remove the early return when the root element is not a XUL element, but
it appears setting the transparency on a non XUL root is still broken
(test widget/tests/test_mouse_scroll.xul started failing on windows).

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

--HG--
extra : moz-landing-system : lando
2019-09-09 16:14:51 +00:00
Ting-Yu Lin f3999c81a8 Bug 1523582 Part 3 - Adjust GetLogicalSkipSides() to check non-fluid continuations. r=dbaron
Frames split by column-span are linked together by non-fluid
continuations. We want GetLogicalSkipSides() to recognize that. The
documentation in nsIFrame::GetLogicalSkipSides() already
uses *continuation* rather than *in-flow*, so no need to adjust the
wording.

However, after patching GetLogicalSkipSides(), the first column-content
after a column-span split starts to skip the block-start side because it
has a previous continuation. We want the content in the first column to
consider applying its block-start margin. Hence the modification in
BlockReflowInput's constructor. (Note that the first column-content is
always a block-start margin-root, which is fixed in the previous part.)
This is necessary to avoid breaking
testing/web-platform/tests/css/css-multicol/multicol-span-all-margin-bottom-001.xht

In multicol-span-all-children-height-006.html, add "margin-top: 1em;" to
the container to expose the bug if we still check GetPrevInFlow() rather
than GetPrevContinuation() when computing applyBStartMargin in
nsBlockFrame::ReflowBlockFrame().

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

--HG--
extra : moz-landing-system : lando
2019-09-09 17:42:14 +00:00
Ting-Yu Lin b1502de9ca Bug 1523582 Part 2 - Make -moz-column-content a BFC when column-span is enabled. r=dbaron
Based on CSS working group's resolution in
https://github.com/w3c/csswg-drafts/issues/2582#issuecomment-402619872,
column-boxes are BFC.

Add NS_BLOCK_FORMATTING_CONTEXT_STATE_BITS to -moz-column-content, but
only for the new multicol layout.

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

--HG--
extra : moz-landing-system : lando
2019-09-09 17:42:12 +00:00
Ting-Yu Lin fdee18dbbf Bug 1523582 Part 1 - Use NOISY_BLOCK_DIR_MARGINS to control log print in nsBlockReflowContext. r=dbaron
nsBlockDebugFlags.h defines NOISY_BLOCK_DIR_MARGINS, which is used in
nsBlockFrame. Include it in nsBlockReflowContext.cpp so that when
NOISY_BLOCK_DIR_MARGINS is defined, the log is printed in
nsBlockReflowContext.cpp as well.

Remove unused NOISY_MAX_ELEMENT_SIZE and REALLY_NOISY_MAX_ELEMENT_SIZE.

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

--HG--
extra : moz-landing-system : lando
2019-09-09 17:42:10 +00:00
Cameron McCormack 7052f624b5 Bug 1578147 - Align the Rust and C++ representations of WritingMode. r=emilio,jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D44412

--HG--
extra : moz-landing-system : lando
2019-09-09 04:49:55 +00:00
James Teh 43953a25a3 Bug 1578311: Don't prune a trailing HTML br child from the accessibility tree. r=eeejay
Pruning these meant that `<span><br></span>` wasn't represented in the tree or rendered text at all.
This meant that lines were merged together in NVDA browse mode; e.g. in CI build logs on Gitlab.

The reason we started pruning these is that they were causing invalid line offsets to be returned for affected lines (bug 899433).
This patch also fixes this problem in HyperTextAccessible::FindOffset.

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

--HG--
extra : moz-landing-system : lando
2019-09-05 23:41:36 +00:00
Ting-Yu Lin b8fee8f71c Bug 1308587 Part 2 - Remove -moz prefix for all multi-column properties in testing and css files. r=dholbert
This patch is generated by the following script:

```
function remove_column_prefix() {
    echo "Renaming $1 to $2"
    find .\
         -type f\
         ! -path "./obj*"\
         ! -path "./.git"\
         ! -path "./.hg"\
         \( -name "*.html" -or\
            -name "*.xhtml" -or\
            -name "*.xht" -or\
            -name "*.xul" -or\
            -name "*.xml" -or\
            -name "*.css"  \)\
            -exec sed -i -e "s/$1/$2/g" "{}" \;
}

remove_column_prefix "-moz-columns" "columns"
remove_column_prefix "-moz-column-width" "column-width"
remove_column_prefix "-moz-column-count" "column-count"
remove_column_prefix "-moz-column-fill" "column-fill"
remove_column_prefix "-moz-column-gap" "column-gap"
remove_column_prefix "-moz-column-rule" "column-rule"
remove_column_prefix "-moz-column-rule-width" "column-rule-width"
remove_column_prefix "-moz-column-rule-color" "column-rule-color"
remove_column_prefix "-moz-column-rule-style" "column-rule-style"

```

Note: after running the above script, I reverted one minor change to the
file multicol-nested-column-rule-001.xht in the theoretically read-only
directory layout/reftests/w3c-css/received/css-multicol/.

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

--HG--
extra : moz-landing-system : lando
2019-09-05 21:37:32 +00:00
Ting-Yu Lin f0a1298eaa Bug 1308587 Part 1 - Manually remove "-moz" prefixed multi-column properties in some tests. r=dholbert
In the next part, the patch generated by a script removes "-moz" prefix
to all multi-column properties.

However, some of the tests already have standard multi-column properties
specified. To avoid duplicating CSS multi-column rules in these
files (after applying the next part), I manually remove the prefixed
rules beforehand as many as possible.

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

--HG--
extra : moz-landing-system : lando
2019-09-05 21:32:05 +00:00
Daniel Holbert 2933f10325 Bug 1092007 part 2: Treat a flex item's main-size as indefinite if the item and the container both have an indefinite size in that axis. r=mats
Flex containers resolve a main-axis size for each of their flex items, and they
impose this size on the flex items by stomping on the items'
ReflowInput::ComputedISize() or ComputedBSize() data.  For cases when we're
stomping on the flex item's block-axis, then this can make us improperly treat
this size as definite (i.e. use it for percent resolution).

The flexbox spec does call out some cases where the item's size *is* supposed
to be considered definite[1], but if we're not in one of those cases, we need
to be careful to treat the size as indefinite even though it's been resolved.

This patch achieves this by:
 - adding a flag to FlexItem, which gets set in cases where we know we need to
   treat the size as indefinite.
 - adding a flag to ReflowInput, which gets set whenever a ComputedBSize is
   imposed (if the FlexItem had its flag set).
 - adding some code to the ReflowInput percent-resolution codepath to test for
   this flag and skip past percent-resolution if it's set.

This patch makes us pass all of the existing testcases in the web-platform-test
"percentage-heights-003.html". This patch also adds a few more subtests
there to exercise cases where the flex container and item have orthogonal
writing-modes.

(Note the XXXdholbert comments in the patch about items being "fully
inflexible" in some cases in order to be treated as having a definite size.
If I were to address that comment here, then we would start failing the
web-platform-test "percentage-heights-005.html", which all browsers currently
pass[2]. Therefore, I'm not adding that restriction at this point.)

[1] https://drafts.csswg.org/css-flexbox/#definite-sizes
[2] https://wpt.fyi/results/css/css-flexbox/percentage-heights-005.html

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

--HG--
extra : moz-landing-system : lando
2019-09-04 22:45:08 +00:00
Hiroyuki Ikezoe aa7c736bad Bug 1563649 - As with display list item and reflow for position:fixed elements, use the adjusted layout viewport size getComputedStyle() r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D41930

--HG--
extra : moz-landing-system : lando
2019-09-05 01:15:05 +00:00
Emilio Cobos Álvarez 7df79853f9 Bug 1578700 - Change use counter setup to propagate the page use counters together. r=smaug
This is so that SetUseCounter is as cheap as possible.

This is in preparation for hooking the CSS use counters to telemetry. We want
CSS use counters to be fast and be propagated at once to the parent page. This
will make sure to use the same setup as everywhere else.

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

--HG--
extra : moz-landing-system : lando
2019-09-04 23:36:21 +00:00
Gijs Kruitbosch 9f3a3e9669 Bug 1578709 - Only set flash only pref for those tests that need it, r=mconley,ahal
Differential Revision: https://phabricator.services.mozilla.com/D44648

--HG--
extra : moz-landing-system : lando
2019-09-04 22:12:39 +00:00
Gurzau Raul f96e9cd73f Backed out changeset 887d125d7f59 (bug 1578709) for failing at test_bug427744.html on a CLOSED TREE. 2019-09-04 21:34:11 +03:00
Gijs Kruitbosch bb899238e7 Bug 1578709 - Only set flash only pref for those tests that need it, r=mconley,ahal
Differential Revision: https://phabricator.services.mozilla.com/D44648

--HG--
extra : moz-landing-system : lando
2019-09-04 17:28:02 +00:00
Timothy Nikkel 7201c1e21e Bug 1578158. Make sure the presshell is for an active tab before asking to decode an image. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D44355

--HG--
extra : moz-landing-system : lando
2019-09-03 13:48:47 +00:00
Jonathan Kew b58515d440 Bug 1573711 - Account for baseline offset (potential effect of vertical-align property) when computing skip-ink intercepts. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D44297

--HG--
extra : moz-landing-system : lando
2019-08-31 04:32:55 +00:00
Xidorn Quan fc104758ba Bug 1565681 - Have ruby base container sized based on margin box of ruby bases. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D43353

--HG--
extra : moz-landing-system : lando
2019-09-02 10:09:30 +00:00
Brad Werth efa8d9d650 Bug 1563163 Part 2: Downgrade an assert to a warning in nsFlexContainerFrame::GetFlexFrameWithComputedInfo. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D44284

--HG--
extra : moz-landing-system : lando
2019-08-30 23:16:44 +00:00
Daniel Holbert 7464b9c2c0 Bug 1481951 late-breaking followup: Remove mistaken comment with a reference to this (closed) bug. r=TYLin
DONTBUILD because this is a comment-only change.

Per bug 1481951 comment 6, it seems our behavior was in fact correct even when
the comment was added, and this "// XXX" comment was just due to a
misunderstanding in what was going on in the testcase.

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

--HG--
extra : moz-landing-system : lando
2019-08-30 20:37:10 +00:00
Emilio Cobos Álvarez e789ad73c7 Bug 1577745 - Remove dead version of nsStyleDisplay::IsOriginalDisplayInlineOutside. r=mats
SVG Text stuff doesn't support abspos or anything like that, so it's not like it
is useful.

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

--HG--
extra : moz-landing-system : lando
2019-08-30 13:21:42 +00:00
Mats Palmgren 81134b078b Bug 1577364 - Remove the NS_TABLE_CELL_HAS_PCT_OVER_BSIZE frame bit since it's not used. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D43864

--HG--
extra : moz-landing-system : lando
2019-08-29 21:22:25 +00:00
Emilio Cobos Álvarez 7cc40cf7ef Bug 1576666 - Use cbindgen for clip / -moz-image-region. r=boris
This also fixes some of the issues with -moz-image-region, where we just minted
an auto out of the blue.

Depends on D43472

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

--HG--
extra : moz-landing-system : lando
2019-08-26 23:09:47 +00:00
Mats Palmgren 9adf43a616 Bug 1576355 - Don't try to optimize position style changes for rel.pos. grid items. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D43387

--HG--
extra : moz-landing-system : lando
2019-08-26 20:00:35 +00:00
Ting-Yu Lin 40da910325 Bug 1575106 Part 4 - Add reftests, crashtests, and adjust test expectations. r=dbaron
1346454-1.html and 1346454-2.html are moved to keep the list sorted.

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

--HG--
extra : moz-landing-system : lando
2019-08-26 06:10:34 +00:00
Ting-Yu Lin b4138652e0 Bug 1575106 Part 3 - Use unconstrained block-size to measure last column, and revise condition to create overflow columns. r=dbaron
This patch changes behavior only if column-span is enabled. It fixes a
lot of fuzzing test cases which will be added in the next part.

It changes the column balancing behavior in the following ways.

1) By using unconstrained block-size to measure the last column in the
   first balancing iteration, we can guarantee that mKnownFeasibleBSize
   has the correct feasible block-size.

2) Always reflow one more time if the content cannot fit in the
   available content block-size. Due to 1), the content (last column)
   always returns fully complete in the first balancing iteration even if
   it's in an inner column with a constrained available block-size. We need
   to reflow again to get the correct *incomplete* reflow status so that
   the outer column can create next-in-flows for the inner column.

3) ColumnSet gives up balancing only when ColumnSetWrapper is running
   out of block-size. When a ColumnSetWrapper has constrained block-size,
   i.e. it's in a fragmentation context like pages or nested columns, we
   prioritize fragmenting ColumnSetWrapper over creating overflow columns
   within the nsColumnSet.

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

--HG--
extra : moz-landing-system : lando
2019-08-26 07:03:36 +00:00
Ting-Yu Lin ffad323296 Bug 1575106 Part 2 - Rename blockReflowInput to childReflowInput in nsBlockFrame::ReflowBlockFrame(). r=dbaron
Every time I read the code, the name `blockReflowInput` makes me think
the variable is an instance of `BlockReflowInput`, but it is not.

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

--HG--
extra : moz-landing-system : lando
2019-08-26 06:10:21 +00:00
Ting-Yu Lin def57daecd Bug 1575106 Part 1 - Use a variable to indicate ColumnSet is measuring the feasible block-size. r=dbaron
That is when ColumnSet gives its last ::moz-column-content unbounded
available block-size in the very first balancing iteration.

Note that the last column's available block-size isn't
really *unbounded* yet, but we'll make it happen in the next part.

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

--HG--
extra : moz-landing-system : lando
2019-08-26 06:10:11 +00:00
Emilio Cobos Álvarez 31c8224bf5 Bug 1561450 - Suppress scroll anchoring adjustments from scroll event listeners. r=dholbert
See https://github.com/w3c/csswg-drafts/issues/4239

This fixes what is in my opinion one of the biggest issues of scroll anchoring
as specified / currently implemented.

It's trivial to flush layout on a scroll handler and create scroll adjustments,
which in turn would trigger other scroll events to be fired. This situation,
which is what has happened in most of the scroll anchoring regressions I've
fixed, at best gets pages to get stuck in an infinite CPU loop. At worst, it
causes scrolling to be unusable because the page keeps reacting to scroll
events.

An alternative, slightly more elegant but not clear to me if 100% implementable
approach would be bug 1529702.

This should enormously reduce the need for scroll anchoring suppression
triggers[1], I'd think, which in turn would allow me to investigate removing
some of that complexity.

https://drafts.csswg.org/css-scroll-anchoring/#suppression-triggers

The setup to set / unset the boolean is a bit awkward but I couldn't come up
with anything better.

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

--HG--
extra : moz-landing-system : lando
2019-08-23 22:29:49 +00:00
Emilio Cobos Álvarez f4fb9ab137 Bug 1576194 - Remove kDisplayKTable. r=mats
It doesn't represent anything useful anymore.

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

--HG--
extra : moz-landing-system : lando
2019-08-23 15:52:05 +00:00
Jonathan Kew 39041986c7 Bug 1575908 - Remove spurious code trying to reinitialize a propertyProvider. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D43261

--HG--
extra : moz-landing-system : lando
2019-08-23 15:49:28 +00:00
Cameron McCormack d4d395fb49 Bug 1576018 - Tweak frame tree debugging output. r=TYLin
Differential Revision: https://phabricator.services.mozilla.com/D43178

--HG--
extra : moz-landing-system : lando
2019-08-23 05:31:37 +00:00
Ting-Yu Lin e0b48a710c Bug 1571897 - Add a crashtest. r=dholbert
According to the bug, this happens only on Android.

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

--HG--
extra : moz-landing-system : lando
2019-08-22 22:20:39 +00:00
Emilio Cobos Álvarez 346d47d739 Bug 1575608 - Avoid manual paint-order glue code. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D42913

--HG--
extra : moz-landing-system : lando
2019-08-21 19:47:53 +00:00
Emilio Cobos Álvarez 611e05f178 Bug 1575608 - Avoid some signed -> unsigned conversions for box-ordinal-group. r=dholbert
This is consistent with the `order` property anyhow, and allows to simplify some
code.

Negatives are still not parsed, but rust uses a similar representation for all
CSS <integer> values and so should C++.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 18:35:31 +00:00
Mike Hommey 66d7fe943e Bug 1575420 - Replace MOZ_WIDGET_TOOLKIT value of "gtk3" with "gtk". r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D42765

--HG--
extra : moz-landing-system : lando
2019-08-21 12:25:42 +00:00
Ting-Yu Lin ee24bfab2a Bug 1575377 - Remove BlockReflowInput::mHasUnconstrainedBSize, and update documents. r=dholbert
The flag's original form `mUnconstrainedHeight` was added in
nsBlockReflowState.h in
e580331b37

Nowadays, we often check available block-size in reflow directly in nsBlockFrame.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 19:53:08 +00:00
Ting-Yu Lin e5e0ef1d8d Bug 1568001 - Add crashtests fixed by bug 1420528. r=dbaron
Differential Revision: https://phabricator.services.mozilla.com/D42931

--HG--
extra : moz-landing-system : lando
2019-08-21 19:08:46 +00:00
Jonathan Kew 129e7436f7 Bug 1573249 - patch 2 - Don't apply skip-ink to runs of CJK text, because it looks bad with many fonts. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D42529

--HG--
extra : moz-landing-system : lando
2019-08-21 15:07:20 +00:00
Jonathan Kew 38828a9be9 Bug 1573249 - patch 1 - Clean up some management of the GlyphRun array in gfxTextRun. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D42528

--HG--
extra : moz-landing-system : lando
2019-08-21 15:07:08 +00:00
Coroiu Cristina f2e9770b54 Backed out 3 changesets (bug 1573249) for chrome failures at layout/inspector/tests/chrome/test_fontFaceGeneric.xul on a CLOSED TREE
Backed out changeset bdba80dae6e2 (bug 1573249)
Backed out changeset 21306e3f8d31 (bug 1573249)
Backed out changeset 3576d5b9f2db (bug 1573249)
2019-08-21 14:01:11 +03:00
Jonathan Kew 2898eb876f Bug 1573249 - patch 2 - Don't apply skip-ink to runs of CJK text, because it looks bad with many fonts. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D42529

--HG--
extra : moz-landing-system : lando
2019-08-21 09:39:02 +00:00
Jonathan Kew 64239ebc50 Bug 1573249 - patch 1 - Clean up some management of the GlyphRun array in gfxTextRun. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D42528

--HG--
extra : moz-landing-system : lando
2019-08-20 18:06:13 +00:00
Ting-Yu Lin 0958d8ea88 Bug 1575305 Part 4 - Improve column set log. r=dbaron
1. Add `this` to the log so that it's easier to debug a nested column
balancing

2. Print the struct fields the same as their names.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 00:25:07 +00:00
Ting-Yu Lin 913e451679 Bug 1575305 Part 3 - Initialize colBSize with available block-size when column-span is enabled. r=dbaron
nsBlockFrame already prepares the available block-size for
ColumnSetFrame with ColumnSetWrapper's block-size and max-block-size
applied. (ColumnSet's computed block-size and max block-size is always
unconstrained when column-span is enabled.)

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

--HG--
extra : moz-landing-system : lando
2019-08-21 00:24:09 +00:00
Ting-Yu Lin 6df1d8db45 Bug 1575305 Part 2 - Remove the unused border-padding variable in nsBlockFrame::FindBestBalanceBSize(). r=dbaron
Differential Revision: https://phabricator.services.mozilla.com/D42709

--HG--
extra : moz-landing-system : lando
2019-08-21 00:24:00 +00:00
Ting-Yu Lin c44acb8e9f Bug 1575305 Part 1 - Remove an unneeded condition used for ::-moz-column-content. r=dbaron
Before bug 1411422, a ::-moz-column-content has height:100%, so it could
go into this path if ColumnSet's available block-size is unconstrained.

However, after bug 1411422, height:100% was removed for
::-moz-column-content. That is, its computed block-size is
unconstrained, so it can't go into this path. This applies regardless of
whether column-span is enabled or not.

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

--HG--
extra : moz-landing-system : lando
2019-08-20 22:29:55 +00:00
Mats Palmgren dd5a04bc1d Bug 1574552 - Push float/abs.pos. CB for 'block ruby' as needed. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D42701

--HG--
extra : moz-landing-system : lando
2019-08-20 21:28:01 +00:00
Mats Palmgren acbd6a2b96 Bug 1574994 part 2 - Remove display:-moz-inline-grid/-moz-inline-stack. r=emilio
Depends on D42551

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

--HG--
extra : moz-landing-system : lando
2019-08-19 21:19:04 +00:00
Mats Palmgren 2525944e34 Bug 1574994 part 1 - Remove/replace display:-moz-inline-grid and -moz-inline-stack in tests. r=emilio
I replaced the values with -moz-inline-box in the crashtests
rather than removing them.  I think they are still valuable
after replacing the display value.

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

--HG--
extra : moz-landing-system : lando
2019-08-19 21:19:04 +00:00