)]}'
{
  "commit": "70cf50c24ac86efe373ab035c656c811344b0f0c",
  "tree": "80d0e3983d7804451092f61259baf19609853740",
  "parents": [
    "311da53f2123b396846434ffbb473a8e8049d1a7"
  ],
  "author": {
    "name": "Michael Ludwig",
    "email": "michaelludwig@google.com",
    "time": "Wed Jul 21 17:02:39 2021 +0000"
  },
  "committer": {
    "name": "Michael Ludwig",
    "email": "michaelludwig@google.com",
    "time": "Tue Aug 03 15:46:04 2021 +0000"
  },
  "message": "Emulate replace clip ops using SkAndroidFrameworkUtils::ResetClip\n\nAt the JNI bridge, Region::Op::kReplace_Op is detected and sent\nto new functions on Canvas.h -\u003e emulateReplaceClip[Rect|Path].\nThe SkiaCanvas implementation calls\nSkAndroidFrameworkUtils::ResetClip to turn the SkCanvas\u0027 clip\nwide open (modulo the device clip restriction), followed by\nan intersect op with the actual clip geometry.\n\nSkiaCanvas is also updated to record the replace ops in its\nClip struct for partial saves.\n\nThis should result in no visible behavioral change at the Java\nCanvas level, but allows the removal of the\nSK_SUPPORT_DEPRECATED_CLIPOPS flag.\n\nTest: Updated SkiaPipeline.clip_replace unit test to use the new\n  emulateReplaceClipRect function instead of SkClipOp::kReplace.\n  Builds and recently added CTS tests for clip ops pass.\nBug: b/151725198\nBug: b/143352151\nChange-Id: I8fb8765b4ead92bbe8eceadb52710a5673b6cf6b\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fb3e21fc15719ae8f0bb7255c7fc9770e7e8b9ef",
      "old_mode": 33188,
      "old_path": "libs/hwui/DisplayListOps.in",
      "new_id": "4ec782f6fec03cd70c9bf7471a201efeae65580d",
      "new_mode": 33188,
      "new_path": "libs/hwui/DisplayListOps.in"
    },
    {
      "type": "modify",
      "old_id": "c945f274bbf4e5a03d10803fc795041a04f6a584",
      "old_mode": 33188,
      "old_path": "libs/hwui/RecordingCanvas.cpp",
      "new_id": "a285462eef742f36f2e8a700eb889ec00b84dbb9",
      "new_mode": 33188,
      "new_path": "libs/hwui/RecordingCanvas.cpp"
    },
    {
      "type": "modify",
      "old_id": "4fae6a13a25acfb2f3ac177f1780dbf59b6fbab2",
      "old_mode": 33188,
      "old_path": "libs/hwui/RecordingCanvas.h",
      "new_id": "212b4e72dcb23e045fc98268b04ab092e81b26e3",
      "new_mode": 33188,
      "new_path": "libs/hwui/RecordingCanvas.h"
    },
    {
      "type": "modify",
      "old_id": "d6b6e162757c0175035404cb39a9f38a1d02a0dc",
      "old_mode": 33188,
      "old_path": "libs/hwui/SkiaCanvas.cpp",
      "new_id": "53c6db0cdf3a24e4deac9698d1f3236942a82a62",
      "new_mode": 33188,
      "new_path": "libs/hwui/SkiaCanvas.cpp"
    },
    {
      "type": "modify",
      "old_id": "f2d7bda36499373ba2a7ec0163245bf7fcfe77e1",
      "old_mode": 33188,
      "old_path": "libs/hwui/SkiaCanvas.h",
      "new_id": "715007cdcd3b161d44a39a131db5bbd91aa238e5",
      "new_mode": 33188,
      "new_path": "libs/hwui/SkiaCanvas.h"
    },
    {
      "type": "modify",
      "old_id": "8f261c83b8d3caa701903be4acb24788c16657d2",
      "old_mode": 33188,
      "old_path": "libs/hwui/canvas/CanvasFrontend.cpp",
      "new_id": "dd01a5b15da5038886952ea7e6782a7b81e89cbd",
      "new_mode": 33188,
      "new_path": "libs/hwui/canvas/CanvasFrontend.cpp"
    },
    {
      "type": "modify",
      "old_id": "70a558b3d69d0ab524a1d41a5a42208eacd834dd",
      "old_mode": 33188,
      "old_path": "libs/hwui/hwui/Canvas.h",
      "new_id": "82777646f3a214576e5ab4ae85e6bd8d9e583545",
      "new_mode": 33188,
      "new_path": "libs/hwui/hwui/Canvas.h"
    },
    {
      "type": "modify",
      "old_id": "a4cf02812553d28225d1b41493389ee8f6ac26a7",
      "old_mode": 33188,
      "old_path": "libs/hwui/jni/android_graphics_Canvas.cpp",
      "new_id": "0ef80ee1070824baba2da5d5f18f30275b186be9",
      "new_mode": 33188,
      "new_path": "libs/hwui/jni/android_graphics_Canvas.cpp"
    },
    {
      "type": "modify",
      "old_id": "3580bed45a1f982adbd1797bb434c216fd764d36",
      "old_mode": 33188,
      "old_path": "libs/hwui/pipeline/skia/DumpOpsCanvas.h",
      "new_id": "3f89c07124075c3b9fabbfe24e5f0830ecec8337",
      "new_mode": 33188,
      "new_path": "libs/hwui/pipeline/skia/DumpOpsCanvas.h"
    },
    {
      "type": "modify",
      "old_id": "8c999c41bf7bb0a03c4a8a47319b21320a3cbb69",
      "old_mode": 33188,
      "old_path": "libs/hwui/tests/unit/SkiaPipelineTests.cpp",
      "new_id": "57a7fe3fd46675306118a223c8b055c882534de1",
      "new_mode": 33188,
      "new_path": "libs/hwui/tests/unit/SkiaPipelineTests.cpp"
    }
  ]
}
