)]}'
{
  "commit": "c4d8870f50df71a445e50e49aba97ae881f528b2",
  "tree": "f3a77e65bb373e0b4621f2aaa22f530304a36afe",
  "parents": [
    "05c868e74470d07913c2d81affdfa1d749218d81"
  ],
  "author": {
    "name": "Jim Graham",
    "email": "flar@google.com",
    "time": "Tue Mar 18 13:42:06 2025 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Mar 18 20:42:06 2025 +0000"
  },
  "message": "[DisplayList] DlPath supports generic path dispatching (#164753)\n\nThere are different ways to iterate over an SkPath or an impeller::Path\nand various points in the engine source tree we have boilerplate\nduplicates of this code to transfer the contents of the DlPath wrapper\nobject into some platform-specific path. This PR adds a\ndispatch/receiver mechanism to read back the contents of a DlPath -\nindependent of whether it is backed by an SkPath or an impeller::Path -\nin a simpler form that avoids potential mistakes in the various\nconversion methods.\n\nSee DlPathReceiver and DlPath::Dispatch in the dl_path.h file",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "471470f5c862189d5f5f9ee2a6fef14277e772b5",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/display_list/geometry/dl_path.cc",
      "new_id": "51bd8cca63e6bf91b7fa471c9fde3bb2dccb147f",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/display_list/geometry/dl_path.cc"
    },
    {
      "type": "modify",
      "old_id": "b00011e93ff0980008cabd024a79d04352c26434",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/display_list/geometry/dl_path.h",
      "new_id": "9dc9115979700fe462d5ffa37b588f6a71ac6956",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/display_list/geometry/dl_path.h"
    },
    {
      "type": "modify",
      "old_id": "c48189776a7d65bfca5258057bcf5dec8eb59361",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/display_list/geometry/dl_path_unittests.cc",
      "new_id": "7008e6cedca2e400b6d552bdc2f403070b6143be",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/display_list/geometry/dl_path_unittests.cc"
    },
    {
      "type": "modify",
      "old_id": "385fe0b90a770bbfc7cf7960b6ba8cf4cbd5c467",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/impeller/geometry/path.cc",
      "new_id": "35539c543b7f1f2cade5c590849aa86a330be244",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/impeller/geometry/path.cc"
    },
    {
      "type": "modify",
      "old_id": "978e9f355941ab9c4ce3ed3e676c7a407963aa04",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/impeller/geometry/path.h",
      "new_id": "ce00424db09821646e2f889132d58a6d0ecacd4a",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/impeller/geometry/path.h"
    },
    {
      "type": "modify",
      "old_id": "5cc4f40ea7a46acf9cb022ee0dc5d31b85c19cac",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/shell/platform/android/platform_view_android_jni_impl.cc",
      "new_id": "400d714fe3eb7c35e45ba522b7c9e2c3ae8c2039",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/shell/platform/android/platform_view_android_jni_impl.cc"
    },
    {
      "type": "modify",
      "old_id": "b4137fadc12db45e19b2f4a7d7d34e8ddc8fa6f7",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterPlatformViews.mm",
      "new_id": "efac6ae54fd217191fcd2ca513684c469d34de9c",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterPlatformViews.mm"
    }
  ]
}
