)]}'
{
  "commit": "ce1f5ff8d3f0932e7ab683b7b7d2d8fa3d4e1c57",
  "tree": "04c2febc01128bc614ab7b5bfdb60f0134a68d2e",
  "parents": [
    "8f37c4625773125a1f0bf81c696e7cec78c82a8f"
  ],
  "author": {
    "name": "Kishan Rathore",
    "email": "34465683+rkishan516@users.noreply.github.com",
    "time": "Wed Sep 02 04:37:21 2026 +0000"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Sep 02 04:37:21 2026 +0000"
  },
  "message": "feat: Add placeholder to DecorationImage (#191528)\n\nThis PR adds an optional `placeholder` to `DecorationImage`, so a box\ndecoration can show a cheap, locally available image while its main\nimage is still loading instead of rendering nothing.\n\n`_DecorationImagePainter` resolves `placeholder` only while `image` has\nnot resolved yet, and paints whichever of the two is available. As soon\nas `image` arrives, the placeholder\u0027s stream listener is removed and its\n`ImageInfo` is disposed, so the placeholder does not outlive its\nusefulness. Late placeholder frames that arrive after the image has\nloaded are disposed immediately.\n\nFixes: https://github.com/flutter/flutter/issues/187906\n\n## Pre-launch Checklist\n\n- [x] I read the [Contributor Guide] and followed the process outlined\nthere for submitting PRs.\n- [x] I read the [AI contribution guidelines] and understand my\nresponsibilities, or I am not using AI tools.\n- [x] I read the [Tree Hygiene] wiki page, which explains my\nresponsibilities.\n- [x] I read and followed the [Flutter Style Guide], including [Features\nwe expect every widget to implement].\n- [x] I signed the [CLA].\n- [x] I listed at least one issue that this PR fixes in the description\nabove.\n- [x] I updated/added relevant documentation (doc comments with `///`).\n- [x] I added new tests to check the change I am making, or this PR is\n[test-exempt].\n- [x] I followed the [breaking change policy] and added [Data Driven\nFixes] where supported.\n- [x] All existing and new tests are passing.\n\nCo-authored-by: Victor Sanni \u003cvictorsanniay@gmail.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fd440821874034134b4db0933897bcede35f886b",
      "old_mode": 33188,
      "old_path": "packages/flutter/lib/src/painting/decoration_image.dart",
      "new_id": "680bdebd95fb72c54ecf1258d58066ebfef1ced2",
      "new_mode": 33188,
      "new_path": "packages/flutter/lib/src/painting/decoration_image.dart"
    },
    {
      "type": "modify",
      "old_id": "c22a4ea112b2fa9a3af0b4ed28ee2534062a8a2f",
      "old_mode": 33188,
      "old_path": "packages/flutter/test/painting/decoration_test.dart",
      "new_id": "bf388093209f4632252e02c0124bb8be58fa4eab",
      "new_mode": 33188,
      "new_path": "packages/flutter/test/painting/decoration_test.dart"
    }
  ]
}
