gecko-dev/layout/base
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
..
crashtests Bug 1539303 - Add a crashtest. r=me 2019-04-01 23:41:01 +02:00
doc
gtest Bug 1318091 - Disable failing android gtests; r=bc 2019-04-08 20:58:21 +00:00
tests Bug 1536278 - re-enable test_accessiblecaret_cursor_mode.py tests on windows10-aarch64 r=whimboo,jmaher 2019-04-15 07:17:21 +00:00
AccessibleCaret.cpp Bug 1523969 part 14 - Move method definition inline comments to new line in 'layout/'. r=dholbert 2019-02-25 16:09:24 -06:00
AccessibleCaret.h Bug 1517241 - Rename nsIDocument to mozilla::dom::Document. r=smaug 2019-01-03 17:48:33 +01:00
AccessibleCaretEventHub.cpp Bug 1523969 part 14 - Move method definition inline comments to new line in 'layout/'. r=dholbert 2019-02-25 16:09:24 -06:00
AccessibleCaretEventHub.h Bug 1533617 part 4. Mark virtual methods with CAN_RUN_SCRIPT overrides as CAN_RUN_SCRIPT. r=nika 2019-03-11 14:20:29 +00:00
AccessibleCaretLogger.h Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre 2019-01-18 10:16:18 +01:00
AccessibleCaretManager.cpp Bug 1540927 - part 1: Make nsFrameSelection treat mozilla::PresShell directly rather than via nsIPresShell r=smaug 2019-04-03 07:53:16 +00:00
AccessibleCaretManager.h Bug 1486521 - Make Selection::Stringify() stop flushing frames if AccessibleCaretManager doesn't allow so. r=emilio 2019-01-14 04:58:59 +00:00
ArenaObjectID.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
AutoProfilerStyleMarker.h Bug 1500692 - Centralize profiling category definition and add infrastructure for subcategories. r=njn 2019-02-16 17:37:43 +00:00
CaretAssociationHint.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
FrameProperties.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
GeckoMVMContext.cpp Bug 1543315 - part 5: Mark ResizeReflowIgnoreOverride() as MOZ_CAN_RUN_SCRIPT r=smaug 2019-04-13 12:40:10 +00:00
GeckoMVMContext.h Bug 1543315 - part 5: Mark ResizeReflowIgnoreOverride() as MOZ_CAN_RUN_SCRIPT r=smaug 2019-04-13 12:40:10 +00:00
GeometryUtils.cpp Bug 1540015 - part 3: Rename Document::GetShell() to Document::GetPresShell() and make it return PresShell* rather than nsIPresShell* r=smaug,emilio 2019-03-29 15:12:47 +00:00
GeometryUtils.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
LayoutConstants.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
LayoutLogging.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
LayoutLogging.h Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre 2019-01-18 10:16:18 +01:00
MobileViewportManager.cpp Bug 1531962 - Extract an MVMContext interface used by MobileViewportManager to interact with its surroundings. r=kats 2019-04-04 22:11:40 +00:00
MobileViewportManager.h Bug 1531962 - Extract an MVMContext interface used by MobileViewportManager to interact with its surroundings. r=kats 2019-04-04 22:11:40 +00:00
moz.build Bug 1531962 - Extract an MVMContext interface used by MobileViewportManager to interact with its surroundings. r=kats 2019-04-04 22:11:40 +00:00
MVMContext.h Bug 1531962 - Extract an MVMContext interface used by MobileViewportManager to interact with its surroundings. r=kats 2019-04-04 22:11:40 +00:00
nsAutoLayoutPhase.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsAutoLayoutPhase.h Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre 2019-01-18 10:16:18 +01:00
nsBidi.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsBidi.h Bug 1515556 comment fix-ups for the tree reformat (layout/) r=Ehsan,heycam 2018-12-21 03:07:05 +00:00
nsBidiPresUtils.cpp Bug 1540930 - Make nsPresContext use mozilla::PresShell directly rather than via nsIPresShell r=emilio 2019-04-03 12:40:26 +00:00
nsBidiPresUtils.h Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre 2019-01-18 10:16:18 +01:00
nsCaret.cpp Bug 1540927 - part 1: Make nsFrameSelection treat mozilla::PresShell directly rather than via nsIPresShell r=smaug 2019-04-03 07:53:16 +00:00
nsCaret.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsChangeHint.h Bug 1533963 - Use a single RestyleHint representation. r=heycam 2019-03-14 11:47:50 +00:00
nsCompatibility.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsCounterManager.cpp Bug 1543758 - Pseudo-elements should be allowed to be list-items. r=mats 2019-04-13 22:22:51 +00:00
nsCounterManager.h Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-04-12 13:14:25 +00:00
nsCSSColorUtils.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsCSSColorUtils.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsCSSFrameConstructor.cpp Bug 1543013 - part 2: Make accessible use mozilla::PresShell directly rather than via nsIPresShell r=Jamie 2019-04-13 12:13:15 +00:00
nsCSSFrameConstructor.h Bug 1517080 Part 6 - Remove nsFrameItems alias, and rename variables with suffix "Items" to "List". r=mats 2019-03-30 04:45:47 +00:00
nsDocumentViewer.cpp Bug 1543315 - part 9: Mark nsIPresShell::FlushPendingNotifications() as MOZ_CAN_RUN_SCRIPT r=smaug 2019-04-13 12:43:57 +00:00
nsFrameManager.cpp Bug 1517241 - Rename nsIDocument to mozilla::dom::Document. r=smaug 2019-01-03 17:48:33 +01:00
nsFrameManager.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsFrameTraversal.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsFrameTraversal.h Bug 1511854 - Part 1: Fix some formatting oddities in layout/ after the clang-format. r=TYLin 2018-12-05 18:44:03 +00:00
nsGenConList.cpp Bug 1539267 - Bug 1539171 - Follow the list-item definition from the spec a bit more closely. r=mats 2019-03-27 15:03:20 +00:00
nsGenConList.h Bug 205202 part 1 - [css-lists][css-pseudo] Add support for the ::marker pseudo element on list items. Alias :-moz-list-bullet/number to that in the parser. r=emilio 2019-03-24 23:13:53 +01:00
nsIDocumentViewerPrint.h Bug 1535788 - Make the Document own the StyleSet. r=heycam 2019-04-03 07:02:00 +00:00
nsIFrameTraversal.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsILayoutDebugger.h Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-03-31 15:12:55 +00:00
nsILayoutHistoryState.idl Bug 1512267 - If you set a pres shell resolution, you must scale to it. r=kats,JanH 2018-12-10 19:32:59 +00:00
nsIPercentBSizeObserver.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsIPreloadedStyleSheet.idl
nsIPresShell.h Bug 1543315 - part 9: Mark nsIPresShell::FlushPendingNotifications() as MOZ_CAN_RUN_SCRIPT r=smaug 2019-04-13 12:43:57 +00:00
nsIPresShellInlines.h Bug 1535788 - Make the Document own the StyleSet. r=heycam 2019-04-03 07:02:00 +00:00
nsIReflowCallback.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsIStyleSheetService.idl
nsLayoutDebugger.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsLayoutHistoryState.cpp Bug 1512267 - If you set a pres shell resolution, you must scale to it. r=kats,JanH 2018-12-10 19:32:59 +00:00
nsLayoutUtils.cpp Bug 1544270 - Change 1.f * something to float(something) r=longsonr 2019-04-14 09:32:19 +00:00
nsLayoutUtils.h Bug 1543315 - part 9: Mark nsIPresShell::FlushPendingNotifications() as MOZ_CAN_RUN_SCRIPT r=smaug 2019-04-13 12:43:57 +00:00
nsPresArena.cpp Bug 1525371 - Remove ArenaRefPtr. r=jwatt 2019-02-07 11:15:39 +01:00
nsPresArena.h Bug 1525371 - Remove ArenaRefPtr. r=jwatt 2019-02-07 11:15:39 +01:00
nsPresArenaObjectList.h Bug 1525371 - Remove ArenaRefPtr. r=jwatt 2019-02-07 11:15:39 +01:00
nsPresContext.cpp Bug 1312163 - Switch to the new scroll-snap-type syntax for the old scroll snap implementation and drop the scroll-snap-type-{x,y} longhands. r=emilio 2019-04-11 06:19:31 +00:00
nsPresContext.h Bug 1540930 - Make nsPresContext use mozilla::PresShell directly rather than via nsIPresShell r=emilio 2019-04-03 12:40:26 +00:00
nsPresContextInlines.h Bug 1535788 - Make the Document own the StyleSet. r=heycam 2019-04-03 07:02:00 +00:00
nsQuoteList.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsQuoteList.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsRefreshDriver.cpp Bug 1543315 - part 9: Mark nsIPresShell::FlushPendingNotifications() as MOZ_CAN_RUN_SCRIPT r=smaug 2019-04-13 12:43:57 +00:00
nsRefreshDriver.h Bug 1535384 part 12. Remove MOZ_CAN_RUN_SCRIPT_BOUNDARY from FrameRequestCallback. r=mccr8 2019-03-19 16:02:12 +00:00
nsStyleChangeList.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsStyleChangeList.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsStyleSheetService.cpp Bug 1535788 - Make the Document own the StyleSet. r=heycam 2019-04-03 07:02:00 +00:00
nsStyleSheetService.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
OverflowChangedTracker.h Bug 1536892 - Check a frame does maintain overflow before adding to OverflowChangedTracker. r=longsonr CLOSED TREE 2019-03-19 20:33:36 +01:00
PositionedEventTargeting.cpp Bug 1540930 - Make nsPresContext use mozilla::PresShell directly rather than via nsIPresShell r=emilio 2019-04-03 12:40:26 +00:00
PositionedEventTargeting.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
PresShell.cpp 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
PresShell.h Bug 1543315 - part 9: Mark nsIPresShell::FlushPendingNotifications() as MOZ_CAN_RUN_SCRIPT r=smaug 2019-04-13 12:43:57 +00:00
PresState.ipdlh Bug 1498812 - Part 11: Use Visual Viewport for storing scroll position in the PresState. r=botond,tnikkel 2019-01-11 19:50:24 +00:00
RestyleManager.cpp Bug 1543571 Part 1 - Replace "reflow state" with "reflow input". r=dholbert 2019-04-11 20:27:37 +00:00
RestyleManager.h Bug 1540015 - part 2: Make nsPresContext.h stop including nsIPresShel.h and nsIPresShellInlines.h r=smaug 2019-03-29 15:11:22 +00:00
ScrollStyles.cpp Bug 1312163 - Switch to the new scroll-snap-type syntax for the old scroll snap implementation and drop the scroll-snap-type-{x,y} longhands. r=emilio 2019-04-11 06:19:31 +00:00
ScrollStyles.h Bug 1312163 - Switch to the new scroll-snap-type syntax for the old scroll snap implementation and drop the scroll-snap-type-{x,y} longhands. r=emilio 2019-04-11 06:19:31 +00:00
ScrollTypes.h Bug 1538511 - Move nsIScrollableFrame::ScrollMode into a separate file. r=kats 2019-03-25 23:17:20 +00:00
ShapeUtils.cpp Bug 1516454 - Use rust lengths for border corners. r=boris 2019-02-26 06:01:34 -08:00
ShapeUtils.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
StackArena.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
StackArena.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
StaticPresData.cpp Bug 1537594 - Make the fixed generic family a parse-time alias to monospace. r=jfkthame 2019-04-01 21:48:08 +00:00
StaticPresData.h Bug 1537594 - Make the fixed generic family a parse-time alias to monospace. r=jfkthame 2019-04-01 21:48:08 +00:00
TouchManager.cpp Bug 1540015 - part 3: Rename Document::GetShell() to Document::GetPresShell() and make it return PresShell* rather than nsIPresShell* r=smaug,emilio 2019-03-29 15:12:47 +00:00
TouchManager.h Bug 1517241 - Rename nsIDocument to mozilla::dom::Document. r=smaug 2019-01-03 17:48:33 +01:00
Units.h Bug 1530661 - Make APZ report the per LayersId layer-to-screen transform matrices to the chrome process. r=kats 2019-03-09 20:33:17 +00:00
UnitTransforms.h Bug 1530661 - Make APZ report the per LayersId layer-to-screen transform matrices to the chrome process. r=kats 2019-03-09 20:33:17 +00:00
WordMovementType.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
ZoomConstraintsClient.cpp Bug 1541150: Add missing includes/namespaces/decls to fix non-unified build bustage in layout/base. r=boris 2019-04-02 20:11:56 +00:00
ZoomConstraintsClient.h Bug 1517241 - Rename nsIDocument to mozilla::dom::Document. r=smaug 2019-01-03 17:48:33 +01:00