gecko-dev/layout
Emilio Cobos Álvarez 235779278c Bug 1542935 - Re-introduce a call to EnsureStyleFlush from PresShell::Init to fix an Android scrolling regression. r=heycam
Sorry for the vague commit message, but I haven't dug yet on why or how the
Android code is depending on this.

This call used to be part of nsPresContext::CompatibilityModeChanged, which
unconditionally called PresShell::EnsureStyleFlush.

This was not (in theory, at least) always necessary. There's there's no point in
ensuring a style flush is going to happen if styles haven't changed, and
CompatibilityModeChanged() didn't actually guarantee that the compat mode was
different at all before my patch.

Styles only change if the compat mode actually changes (since then selectors
become case-sensitive or case-insensitive), or more obviously when you insert or
remove the quirks.css stylesheet, and in that case ApplicableStylesChanged makes
sure that the flush happens.

Yet here we are, and not having that early call to EnsureStyleFlush, even in the
case there's no quirks mode or quirks sheet change or anything of that sort
(this happens even on XUL docs, which are always FullStandards) makes the first
(and only the first) browsing session in Geckoview have terrible scrolling
performance.

I'm calling it a day for today, will investigate as time permits in bug 1544185.

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

--HG--
extra : moz-landing-system : lando
2019-04-15 05:26:27 +00:00
..
base Bug 1542935 - Re-introduce a call to EnsureStyleFlush from PresShell::Init to fix an Android scrolling regression. r=heycam 2019-04-15 05:26:27 +00:00
build Bug 1543966 - part 1: Make "editing commands" and "editor commands" singleton classes r=m_kato 2019-04-15 07:49:46 +00:00
doc Bug 1517241 - Rename nsIDocument to mozilla::dom::Document. r=smaug 2019-01-03 17:48:33 +01:00
forms Bug 1543315 - part 9: Mark nsIPresShell::FlushPendingNotifications() as MOZ_CAN_RUN_SCRIPT r=smaug 2019-04-13 12:43:57 +00:00
generic Bug 1526972 - P8: Reset InInvalidSubtree when processing unrelated frames. r=mattwoodrow 2019-04-15 00:23:21 +00:00
inspector Bug 1540732 - Validate input in InspectorUtils.removeContentState as well. r=smaug 2019-04-04 21:13:10 +00:00
ipc Bug 1526972 - P3: De-virtualize HasDeletedFrame(). r=miko 2019-04-15 00:23:11 +00:00
mathml Bug 1542407 - Make nsIFrame use mozilla::PresShell directly rather than via nsIPresShell r=emilio 2019-04-06 06:02:28 +00:00
media
painting Bug 1526972 - P8: Reset InInvalidSubtree when processing unrelated frames. r=mattwoodrow 2019-04-15 00:23:21 +00:00
printing Bug 1543315 - part 9: Mark nsIPresShell::FlushPendingNotifications() as MOZ_CAN_RUN_SCRIPT r=smaug 2019-04-13 12:43:57 +00:00
reftests Backed out changeset fd5cb917b6eb (bug 1412179) for Wr failures at /html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-vertical.html 2019-04-13 11:04:15 +03:00
style Bug 1543304 - Add MOZ_DBG support for nsCSSPropertyID and nsCSSPropertyIDSet; r=heycam 2019-04-14 23:48:05 +00:00
svg Bug 1526972 - P1: Compress bool state into bit flags. r=miko 2019-04-15 00:23:07 +00:00
tables Bug 1543571 Part 4 - Manually replace "reflow state" with "reflow input" that are break across lines. r=dholbert 2019-04-11 21:22:16 +00:00
tools Bug 1543009 - Move layout debugger xpcom components to static registration. r=kmag 2019-04-11 16:23:53 +09:00
xul Bug 1526972 - P1: Compress bool state into bit flags. r=miko 2019-04-15 00:23:07 +00:00
moz.build Bug 1521673 - Go through layout/tools/layout-debug even when tests are disabled. r=dmajor 2019-01-22 14:30:39 +00:00