Skip to content

Stretch CSS Grid auto maximum rows - #107

Merged
wieslawsoltes merged 1 commit into
feature/code-oss-browser-compatibilityfrom
fix/grid-auto-max-track-stretch
Sep 16, 2026
Merged

wieslawsoltes merged 1 commit into
feature/code-oss-browser-compatibilityfrom
fix/grid-auto-max-track-stretch

Conversation

@wieslawsoltes

Copy link
Copy Markdown
Collaborator

Problem

A definite-height multi-row grid kept minmax(min-content, auto) at its intrinsic height instead of giving it the remaining block-axis space from the default align-content: normal behavior. In Code OSS Welcome this placed the footer near y=526 instead of Chromium's y=888.

Result

  • preserves whether native grid tracks have an auto maximum
  • distributes remaining height across all auto-maximum rows, including implicit rows and minmax(..., auto)
  • excludes fixed, percentage, max-content, and fractional tracks from auto-maximum stretch
  • retains explicit non-stretch align-content behavior through stylesheet cascade, inline override/removal, CSSOM, and layout invalidation
  • adds matching portable parse, measure, and arrange behavior, including explicit fractional-row precedence and safe fallback for unsupported templates
  • adds a required Chrome/native contract for exact geometry, multiple rows with gaps, max-content exclusion, cascade restoration, synchronous height mutation, and 500 publication mutations

The focused packaged Code OSS AppScene build now places the Welcome footer at y=888, matching Chromium exactly while preserving the named-area columns from PR #105.

Validation

  • portable CSS tests: 358/358 passed
  • focused native grid-auto-max-stretch: passed
  • full native engine suite: passed, including existing performance gates
  • Chrome contract: 1/1 document, 8/8 subtests passed
  • native required contract: 1/1 document, 8/8 subtests passed
  • 500 height/style mutations with forced geometry publication: under the 2000ms bound in Chrome and native
  • packaged AppScene/WebScene Welcome+Chat geometry: browser footer y=888; native footer y=888
  • git diff --check and capability/profile JSON validation: passed

Closes #106

@wieslawsoltes
wieslawsoltes merged commit 862c75e into feature/code-oss-browser-compatibility Sep 16, 2026
4 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant