[css-grid] Rename SmallestTrackStart to ExplicitGridStart

The SmallestTrackStart method used to return a signed int which was
never positive, representing the smallest untranslated start among all
grid items, clamped by 0 as a maximum.

In practice, though, what we usually want is the index of the first
explicit track/line among all tracks/lines, or equivalently, the number
of leading implicit tracks/lines.

That number is precisely minus the return value of SmallestTrackStart.
Thus, in grid layout there were various std::abs() to invert the value.

But it's a bit confusing to have an API which returns a non-positive
integer, which then needs to be made positive. Therefore, this patch
renames SmallestTrackStart to ExplicitGridStart, and makes it return
a positive size_t directly.

This patch should have no effect in practice.

TEST=GridTest.EmptyGrid
TEST=GridTest.ExplicitlyPositionedChild
TEST=GridTest.IntrinsicGrid
TEST=GridTest.SingleChild

Change-Id: Ie59a187ae29e41d5cf1030c39510aed0d6d27694
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2241813
Reviewed-by: Javier Fernandez <jfernandez@igalia.com>
Commit-Queue: Oriol Brufau <obrufau@igalia.com>
Cr-Commit-Position: refs/heads/master@{#777768}
7 files changed
tree: 4ae9af36602d63458d7f9d20aa33ce02e7b33d2b
  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. cloud_print/
  13. components/
  14. content/
  15. courgette/
  16. crypto/
  17. dbus/
  18. device/
  19. docs/
  20. extensions/
  21. fuchsia/
  22. gin/
  23. google_apis/
  24. google_update/
  25. gpu/
  26. headless/
  27. infra/
  28. ios/
  29. ipc/
  30. jingle/
  31. media/
  32. mojo/
  33. native_client_sdk/
  34. net/
  35. pdf/
  36. ppapi/
  37. printing/
  38. remoting/
  39. rlz/
  40. sandbox/
  41. services/
  42. skia/
  43. sql/
  44. storage/
  45. styleguide/
  46. testing/
  47. third_party/
  48. tools/
  49. ui/
  50. url/
  51. weblayer/
  52. .clang-format
  53. .clang-tidy
  54. .eslintrc.js
  55. .git-blame-ignore-revs
  56. .gitattributes
  57. .gitignore
  58. .gn
  59. .vpython
  60. .vpython3
  61. .yapfignore
  62. AUTHORS
  63. BUILD.gn
  64. CODE_OF_CONDUCT.md
  65. DEPS
  66. ENG_REVIEW_OWNERS
  67. LICENSE
  68. LICENSE.chromium_os
  69. OWNERS
  70. PRESUBMIT.py
  71. PRESUBMIT_test.py
  72. PRESUBMIT_test_mocks.py
  73. README.md
  74. WATCHLISTS
  75. codereview.settings
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.

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.