)]}'
{
  "commit": "262b4725923de1593216c5403c691fc6f602e5c5",
  "tree": "ac4c0642775dfc8811fe7f81dad295c875eadf13",
  "parents": [
    "26aec9b3ec2daa4499007c759b677fb970541dd5"
  ],
  "author": {
    "name": "Mouad Debbar",
    "email": "mdebbar@google.com",
    "time": "Mon Dec 16 14:10:17 2024 -0500"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Dec 16 19:10:17 2024 +0000"
  },
  "message": "[web] Don\u0027t close image source too early (flutter/engine#57200)\n\nA `CkImage` instance holds a reference to `ImageSource?`. When that `CkImage` gets cloned, the `ImageSource` instance becomes shared between the original `CkImage` and its new clone. Then when one of the `CkImage`s gets disposed of, it closes the shared `ImageSource` leaving other live `CkImage`s holding on to a closed `ImageSource`.\r\n\r\nThe quick solution to this is to have a ref count on the `ImageSource` to count how many `CkImage`s are referencing it. The `ImageSource` will only be closed if its ref count reaches 0.\r\n\r\nFixes https://github.com/flutter/flutter/issues/160199\r\nFixes https://github.com/flutter/flutter/issues/158093",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "812c98feb2099c5da3b1eeff31ce454248e984ac",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/image.dart",
      "new_id": "5b4edb6a2939f8a25e82b2b46f9e7a4933a6391a",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/image.dart"
    },
    {
      "type": "modify",
      "old_id": "5fb335f11b728d8c7b523f463593c809f86c8764",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/lib/web_ui/lib/src/engine/dom.dart",
      "new_id": "caf4888bbc05a6308bf2a46b359be4312c583def",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/lib/web_ui/lib/src/engine/dom.dart"
    },
    {
      "type": "modify",
      "old_id": "c23ae19fd196afcb03da22b4c41daf80df06d81e",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/lib/web_ui/test/canvaskit/image_test.dart",
      "new_id": "9a30849365011814d5dfb8aae4dc9b2d8fdbea84",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/lib/web_ui/test/canvaskit/image_test.dart"
    }
  ]
}
