gecko-dev/layout/base
Emilio Cobos Álvarez 7de4ce1232 Bug 1763743 - Don't bail out from PresShell::DoScrollContentIntoView if there are no in-document scrollable ancestors. r=hiro
There are cases where we want to scroll across documents (like
scrollIntoView), and bailing out for those is incorrect. This
usually can't happen because in HTML documents we always have a root
scroll frame, but for fixed positioned elements it can happen, as those
are not parented to it.

This came up in https://github.com/w3c/csswg-drafts/issues/5492, and
fixes the only case where Firefox and Safari differ (C).

ScrollFrameRectIntoView knows how to deal with non-scroll-frames, and
takes care of jumping across documents if necessary, so passing the root
frame is fine. We only needed to walk out the parent chain to be able to
accumulate all our continuation bounds relative to the same frame.

In practice the bail out code should now be unreachable. Add an
assertion to that effect.

Tests for this are already upstream in WPT, and pass with this patch,
see:

 * https://github.com/web-platform-tests/wpt/pull/33572
 * https://github.com/web-platform-tests/wpt/pull/33633

Differential Revision: https://phabricator.services.mozilla.com/D143250
2022-04-20 08:29:51 +00:00
..
crashtests Bug 1759631 - Back out the crashtest for bug 1749190. r=tnikkel 2022-03-16 06:00:27 +00:00
gtest Bug 1639087 - Add dragcaret event by accessible caret. r=TYLin,smaug 2022-04-08 05:11:48 +00:00
tests Bug 1763833 - Fixes for tests with SHIP without Fission and/or on Android. r=smaug 2022-04-16 09:24:52 +00:00
AccessibleCaret.cpp Bug 1580394 - Add an InsertAnonymousContent version which tries to update layout synchronously if needed. r=nchevobbe,smaug 2021-12-02 08:39:22 +00:00
AccessibleCaret.h
AccessibleCaretEventHub.cpp
AccessibleCaretEventHub.h
AccessibleCaretLogger.h
AccessibleCaretManager.cpp Bug 1639087 - Add dragcaret event by accessible caret. r=TYLin,smaug 2022-04-08 05:11:48 +00:00
AccessibleCaretManager.h Bug 1639087 - Add dragcaret event by accessible caret. r=TYLin,smaug 2022-04-08 05:11:48 +00:00
ArenaObjectID.h
AutoProfilerStyleMarker.h Bug 1738627 - profiler_thread_is_being_profiled_for_markers - r=canaltinova 2021-11-08 23:59:35 +00:00
CaretAssociationHint.h
DisplayPortUtils.cpp Bug 1753881. Simplify a few IsVisualViewportOffsetSet callers. r=botond 2022-02-27 13:09:27 +00:00
DisplayPortUtils.h Bug 1733747. Remove remaining critical display port code. r=botond 2022-01-17 10:29:44 +00:00
FrameProperties.h Bug 1591366 - Always reserve 64 bits for frame property value r=dholbert 2021-09-20 19:52:46 +00:00
GeckoMVMContext.cpp Bug 1730741 part 2: Add includes and forward-decls to fix non-unified-build bustage in layout/base, and remove REQUIRES_UNIFIED_BUILD declaration. r=emilio 2021-09-15 18:48:17 +00:00
GeckoMVMContext.h Bug 1696717 - Mark GeckoMVMContext final. r=hiro 2021-03-07 21:46:00 +00:00
GeometryUtils.cpp Bug 1746794 - Make more nsLayoutUtils functions SVG-text aware. r=layout-reviewers,jfkthame 2022-01-28 16:50:14 +00:00
GeometryUtils.h
LayoutConstants.h Bug 1674302 Part 2 - Use StyleSizeOverrides to replace ComputeSizeFlag::UseAutoISize. r=dholbert 2021-02-18 05:45:24 +00:00
LayoutLogging.cpp
LayoutLogging.h
LayoutTelemetryTools.cpp
LayoutTelemetryTools.h
MVMContext.h
MediaEmulationData.h Bug 1591120 - Move print and color-scheme simulation to browsingContext. r=ochameau,nika,devtools-backward-compat-reviewers 2021-02-03 10:38:09 +00:00
MobileViewportManager.cpp Bug 1730741 part 1: Export MobileViewportManager's LazyLogModule in a more structured way. r=botond 2021-09-15 18:48:16 +00:00
MobileViewportManager.h Bug 1730741 part 1: Export MobileViewportManager's LazyLogModule in a more structured way. r=botond 2021-09-15 18:48:16 +00:00
MotionPathUtils.cpp Bug 1730741 part 2: Add includes and forward-decls to fix non-unified-build bustage in layout/base, and remove REQUIRES_UNIFIED_BUILD declaration. r=emilio 2021-09-15 18:48:17 +00:00
MotionPathUtils.h
OverflowChangedTracker.h
PositionedEventTargeting.cpp Bug 1761493 - Make Gecko internally consistent wrt what a link is. r=smaug 2022-03-30 17:34:31 +00:00
PositionedEventTargeting.h
PresShell.cpp Bug 1763743 - Don't bail out from PresShell::DoScrollContentIntoView if there are no in-document scrollable ancestors. r=hiro 2022-04-20 08:29:51 +00:00
PresShell.h Bug 1759396 part 2: Use fallible allocation when inserting into PresShell::mAllocatedPointers, to avert OOMs in builds with diagnostic assertions. r=emilio 2022-04-12 23:57:07 +00:00
PresShellForwards.h Bug 1722346 - Only append to the end/top of the display list r=mstange 2022-02-21 16:50:22 +00:00
PresShellInlines.h Bug 1699742 - Remove MOZ_GECKO_PROFILER ifdefs that are no longer needed, r=gerald. 2021-03-22 16:29:52 +00:00
PresState.ipdlh Bug 1689147 - Part 1: Add extended attribute syntax to IPDL, r=mccr8 2021-02-09 16:50:21 +00:00
RelativeTo.h
RestyleManager.cpp Bug 1764655 - Don't reconstruct for scrollbar-width changes on a non-scrollable element. r=tnikkel 2022-04-19 09:35:43 +00:00
RestyleManager.h Bug 708901 - Migrate to nsTHashSet in layout. r=emilio 2021-03-24 17:56:46 +00:00
ScrollStyles.cpp
ScrollStyles.h
ScrollTypes.h Bug 1739541 - Introduce APZScrollAnimationType and use it in RepaintRequest and ScrollFrameHelopr instead of a boolean representing whether there's an animation or not. r=botond 2021-11-09 09:19:26 +00:00
ShapeUtils.cpp Bug 1704742 - Fix percent basis of shape radii. r=TYLin 2021-04-14 09:29:37 +00:00
ShapeUtils.h Bug 1704742 - Fix percent basis of shape radii. r=TYLin 2021-04-14 09:29:37 +00:00
StackArena.cpp
StackArena.h
StaticPresData.cpp Bug 1739464 - Simplify language-dependent font fallback code. r=jfkthame 2021-11-19 16:11:55 +00:00
StaticPresData.h Bug 1519636 - Reformat recent changes to the Google coding style. r=sylvestre 2021-12-05 19:04:18 +00:00
SurfaceFromElementResult.h
TouchManager.cpp Bug 1455514 - part 1: Add accessors and static helper methods to retrieve `nsINode` or its concrete classes from `EventTarget` r=smaug 2021-11-02 13:03:43 +00:00
TouchManager.h Bug 1733727 part 2: Use StaticAutoPtr to manage lifetime of various "sFoo" static global variables in layout. r=jfkthame 2021-10-02 18:59:11 +00:00
UnitTransforms.h Bug 1732600. Pass down transform to ancestor scale to child processes. r=botond 2021-10-05 09:28:57 +00:00
Units.h Bug 1759204 - Introduce ShmemImage to easily pass images via IPC. r=aosmond 2022-03-15 18:14:07 +00:00
ViewportUtils.cpp Bug 1720176 - Get Matrix4x4Typed::Decompose() to compile for non-Unknown matrix types. r=jrmuizel 2021-07-19 18:37:37 +00:00
ViewportUtils.h Bug 1712400 - Account for the resolution in the enclosing document when positioning and sizing the drag preview image when dragging content in a nested content process. r=hiro 2021-07-10 17:23:20 +00:00
WordMovementType.h
ZoomConstraintsClient.cpp Bug 1742985 - Ensure ZoomConstraints get refreshed after GPU process restart. r=tnikkel 2022-01-07 13:27:48 +00:00
ZoomConstraintsClient.h
moz.build Bug 1738401 - Remove -Wno-shadow warning suppressions. r=firefox-build-system-reviewers,glandium 2021-12-01 06:40:04 +00:00
nsAutoLayoutPhase.cpp
nsAutoLayoutPhase.h
nsBidiPresUtils.cpp Bug 1719554 - Unify nsCharType as intl::BidiClass; r=platform-i18n-reviewers,jfkthame,gregtatum 2021-12-06 18:15:49 +00:00
nsBidiPresUtils.h Bug 1719554 - Unify nsCharType as intl::BidiClass; r=platform-i18n-reviewers,jfkthame,gregtatum 2021-12-06 18:15:49 +00:00
nsCSSColorUtils.cpp
nsCSSColorUtils.h Bug 1476524 - Don't require so much contrast for selection background-against-background checks. r=jfkthame 2021-04-13 16:29:14 +00:00
nsCSSFrameConstructor.cpp Bug 1758723 - Suppress `column-span:all` for descendants of a containing block element for fixed-position descendants r=dholbert 2022-03-29 20:56:57 +00:00
nsCSSFrameConstructor.h Bug 1744009 - Simplify combobox <select> code. r=mconley,dholbert 2022-01-17 11:10:05 +00:00
nsCaret.cpp Bug 1713050 - P1: Add granularity to selection change notification. r=smaug 2022-03-16 05:56:25 +00:00
nsCaret.h Bug 1738057 - Split out BidiEmbeddingLevel into its own file; r=platform-i18n-reviewers,dminor 2021-11-16 15:11:58 +00:00
nsChangeHint.h Bug 1730351 - Don't use NS_IsHintSubset unnecessarily in some places. r=layout-reviewers,jfkthame 2021-09-29 10:16:10 +00:00
nsCompatibility.h
nsCounterManager.cpp Bug 1745506 - Add missing initialization of an INCREMENT node that isn't in a scope, nor first in the list. r=emilio 2021-12-12 18:44:39 +00:00
nsCounterManager.h Bug 1706346 part 2 - [css-lists] Implement the counter value calculations for 'reversed(<counter-name>)'. r=emilio 2021-11-14 03:49:36 +00:00
nsDocumentViewer.cpp Bug 1761493 - Make Gecko internally consistent wrt what a link is. r=smaug 2022-03-30 17:34:31 +00:00
nsFrameManager.cpp
nsFrameManager.h
nsFrameTraversal.cpp Bug 1730741 part 2: Add includes and forward-decls to fix non-unified-build bustage in layout/base, and remove REQUIRES_UNIFIED_BUILD declaration. r=emilio 2021-09-15 18:48:17 +00:00
nsFrameTraversal.h
nsGenConList.cpp Bug 1730741 part 2: Add includes and forward-decls to fix non-unified-build bustage in layout/base, and remove REQUIRES_UNIFIED_BUILD declaration. r=emilio 2021-09-15 18:48:17 +00:00
nsGenConList.h Bug 1724880 - Add a layout-debugger menu item that dumps CounterManager data. r=emilio 2021-08-10 23:15:31 +00:00
nsIDocumentViewerPrint.h
nsIFrameTraversal.h Bug 1730741 part 2: Add includes and forward-decls to fix non-unified-build bustage in layout/base, and remove REQUIRES_UNIFIED_BUILD declaration. r=emilio 2021-09-15 18:48:17 +00:00
nsILayoutHistoryState.idl
nsIPercentBSizeObserver.h
nsIPreloadedStyleSheet.idl
nsIReflowCallback.h
nsIStyleSheetService.idl
nsLayoutDebugger.cpp Bug 1751587 - Fix compiler warning r=emilio 2022-01-24 14:48:13 +00:00
nsLayoutHistoryState.cpp Bug 1184468 - Use nsTHashtable::Keys where possible. r=xpcom-reviewers,nika 2021-03-24 17:56:50 +00:00
nsLayoutUtils.cpp Bug 1764891. Use ink overflow rect to determine visibility in GetFrameVisibleRectOnScreen. r=hiro 2022-04-20 00:38:38 +00:00
nsLayoutUtils.h Bug 1754662. Refactor nsLayoutUtils::GetPopupFrameForEventCoordinates. r=emilio 2022-02-12 09:41:50 +00:00
nsPresArena.cpp Bug 1726291 - Remove FrameLayerBuilder. r=miko 2021-08-23 03:07:31 +00:00
nsPresArena.h Bug 1634281 - Remove unused nsDataHashtable.h includes. r=xpcom-reviewers,nika 2021-03-03 08:58:52 +00:00
nsPresArenaObjectList.h Bug 1726291 - Remove FrameLayerBuilder. r=miko 2021-08-23 03:07:31 +00:00
nsPresContext.cpp Bug 1764354 - Propagate color-scheme preference to SVG images on chrome documents. r=aosmond 2022-04-17 20:38:01 +00:00
nsPresContext.h Bug 1764354 - Propagate color-scheme preference to SVG images on chrome documents. r=aosmond 2022-04-17 20:38:01 +00:00
nsPresContextInlines.h
nsQuoteList.cpp Bug 1752649 - Use GetInFlowParent when retrieving language to be used for quote marks from the element's context. r=dholbert 2022-01-31 11:55:43 +00:00
nsQuoteList.h
nsRefreshDriver.cpp Bug 1763451, when refresh rate is very high, don't let it affect idle processing in the parent process too much, r=mstange 2022-04-11 20:54:30 +00:00
nsRefreshDriver.h Bug 1754562, make parent process' idle detection be aware of active RefreshDrivers in the other processes, r=mstange 2022-02-26 22:37:03 +00:00
nsRefreshObservers.cpp Bug 1716481 - Improve ManagedPostRefreshObserver. r=smaug 2021-06-24 22:05:12 +00:00
nsRefreshObservers.h Bug 1716481 - Improve ManagedPostRefreshObserver. r=smaug 2021-06-24 22:05:12 +00:00
nsStyleChangeList.cpp
nsStyleChangeList.h
nsStyleSheetService.cpp
nsStyleSheetService.h