Revert "[MVT Customization] Add and use TilesLinearLayout."

This reverts commit d1ea2a0b25d4e4c30e921f90d42cea70cded170b.

Reason for revert: Failure in org.chromium.chrome.browser.ntp.NewTabPageTest#testMvtContainerOnNtp on tablet shows that this CL is not a pure refactoring; will return to this issue later.

Original change's description:
> [MVT Customization] Add and use TilesLinearLayout.
>
> For MVT Customization we'd like to render a divider between Custom Tiles
> and Top-Sites Tiles. The addition conflicts with the previous assumption
> that MostVisitedTilesLayout's children consist of SuggestionsTileView,
> as seen by getChildCount() and getChildAt() usages to:
> * Cache tiles for reuse when re-rendering.
> * Dynamically tweak margins to adjust tile spacing.
>
> This is a refactoring CL that mostly updates MostVisitedTilesLayout:
> * Prepare for the addition of tile dividers.
> * Update tablet edge margins computation, so that the UI decision to
>   avoid changing from scrollable container -> centered container
>   becomes more explicit.
>
> Details:
> * Add TilesLinearLayout, to be inserted in inheritance chain via
>   LinearLayout <- TilesLinearLayout <- MostVisitedTilesLayout:
>   * Field |mTileList| to store a List<TileView>.
>   * Methods: {addTile(), getTileCount(), getTileAt()} to replace
>     {addView(), getChildCount(), getChildAt()} for tiles.
>   * Note: Storing TileView instead of SuggestionsTileView, since this is
>     needed by some tests.
>   * Override: removeAllViews() to clear |mTileList|.
> * MostVisitedTilesLayout:
>   * Dimension fields: Use DP where applicable, since it's better to add
>     DP sizes before converting to PX, instead of converting first.
>     * Add "Dp" or "Px" suffixes wherever applicable.
>   * updateSingleViewStartMargin(), updateSingleViewEndMargin(): Relace
>     param from TileView to View, to prepare for dividers.
>   * Extract computeContentWidthPx() (with better DP usage)
>   * Extract edge padding computation computeEdgePaddingPx(), simplifying
>     the logic while adding comments.
>     * Replace |mInitialTileNum| with |mInitialContentWidthPx|.
>   * updateEdgeMarginTablet(): Reduce to use the above.
> * General:
>   * Replace ViewGroup / LinearLayout usages intended for parent to
>     TilesLinearLayout.
>   * Change {getChildCount(), getChildAt()} to {getTileCount(),
>     getTileAt()} wherever applicable.
>
> Bug: 400481269, 388782412
> Change-Id: I3388767d9fa81df88d727d972b0366416589dce0
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6324689
> Reviewed-by: Calder Kitagawa <ckitagawa@chromium.org>
> Reviewed-by: Xinyi Ji <xinyiji@chromium.org>
> Commit-Queue: Samuel Huang <huangs@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1430330}

Bug: 400481269, 388782412
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Change-Id: Iec179699a78fc9217aaf32f93b14f60876ca43d1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6342572
Reviewed-by: Calder Kitagawa <ckitagawa@chromium.org>
Auto-Submit: Samuel Huang <huangs@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Calder Kitagawa <ckitagawa@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1430766}
9 files changed
tree: 80977cc57fe6f0e24039776267b115eaa4aa7d64
  1. android_webview/
  2. apps/
  3. ash/
  4. base/
  5. build/
  6. build_overrides/
  7. buildtools/
  8. cc/
  9. chrome/
  10. chromecast/
  11. chromeos/
  12. codelabs/
  13. components/
  14. content/
  15. crypto/
  16. dbus/
  17. device/
  18. docs/
  19. extensions/
  20. fuchsia_web/
  21. gin/
  22. google_apis/
  23. gpu/
  24. headless/
  25. infra/
  26. ios/
  27. ipc/
  28. media/
  29. mojo/
  30. native_client_sdk/
  31. net/
  32. pdf/
  33. ppapi/
  34. printing/
  35. remoting/
  36. rlz/
  37. sandbox/
  38. services/
  39. skia/
  40. sql/
  41. storage/
  42. styleguide/
  43. testing/
  44. third_party/
  45. tools/
  46. ui/
  47. url/
  48. webkit/
  49. .clang-format
  50. .clang-tidy
  51. .clangd
  52. .git-blame-ignore-revs
  53. .gitallowed
  54. .gitattributes
  55. .gitignore
  56. .gitmodules
  57. .gn
  58. .mailmap
  59. .rustfmt.toml
  60. .vpython3
  61. .yapfignore
  62. ATL_OWNERS
  63. AUTHORS
  64. BUILD.gn
  65. CODE_OF_CONDUCT.md
  66. codereview.settings
  67. CPPLINT.cfg
  68. CRYPTO_OWNERS
  69. DEPS
  70. DIR_METADATA
  71. LICENSE
  72. LICENSE.chromium_os
  73. OWNERS
  74. PRESUBMIT.py
  75. PRESUBMIT_test.py
  76. PRESUBMIT_test_mocks.py
  77. README.md
  78. WATCHLISTS
README.md

Logo Chromium

Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.

The project's web site is https://www.chromium.org.

To check out the source code locally, don't use git clone! Instead, follow the instructions on how to get the code.

Documentation in the source is rooted in docs/README.md.

Learn how to Get Around the Chromium Source Code Directory Structure.

For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.

If you found a bug, please file it at https://crbug.com/new.