)]}'
{
  "commit": "749e42acb26c37a2d11196fc9e80c93158e5bbda",
  "tree": "8abba68f23e2610b93a6191091c359e6a59c39c2",
  "parents": [
    "1313b3f69370915a4fd911f97b4975d90bdf8869"
  ],
  "author": {
    "name": "Stephen White",
    "email": "senorblanco@chromium.org",
    "time": "Tue Aug 26 17:31:03 2014 -0400"
  },
  "committer": {
    "name": "Stephen White",
    "email": "senorblanco@chromium.org",
    "time": "Tue Aug 26 17:31:03 2014 -0400"
  },
  "message": "Fix saveLayer() with a pixel-moving filter vs SkBBoxHierarchyRecord / SkRecordDraw\n\nIn SkBBoxHierarchyRecord:\n  Since the bounds we pass to saveLayer are in the pre-filtering\n  coordinate space, they aren\u0027t correct for determining the actual\n  device pixels touched by the saveLayer in this case.\n\n  The easiest fix for now is to pass the clip bounds, since the final\n  draw done in restore() will never draw outside the clip.\n\nIn SkRecordDraw:\n  We do adjust the bounds passed to saveLayer, so we just need to make\n  sure that when we\u0027re using a paint that may affect transparent black,\n  we ignore the calculated bounds of draw ops and use the clip intersected\n  with those adjusted bounds.\n\nSee originally crrev.com/497773002\n\nBUG\u003dskia:\nR\u003dreed@google.com, senorblanco@chromium.org, junov@chromium.org, mtklein@google.com\n\nAuthor: mtklein@chromium.org\n\nReview URL: https://codereview.chromium.org/496963003\n\n(cherry picked from commit d910f544439fffa6c2bcc5181b79b2811a4c130a)\n\nReview URL: https://codereview.chromium.org/504423002\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1868e65325e9b49954aa59e30c002b6670c507c9",
      "old_mode": 33188,
      "old_path": "src/core/SkBBoxHierarchyRecord.cpp",
      "new_id": "8cdd1d96189ab4909cd495807b8ab2f2817a6da2",
      "new_mode": 33188,
      "new_path": "src/core/SkBBoxHierarchyRecord.cpp"
    },
    {
      "type": "modify",
      "old_id": "c9e029b8db67f11a59c9844a3128f5042931dedf",
      "old_mode": 33188,
      "old_path": "src/core/SkRecordDraw.cpp",
      "new_id": "4ca398574e76185dadfeca61a9e2463bfbf68307",
      "new_mode": 33188,
      "new_path": "src/core/SkRecordDraw.cpp"
    },
    {
      "type": "modify",
      "old_id": "4ee9f5dcb90d52a2ec4dfedd10cdcab8e1e7f4af",
      "old_mode": 33188,
      "old_path": "tests/ImageFilterTest.cpp",
      "new_id": "9f6144bf29132b8cebdd7c9a3e0eeba104c4a188",
      "new_mode": 33188,
      "new_path": "tests/ImageFilterTest.cpp"
    }
  ]
}
