)]}'
{
  "commit": "2cec2a19984e15249eb5b613aaaf396d1f6201cf",
  "tree": "7c18517b3540985607bb8ac59549a815be5eaa71",
  "parents": [
    "9cf97ce9d21dce427d351d2963b1c7069f0fde14"
  ],
  "author": {
    "name": "Jason Simmons",
    "email": "jason-simmons@users.noreply.github.com",
    "time": "Thu May 21 19:24:22 2026 +0000"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu May 21 19:24:22 2026 +0000"
  },
  "message": "Fix some issues in the integration between EmbedderExternalViewEmbedder and Impeller (#184905)\n\n1) Fix inaccurate Impeller rendering of embedder layers containing\nmultiple Flutter content slices.\n\nAll of the Flutter content slices within a layer will be merged into a\nsingle display list. The display list is then rendered with one call to\nimpeller::RenderToTarget.\n\nBefore this change, each Flutter slice in a layer made its own call to\nimpeller::RenderToTarget. This caused earlier slices to be overwritten\nby the output of later slices.\n\n2) Pass reset_host_buffer\u003dtrue only for the frame\u0027s last call to\nimpeller::RenderToTarget\n\nSetting the reset_host_buffer flag advances to the next device buffer\nwithin the impeller::HostBuffer associated with the Impeller context.\nThis should only be done at a frame boundary after all of the frame\u0027s\ncontent has been rendered.\n\nSee https://github.com/flutter/flutter/issues/184091",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "61abe64a16f904d74075abdee14c6c919d12f0dc",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/shell/platform/embedder/BUILD.gn",
      "new_id": "b1ef60f5499727b3f87f7ec8c22482de3c3ba927",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/shell/platform/embedder/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "a6fb278c96070c4da8df0ece23a3f5b311870a44",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/shell/platform/embedder/embedder_external_view.cc",
      "new_id": "1883efa26ae35ecf849d32b8a9dbbbac3a1783aa",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/shell/platform/embedder/embedder_external_view.cc"
    },
    {
      "type": "modify",
      "old_id": "809a60a1ce8445d80a48fa071fa7763484ae8b61",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/shell/platform/embedder/embedder_external_view.h",
      "new_id": "b3987e7dc99e48e1f683deb49aad59fc1f77f424",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/shell/platform/embedder/embedder_external_view.h"
    },
    {
      "type": "modify",
      "old_id": "72674a38e079467619d62d96db0f96c4ed702276",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/shell/platform/embedder/embedder_external_view_embedder.cc",
      "new_id": "1d3ff65c77f2461037a0a3de0900a4914e306216",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/shell/platform/embedder/embedder_external_view_embedder.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "28e34e77f61c26c73079ddf4e1120b4168a4c154",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/shell/platform/embedder/fixtures/impeller_render_platform_view.png"
    },
    {
      "type": "modify",
      "old_id": "e35f13a3ac95ee3a18978148c24613f92285308c",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/shell/platform/embedder/fixtures/main.dart",
      "new_id": "bd36ea94f2d00d3eb8c9ff2dc961b028b55afa16",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/shell/platform/embedder/fixtures/main.dart"
    },
    {
      "type": "modify",
      "old_id": "b449d8a098e5444a2d85a40fa48b3fa67f1e2f31",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/shell/platform/embedder/tests/embedder_metal_unittests.mm",
      "new_id": "b8482653ebc4dba620bd78d0de1a39ab9f09c420",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/shell/platform/embedder/tests/embedder_metal_unittests.mm"
    }
  ]
}
