
This layout guide will initially be used to horizontally lay out all the NTP "modules", including the MagicStack, the recent tab tile, MVTs, and the "Feed Containment" module. Using a layout guide allows the logic for module layout to be centralized, and allows for easier maintenance of the code and an easier path to implementing future changes. Aligning the MagicStack with the layout guide required a number of changes, in order to allow it to have a width that can change: * width constraints for modules are added when the module is added * module width is determined at the time it is needed, because it can change * a view was added to mask/clip the MagicStack in landscape, and a peek offset was used to ensure the module is aligned properly so that the modules on left and right peeking in looks right * when the module width changes, the MagicStackScrollView offset needs to be adjusted so that it is not left in the middle of a page Demo of changes: https://screenshot.googleplex.com/8zhB9SRjZAbphvP.png Change-Id: I0fed92ddf67259deaf6e084aec1f64f5348494a0 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5117205 Code-Coverage: findit-for-me@appspot.gserviceaccount.com <findit-for-me@appspot.gserviceaccount.com> Reviewed-by: Chris Lu <thegreenfrog@chromium.org> Commit-Queue: Scott Yoder <scottyoder@google.com> Reviewed-by: Adam Arcaro <adamta@google.com> Cr-Commit-Position: refs/heads/main@{#1238175}
This directory holds code related to Chrome for iOS. See this document for a description of the structure underneath this directory.