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

15517 Коммитов

Автор SHA1 Сообщение Дата
Daniel Holbert 9e97acb7ae Bug 1499542 part 2: Skip frozen flex items when recording grow-vs-shrink state and deltas. r=bradwerth
Frozen flex items have already been clamped to their min/max sizes, so their
size-change isn't a "how much we want to flex" measurement, and it's not useful
for determining whether the rest of the line is shrinking.

This patch is just adding a `if (!item->IsFrozen())` check around some code,
and reindenting that code, and adjusting a few comments.

This change is necessary to avoid failing the "GrowthState" assertions,
because (for example) a flex item that's clamped to a small max-width
could fool us into thinking we're in a "shrinking" state (since its final
size is smaller than its base size), even though really we're
in a "growth" state and the item was simply clamped.  We avoid this
problem by skipping (potentially-clamped) frozen items when determining
the line's GrowthState.

Depends on D8922

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

--HG--
extra : moz-landing-system : lando
2018-10-17 18:52:33 +00:00
Daniel Holbert 03b6e5b8d7 Bug 1499542 part 1: Don't do early-freeze of flexible-but-doomed-to-be-clamped flex items, if devtools are active. r=bradwerth
We'd like to be able to record the "desired" (pre-clamped) delta size from
tentatively flexing for these items.  That size would be computed during a loop
of the flex layout algorithm -- but we can't do that if we freeze them before
we start flexing. So let's bypass this early freeze so they get a chance to
compute this tentative size, even though they can never have it.

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

--HG--
extra : moz-landing-system : lando
2018-10-18 23:44:42 +00:00
Brad Werth e2f5a79f00 Bug 1497589 Part 4: Set ComputedFlexContainerInfo physical axis values, and expose them through the Flex API. r=dholbert
Depends on D8616

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

--HG--
extra : moz-landing-system : lando
2018-10-17 20:23:09 +00:00
Masayuki Nakano 09c4ea6dd3 Bug 1482425 - PresShell::PageMove() should use different rules to look for a container element for aExtend value r=smaug
PresShell::PageMove() climbs up to parent document when there is no scrollable
parent in current document.  However, if aExtend is true, it should expand
Selection in the document itself.  Therefore, it needs different rules to
look for container of expanding Selection from scrollable element to scroll.

Additionally, old rules (i.e., before the fix of bug 1369072 which caused
this regression) were also buggy.  It used parent scrollable element or
root scrollable element simply.  Therefore, if found scrollable element is
ancestor of selection limiter, it didn't work as expected.

This patch creates nsFrameSelection::GetFrameToPageSelect() to retrieve
per-page selection container element with the following rules:
- look for a scrollable element in selection limiter.
- if there is no scrollable element, use selection limiter.
- if there is no selection limiter, use the root frame.

So, nsFrameSelection::CommonPageMove() should take nsIFrame rather than
nsIScrollableFrame since container of per-page selection may be used in
non-scrollable contenteditable element.  If it's called with non-scrollable
frame, it needs to compute the expanding range with the frame size.

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

--HG--
extra : moz-landing-system : lando
2018-10-18 04:42:53 +00:00
Boris Chiou 09a7c9a305 Bug 1496558 - Part 1: Store the correct computed values for keywords for sizing properties r=mats
In order to get the correct computed value of these keywords, we have to
make sure we store the correct computed values in sizing properties in
both inline axis and block axis.

-moz-max-content and -moz-min-content should behave as the property's
initial value in block axis. -moz-fit-content and -moz-available are not
supported in block axis, so we also treat them as initial values.

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

--HG--
extra : moz-landing-system : lando
2018-10-16 19:38:41 +00:00
Gurzau Raul 21b5725e3c Merge inbound to mozilla-central. a=merge 2018-10-15 01:18:18 +03:00
Miko Mynttinen 7363138acc Bug 1482403 - Always create nsDisplayOpacity for filters and masks when there is visual opacity r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D7183

