)]}'
{
  "log": [
    {
      "commit": "0e89e2b7bcb2c035e8cee77f93120e7c5617f8d2",
      "tree": "8fcd1f768f08fbeb2cd13425a2bf15b7670428f2",
      "parents": [
        "141823ec6313d9545b8354ea1e3e017a1da3cfa8"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Oct 31 14:49:06 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Oct 31 15:30:10 2014 -0700"
      },
      "message": "Layer changes\n\nBug: 17208461\n\n* Switch Layer to be VirtualLightRefBase instead of\n  Caches\u0027 side-channel ref-counting\n* Include active layers in gfxinfo dump\n* Run gfxinfo dump on the correct thread\n* Dump gfxinfo on Layer creation failure\n\nChange-Id: I28d195699e2334518e215ab28c7a17355aee9678\n"
    },
    {
      "commit": "749906b468912dab7bf69a86e852deac3e80b0cc",
      "tree": "f5b80480964d2472abe257bb5c6273b8e1a57136",
      "parents": [
        "a79caa53405ea3efdd77d59ea7aa6dd64ecf09d3"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Oct 03 15:02:19 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Oct 03 15:02:19 2014 -0700"
      },
      "message": "Cleanup DeferredLayerUpdater\n\nBug: 17765082\n\nDeferredLayerUpdater had fallen behind RT updates. Re-snap to\nlatest expectations, ensuring to call requireGlContext() prior\nto detachSurfaceTexture to avoid leaking SurfaceTextures\n\nChange-Id: Ic65fb9831e5284f658866da8da9ad5af1d227699\n"
    },
    {
      "commit": "918ad523b2780e0c893f3d2a32d4ec13f2a7e921",
      "tree": "a10eb15752acf14bbf50b6e250ca8e8beeb2f736",
      "parents": [
        "81af3aef9a0d015311f6c97e318c81092c74eb47"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Jun 27 14:45:25 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Jun 27 22:34:16 2014 +0000"
      },
      "message": "More cleanups\n\nChange-Id: Id5967944b949a2aec57e4fe9fdcdc04c11b8c35a\n"
    },
    {
      "commit": "68bfe0a37a0dcef52abd81688d8520c5d16e1a85",
      "tree": "b67e0671dba8221a16fcf880daeaf1e271499e9f",
      "parents": [
        "6507f2e03a90244e08fb62f9b55653ba3230d0b7"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Jun 24 15:34:58 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Jun 26 10:45:43 2014 -0700"
      },
      "message": "Animator refactoring \u0026 fixes\n\n Tweaks animators to have less unnecessary refcounting\n\n Pull animator management out into seperate class\n\n More control to tweak animator lifecycle, such as doing\n Java-side handling of start delay by attaching but not\n starting the animator\n\nChange-Id: I4ff8207580ca11fb38f45ef0007b406e0097281c\n"
    },
    {
      "commit": "25fbb3fa1138675379102a44405852555cefccbd",
      "tree": "510d62715f870f85fc4eea8a781c0265e7eebae5",
      "parents": [
        "a447d29c65fb811cd184775a3476101a1cede929"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Jun 12 13:46:45 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Jun 12 19:25:33 2014 -0700"
      },
      "message": "Move LayerType to RenderNode\n\nChange-Id: Icb79a5015cb0362b1f3a66d09007450730135a97\n"
    },
    {
      "commit": "e4267ea4f20740c37c01bfb6aefcf61fddc4566a",
      "tree": "0d00c8bff43f8b0cbe4284e51299f5ca128c83c3",
      "parents": [
        "79c7de77a7da9cbcb9428ab6203987feb35a427f"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Jun 03 15:53:15 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Jun 04 12:21:26 2014 -0700"
      },
      "message": "Even FASTER damage calculations!\n\n * Now with more native!\n * Less matrix math thanks to bulk-property-update support!\n * Zero JNI on the View.damageInParent() path!\n * Fully aware of RT-driven animators!\n * Likely full of new and exciting bugs!\n * But it also fixes at least 1 existing invalidate bug!\n\nChange-Id: Ie0773f85a60850ff2668370c58defef2e8aa079f\n"
    },
    {
      "commit": "d72e0a339b54af0c4e731513bbad120dff694723",
      "tree": "ca8ac198de9a0cfeeae1e9e8039e35523e7810c3",
      "parents": [
        "aee470c0232afdac4256d13020fa0cf04f30395c"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu May 29 18:56:11 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri May 30 12:19:33 2014 -0700"
      },
      "message": "Re-jigger layers\n\n Bug: 15185239\n Bug: 15238382\n\n Make DeferredLayerUpdater ref counted so that\n HardwareLayer:finalizer() works non-crashily on\n leaked layers\n Give DeferredLayerUpdater the ability to have a layer destroyer\n set so that leaked layers can still be recycled on the\n RenderThread\n Order layer updates based off of pushLayerUpdate() calls to fix\n issue with nested layers\n\nChange-Id: I4449cee607f7e5126e02fed7464cf48038e3dfdf\n"
    },
    {
      "commit": "860d155f866cc15a725e7ce03763280987f24901",
      "tree": "1ade6b4f5c2c0910c088469b95255eb66ce0cb53",
      "parents": [
        "db8b130a19484cb6018667905e64d42ab793654f"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Apr 11 19:15:05 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Apr 14 13:17:25 2014 -0700"
      },
      "message": "Fix issue with bitmap uploading\n\n Bug: 13912749\n\nChange-Id: Ic23fa1d280118dc93dc2716a4a24cc0bbbdca595\n"
    },
    {
      "commit": "8ca3eecc2b7fe507d3482745efc4cd2567ad15a1",
      "tree": "804a5343674ab583447d7886e0197088cdd916e6",
      "parents": [
        "2271a91c327cee8a6c1dffcbfd3419c95d56c37e"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Apr 10 10:28:45 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Apr 10 10:46:55 2014 -0700"
      },
      "message": "Remove sync flush\n\n Bug: 13952590\n It was attempting to flush state changes after the canvas was\n destroyed, which caused layer updates to crash.\n\n Due to the removal of SetDisplayListData, the sync mode isn\u0027t able\n to do anything ever, so remove it.\n\nChange-Id: I1e18ce288d81fd47cc6e612afda9476f75ecef2e\n"
    },
    {
      "commit": "f4198b713e43c0c0f9adac74203cf24c2a49b802",
      "tree": "ed1e56915cfd87dbc949d72a49ccaf3ee122881b",
      "parents": [
        "8e1f918738abf70a4dc86dbb12b386a9deea37f8"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Apr 09 17:00:04 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Apr 09 17:00:04 2014 -0700"
      },
      "message": "Merge hasFunctors \u0026 pushStaging into prepareTree\n\n Bug: 13902607\n Fixes synchronous mode for WebView in HardwareLayers\n\nChange-Id: I90de1e26dcfd9b75cc2f03bac72705fc23237b68\n"
    },
    {
      "commit": "8de65a8e05285df52a1e6f0c1d5616dd233298a7",
      "tree": "267faf9277b441030b6276ca6a3a34424bb9aee8",
      "parents": [
        "10bdb4b9e966f0a3d8e1099bf8eff4c41c31981c"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Apr 09 15:23:38 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Apr 09 15:48:00 2014 -0700"
      },
      "message": "Switch DisplayListData to a staging model\n\n Bug: 13912977\n\nChange-Id: I5b2f664e797be22a58300964f57ceb4fab60528c\n"
    },
    {
      "commit": "087bc0c14bdccf7c258dce0cdef46a69a839b427",
      "tree": "cab73aeed8e9a0bc8e74243a35c026ab0b321e08",
      "parents": [
        "ce16215d7b4d9bedfc62e172dc44ab439afef13a"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Apr 04 16:20:08 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Apr 07 14:53:08 2014 -0700"
      },
      "message": "Refcount RenderNode\n\nChange-Id: I7a86db8acc2b78ef33d987a43a119f5933d7d752\n"
    },
    {
      "commit": "668f0e38ef0277d55d3118af37e17b8c435df85c",
      "tree": "d0703be6cce376c8a982d7c491445d2e94009375",
      "parents": [
        "bcad68ad80e5a44e5dc6988eddb8acabdc01a737"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Mar 26 15:10:40 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Mar 27 10:00:04 2014 -0700"
      },
      "message": "Async drawing!\n\nChange-Id: I7e728356f58af88174328a8c0b90d27b128bfe01\n"
    },
    {
      "commit": "bfb07a03777af424e99bca1dac4c903aaf44e99d",
      "tree": "a34ac04cc56a06ea54bc7010bb1169f71d9f355b",
      "parents": [
        "41c2d2cec3f46b28f535e9cd7f5b9da02280ccfe"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Mar 24 21:00:18 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Mar 24 21:00:18 2014 -0700"
      },
      "message": "Move where updateProperties is called\n\nChange-Id: I27da448996019094c44487ce28c5689d098d6535\n"
    },
    {
      "commit": "e18264b079481a244b30e3f71012c53bbd861f92",
      "tree": "0127f3fc60aa351108ee8abd8ee180a5b193b03e",
      "parents": [
        "5b568aa04a91786962af1ab372b5a62481eea8cc"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Mar 12 13:56:30 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Mar 12 13:56:30 2014 -0700"
      },
      "message": "Rename DisplayList-\u003eRenderNode\n\nChange-Id: Id42e23c9a1a6eb6eaeafef707ced7fa6887b03d0\n"
    },
    {
      "commit": "9757ac0b9d62f6aea5e47cfb375f445c78bb7897",
      "tree": "d17c80970154798e66dbf914974926b15fa33f61",
      "parents": [
        "5eb4adcbda0ff22e48716d3cf9356a9a720475b5"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Feb 25 18:50:17 2014 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Feb 25 18:50:17 2014 -0800"
      },
      "message": "Fix TextureView texture filtering.\n\nbug:11748993\n\nTextureView should always be drawn with linear filtering if drawing a\nbuffer sized differently from the layer.\n\nThis fixes a bug where TextureViews that were sized differently from\ntheir contents wouldn\u0027t be drawn with texture filtering, causing\nvisible scaling artifacts.\n\nChange-Id: I8a5d27452fe7269ec53896992f37cff51e3ce15a\n"
    },
    {
      "commit": "674554fc36932ca50b15bba41ac6f650254d4e72",
      "tree": "ec0fc936ce4fdbd15d8bf6e15348676194855b8a",
      "parents": [
        "96f0369b25811319398a268071eb147fe14a09e3"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Wed Feb 19 16:47:32 2014 +0000"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Feb 20 16:20:33 2014 -0500"
      },
      "message": "Reapply \"Refactor setting an SkPaint onto a hwui Layer.\"\n\nThis reverts commit 90d0c75e94a32fb7d993fae69762820aabc2fcbb.\n\nChange-Id: Ie807761231edf7c848b019931dccbf466208c0be\n"
    },
    {
      "commit": "19b6bcfd83eb7fb92ebd06d2fec89e308311f1d0",
      "tree": "617b09881e87d86d03a7486f5c3f05242199210d",
      "parents": [
        "587f43d8725b11632b5d64a0a56a647207f01668"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Feb 14 20:03:38 2014 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Feb 19 10:47:19 2014 -0800"
      },
      "message": "Support HardwareLayers in RenderThread\n\n Also has a few HardwareLayer lifecycle fixes\n\nChange-Id: I6308cb05f8f199eed72189ace768013a46815941\n"
    },
    {
      "commit": "a39dd595791b41222ab310b5e8a76a64faa8ba5c",
      "tree": "b60558f824d7c502819bb0da687872bc00f811a4",
      "parents": [
        "d63b4314b85e982a1d70d4064af59851f476dd36"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Feb 14 16:59:37 2014 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Feb 14 16:59:37 2014 -0800"
      },
      "message": "Refcounting is hard\n\n Bug: 12994941\n\nChange-Id: I6285ff818fc696dbe504174b98a54cb1d00b445c\n"
    },
    {
      "commit": "90d0c75e94a32fb7d993fae69762820aabc2fcbb",
      "tree": "d67ca852f275b8362e15144e4a7c02bdaf8b6c74",
      "parents": [
        "e889298cd6ae1fc0d76bc00d7d12586db03eb261"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Wed Feb 12 18:59:05 2014 +0000"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Wed Feb 12 18:59:05 2014 +0000"
      },
      "message": "Revert \"Refactor setting an SkPaint onto a hwui Layer.\"\n\nThis reverts commit e889298cd6ae1fc0d76bc00d7d12586db03eb261.\n\nChange-Id: I4b1d609b2d4280595d40cb10d6c18875c22999f8\n"
    },
    {
      "commit": "e889298cd6ae1fc0d76bc00d7d12586db03eb261",
      "tree": "a2f5114d1ea5ff1265e28e2b01b4750d5d2741f3",
      "parents": [
        "826e51c4da2beac50c0ed1e1359787a0b69c878c"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Tue Feb 11 11:46:49 2014 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Wed Feb 12 11:26:06 2014 -0500"
      },
      "message": "Refactor setting an SkPaint onto a hwui Layer.\n\nThis CL removes the unecessary JNI call to set the colorFilter on\na layer.\n\nChange-Id: I9e088f888938d4315745aa618334bfdb9e61343a\n"
    },
    {
      "commit": "04fc583c3dd3144bc6b718fcac4b3e1afdfdb067",
      "tree": "4682660942c57456293a88bd3e78a28569ae9c71",
      "parents": [
        "740dfefcfcba7a254e65bda3ac0d965ca161458b"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Feb 05 16:38:25 2014 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Feb 10 20:55:39 2014 -0800"
      },
      "message": "Refactor HardwareLayer\n\n Defer all the things!\n Groundwork to allow hardware layers to work in a renderthread world\n\nChange-Id: Ib3aa47525f393083621254a743dbaa6352f933bd\n"
    }
  ]
}
