)]}'
{
  "log": [
    {
      "commit": "fdd6fc1beb5076a630c7066b8b1731995636c09f",
      "tree": "8df0ddc48fda9ffb9015e3fb190e68ca806646d4",
      "parents": [
        "a44a63ac5c29b2cc57df95ec495def8cdddd9c6f"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Apr 27 11:47:13 2012 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Apr 27 11:47:13 2012 -0700"
      },
      "message": "Work-around for a Skia rasterization bug\nBug #6411457\n\nSkia does not generates the bottom right pixel of a rect when\ndrawing a rect as an SkPath into an alpha8 bitmap.\n\nChange-Id: Ifb5286ae67745c9e44ee387b6d6ad607a9a2e6ce\n"
    },
    {
      "commit": "33f6beb10f98e8ba96250e284876d607055d278d",
      "tree": "215fc7d5624b6b41a018374f5d19f7dac84cf72b",
      "parents": [
        "445c83c7755fae179cf3328e89307e2775e97a5e"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Feb 16 19:24:51 2012 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Feb 17 13:10:00 2012 -0800"
      },
      "message": "Record possible clip rejects when recording display lists\n\nThis optimization allows us to quickly skip operations that lie\nentirely outside of the known bounds of a display list. Because\nof ViewGroup.setClipChildren, we must keep the operations recorded\nin the display list. setClipChildren(false) is however a very\nuncommon operation and we will therefore often benefit from this\nnew optimization.\n\nChange-Id: I0942c864e55298e6dccd9977d15adefbce3ba3ad\n"
    },
    {
      "commit": "3762c311729fe9f3af085c14c5c1fb471d994c03",
      "tree": "7d4caccad80ac7327c7bff96dafc857d5f4631ad",
      "parents": [
        "7a939077bd14521c7d351af98df7ed75a8ec9c15"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Jan 06 19:20:56 2012 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Sun Jan 08 13:19:13 2012 +0000"
      },
      "message": "Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/#/c/157220\n\nBug: 5449033\nChange-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c\n"
    },
    {
      "commit": "8564c8da817a845353d213acd8636b76f567b234",
      "tree": "71acbd8ace822c769aef917629bf5a079f63274d",
      "parents": [
        "c42e6a0bed2c88fd03466c5104d62d7f98e68768"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Thu Jan 05 23:22:43 2012 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Jan 06 10:07:54 2012 +0000"
      },
      "message": "Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/157065\n\nBug: 5449033\nChange-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69\n"
    },
    {
      "commit": "5baa3a62a97544669fba6d65a11c07f252e654dd",
      "tree": "109755e1595b438873d34b981e31f84ea64bd2a5",
      "parents": [
        "173ab4d61077c49f115b82eff34f97fda5a7273a"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Tue Dec 20 16:23:08 2011 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Tue Jan 03 22:38:27 2012 +0000"
      },
      "message": "Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/156016\n\nBug: 5449033\nChange-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298\n"
    },
    {
      "commit": "8f9a9f61ab793d9387a5942b307e74324704893b",
      "tree": "999b4e35822f96473165bf861d5c7e908f19140f",
      "parents": [
        "cac5fd3e09e9dc918753d4aff624bf29a367ade3"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Dec 05 11:53:26 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Dec 05 11:53:26 2011 -0800"
      },
      "message": "Clip text correctly\nBug #5706056\n\nA newly introduced optimization relied on the display list renderer\nto properly measure text to perform fast clipping. The paint used\nto measure text needs to have AA and glyph id encoding set to return\nthe correct results. Unfortunately these properties were set by\nthe GL renderer and not by the display list renderer. This change\nsimply sets the properties in the display list renderer instead.\n\nThis change also improves the error message printed out when the\napplication attempts to use a bitmap larger than the max texture\nsize.\n\nChange-Id: I4d84e1c7d194aed9ad476f69434eaa2c8f3836a8\n"
    },
    {
      "commit": "d21b6e1fe337b35f62cf2028e9bd0637fd009a75",
      "tree": "8831d34e2dd0335c158c2aa12bee68452745c8c5",
      "parents": [
        "28147b654bba8ae2b7976e58aa7869255e436b0b"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Nov 30 20:21:23 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Nov 30 20:21:23 2011 -0800"
      },
      "message": "Optimize away unnecessary state changes\n\nChange-Id: I0f6816f9f6234853575ecee5033186ad19e76380\n"
    },
    {
      "commit": "e5df231434357424cea8d2b8d0cdf31253a98110",
      "tree": "af027aa4179ea0885c45472d8364101f7ab885f7",
      "parents": [
        "1329192fc317b60a4ebcc4d058d8545f6f8743aa"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Aug 12 14:23:53 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Aug 12 14:23:53 2011 -0700"
      },
      "message": "Make sure we correctly copy caches keys.\nBug #5136067\n\nChange-Id: I366e840bef44415436dc7b13d89cfb610feed663\n"
    },
    {
      "commit": "e3c26851dc315b730ea0fe5ef35bb1db81f6d675",
      "tree": "bc3fbae626f785fa38e40d4f5ab3737777d9a1ef",
      "parents": [
        "29d23ecfd8612ecd4a7b2140acd344934b73a558"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jul 25 16:36:01 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jul 25 16:36:01 2011 -0700"
      },
      "message": "Improve rendering performance on some GPUs\n\nThis change sets textures filtering to GL_NEAREST by default. GL_LINEAR\nfiltering is only used when textures are transformed with a scale or\na rotation. This helps save a couple of fps on some GPUs.\n\nChange-Id: I1efaa452c2c79905f00238e54d886a37203a2ac1\n"
    },
    {
      "commit": "40c4b86b72d416585335940f928124426d715e59",
      "tree": "c756ad5004f059a975f4ded4d544717ae732bfb1",
      "parents": [
        "d4b5795e5efd05be7e482e013dfdec519ad2601e"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jul 08 16:50:15 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jul 08 16:50:15 2011 -0700"
      },
      "message": "Align paths on pixel boundaries when rasterizing in bitmaps.\nBug #5003739\n\nChange-Id: I3dfbf4eb92e2c870f33c96947a7d6439e3730965\n"
    },
    {
      "commit": "98029c825b9234e6b90721d910cc180885fcab1d",
      "tree": "0091be00b155882643ffe2a3f88d6df1c297aa3f",
      "parents": [
        "5d5d1ff2d5daadec48c6c95e86d6d644390c02e6"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 17 15:47:07 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 17 15:47:07 2011 -0700"
      },
      "message": "Fix rendering issue with paths when the stroke width is 0\n\nChange-Id: I5d8ac23dc69e9e17df4ef6b5195186b5207e2524\n"
    },
    {
      "commit": "1af23a32d879db330eb5a08b21090ec60b604a32",
      "tree": "9746aa9b3df8ccbcdbfb85d6dcd6f7ecea5c2ba0",
      "parents": [
        "ee0c116ab2bd5acdfe50db36441cf4784d3a10b4"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Mar 24 16:03:55 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Mar 24 16:03:55 2011 -0700"
      },
      "message": "When deleting a path, remove it from the path cache.\nBug #4170585\n\nChange-Id: I6be4d251ceb908c89afe49c2ff85c05f36c73b70\n"
    },
    {
      "commit": "b29cfbf768eab959b31410aafc0a99e20249e9d7",
      "tree": "4032e18bfa7346a0338609f1cf665523a2cd68ce",
      "parents": [
        "40667676e542a9daeafeac9904c30004e8706fd3"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Mar 18 16:24:19 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Mar 18 16:24:19 2011 -0700"
      },
      "message": "Fix paths rendering issues.\n\nSee ApiDemos, PathEffect and PathFillTypes.\n\nChange-Id: I9f9593c1da33d0d013b5b89c86bc5bd71128a192\n"
    },
    {
      "commit": "6062c5912dc79704b489fc8c289b78a400ed05ee",
      "tree": "9de24cadd06e34a3f9a7de165f90fbcfc55d2307",
      "parents": [
        "2fad616237ce2db020eb6c0e03084ece291aee3c"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Tue Feb 22 13:55:04 2011 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Tue Feb 22 16:07:36 2011 -0500"
      },
      "message": "Skia Merge (revision 808)\n\nThis is a companion CL to the one found in /external/skia\n\nChange-Id: If81748545435cab20a5d8479329ab333cb973e16\n"
    },
    {
      "commit": "8b2f5267f16c295f12faab810527cd6311997e34",
      "tree": "2f81ab177ebfadee474c44f3aa8e44cdc539665e",
      "parents": [
        "c1cd9ba335b293f11e1082447ef08e474710a05f"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Sun Jan 23 16:15:02 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Sun Jan 23 16:15:02 2011 -0800"
      },
      "message": "Add support for arcs.\n\nChange-Id: I96c057ff4eb1b464b03f132da0b85333777bee4f\n"
    },
    {
      "commit": "c1cd9ba335b293f11e1082447ef08e474710a05f",
      "tree": "3f07bf1887e0cd5602c2f1e356e3efe92d7f766b",
      "parents": [
        "f6834478b379856d3e5de92ddce7de0e6ba9fa4a"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Sun Jan 23 14:18:41 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Sun Jan 23 14:18:41 2011 -0800"
      },
      "message": "Add support for ovals and stroked rectangles.\n\nChange-Id: I1292e241386763c82e6622c8f7ed90b0f5b7bd4f\n"
    },
    {
      "commit": "c9855a53edfac818dc68714557185977556f849d",
      "tree": "7ace2dd62d887408e84f8a09c43e60de26b436b6",
      "parents": [
        "6828656220f4ed5ae803e4c11fb75fb56bc3ea25"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jan 21 21:14:15 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jan 21 21:14:15 2011 -0800"
      },
      "message": "Log only 1 line per process when using OpenGLRenderer.\n\nChange-Id: Idbdd6b84f31301e58ed53e0d50fd61fece192dfa\n"
    },
    {
      "commit": "ff26a0c1c905dc1ec53b1bab860b80f2976d59be",
      "tree": "a14b731211e689e0da77cdd9772a7add8f1b88ac",
      "parents": [
        "482b34a6f8aebe620cf815cdc689726ef5cf437e"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jan 20 11:35:46 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jan 20 11:39:09 2011 -0800"
      },
      "message": "Remove unnecessary code.\n\nChange-Id: I83eba3406c26a4028af08b4d4c95ecd02803e75a\n"
    },
    {
      "commit": "01d58e43ede5ca98cbebdd166f9b0c545032c01b",
      "tree": "6d9976c551fd6ec9f104e5a849c0ad743946af6c",
      "parents": [
        "9335f5b2fde244614184f45d29cc574d1ba8cbba"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jan 19 21:54:02 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jan 19 21:55:10 2011 -0800"
      },
      "message": "Add rounded rects and circles support to OpenGLRenderer.\n\nChange-Id: I6cedf2b495d58de7c0437096809fa9e4518a1b8c\n"
    }
  ]
}