--HG--
extra : moz-landing-system : lando
2018-10-14 19:27:15 +00:00
Mats Palmgren 83361ab4ba Bug 1494745 part 2 - Make nsRefreshDriver::AddRefreshObserver void since it's infallible. r=bz
nsRefreshDriver::ObserverArray is a nsTObserverArray which is
infallible, so no need to check the return value from AppendElement
(which a later patch in this series will remove).
2018-10-14 18:12:22 +02:00
Diego Pino Garcia 4520a114b1 Bug 1498148 - Implement text-transform: full-size-kana. r=xidorn 2018-10-14 09:42:24 +11:00
Noemi Erli e350ad46ad Backed out changeset a00b402fb8e8 (bug 1498148) for Linting failure in builds/worker/checkouts/gecko/tools/lint/wpt.yml CLOSED TREE 2018-10-14 00:12:12 +03:00
Diego Pino Garcia d8fa9f97a3 Bug 1498148 - Implement text-transform: full-size-kana. r=xidorn 2018-10-13 05:03:00 +03:00
Gurzau Raul fa37566219 Merge inbound to mozilla-central. a=merge 2018-10-10 07:35:14 +03:00
Emilio Cobos Álvarez 5c40ac23c9 Bug 1496014 - Fix shape-outside invalidation. r=dbaron
It's not really invalidated anywhere, and the float manager code only checks for
float region changes. Extend it so that it knows about shapes as well, and avoid
reframing due to a bogus nsChangeHint_ScrollbarChange which really meant to be
UpdateOverflow, which really is useless in this situation..

Differential Revision: https://phabricator.services.mozilla.com/D7583
2018-10-10 01:33:17 +02:00
Daniel Holbert 12fe521b72 Bug 1495470: Only let 'contain:layout/paint' create stacking contexts on frames that support it. r=dbaron
Differential Revision: https://phabricator.services.mozilla.com/D7926

--HG--
extra : moz-landing-system : lando
2018-10-09 21:04:03 +00:00
Gurzau Raul 2ab30dfc12 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-10-10 01:04:25 +03:00
Manuel Rego Casasnovas d9ecddc9fa Bug 1491235: [css-contain] Make 'contain:layout' (not 'contain:size') suppress baseline measurements r=dholbert
The CSSWG has recently resolved that layout containment
suppress baseline alignment, while size containment does not:
https://github.com/w3c/csswg-drafts/issues/2995

