)]}'
{
  "log": [
    {
      "commit": "f34bdbe66f0589af466b38e8b6f65acc5e30b3a1",
      "tree": "c63417e73af647826386bac034f11188de7bb7a2",
      "parents": [
        "fd59fa92a0c86788dcdd84d091e1ce81eda06a77"
      ],
      "author": {
        "name": "Kevin Lubick",
        "email": "kjlubick@google.com",
        "time": "Wed Aug 25 13:43:30 2021 -0400"
      },
      "committer": {
        "name": "Kevin Lubick",
        "email": "kjlubick@google.com",
        "time": "Wed Aug 25 17:46:06 2021 +0000"
      },
      "message": "Add Owners\n\nBug: skia:12124\nChange-Id: If86855aabe0891395ccdcd0365b1515c918c3e88\nReviewed-on: https://skia-review.googlesource.com/c/libgifcodec/+/441809\nReviewed-by: Ravi Mistry \u003crmistry@google.com\u003e\n"
    },
    {
      "commit": "fd59fa92a0c86788dcdd84d091e1ce81eda06a77",
      "tree": "4d9c1a42bf9db407b55d247835832dba1226b3aa",
      "parents": [
        "e13b82fac077383d9f93631a177573509be44f38"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Wed Jan 13 15:46:01 2021 -0500"
      },
      "committer": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Fri Jan 15 14:27:52 2021 +0000"
      },
      "message": "\"Ensure frame rect is on screen or empty\" - take 2\n\nRevert commit e13b82fac077383d9f93631a177573509be44f38\n(I215b312b421a30bf985f681424a4c4198f069862), and fix a different way.\nThe prior fix resulted in incorrectly decoding a frame whose bounds\nextended beyond the canvas. Instead of changing the internal frame rect,\njust change the one passed to the client.\n\nChange-Id: I82568cb672f1027a9dc17ec0a15d355d561c356d\nReviewed-on: https://skia-review.googlesource.com/c/libgifcodec/+/353445\nReviewed-by: Derek Sollenberger \u003cdjsollen@google.com\u003e\nCommit-Queue: Leon Scroggins \u003cscroggo@google.com\u003e\n"
    },
    {
      "commit": "e13b82fac077383d9f93631a177573509be44f38",
      "tree": "c7598ab63cf4885bfa9560a29baf359f29b8195c",
      "parents": [
        "85c165b459a47d3d383357c4a460d337f3d3d892"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Tue Dec 01 15:03:59 2020 -0500"
      },
      "committer": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Wed Dec 02 20:28:35 2020 +0000"
      },
      "message": "Ensure frame rect is on screen or empty\n\nBug: b/160984428\n\nThere is no reason for a client to need to know that the frame rect\nextends beyond the edge of the \"canvas\"/\"screen\"/image bounds. A typical\nuse case is more interested in knowing what part of the original bounds\nthe frame update occupies.\n\nIf the offsets are beyond the image bounds, move them to the\nright/bottom edge of the image (and make the width/height 0). This\nmatches Wuffs.\n\nChange-Id: I215b312b421a30bf985f681424a4c4198f069862\nReviewed-on: https://skia-review.googlesource.com/c/libgifcodec/+/339831\nCommit-Queue: Leon Scroggins \u003cscroggo@google.com\u003e\nCommit-Queue: Derek Sollenberger \u003cdjsollen@google.com\u003e\nAuto-Submit: Leon Scroggins \u003cscroggo@google.com\u003e\nReviewed-by: Derek Sollenberger \u003cdjsollen@google.com\u003e\n"
    },
    {
      "commit": "85c165b459a47d3d383357c4a460d337f3d3d892",
      "tree": "3d82efedba64ebbd469f677a5eb3d0251176b4bd",
      "parents": [
        "1ca4d249701d0e5005864c669538e2d4ec171010"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Tue Dec 01 12:33:43 2020 -0500"
      },
      "committer": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Wed Dec 02 20:28:35 2020 +0000"
      },
      "message": "Remove extra \"+ rowNumber\"\n\nThis was accidentally introduced in\nhttps://skia-review.googlesource.com/13274. That CL replaced\n\n    frameContext-\u003eyOffset() + rowNumber + repeatCount\n\nwith\n\n    yBegin + rowNumber + repeatCount\n\n(ignoring the static_cast), but yBegin \u003d frameContext-\u003eyOffset() +\nrowNumber, so this introduced an extra rowNumber. The error is harmless\n(yEnd is only compared against yBegin), but this commit makes the line\nmore correct.\n\nChange-Id: I5a895eae03cbe55f8cf518d57e08c03400385e1f\nReviewed-on: https://skia-review.googlesource.com/c/libgifcodec/+/339830\nCommit-Queue: Leon Scroggins \u003cscroggo@google.com\u003e\nCommit-Queue: Derek Sollenberger \u003cdjsollen@google.com\u003e\nAuto-Submit: Leon Scroggins \u003cscroggo@google.com\u003e\nReviewed-by: Derek Sollenberger \u003cdjsollen@google.com\u003e\n"
    },
    {
      "commit": "1ca4d249701d0e5005864c669538e2d4ec171010",
      "tree": "d5d568da4043f3f8712c3a7d360890596cf52221",
      "parents": [
        "b89e0a4edd6c0158b24730845e0e498969e22a16"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Wed Nov 25 15:08:08 2020 -0500"
      },
      "committer": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Wed Dec 02 20:28:35 2020 +0000"
      },
      "message": "Call fillIn() to appropriately fill in a FrameInfo\n\nBug: b/160984428\nChange-Id: I7e326ca0536799b2a72422c21faa78e83961e84f\nReviewed-on: https://skia-review.googlesource.com/c/libgifcodec/+/339829\nReviewed-by: Nigel Tao \u003cnigeltao@google.com\u003e\nCommit-Queue: Leon Scroggins \u003cscroggo@google.com\u003e\n"
    },
    {
      "commit": "b89e0a4edd6c0158b24730845e0e498969e22a16",
      "tree": "c403e90224757d29045f2bbc98989d376db41103",
      "parents": [
        "d06d2a6d42baf6c0c91cacc28df2542a911d05fe"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Fri Nov 13 10:39:39 2020 -0500"
      },
      "committer": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Fri Nov 13 20:04:35 2020 +0000"
      },
      "message": "Fix undefined behavior in libgifcodec\n\nSkGifImageReader::parse has a single parameter that is used either to\nrepresent a frame index or an SkGIFParseQuery value. It is undefined to\ncast an out of range integer as an SkGIFParseQuery, so change the\nparameter to an int, which can be cast to an SkGIFParseQuery.\n\nChange-Id: I4b321f117cd8bc969686f3c1c6bf35768644f193\nReviewed-on: https://skia-review.googlesource.com/c/libgifcodec/+/334841\nAuto-Submit: Leon Scroggins \u003cscroggo@google.com\u003e\nReviewed-by: Julia Lavrova \u003cjlavrova@google.com\u003e\nCommit-Queue: Leon Scroggins \u003cscroggo@google.com\u003e\n"
    },
    {
      "commit": "d06d2a6d42baf6c0c91cacc28df2542a911d05fe",
      "tree": "0b8c30f98a8b2e801fd9dbe2687d2d3bfc48daf5",
      "parents": [
        "38d9c73f49b861bb4a9829371ac311544b120023"
      ],
      "author": {
        "name": "Brian Osman",
        "email": "brianosman@google.com",
        "time": "Wed Feb 05 14:41:29 2020 -0500"
      },
      "committer": {
        "name": "Mike Klein",
        "email": "mtklein@google.com",
        "time": "Wed Feb 05 20:12:02 2020 +0000"
      },
      "message": "Stop using Skia\u0027s custom min function\n\nChange-Id: I0644ec5966cbedd015764e797f53713e4cdaa89e\nReviewed-on: https://skia-review.googlesource.com/c/libgifcodec/+/268900\nReviewed-by: Mike Klein \u003cmtklein@google.com\u003e\nCommit-Queue: Brian Osman \u003cbrianosman@google.com\u003e\n"
    },
    {
      "commit": "38d9c73f49b861bb4a9829371ac311544b120023",
      "tree": "6b9cfc4d0c005b579c20fc22869157f88d0b3edc",
      "parents": [
        "3815a0321b8e99a9eb35309c80334a43c2c49ff2"
      ],
      "author": {
        "name": "Mike Klein",
        "email": "mtklein@google.com",
        "time": "Wed Dec 11 10:42:48 2019 -0500"
      },
      "committer": {
        "name": "Hal Canary",
        "email": "halcanary@google.com",
        "time": "Wed Dec 11 16:56:26 2019 +0000"
      },
      "message": "don\u0027t include unused header\n\nChange-Id: Ie58952c84341bdf7116d00c4e415dad9c6dda778\nReviewed-on: https://skia-review.googlesource.com/c/libgifcodec/+/259280\nReviewed-by: Hal Canary \u003chalcanary@google.com\u003e\n"
    },
    {
      "commit": "3815a0321b8e99a9eb35309c80334a43c2c49ff2",
      "tree": "66a67374e12e22c95696d78ce699d831ebc92704",
      "parents": [
        "ed218be1ba3de964c186ceac8e1e344853530edf"
      ],
      "author": {
        "name": "Hal Canary",
        "email": "halcanary@google.com",
        "time": "Mon Dec 02 12:22:49 2019 -0500"
      },
      "committer": {
        "name": "Hal Canary",
        "email": "halcanary@google.com",
        "time": "Mon Dec 02 19:02:05 2019 +0000"
      },
      "message": "Add README.chromium file\n\nChange-Id: I9e773d1406dce2498508373bf7f2c28e639e1813\nReviewed-on: https://skia-review.googlesource.com/c/libgifcodec/+/257377\nReviewed-by: Leon Scroggins \u003cscroggo@google.com\u003e\n"
    },
    {
      "commit": "ed218be1ba3de964c186ceac8e1e344853530edf",
      "tree": "dc63161e28601745898d13bdcd85507f66eb238c",
      "parents": [
        "c002ec500aba1e1b0189547629787cb02db78193"
      ],
      "author": {
        "name": "Hal Canary",
        "email": "halcanary@google.com",
        "time": "Thu Nov 14 15:04:01 2019 -0500"
      },
      "committer": {
        "name": "Hal Canary",
        "email": "halcanary@google.com",
        "time": "Thu Nov 14 20:04:54 2019 +0000"
      },
      "message": "[minor] Changes to make Android Common Typos checker happy.\n\nChange-Id: Ie004ba371007b358f373551fdf16394a1de63d94\nReviewed-on: https://skia-review.googlesource.com/c/libgifcodec/+/254585\nReviewed-by: Hal Canary \u003chalcanary@google.com\u003e\n"
    },
    {
      "commit": "c002ec500aba1e1b0189547629787cb02db78193",
      "tree": "80fb25f2da6bbc7544023eb7d696cf7b1cef1294",
      "parents": [
        "7fae3b52bb6f94d25fc82b01249b384d0e80df55"
      ],
      "author": {
        "name": "Hal Canary",
        "email": "halcanary@google.com",
        "time": "Thu Nov 14 14:52:28 2019 -0500"
      },
      "committer": {
        "name": "Hal Canary",
        "email": "halcanary@google.com",
        "time": "Thu Nov 14 19:53:57 2019 +0000"
      },
      "message": "[minor] Fix typo in comment\n\nChange-Id: I0d2f7d1b754abc93b5828bd46f4438a351da5d11\nReviewed-on: https://skia-review.googlesource.com/c/libgifcodec/+/254584\nReviewed-by: Hal Canary \u003chalcanary@google.com\u003e\n"
    },
    {
      "commit": "7fae3b52bb6f94d25fc82b01249b384d0e80df55",
      "tree": "a31186540ea8f5153028d3f3e5b55441f288bf1d",
      "parents": [
        "15462d250deb12b5043af90b2f46dc686f853b9f"
      ],
      "author": {
        "name": "Hal Canary",
        "email": "halcanary@google.com",
        "time": "Wed Nov 13 12:04:18 2019 -0500"
      },
      "committer": {
        "name": "Hal Canary",
        "email": "halcanary@google.com",
        "time": "Thu Nov 14 16:24:02 2019 +0000"
      },
      "message": "Populate new repository with content from skia/third_party/gif\n\nThis is the third_party/gif/ directory from the Skia repository\nas of https://review.skia.org/254436 .\n\nRemove references to `third_party/gif/` from `#include` statements.\n\nAdd SkGifCodec.h header exposing two functions.\n\nRename SkGifCodec class SkLibGifCodec.\n\nAdd README.md\n\nMake LICENSE file as clear as possible.\n\nAdd libgifcodec.gni\n\nChange-Id: I13f2a4390a8e20e27ef7f980e0cc04365d89c23c\nReviewed-on: https://skia-review.googlesource.com/c/libgifcodec/+/254420\nReviewed-by: Hal Canary \u003chalcanary@google.com\u003e\n"
    },
    {
      "commit": "15462d250deb12b5043af90b2f46dc686f853b9f",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [],
      "author": {
        "name": "Eric Boren",
        "email": "borenet@google.com",
        "time": "Wed Nov 13 17:20:15 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 13 17:20:15 2019 +0000"
      },
      "message": "Initial empty repository\n"
    }
  ]
}
