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

12 Коммитов

Автор SHA1 Сообщение Дата
Emilio Cobos Álvarez 12867b1a3f Bug 1525371 - Kill ComputedStyle::mPresContext, move the pointer to the frame instead. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D18734
2019-02-07 11:15:36 +01:00
Ting-Yu Lin 94e682547d Bug 1520722 Part 1 - Remove NS_BLOCK_NEEDS_BIDI_RESOLUTION flag from ColumnSpanWrapperFrame. r=dbaron
Calling nsBlockFrame::ResolveBidi() on ColumnSpanWrapperFrame may cause
nsColumnSetFrame's non-fluid continuations being converted into fluid
ones in JoinInlineAncestors().

Since ColumnSpanWrapperFrame can only have nsColumnSetFrame and
column-span wrappers kids, no need to perform bidi resolution. This
doesn't affect column contents because they'll inherit "unicode-bidi"
from ColumnSetWrapperFrame in ua.css.

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

--HG--
extra : moz-landing-system : lando
2019-01-31 20:19:19 +00:00
Ting-Yu Lin 69209e69b9 Bug 1507196 - Find first ColumnSetFrame in the child lists of ColumnSetWrapperFrame (and it's continuations). r=dbaron
ColumnSetFrame is always created by
nsCSSFrameConstructor::BeginBuildingColumns(). We search for it in the
possible child lists of ColumnSetWrapperFrame and its continuations.

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

--HG--
extra : moz-landing-system : lando
2018-12-20 00:07:59 +00:00
Ting-Yu Lin df8e9a54fd Bug 1506306 - Fix <table> having "column-span:all" style. r=bzbarsky
The main style of <table> is set on the inner TableFrame, not the outer
TableWrapperFrame. Thus, we fail to spot the table as a column-span kid
in nsCSSFrameConstructor::ConstructionBlock().

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

--HG--
extra : moz-landing-system : lando
2018-12-13 22:43:01 +00:00
Cameron McCormack 1db3f9da78 Bug 1512716 - Re-indent NS_QUERYFRAME macros after clang-format. r=TYLin
Differential Revision: https://phabricator.services.mozilla.com/D13995

--HG--
extra : moz-landing-system : lando
2018-12-07 20:00:18 +00:00
Daniel Holbert a708b9e3d6 Bug 1512054 part 1: Add some needed "Inlines" includes to .cpp files in layout, to address some -Wundefined-inline build warnings in non-unified builds. r=TYLin
I'm also adding the non-"inlines" version of the added "inlines" includes, too,
since it's nice to have them included as a pair. (It's not strictly necessary,
since in these cases we were already indirectly including the non-"inlines"
header, but it seems like a good practice.)

This patch fixes build warnings in non-unified builds for the following calls:
- The call to IsColumnSpan() in layout/generic/ColumnSetWrapperFrame.cpp
- The call to Type() in layout/style/MappedDeclarations.cpp
- The call to IsInAnonymousSubtree() in layout/svg/SVGObserverUtils.cpp

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

--HG--
extra : moz-landing-system : lando
2018-12-05 02:03:04 +00:00
Sylvestre Ledru 265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Ting-Yu Lin 4b1c23e4c2 Bug 1506216 - Remove bogus assert in AssertColumnSpanWrapperSubtreeIsSane(). r=bzbarsky
The assert is testing that the content's primary frame shouldn't
generate any native anonymous children, but what we really want to
ensure is that :-moz-column-span-wrapper doesn't create any native
anonymous child (because we don't restyle the wrapper), not the content
which creates ::-moz-column-span-wrapper. The condition is already
guaranteed by !aFrame->HasAnyStateBits(NS_FRAME_OWNS_ANON_BOXES) above.

Also, at this point during the frame construction, we haven't associate
the content with the its primary frame. Therefore,
nsContentUtils::AppendNativeAnonymousChildren() won't return anything
except for scrollbars on root element. That's why we have the crash in
this bug.

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

--HG--
extra : moz-landing-system : lando
2018-11-21 18:59:00 +00:00
Ting-Yu Lin 1a47a235fd Bug 1421105 Part 5 - Fix anonymous -moz-column-span-wrapper block's style is overridden after restyling. r=bzbarsky,emilio
The major change in this patch is ::-moz-column-span-wrapper blocks are no
longer linked into the continuation chains when they're created in
CreateColumnSpanSiblings(). We can do that because
::-moz-column-span-wrapper is an non-inheriting anon box, which doesn't need
to be restyled.

This prevents RestyleManager::ProcessPostTraversal or
nsIFrame::UpdateStyleOfOwnedChildFrame, which set the same style on all
continuations of the frame they are working with, from overriding the
::-moz-column-span-wrapper style.

GetNextContinuationWithSameStyle was deleted in bug 1447367. Delete the comment
in nsInlineFrame::UpdateStyleOfOwnedAnonBoxesForIBSplit() to avoid confusion.

This patch also adds another condition to reframe the multi-column container
in MaybeRecreateContainerForFrameRemoval(). That condition is when an
element has a "column-span:all" descendant, i.e. the element's frame has
"column-span:all" siblings (which is created by CreateColumnSpanSiblings).
The added test multicol-span-all-dynamic-remove-006.html will fail without
this patch.

Depends on D5212

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

--HG--
extra : moz-landing-system : lando
2018-11-08 19:11:55 +00:00
Ting-Yu Lin cce6ef31c9 Bug 1421105 Part 3 - Support dynamically adding or removing elements under multi-column subtree. r=bzbarsky,dbaron
Depends on D5209

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

--HG--
extra : moz-landing-system : lando
2018-10-24 22:19:19 +00:00
Ting-Yu Lin a1e36d1d46 Bug 1421105 Part 2 - Implement column-span for block and inline frames. r=bzbarsky,dbaron
Other frames calling InitAndWrapInColumnSetFrameIfNeeded() needs to be
modified to support column-span (bug 1489295).

Depends on D5208

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

--HG--
extra : moz-landing-system : lando
2018-10-30 05:41:30 +00:00
Ting-Yu Lin f4c03c5b08 Bug 1346983 - Add ColumnSetWrapperFrame to wrap nsColumnSetFrames and column span frames. r=dbaron
ColumnSetWrapperFrame is needed to implement column-span. Patches in bug
1421105 will utilize this frame.

Co-authored-by: Neerja Pancholi <npancholi@mozilla.com>

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

--HG--
extra : moz-landing-system : lando
2018-09-06 17:58:24 +00:00