Spec text (https://drafts.csswg.org/css-contain/#containment-layout):
  "7. For the purpose of the vertical-align property,
   or any other property whose effects need to relate
   the position of the containing element's baseline
   to something other than its descendants,
   the containing element is treated as having no baseline."

And a note in (https://drafts.csswg.org/css-contain/#containment-size):
  "Note: size containment does not suppress baseline alignment.
   See layout containment for that."

This patch does this change just switching IsContainSize()
by IsLayoutSize() in several places related to baseline alignment
in the source code.

With the patch several WPT tests start to pass. Apart from that,
some of the tests under vendor-imports are updated to follow
the new behavior.

--HG--
extra : amend_source : 05dc9a320afeb1d58981e2bd8bc47b435999f2f9
2018-10-09 14:13:13 -07:00
Edgar Chen 4026ebce41 Bug 1473108 - Part 2: Make PresShell not point to unbound NAC in event content stack; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D8042

--HG--
extra : moz-landing-system : lando
2018-10-09 12:16:15 +00:00
Noemi Erli c2709dc7e9 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-10-09 00:56:03 +03:00
Daniel Holbert e82b6edd6f Bug 1497330: Explicitly delete TextOverflow's default constructor. r=dthayer
Before this patch, TextOverflow had an explicitly-*defaulted* default
constructor. But in fact, this constructor was *implicitly* deleted because one
of the member variables (of type LogicalRect) couldn't be default-constructed
due to having its own default constructor explicitly deleted.

clang trunk highlights this inconsistency with a build warning
(-Wdefaulted-function-deleted) which this patch addresses.

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

--HG--
extra : moz-landing-system : lando
2018-10-08 20:21:52 +00:00
Mats Palmgren 4ebe60371d Bug 1495153 part 2 - Implement cropping the filename for <input type=file>. r=emilio,jfkthame 2018-10-07 10:08:45 +02:00
Narcis Beleuzu 5786b9be9f Backed out 2 changesets (bug 1495153) for causing perma failures on dynamic-max-width.html
Backed out changeset 6d95f0e0cc76 (bug 1495153)
Backed out changeset 6800eb348ebe (bug 1495153)
2018-10-07 05:14:44 +03:00
Mats Palmgren 3eec51d6b3 Bug 1495153 part 2 - Implement cropping the filename for <input type=file>. r=emilio,jfkthame 2018-10-06 19:31:51 +02:00
Daniel Holbert ae143565fe Bug 1178783: Add crashtest for (now-fixed) flexbox hang bug. (no review, test-only)
--HG--
extra : rebase_source : f23ccca84f728e5bd8261911a430cda626270158
2018-10-05 14:15:53 -07:00
Ryan Hunt f1dc235e14 Bug 1475139 part 9 - Use DrawDependentSurface in nsDisplayRemote when painting to a temp layer manager with a recording. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D6788

--HG--
extra : rebase_source : be90e03c9db768ecbc1b7f419f5ab9eda36e9ae4
2018-09-24 21:45:54 -05:00
Emilio Cobos Álvarez eed1014705 Bug 1495169 - Remove cached measuring reflows if we aren't measuring the right thing because we got interrupted. r=dholbert
If we're waiting on an interrupt, then our child items haven't been totally
reflowed and our measures would be bogus.

This will probably regress performance in the cases bug 1209697 fixed, so we
should probably add an interrupt check somewhere in nsFlexContainerFrame to
avoid keeping reflowing flex containers indefinitely.

We could probably just bail out from our reflow if any kid reflow was
interrupted.

Filed bug 1495532 to consider that.

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

--HG--
extra : moz-landing-system : lando
2018-10-04 20:24:04 +00:00
Nicholas Nethercote 36c48819d1 Bug 1451169 - Use `nsStaticAtom*` instead of `nsStaticAtom**` in Element.h. r=baku
--HG--
extra : rebase_source : db09f7ab93a1c41ace03a645623f78a27ecfff8c
2018-04-03 13:21:06 +10:00
Gurzau Raul 3295ecd3f1 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-10-02 19:07:23 +03:00
Gurzau Raul ca3641419f Merge inbound to mozilla-central. a=merge
--HG--
rename : docshell/test/bug123696-subframe.html => docshell/test/mochitest/bug123696-subframe.html
rename : docshell/test/bug404548-subframe.html => docshell/test/mochitest/bug404548-subframe.html
rename : docshell/test/bug404548-subframe_window.html => docshell/test/mochitest/bug404548-subframe_window.html
rename : docshell/test/bug413310-post.sjs => docshell/test/mochitest/bug413310-post.sjs
rename : docshell/test/bug413310-subframe.html => docshell/test/mochitest/bug413310-subframe.html
rename : docshell/test/bug529119-window.html => docshell/test/mochitest/bug529119-window.html
rename : docshell/test/bug530396-noref.sjs => docshell/test/mochitest/bug530396-noref.sjs
rename : docshell/test/bug530396-subframe.html => docshell/test/mochitest/bug530396-subframe.html
rename : docshell/test/bug570341_recordevents.html => docshell/test/mochitest/bug570341_recordevents.html
rename : docshell/test/bug668513_redirect.html => docshell/test/mochitest/bug668513_redirect.html
rename : docshell/test/bug668513_redirect.html^headers^ => docshell/test/mochitest/bug668513_redirect.html^headers^
rename : docshell/test/bug691547_frame.html => docshell/test/mochitest/bug691547_frame.html
rename : docshell/test/dummy_page.html => docshell/test/mochitest/dummy_page.html
rename : docshell/test/file_anchor_scroll_after_document_open.html => docshell/test/mochitest/file_anchor_scroll_after_document_open.html
rename : docshell/test/file_bfcache_plus_hash_1.html => docshell/test/mochitest/file_bfcache_plus_hash_1.html
rename : docshell/test/file_bfcache_plus_hash_2.html => docshell/test/mochitest/file_bfcache_plus_hash_2.html
rename : docshell/test/file_bug1121701_1.html => docshell/test/mochitest/file_bug1121701_1.html
rename : docshell/test/file_bug1121701_2.html => docshell/test/mochitest/file_bug1121701_2.html
rename : docshell/test/file_bug1151421.html => docshell/test/mochitest/file_bug1151421.html
rename : docshell/test/file_bug1186774.html => docshell/test/mochitest/file_bug1186774.html
rename : docshell/test/file_bug1450164.html => docshell/test/mochitest/file_bug1450164.html
rename : docshell/test/file_bug385434_1.html => docshell/test/mochitest/file_bug385434_1.html
rename : docshell/test/file_bug385434_2.html => docshell/test/mochitest/file_bug385434_2.html
rename : docshell/test/file_bug385434_3.html => docshell/test/mochitest/file_bug385434_3.html
rename : docshell/test/file_bug475636.sjs => docshell/test/mochitest/file_bug475636.sjs
rename : docshell/test/file_bug509055.html => docshell/test/mochitest/file_bug509055.html
rename : docshell/test/file_bug511449.html => docshell/test/mochitest/file_bug511449.html
rename : docshell/test/file_bug540462.html => docshell/test/mochitest/file_bug540462.html
rename : docshell/test/file_bug580069_1.html => docshell/test/mochitest/file_bug580069_1.html
rename : docshell/test/file_bug580069_2.sjs => docshell/test/mochitest/file_bug580069_2.sjs
rename : docshell/test/file_bug590573_1.html => docshell/test/mochitest/file_bug590573_1.html
rename : docshell/test/file_bug590573_2.html => docshell/test/mochitest/file_bug590573_2.html
rename : docshell/test/file_bug598895_1.html => docshell/test/mochitest/file_bug598895_1.html
rename : docshell/test/file_bug598895_2.html => docshell/test/mochitest/file_bug598895_2.html
rename : docshell/test/file_bug634834.html => docshell/test/mochitest/file_bug634834.html
rename : docshell/test/file_bug598895_1.html => docshell/test/mochitest/file_bug637644_1.html
rename : docshell/test/file_bug598895_2.html => docshell/test/mochitest/file_bug637644_2.html
rename : docshell/test/file_bug640387.html => docshell/test/mochitest/file_bug640387.html
rename : docshell/test/file_bug653741.html => docshell/test/mochitest/file_bug653741.html
rename : docshell/test/file_bug660404 => docshell/test/mochitest/file_bug660404
rename : docshell/test/file_bug660404-1.html => docshell/test/mochitest/file_bug660404-1.html
rename : docshell/test/file_bug660404^headers^ => docshell/test/mochitest/file_bug660404^headers^
rename : docshell/test/file_bug653741.html => docshell/test/mochitest/file_bug662170.html
rename : docshell/test/file_bug668513.html => docshell/test/mochitest/file_bug668513.html
rename : docshell/test/file_bug669671.sjs => docshell/test/mochitest/file_bug669671.sjs
rename : docshell/test/file_bug675587.html => docshell/test/mochitest/file_bug675587.html
rename : docshell/test/file_bug680257.html => docshell/test/mochitest/file_bug680257.html
rename : docshell/test/file_bug703855.html => docshell/test/mochitest/file_bug703855.html
rename : docshell/test/file_bug728939.html => docshell/test/mochitest/file_bug728939.html
rename : docshell/test/file_close_onpagehide1.html => docshell/test/mochitest/file_close_onpagehide1.html
rename : docshell/test/file_close_onpagehide2.html => docshell/test/mochitest/file_close_onpagehide2.html
rename : docshell/test/file_framedhistoryframes.html => docshell/test/mochitest/file_framedhistoryframes.html
rename : docshell/test/file_pushState_after_document_open.html => docshell/test/mochitest/file_pushState_after_document_open.html
rename : docshell/test/historyframes.html => docshell/test/mochitest/historyframes.html
rename : docshell/test/mochitest.ini => docshell/test/mochitest/mochitest.ini
rename : docshell/test/start_historyframe.html => docshell/test/mochitest/start_historyframe.html
rename : docshell/test/test_anchor_scroll_after_document_open.html => docshell/test/mochitest/test_anchor_scroll_after_document_open.html
rename : docshell/test/test_bfcache_plus_hash.html => docshell/test/mochitest/test_bfcache_plus_hash.html
rename : docshell/test/test_bug1045096.html => docshell/test/mochitest/test_bug1045096.html
rename : docshell/test/test_bug1121701.html => docshell/test/mochitest/test_bug1121701.html
rename : docshell/test/test_bug1151421.html => docshell/test/mochitest/test_bug1151421.html
rename : docshell/test/test_bug1186774.html => docshell/test/mochitest/test_bug1186774.html
rename : docshell/test/test_bug123696.html => docshell/test/mochitest/test_bug123696.html
rename : docshell/test/test_bug1450164.html => docshell/test/mochitest/test_bug1450164.html
rename : docshell/test/test_bug384014.html => docshell/test/mochitest/test_bug384014.html
rename : docshell/test/test_bug385434.html => docshell/test/mochitest/test_bug385434.html
rename : docshell/test/test_bug387979.html => docshell/test/mochitest/test_bug387979.html
rename : docshell/test/test_bug402210.html => docshell/test/mochitest/test_bug402210.html
rename : docshell/test/test_bug404548.html => docshell/test/mochitest/test_bug404548.html
rename : docshell/test/test_bug413310.html => docshell/test/mochitest/test_bug413310.html
rename : docshell/test/test_bug475636.html => docshell/test/mochitest/test_bug475636.html
rename : docshell/test/test_bug509055.html => docshell/test/mochitest/test_bug509055.html
rename : docshell/test/test_bug511449.html => docshell/test/mochitest/test_bug511449.html
rename : docshell/test/test_bug529119-1.html => docshell/test/mochitest/test_bug529119-1.html
rename : docshell/test/test_bug529119-2.html => docshell/test/mochitest/test_bug529119-2.html
rename : docshell/test/test_bug530396.html => docshell/test/mochitest/test_bug530396.html
rename : docshell/test/test_bug540462.html => docshell/test/mochitest/test_bug540462.html
rename : docshell/test/test_bug551225.html => docshell/test/mochitest/test_bug551225.html
rename : docshell/test/test_bug570341.html => docshell/test/mochitest/test_bug570341.html
rename : docshell/test/test_bug580069.html => docshell/test/mochitest/test_bug580069.html
rename : docshell/test/test_bug590573.html => docshell/test/mochitest/test_bug590573.html
rename : docshell/test/test_bug598895.html => docshell/test/mochitest/test_bug598895.html
rename : docshell/test/test_bug634834.html => docshell/test/mochitest/test_bug634834.html
rename : docshell/test/test_bug637644.html => docshell/test/mochitest/test_bug637644.html
rename : docshell/test/test_bug640387_1.html => docshell/test/mochitest/test_bug640387_1.html
rename : docshell/test/test_bug640387_2.html => docshell/test/mochitest/test_bug640387_2.html
rename : docshell/test/test_bug653741.html => docshell/test/mochitest/test_bug653741.html
rename : docshell/test/test_bug660404.html => docshell/test/mochitest/test_bug660404.html
rename : docshell/test/test_bug662170.html => docshell/test/mochitest/test_bug662170.html
rename : docshell/test/test_bug668513.html => docshell/test/mochitest/test_bug668513.html
rename : docshell/test/test_bug669671.html => docshell/test/mochitest/test_bug669671.html
rename : docshell/test/test_bug675587.html => docshell/test/mochitest/test_bug675587.html
rename : docshell/test/test_bug680257.html => docshell/test/mochitest/test_bug680257.html
rename : docshell/test/test_bug691547.html => docshell/test/mochitest/test_bug691547.html
rename : docshell/test/test_bug694612.html => docshell/test/mochitest/test_bug694612.html
rename : docshell/test/test_bug703855.html => docshell/test/mochitest/test_bug703855.html
rename : docshell/test/test_bug728939.html => docshell/test/mochitest/test_bug728939.html
rename : docshell/test/test_bug797909.html => docshell/test/mochitest/test_bug797909.html
rename : docshell/test/test_close_onpagehide_by_history_back.html => docshell/test/mochitest/test_close_onpagehide_by_history_back.html
rename : docshell/test/test_close_onpagehide_by_window_close.html => docshell/test/mochitest/test_close_onpagehide_by_window_close.html
rename : docshell/test/test_forceinheritprincipal_overrule_owner.html => docshell/test/mochitest/test_forceinheritprincipal_overrule_owner.html
rename : docshell/test/test_framedhistoryframes.html => docshell/test/mochitest/test_framedhistoryframes.html
rename : docshell/test/test_pushState_after_document_open.html => docshell/test/mochitest/test_pushState_after_document_open.html
rename : docshell/test/test_triggeringprincipal_location_seturi.html => docshell/test/mochitest/test_triggeringprincipal_location_seturi.html
rename : docshell/test/test_windowedhistoryframes.html => docshell/test/mochitest/test_windowedhistoryframes.html
rename : docshell/test/url1_historyframe.html => docshell/test/mochitest/url1_historyframe.html
rename : docshell/test/url2_historyframe.html => docshell/test/mochitest/url2_historyframe.html
rename : third_party/rust/syn/src/parsers.rs => third_party/rust/syn-0.14.6/src/parsers.rs
rename : third_party/rust/syn/src/verbatim.rs => third_party/rust/syn-0.14.6/src/verbatim.rs
rename : third_party/rust/uuid/.travis.yml => third_party/rust/uuid-0.5.1/.travis.yml
rename : third_party/rust/uuid/src/rustc_serialize.rs => third_party/rust/uuid-0.5.1/src/rustc_serialize.rs
rename : third_party/rust/uuid/src/serde.rs => third_party/rust/uuid-0.5.1/src/serde.rs
2018-10-02 19:03:40 +03:00
Jan Henning d80d7fbf77 Bug 1495323 - Don't retrieve font size inflation for margin calculation unless really required. r=dbaron
Once again, calculating the amount of font size inflation isn't as expensive as
it used to be, but there's still no need to do it unnecessarily. The current
code does this unconditionally as part of computing a frame's margins

Additionally, calculating the font size inflation for frames that we don't
actually want to inflate also messes with the planned writing mode assertions
from bug 1428670. In some special cases (e.g. the scroll bars), a frame might
use a different writing mode (horizontal/vertical) than its parent without
creating a new font inflation flow root at the boundary. As long as we never
want to apply font size inflation for that frame this is okay, but if the margin
computation then runs the font inflation calculation regardless, we have a
problem.

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

--HG--
extra : moz-landing-system : lando
2018-10-01 22:07:57 +00:00
Jan Henning 5ced7d8244 Bug 1428670 - Part 3: Store the effective container ISize within the FontInflationData. r=dbaron
When one of the two factors governing the effective container width for font
inflation changes, we need to mark all affected frames as dirty.
While the visible area commonly changes because of viewport changes and we can
catch those through the check for ISize resizes of the top-level frame
("!mFrame->GetParent() && isIResize"), it still seems nicer to move calculation
of the effective container width into the FontInflationData itself, especially
since the effective container width calculation in nsLayoutUtils is the only
consumer of the NCAISize currently stored by the FontInflationData.

That way
- we can be sure that really all changes of the visible width will correctly
  mark all affected frames as dirty
- can avoid repeatedly recalculating the effective container width
- can also detect the cases where the effective container width actually remains
  the same after a change in one of its input factors and skip forcing a full
  dirty reflow for all descendants just because of font inflation.

While the code in nsLayoutUtils was technically always using the writing
mode (horizontal/vertical) of each individual frame for determining which
dimension of the visible size should be used for clamping, just using the
writing mode of the respective flow root should be enough, since each change in
the writing mode should create a new flow root.

This assumption should already hold today because
1. as per the Writing Modes CSS spec, a change in writing mode compared to its
   parent means that the affected block cannot be purely "inline", but at most
   "inline-block".
2. Generally, any non-inline frame will be marked as a font inflation container.
3. Any block frame whose writing direction doesn't match its parent will be a
   block formatting context, which implies NS_BLOCK_FLOAT_MGR.
4. Any block frame that has both NS_BLOCK_FLOAT_MGR set and is a font inflation
   container will also become a font inflation flow root.
but because this chain of reasoning is not the most direct, we also add a
corresponding assertion to better catch any potential bugs here.

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

--HG--
extra : moz-landing-system : lando
2018-10-02 15:23:17 +00:00
Jan Henning a51fb6feca Bug 1428670 - Part 2: Correctly mark all child frames as dirty when font inflation status changes. r=dbaron
Before bug 1308876, child frames marked themselves as dirty during reflow if
their parent was dirty, too. After bug 1308876, the point where dirtiness is
being propagated to a frame's descendants has been shifted: Now, dirty parents
are responsible for marking all their children as dirty, too, when the parent
starts reflowing.

This means that if a frame wants to mark a whole subtree as dirty *during its
own* reflow, it's no longer sufficient to just mark the root of the subtree as
dirty and then rely on all further children marking themselves as dirty as well
when reflow reaches them.

The font inflation code is one such case. When the font inflation data on a font
inflation flow root has become dirty, or we're resizing the top-level frame
(which because of the effective container width clamping from bug 707855 can
affect the font inflation font size as well), we now need to explicitly mark all
affected children as dirty.

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

--HG--
extra : moz-landing-system : lando
2018-10-02 15:23:12 +00:00
Jan Henning fe895aebac Bug 1428670 - Part 0: Fix mixed tabs and spaces. r=dbaron
Differential Revision: https://phabricator.services.mozilla.com/D5576

--HG--
extra : moz-landing-system : lando
2018-10-02 15:23:07 +00:00
Brad Werth c279aabb20 Bug 1494694: Improve a comment in the ComputedFlexItemInfo structure header. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D7115

--HG--
extra : moz-landing-system : lando
2018-10-01 16:08:00 +00:00
Mats Palmgren 729982d840 Bug 1490561 - Make sure we remove our RefreshDriver observers in CompleteAsyncScroll. r=emilio 2018-10-01 07:59:25 +02:00
Jonathan Watt 6d7998277a Bug 1495215. Separate out the SVGObserverUtils mask handling from EffectProperties. r=longsonr
Differential Revision: https://phabricator.services.mozilla.com/D7242

--HG--
extra : rebase_source : 00c2c87e8fc6fc3ae874139b9a9b8b6b1cb4d877
2018-09-19 15:54:27 +01:00
Jonathan Watt c506a0013f Bug 1494953 p2. Make nsFrame::DidSetComputedStyle initiate external filter loads. r=longsonr
In bug 1488300 xidorn make us kick off loading of masks/filters/clipPaths in
resource documents when the style context is set so that the 'load' event
will be blocked until they load.  I missed that in 5177bb8cb2ce (bug 1494355)
where we stopped creating the SVGFilterObserverList in
SVGObserverUtils::GetEffectProperties since I missed that creating that object
looks up the target element (without observing it), which triggers loading of
external resources as necessary.

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

--HG--
extra : rebase_source : 698fe4b437660761e457ecf54d8d604a098229db
extra : amend_source : 3ae9f25761372ee6a33bd4043c7bf6183361ca58
2018-09-04 13:50:22 +01:00
Timothy Guan-tin Chien 74e03a4f3d Bug 1493741 - Don't generate elements around UA Widget shadow root r=emilio
This patch make nsCSSFrameConstructor::CreateGeneratedContentItem() early
returns if the originating element contains an UA Widget shadow root.

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

--HG--
extra : moz-landing-system : lando
2018-09-28 00:23:15 +00:00
Coroiu Cristina 71988c7b7e Merge inbound to mozilla-central a=merge 2018-09-28 00:36:46 +03:00
Xidorn Quan 570c41577d Bug 1494380 - Ignore emphasis marks on combined text with horizontal writing mode. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D7046

--HG--
extra : moz-landing-system : lando
2018-09-27 08:50:21 +00:00
Ting-Yu Lin fb26f86deb Bug 1486602 Part 3 - Create bullet frame for block frames in nsCSSFrameConstructor::ConstructBlock() instead of in their SetInitialSingleChild() r=mats
nsCSSFrameConstructor::FindDisplayData() guarantees a block with "display:
list-item" will be constructed by ConstructBlock() (either through
ConstructScrollableBlock() or ConstructNonScrollableBlock()).

This is also a preparation to fix bug 1491915 since we want to control
bullet frame creation under column hierarchy.

Depends on D6840

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

--HG--
extra : moz-landing-system : lando
2018-09-26 20:55:26 +00:00
Ting-Yu Lin f088ec9229 Bug 1486602 Part 2 - Replace RenumberLists with RenumberList in comments r=mats
The function was renamed in bug 1171419 Part 10.

Depends on D6839

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

--HG--
extra : moz-landing-system : lando
2018-09-26 01:22:24 +00:00
Ting-Yu Lin 1235a26fba Bug 1486602 Part 1 - Remove arguments of nsBlockFrame::CreateBulletFrameForListItem() r=mats
Those arguments were added in bug 591737 to create a triangle for the
summary frame, but <summary> has been re-implemented by using "list-item"
since then. Now the only caller is nsBlockFrame itself, so there's no need
to expose those arguments.

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

--HG--
extra : moz-landing-system : lando
2018-09-25 23:13:37 +00:00
shindli 3f30a21a41 Merge inbound to mozilla-central. a=merge 2018-09-27 06:13:50 +03:00
Botond Ballo 8db09c3098 Bug 1486695 - Only set nsDisplayListBuilder::mActiveScrolledRootForRootScrollframe for the RCD-RSF. r=mstange
It's queried during layer building, for the RCD-RSF only. If we set it for
a subframe RSF, that overwrites the value for the RCD-RSF, and we end up
querying the incorrect value.

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

--HG--
extra : moz-landing-system : lando
2018-09-27 00:51:15 +00:00
Daniel Holbert f856cbfbc1 Bug 1494426 part 2: Use ReflowInput::ComputedSize() convenience method in a few more places. r=TYLin
This patch isn't expected to change behavior; it's just some simplification.

Depends on D6976

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

--HG--
extra : moz-landing-system : lando
2018-09-26 21:44:18 +00:00
Daniel Holbert 8716bfc87d Bug 1494426 part 1: Use ReflowInput::AvailableSize() convenience method in a few more places. r=TYLin
This patch isn't expected to change behavior; it's just some simplification.

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

--HG--
extra : moz-landing-system : lando
2018-09-26 21:42:41 +00:00
Daniel Holbert fc5c7b4491 Bug 1493645 part 2: When caching flex item sizes, don't bother using available inline size as part of cache key. r=emilio
A flex item's available inline size would be relevant (i.e. would have an
impact on layout) if we were fragmenting the flex item in its inline direction
(e.g. if it were an inline-level box, in an inline-layout context).

But we're not doing that, so its available isize doesn't make a difference. To
the extent that it's been useful at all in this flex-item-caching code up to
this point, we'll now be caching something more-specific (the item's *computed*
inline size) which should serve roughly the same purpose.

Depends on D6991

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

--HG--
extra : moz-landing-system : lando
2018-09-26 21:44:21 +00:00
Daniel Holbert 62925b4703 Bug 1493645 part 1: When caching flex item sizes, use computed inline size as part of the cache key. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D6991

--HG--
extra : moz-landing-system : lando
2018-09-26 22:51:08 +00:00
Botond Ballo 44a6b1b547 Bug 1484597 - Clear the APZ callback transform when originating a main thread scroll offset update for the RCD-RSF. r=kats
Depends on D6076

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

--HG--
extra : moz-landing-system : lando
2018-09-21 19:01:46 +00:00
Botond Ballo 34115a8216 Bug 1484597 - Expose visual viewport information more conveniently in Layout. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D6074

--HG--
extra : moz-landing-system : lando
2018-09-21 19:01:13 +00:00