)]}'
{
  "commit": "ba8e0d3e2f23e7a74b130ad62f69e1df40713dce",
  "tree": "de761ad9968748e32e6328e269f39d5f880db860",
  "parents": [
    "f553caaa220bef82fce31ef9c25dbee0deb5cd6e"
  ],
  "author": {
    "name": "Harry Terkelsen",
    "email": "1961493+harryterkelsen@users.noreply.github.com",
    "time": "Fri May 10 12:48:41 2024 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri May 10 12:48:41 2024 -0700"
  },
  "message": "[canvaskit] Clip before applying ColorFilter so it doesn\u0027t filter beyond child bounds (#52704)\n\nWhen a ColorFilter affects transparent black, it will expand its bounds\r\nto the entire screen, even if the `saveLayer` call is bounded. This\r\napplies a clip before applying the ColorFilter so the filter is bounded\r\nto just the child drawings.\r\n\r\nAlso fixes bug with ColorFilter being used as an ImageFilter.\r\n\r\nBefore:\r\n\r\n![canvaskit_colorfilter_bounds_before](https://github.com/flutter/engine/assets/1961493/25394b40-c40d-44fb-9c78-9638a40d3329)\r\n\r\nAfter:\r\n\r\n![canvaskit_colorfilter_bounds_after](https://github.com/flutter/engine/assets/1961493/b25e4084-ccae-4e41-b6e6-37e8cbbd9d54)\r\n\r\nFixes https://github.com/flutter/flutter/issues/88866\r\nFixes https://github.com/flutter/flutter/issues/144015\r\n\r\n## Pre-launch Checklist\r\n\r\n- [x] I read the [Contributor Guide] and followed the process outlined\r\nthere for submitting PRs.\r\n- [x] I read the [Tree Hygiene] wiki page, which explains my\r\nresponsibilities.\r\n- [x] I read and followed the [Flutter Style Guide] and the [C++,\r\nObjective-C, Java style guides].\r\n- [x] I listed at least one issue that this PR fixes in the description\r\nabove.\r\n- [x] I added new tests to check the change I am making or feature I am\r\nadding, or the PR is [test-exempt]. See [testing the engine] for\r\ninstructions on writing and running engine tests.\r\n- [x] I updated/added relevant documentation (doc comments with `///`).\r\n- [x] I signed the [CLA].\r\n- [x] All existing and new tests are passing.\r\n\r\nIf you need help, consider asking for advice on the #hackers-new channel\r\non [Discord].\r\n\r\n\u003c!-- Links --\u003e\r\n[Contributor Guide]:\r\nhttps://github.com/flutter/flutter/wiki/Tree-hygiene#overview\r\n[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene\r\n[test-exempt]:\r\nhttps://github.com/flutter/flutter/wiki/Tree-hygiene#tests\r\n[Flutter Style Guide]:\r\nhttps://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo\r\n[C++, Objective-C, Java style guides]:\r\nhttps://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style\r\n[testing the engine]:\r\nhttps://github.com/flutter/flutter/wiki/Testing-the-engine\r\n[CLA]: https://cla.developers.google.com/\r\n[flutter/tests]: https://github.com/flutter/tests\r\n[breaking change policy]:\r\nhttps://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes\r\n[Discord]: https://github.com/flutter/flutter/wiki/Chat",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "39608d26cc652fe9d0ed36b4b7b7d339e4beae55",
      "old_mode": 33188,
      "old_path": "lib/web_ui/lib/src/engine/canvaskit/canvaskit_api.dart",
      "new_id": "8c0eba1f3daa3bf5adffbc2fa124778dff7d8641",
      "new_mode": 33188,
      "new_path": "lib/web_ui/lib/src/engine/canvaskit/canvaskit_api.dart"
    },
    {
      "type": "modify",
      "old_id": "143ff865840a15ef4bc827e17ef9e8a50774623d",
      "old_mode": 33188,
      "old_path": "lib/web_ui/lib/src/engine/canvaskit/layer.dart",
      "new_id": "325322d799ab45b7454fa60418546c6f33deeee9",
      "new_mode": 33188,
      "new_path": "lib/web_ui/lib/src/engine/canvaskit/layer.dart"
    },
    {
      "type": "modify",
      "old_id": "00bead7240fb64b748592cb21311b185d65d9c69",
      "old_mode": 33188,
      "old_path": "lib/web_ui/lib/src/engine/canvaskit/painting.dart",
      "new_id": "3bd9f79968edf6492228b614dc7dfa77392b0bb9",
      "new_mode": 33188,
      "new_path": "lib/web_ui/lib/src/engine/canvaskit/painting.dart"
    },
    {
      "type": "modify",
      "old_id": "4a928cb3092fbea07f9370e5fbc273088adbfd31",
      "old_mode": 33188,
      "old_path": "lib/web_ui/lib/src/engine/canvaskit/text.dart",
      "new_id": "bdcd666505e5e7a20492c40eeee1c0df8f7b636a",
      "new_mode": 33188,
      "new_path": "lib/web_ui/lib/src/engine/canvaskit/text.dart"
    },
    {
      "type": "modify",
      "old_id": "cf5ba125bbe185d4390cb9ab94c7cd3d90adff9f",
      "old_mode": 33188,
      "old_path": "lib/web_ui/test/canvaskit/color_filter_golden_test.dart",
      "new_id": "49b8c895f16939bda3abaa3791b6c23bc843f488",
      "new_mode": 33188,
      "new_path": "lib/web_ui/test/canvaskit/color_filter_golden_test.dart"
    }
  ]
}
