)]}'
{
  "log": [
    {
      "commit": "d71ff91dcd79f6beea4bbe768ab3bcbb1a6d7c39",
      "tree": "e9a9233171a5edfaf03f2a81f468a7133f54b462",
      "parents": [
        "d68c0964765b48934f528600ba5fe51b45cb8ae1"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Feb 08 13:46:40 2013 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Feb 08 13:46:40 2013 -0800"
      },
      "message": "Apply the clip rect/region to drawLines()\n\nWithout the check to quickReject, drawConvexPath would never\nsetup the clip properly.\n\nChange-Id: I23e5b25de3383c9e9b86eea4ee7a9552f8d9efb4\n"
    },
    {
      "commit": "b4c1dc1c1580d0970631cc291b4b4c6e9dc96af3",
      "tree": "ef3c89da586bbe8e7c07e2d87f991d74623a8398",
      "parents": [
        "36b8d38e20074699857aa030ebd5f304c01da711",
        "63696bfc0592a0b8808aa2b1c40bcf33c656c659"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Feb 07 23:32:42 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 07 23:32:42 2013 +0000"
      },
      "message": "Merge \"Don\u0027t clip when drawing a layer\""
    },
    {
      "commit": "63696bfc0592a0b8808aa2b1c40bcf33c656c659",
      "tree": "e7de72c54ee549c3923138b9f45749442e9bfd65",
      "parents": [
        "3bbacf27c0be1bae4e4483577fc89ae3113abe5d"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Feb 07 15:20:55 2013 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Feb 07 15:20:55 2013 -0800"
      },
      "message": "Don\u0027t clip when drawing a layer\n\nA layer will, by definition, clip its content already. The extra\nclip added by the UI toolkit/renderer is wasteful and in some\nsituations very expensive. If a layered view is rotated, the clip\nwill be transformed into a non-rectangular region, thus forcing\nthe renderer to rely on the stencil buffer. The whole point of\nusing layers is to draw efficiently so let\u0027s avoid this case.\n\nChange-Id: I813465f6468cc386b84a4d058c11a258fef8507a\n"
    },
    {
      "commit": "da8d8b9699fe8e9557389465007e333d3f03dcc1",
      "tree": "a06894789c3d0a66fccdda3030d344a0b072fed6",
      "parents": [
        "2c45e913734a64460c6dcf5b831a32a0af5ba5c1",
        "3bbacf27c0be1bae4e4483577fc89ae3113abe5d"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Feb 07 20:11:56 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 07 20:11:56 2013 +0000"
      },
      "message": "Merge \"Add a RenderBuffer object to store stencil buffers. Bug #7146141\""
    },
    {
      "commit": "3bbacf27c0be1bae4e4483577fc89ae3113abe5d",
      "tree": "102ffa5362c1782af27f2f0abad3e9f481479e79",
      "parents": [
        "c2a972131f1870042eb63847d4b24fbe718d8e3f"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Feb 06 16:51:04 2013 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Feb 07 12:11:22 2013 -0800"
      },
      "message": "Add a RenderBuffer object to store stencil buffers.\nBug #7146141\n\nThis change is needed to add a render buffer cache to avoid\ncreating and destroying stencil buffers on every frame.\n\nThis change also allows the renderer to use a 1 bit or 4 bit\nstencil buffer whenever possible.\n\nFinally this change fixes a bug introduced by a previous CL\nwhich causes the stencil buffer to not be updated in certain\nconditions. The fix relies on a new optional parameter in\ndrawColorRects() that can be used to avoid performing a\nquickReject on rectangles generated by the clip region.\n\nChange-Id: I2f55a8e807009887b276a83cde9f53fd5c01199f\n"
    },
    {
      "commit": "6b7fcc8f6754f0bf7a406834a6dc066710a9de51",
      "tree": "5dea685569aaba5d36f7cb9576c649f9c832486a",
      "parents": [
        "8ca4642b7460057be0ee8ba97633d6fb1dfcd532",
        "75701e8fc92285680637f69e0f004741919ddc10"
      ],
      "author": {
        "name": "Jeffrey Brown",
        "email": "jeffbrown@android.com",
        "time": "Wed Feb 06 20:56:07 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 06 20:56:07 2013 -0800"
      },
      "message": "am 75701e8f: am 7eb4db35: am b9185fd1: Merge \"Fix PointerCoords Parcel incorrectly storing values as Int32\"\n\n# By Ilya Polenov\n# Via Android Git Automerger (2) and Gerrit Code Review (2)\n* commit \u002775701e8fc92285680637f69e0f004741919ddc10\u0027:\n  Fix PointerCoords Parcel incorrectly storing values as Int32\n"
    },
    {
      "commit": "7eb4db35935237a6bd029d5bafda97fa5d4d905c",
      "tree": "9712164133313b6aadce230e38e82d4356b94874",
      "parents": [
        "a0d547b43b3508c7253da234f529acf60d00fd13",
        "b9185fd1ffd85239e3ab10ab34cb9d8508970fb4"
      ],
      "author": {
        "name": "Jeffrey Brown",
        "email": "jeffbrown@android.com",
        "time": "Wed Feb 06 20:50:17 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 06 20:50:17 2013 -0800"
      },
      "message": "am b9185fd1: Merge \"Fix PointerCoords Parcel incorrectly storing values as Int32\"\n\n# By Ilya Polenov\n# Via Gerrit Code Review\n* commit \u0027b9185fd1ffd85239e3ab10ab34cb9d8508970fb4\u0027:\n  Fix PointerCoords Parcel incorrectly storing values as Int32\n"
    },
    {
      "commit": "1ba0289d18f16e190a3bc7cf9226d061016dc355",
      "tree": "cc4b448cd10a5b23724741774e63e737c4e433ac",
      "parents": [
        "1095d9ac5df839408b9a549cc638c2909d98dfac",
        "65cd612face362d054a85d0f7e5881c59cd523be"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Feb 07 00:14:05 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 07 00:14:38 2013 +0000"
      },
      "message": "Merge \"Add cap tessellation support\""
    },
    {
      "commit": "65cd612face362d054a85d0f7e5881c59cd523be",
      "tree": "8d71fb22d3a6dd515456a44b0d1010c906abb774",
      "parents": [
        "c93c6aa5553203f05df871804517885fcc071cfd"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Dec 10 17:56:27 2012 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Feb 06 15:35:12 2013 -0800"
      },
      "message": "Add cap tessellation support\n\nbug:7117155\nbug:8114304\n\nCurrently used for lines (with and without AA) and arcs with useCenter\u003dfalse\n\nAlso removes 0.375, 0.375 offset for AA lines\n\nChange-Id: Ic8ace418739344db1e2814edf65253fe7448b0b0\n"
    },
    {
      "commit": "511afdd3ac55ba27c5882cbe189d89a2942420b1",
      "tree": "475d38bb31bc7cc87281bf80d36aaab3979ace6c",
      "parents": [
        "ed77dce854ee6741ef9b276f642cdc79c981298f",
        "c2a972131f1870042eb63847d4b24fbe718d8e3f"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Feb 06 23:34:03 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 06 23:34:36 2013 +0000"
      },
      "message": "Merge \"Fix uninitialized variables in Caches.cpp Bug #8151401\""
    },
    {
      "commit": "c2a972131f1870042eb63847d4b24fbe718d8e3f",
      "tree": "5e9d66fbc9c58b7b9f260f9559fc1cc39fff87c4",
      "parents": [
        "3c099c42fd7ead1429076055990ae39b72c904f4"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Feb 06 15:29:46 2013 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Feb 06 15:29:46 2013 -0800"
      },
      "message": "Fix uninitialized variables in Caches.cpp\nBug #8151401\n\nChange-Id: I221f93de0f1981974f82a094297836dd3fe418bc\n"
    },
    {
      "commit": "83315e0cb425db5dde514c90df56a7188c7983d5",
      "tree": "14bd3b800d997a41bd7eaa0baeadca004b8e68e9",
      "parents": [
        "d3a72135c82ae221881853912a6866467e86d9f2",
        "3c099c42fd7ead1429076055990ae39b72c904f4"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Feb 06 23:29:15 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 06 23:29:15 2013 +0000"
      },
      "message": "Merge \"Fix Snapshot::resetClip to also reset the clip region\""
    },
    {
      "commit": "3c099c42fd7ead1429076055990ae39b72c904f4",
      "tree": "d9c375c30a202a46a95282375c9b71d09d5c0ba0",
      "parents": [
        "b969a0de65730b071d846f8302e751e2637e6dbe"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Feb 06 15:28:04 2013 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Feb 06 15:28:04 2013 -0800"
      },
      "message": "Fix Snapshot::resetClip to also reset the clip region\n\nChange-Id: I979151e73f64ff9d45f8a5232d8700361b09fbc7\n"
    },
    {
      "commit": "23e500d168e8d649305445f6c1d2b49d8d2c00fd",
      "tree": "788e18e8fc63422b8cb20ea2b00c0ab73114d523",
      "parents": [
        "0984780bc7aed76018b9f88c0d9c3ce300bde39a",
        "6c0307dd0aefe9a08794b155fc03ee60ebd14f25"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Wed Feb 06 12:57:37 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 06 12:57:38 2013 +0000"
      },
      "message": "Merge \"Merge remote-tracking branch \u0027goog/master-chromium\u0027 into \u0027goog/master\u0027\""
    },
    {
      "commit": "b969a0de65730b071d846f8302e751e2637e6dbe",
      "tree": "d49fd8cc93d96c54e991359e375c093882734909",
      "parents": [
        "15a4620b18412d81c1f9102cfc85777dece41a8b"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Feb 05 14:38:40 2013 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Feb 05 14:44:43 2013 -0800"
      },
      "message": "Add support for non-antialiased text\n\nChange-Id: I17c073955ab94abc9b409e5fcfbc675faa07c5ba\n"
    },
    {
      "commit": "f5db9b8ed42cace00d4e84b4a7e2e63a7c654b35",
      "tree": "ba1e2ba36db9f22cd827b63dc603dec372e101e8",
      "parents": [
        "63af7a113b9f47d9865a4c64488dd73a40711b7a",
        "d81ec456bb097a712bcbc093c5a1e0075434158e"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Tue Feb 05 18:17:19 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 05 18:17:56 2013 +0000"
      },
      "message": "Merge \"Changes needed to roll Skia to r7527.\" into master-chromium"
    },
    {
      "commit": "43c6eda4d3535e7601e586a75206b20e42209ae2",
      "tree": "d4600cfd2a934d27419561430dc7369d5f3057b0",
      "parents": [
        "d4cf7df151c68e621fbc3e1552e5f33020bc7b6d",
        "b377853123ff53974bb06ffc30e09db41a767c3a"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Feb 04 14:00:44 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 04 14:00:44 2013 -0800"
      },
      "message": "am b3778531: Merge \"Set the scissor from OpenGLRenderer::drawColorRects Bug #8131254\"\n\n# Via Android (Google) Code Review (1) and Romain Guy (1)\n* commit \u0027b377853123ff53974bb06ffc30e09db41a767c3a\u0027:\n  Set the scissor from OpenGLRenderer::drawColorRects Bug #8131254\n"
    },
    {
      "commit": "b377853123ff53974bb06ffc30e09db41a767c3a",
      "tree": "8b0b1acd0e0e3bd9205eea316648e8749a8768a8",
      "parents": [
        "e51ccb1543ef5b6427e5f270ae38be75e18daccd",
        "a362c69d6cdf448107e5a539f77df73937141870"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Feb 04 21:56:40 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 04 21:56:40 2013 +0000"
      },
      "message": "Merge \"Set the scissor from OpenGLRenderer::drawColorRects Bug #8131254\""
    },
    {
      "commit": "a362c69d6cdf448107e5a539f77df73937141870",
      "tree": "4124105aced46c2c6c4aa52a3770d4af0d83662f",
      "parents": [
        "ef35927abcd089652f87a985dd6dde7afde58b92"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Feb 04 13:50:16 2013 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Feb 04 13:50:16 2013 -0800"
      },
      "message": "Set the scissor from OpenGLRenderer::drawColorRects\nBug #8131254\n\nThis method is used as an optimization for paths containing only\nnon-overlapping rectangles. The implementation was correctly\nrejecting rectangles invidually but not the bounds of the array\nof rectangles. If quickReject() is not called, setupDraw() won\u0027t\nbe able to properly set the scissor.\n\nChange-Id: I50aa11a4bd8b525b267d36a3039fe7a6fba50518\n"
    },
    {
      "commit": "d4cf7df151c68e621fbc3e1552e5f33020bc7b6d",
      "tree": "1933b68ff17ec5f02cbdf59e691077b0cd831bda",
      "parents": [
        "6325fdf8499fab63d89b95317708a53be890807b",
        "e51ccb1543ef5b6427e5f270ae38be75e18daccd"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Feb 04 13:48:48 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 04 13:48:48 2013 -0800"
      },
      "message": "am e51ccb15: Merge \"Simplify display list logging, removing pointers\"\n\n# Via Android (Google) Code Review (1) and Chris Craik (1)\n* commit \u0027e51ccb1543ef5b6427e5f270ae38be75e18daccd\u0027:\n  Simplify display list logging, removing pointers\n"
    },
    {
      "commit": "e51ccb1543ef5b6427e5f270ae38be75e18daccd",
      "tree": "5419664baceb171eafefb6b6cc107dfed33c8ce4",
      "parents": [
        "71e404d2042238ad589fbf82a100145fc0da653c",
        "3dc553babe515fbf9bd042dd63a792e5de578ecd"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Feb 04 21:42:49 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 04 21:44:48 2013 +0000"
      },
      "message": "Merge \"Simplify display list logging, removing pointers\""
    },
    {
      "commit": "3dc553babe515fbf9bd042dd63a792e5de578ecd",
      "tree": "4372f51da566b4b2297380fb337978dbfc40d992",
      "parents": [
        "c93c6aa5553203f05df871804517885fcc071cfd"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Feb 04 12:45:13 2013 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Feb 04 12:45:13 2013 -0800"
      },
      "message": "Simplify display list logging, removing pointers\n\nAlso fix save indents\n\nChange-Id: Ia1add83422fbc200b85fd6688f5be60292b0f178\n"
    },
    {
      "commit": "d81ec456bb097a712bcbc093c5a1e0075434158e",
      "tree": "f77646a3bd547946d647cb44999daa397a54cddf",
      "parents": [
        "d0351a67f17d93038c17955381c5eff3d0679268"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Mon Feb 04 15:42:26 2013 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Mon Feb 04 15:42:26 2013 -0500"
      },
      "message": "Changes needed to roll Skia to r7527.\n\nChange-Id: I84aef3f8a733c869fade06021816646001532758\n"
    },
    {
      "commit": "974fb7a5e90e70571e235750101a568c9457a3f2",
      "tree": "88a20a378c3db71701e4a77281b213453bc7670a",
      "parents": [
        "ec555cf3b6b2beacca01ee0a947769a88caa8e4e",
        "3e295c3f2ec931ad9f7e38c6a083d711ab710717"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Fri Feb 01 16:55:31 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Feb 01 16:55:31 2013 -0800"
      },
      "message": "am 3e295c3f: Merge \"Add initial plumbing for brightness keys\"\n\n# Via Android (Google) Code Review (1) and Michael Wright (1)\n* commit \u00273e295c3f2ec931ad9f7e38c6a083d711ab710717\u0027:\n  Add initial plumbing for brightness keys\n"
    },
    {
      "commit": "1df477acf60538f9de18bd597e090d075fa83509",
      "tree": "a163bd932074c49b9fac6792ca85d12569559dd5",
      "parents": [
        "b06870bf49055721bd43b5bbd742feb8422fc071"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Thu Jan 31 16:19:18 2013 -0800"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Fri Feb 01 16:29:59 2013 -0800"
      },
      "message": "Add initial plumbing for brightness keys\n\nChange-Id: I595e8a25e6c245e4b22f06df9a8acdbb75e4b041\n"
    },
    {
      "commit": "da805b149fde3f7f8ef404c39ef74b2fbbf7af7f",
      "tree": "95d1e6d08dde371438d9de60324fe0a08f04fe9f",
      "parents": [
        "64d7a44a9f07cc2ccc0b8e44f76bf27e34987edb",
        "c580168011334db756f5e68aa005d20bace69171"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jan 31 23:06:13 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 31 23:06:13 2013 -0800"
      },
      "message": "am c5801680: Merge \"Tag HardwareRenderers with a name to help debugging\"\n\n# Via Android (Google) Code Review (1) and Romain Guy (1)\n* commit \u0027c580168011334db756f5e68aa005d20bace69171\u0027:\n  Tag HardwareRenderers with a name to help debugging\n"
    },
    {
      "commit": "b86e75ea85e62e3ecfe989ebe2b6bdaa962cbcdf",
      "tree": "f00116b81d2dd7063c2817a51c40709258ef2eb4",
      "parents": [
        "5019546c8cbdd8c647008dc9b3ce2481e2e52758",
        "b7475e7b0b0ababe8c5f3fbfde565c97960c633c"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jan 31 22:59:17 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 31 22:59:17 2013 -0800"
      },
      "message": "am b7475e7b: Merge \"Fix tiling on QCOM GPU\"\n\n# Via Android (Google) Code Review (1) and Romain Guy (1)\n* commit \u0027b7475e7b0b0ababe8c5f3fbfde565c97960c633c\u0027:\n  Fix tiling on QCOM GPU\n"
    },
    {
      "commit": "5019546c8cbdd8c647008dc9b3ce2481e2e52758",
      "tree": "b81b7bf5c3baca892f997e0d2341eb1771bbb689",
      "parents": [
        "739827f32858f5a73dfcb4576f22370e00ddcc6a",
        "65f4effcab1f4bb6e2e96a2b8eb2c774601b87db"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jan 31 22:59:12 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 31 22:59:12 2013 -0800"
      },
      "message": "am 65f4effc: Merge \"Discard the correct buffer when the bound FBO is not 0\"\n\n# Via Android (Google) Code Review (1) and Romain Guy (1)\n* commit \u002765f4effcab1f4bb6e2e96a2b8eb2c774601b87db\u0027:\n  Discard the correct buffer when the bound FBO is not 0\n"
    },
    {
      "commit": "ef35927abcd089652f87a985dd6dde7afde58b92",
      "tree": "481c87d0cc4df4ba5e315e990cd190d9b489da93",
      "parents": [
        "b7475e7b0b0ababe8c5f3fbfde565c97960c633c"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jan 31 19:07:29 2013 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jan 31 19:07:29 2013 -0800"
      },
      "message": "Tag HardwareRenderers with a name to help debugging\n\nThe name of the renderer is the same as the window it belongs to.\n\nChange-Id: Ie9adc0a1978afa026923ea41f5540eda6ba65a92\n"
    },
    {
      "commit": "f735c8e5cb59d6e1d1aa152fed7a6480a08d1c2a",
      "tree": "aeec78a2213d2fac2f3d052cf61b67ffb762fd7d",
      "parents": [
        "f158198ccc3a1f53bfebaa6b8f4426e80e1867ea"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jan 31 17:45:55 2013 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jan 31 17:45:55 2013 -0800"
      },
      "message": "Fix tiling on QCOM GPU\n\nRename Caches::startTiling parameter from opaque to discard to\nmake it clearer what its role is. Tweak calls to startTiling\nto preserve the buffer when needed and discard it when possible.\n\nChange-Id: If7f8ff19003f79f36885a0a7207cc61901f637d2\n"
    },
    {
      "commit": "f158198ccc3a1f53bfebaa6b8f4426e80e1867ea",
      "tree": "b76bc1af0d130f77ac7eadb07f445e657f77d268",
      "parents": [
        "f48a2d30c5d5f7c167310ff9ca1cd2310121be7c"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jan 31 17:20:30 2013 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jan 31 17:20:30 2013 -0800"
      },
      "message": "Discard the correct buffer when the bound FBO is not 0\n\nglDiscardFramebufferEXT uses different constants depending on whether\nthe default FBO is bound or not. The code was choosing the proper value\nfor the color buffer but not for the stencil buffer.\n\nChange-Id: I55cfcbdf663582119cb1a6289317016440d9e361\n"
    },
    {
      "commit": "2dbd185fd0e5dfe9addb677f42716c442b7e62bd",
      "tree": "6aac1ed40b80d003c8d5d6469d21092cd26d7141",
      "parents": [
        "1de9023190691b44df0f45eaaf501ced6177ca09",
        "c93c6aa5553203f05df871804517885fcc071cfd"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Wed Jan 30 14:32:29 2013 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Wed Jan 30 14:32:29 2013 -0500"
      },
      "message": "resolved conflicts for merge of c93c6aa5 to master-chromium\n\nChange-Id: I51429ed5359355025f873ccab11bfabbbe772a46\n"
    },
    {
      "commit": "c93c6aa5553203f05df871804517885fcc071cfd",
      "tree": "2a644d36d55c700b85cf1bce209c7110703fe5e3",
      "parents": [
        "cae3d9f0ab2756e3659efc7a08830d2d7b43a05e",
        "2af4635e4a9e448a65ff541252f8f94bc6ac48e0"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Jan 30 18:42:42 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 30 18:42:56 2013 +0000"
      },
      "message": "Merge \"Object-based DisplayList recording\""
    },
    {
      "commit": "716f7b3f5e29adedf1cd5c11529d9cfd82246897",
      "tree": "4e38b37b38069168d527b9224bd5598ea762b7f9",
      "parents": [
        "7ad885e2e6c845dbec4f16cd71e859240741dbf9"
      ],
      "author": {
        "name": "Ilya Polenov",
        "email": "daioptych@gmail.com",
        "time": "Mon Dec 10 10:19:58 2012 +0400"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 30 10:15:00 2013 +0000"
      },
      "message": "Fix PointerCoords Parcel incorrectly storing values as Int32\n\nPointerCoords stores its values as float and its Parcel should\ndo the same. Wrong behaviour may be noticed when MotionEvent is\ninjected using Instrumentation method sendPointerSync. All its\nPointerCoords values(size, orientation, pressure, etc) will be\ncasted to integer omitting their decimal part. This fix addresses\nthis issue.\n\nChange-Id: Ifa3dfce4d5c2e6c060852f4208cb5684e827c7e6\nSigned-off-by: Ilya Polenov \u003cdaioptych@gmail.com\u003e\n"
    },
    {
      "commit": "781fd2b7c86a20b0f00b5e009237d69b557e3cc4",
      "tree": "44d50d4d4aaf9a8e52d54e99073f01194ddc6b8e",
      "parents": [
        "7a8a1799ef36df5d2df740adc2568fe4b30fa617",
        "f5f8502271b04d63c518e3aecfd5eaf557904e72"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jan 29 17:50:58 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 29 17:50:58 2013 -0800"
      },
      "message": "am f5f85022: Merge \"Fix graphical corruption on QCOM GPU Bug #7146141\"\n\n# Via Android (Google) Code Review (1) and Romain Guy (1)\n* commit \u0027f5f8502271b04d63c518e3aecfd5eaf557904e72\u0027:\n  Fix graphical corruption on QCOM GPU Bug #7146141\n"
    },
    {
      "commit": "c3fedafc5f50100219449125a000e3138f6fb987",
      "tree": "830bacf80a5b9e4194de2d221199dc86efe75555",
      "parents": [
        "8c47e856b067057b5fcbb6eccfc79d1da4cff8f1"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jan 29 17:26:25 2013 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jan 29 17:46:17 2013 -0800"
      },
      "message": "Fix graphical corruption on QCOM GPU\nBug #7146141\n\nThe GL_QCOM_tiled_rendering extension requires careful use of\nstart/endTiling when attaching a renderbuffer dynamically.\n\nChange-Id: I20036683ed3909ffaf40cc3d57a25257e35b6fa2\n"
    },
    {
      "commit": "2af4635e4a9e448a65ff541252f8f94bc6ac48e0",
      "tree": "2ea27d507f81660cdbb8e2cdf48cce875c1b8cdd",
      "parents": [
        "878749fef09c7cb5894f77d9b032f876f9476e47"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Nov 26 18:30:17 2012 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Jan 22 13:47:03 2013 -0800"
      },
      "message": "Object-based DisplayList recording\n\nbug:8037003\n\nChanges the DisplayList from using stream read/write commands to use an array of\nobjects manually allocated on a linear buffer.\n\nDepends on frameworks/native change https://googleplex-android-review.googlesource.com/#/c/257695/ which adds LinearAllocator\n\nAlso changes drawRects to use float count instead of rect count, to be more like drawLines/drawPoints\n\nChange-Id: Ia2e4a11acd8f0a757042a05cbc9e7563cb73ee47\n"
    },
    {
      "commit": "7d4f807b830eceb557e849629e95bd4bdc06ccfd",
      "tree": "431feafff39910b8a0dfe393f527a72b5d778157",
      "parents": [
        "02f63f77c29d1d26a143bd073f7baa6568a475d0",
        "494647961feb21d925d5e6e5ce1d42aa8b6949db"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jan 18 17:08:12 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 18 17:08:12 2013 -0800"
      },
      "message": "am 49464796: Merge \"Allow layers with a stencil buffer to be resized on the fly Bug #7146141\"\n\n* commit \u0027494647961feb21d925d5e6e5ce1d42aa8b6949db\u0027:\n  Allow layers with a stencil buffer to be resized on the fly Bug #7146141\n"
    },
    {
      "commit": "2055abaa0a590c35e27e1ae2e7d7cfccdfb98b59",
      "tree": "1e302d08b6aa3714048a4d8435aa44f155c998c9",
      "parents": [
        "f25febf01453733e8bdd1ac241ecd9d3bcbef475"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jan 18 16:42:51 2013 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jan 18 16:42:51 2013 -0800"
      },
      "message": "Allow layers with a stencil buffer to be resized on the fly\nBug #7146141\n\nThis change moves the resizeLayer() from LayerCache (where it should\nnever have been anyway) to Layer. This makes a little more sense.\n\nChange-Id: I8b2f9c19c558e738405a58b9e71ec5799fc6be88\n"
    },
    {
      "commit": "e9a983b44407413f18aeb16c892e97ea938a7fab",
      "tree": "9d997aea29a0f88b7dd9926d2f4cbc31cf2d7c2f",
      "parents": [
        "e4b52e59ec48b10c81e897509ef516a33f3b096f",
        "b12db26fec178794915d819c3dd64f13d788c461"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jan 17 15:50:17 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 17 15:50:17 2013 -0800"
      },
      "message": "am b12db26f: Merge \"Implement clipRect with a transform, clipRegion \u0026 clipPath Bug #7146141\"\n\n* commit \u0027b12db26fec178794915d819c3dd64f13d788c461\u0027:\n  Implement clipRect with a transform, clipRegion \u0026 clipPath Bug #7146141\n"
    },
    {
      "commit": "8ce00301a023eecaeb8891ce906f67b513ebb42a",
      "tree": "3b14c80a49cbec537aad39aa4bb266cac41102f7",
      "parents": [
        "0f8d155363c361199a9d9aa5dcdbc4088990f893"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jan 15 18:51:42 2013 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jan 17 15:39:31 2013 -0800"
      },
      "message": "Implement clipRect with a transform, clipRegion \u0026 clipPath\nBug #7146141\n\nWhen non-rectangular clipping occurs in a layer the render buffer\nused as the stencil buffer is not cached. If this happens on a\nView\u0027s hardware layer the render buffer will live for as long\nas the layer is bound to the view. When a stencil buffer is\nrequired because of a call to Canvas.saveLayer() it will be allocated\non every frame. A future change will address this problem.\n\nIf \"show GPU overdraw\" is enabled, non-rectangular clips are not\nsupported anymore and we fall back to rectangular clips instead.\nThis is a limitation imposed by OpenGL ES that cannot be worked\naround at this time.\n\nThis change also improves the Matrix4 implementation to easily\ndetect when a rect remains a rect after transform.\n\nChange-Id: I0e69fb901792d38bc0c4ca1bf9fdb02d7db415b9\n"
    },
    {
      "commit": "616a87736d819a7fe4e1d60d4703aabc7b888cd7",
      "tree": "57e85be23c297132bf6990229c103154e6dd7e88",
      "parents": [
        "29745eb22cd608aff58beb6fb0e1f455fcf14d0b",
        "61840eb03882e1a964ae971725bd21229c3db42c"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jan 15 10:28:01 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 15 10:28:01 2013 -0800"
      },
      "message": "am 61840eb0: Merge \"Preliminary Support for region clipping\"\n\n* commit \u002761840eb03882e1a964ae971725bd21229c3db42c\u0027:\n  Preliminary Support for region clipping\n"
    },
    {
      "commit": "735738c4ddf3229caa5f6e634bf591953ac29944",
      "tree": "4e972e943ffefc5bc268629ed45e8a5783ffe7c5",
      "parents": [
        "57b59e025bc10056daf42cd741b626843ff344f5"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Dec 03 12:34:51 2012 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jan 14 14:27:54 2013 -0800"
      },
      "message": "Preliminary Support for region clipping\n\nRegion clipping, using Canvas.clipPath or Canvas.clipRegion, requires\na stencil buffer to be always present. In addition, extra wiring is\nrequired in JNI and display lists.\n\nThis change only adds the necessary JNI/C++ APIs and some extra\nplumbing to start the real work on properly supporting region\nclipping.\n\nA new debug define called DEBUG_CLIP_REGIONS can be used to draw\nthe current clip region. It is off by default, as is region\nclipping.\n\nThe default implementation of clipPath() and clipRegion(), now\nin native, mimics the previous Dalvik implementation to prevent\nregressions.\n\nChange-Id: I7903e7cfd7412b9b9b622566d4dbfce7bdcec00c\n"
    },
    {
      "commit": "bf06ccba95961f9f67af8957b52981eb3a46a9db",
      "tree": "307afa8b774c19fc5ce6ee33c596a74b0acb7565",
      "parents": [
        "11cd154a4fb064bea6b4dfab6c8c6e98bd4de7a7",
        "33a9741c1be99e8be01ab799eb50df97849ed801"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jan 09 14:43:02 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 09 14:43:02 2013 -0800"
      },
      "message": "am 33a9741c: Merge \"Cleanup 9patch mesh matching code Bug #7970966\"\n\n* commit \u002733a9741c1be99e8be01ab799eb50df97849ed801\u0027:\n  Cleanup 9patch mesh matching code Bug #7970966\n"
    },
    {
      "commit": "5341cead27070656458750a789ba211a505b57b5",
      "tree": "4887e2e3289373e24a6496427df4597b5b28f458",
      "parents": [
        "16ad17705eb22bb02a551cddd68f65b8addaa4d6"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jan 09 14:15:58 2013 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jan 09 14:15:58 2013 -0800"
      },
      "message": "Cleanup 9patch mesh matching code\nBug #7970966\n\nThe bug described in #7970966 should normally never happen but just in\ncase, change the detection code to be more robust.\n\nChange-Id: I7040a6087590e34abe8803cb8f83f051d77f3944\n"
    },
    {
      "commit": "14c40b47565778b7185de7655836485f3065877a",
      "tree": "0c1e0606af965f66419c8fd51bfae17b6f163824",
      "parents": [
        "19d4f1806a953b87435a2bb6fd8e738424e94003"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jan 08 18:03:07 2013 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jan 08 18:03:07 2013 -0800"
      },
      "message": "Fix build\n\nChange-Id: Ia465bd844b592fc05e59ad392ecc5ca4d34d24d7\n"
    },
    {
      "commit": "19d4f1806a953b87435a2bb6fd8e738424e94003",
      "tree": "ab561da75ff49699432723e2904a89d5cda534e2",
      "parents": [
        "1a9853fef502ef4dac48476b8b588650ae5db4ce",
        "c88c60bed1fdf5b84cc16905c8743453203c19a5"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jan 08 17:38:15 2013 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jan 08 17:38:15 2013 -0800"
      },
      "message": "resolved conflicts for merge of c88c60be to master-chromium\n\nChange-Id: I3b4b42443312068e942aa779dfdc928afa7569fd\n"
    },
    {
      "commit": "e3a9b24b5e3f9b2058486814a6d27729e51ad466",
      "tree": "17830a6fd61c286854cebb07638d3c2dea6277cd",
      "parents": [
        "5b4628aeeaa0462cd99256d28b636c06b1845930"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jan 08 11:15:30 2013 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jan 08 15:21:42 2013 -0800"
      },
      "message": "Add plumbing for better text scaling\n\nFonts are now described by a transform matrix. This lead to switching\nfrom a vector to a hashmap. This change therefore adds new comparators\nand hash computations to Font.\n\nChange-Id: I2daffa7d6287c18554c606b8bfa06640d28b4530\n"
    },
    {
      "commit": "7bac55434caa9de7fc31f6fd8b0384042c700b4c",
      "tree": "4a21d750f805ae1def1957f58b7b7d6fd4e73734",
      "parents": [
        "200c0be22bf2574958d22133578b90c0664954ab",
        "9acd1b4fa897f3a007dd23dc1f0471b151fa03ad"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jan 04 19:29:05 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 04 19:29:05 2013 -0800"
      },
      "message": "am 9acd1b4f: Merge \"Add visual profiling feature\"\n\n* commit \u00279acd1b4fa897f3a007dd23dc1f0471b151fa03ad\u0027:\n  Add visual profiling feature\n"
    },
    {
      "commit": "9acd1b4fa897f3a007dd23dc1f0471b151fa03ad",
      "tree": "4d27cd6bd64e25dede0a2db629a0cdef30cebb15",
      "parents": [
        "6c3c8a3c9a9176aaa68f1061a2e18a6b2fba0f74",
        "672433d90fab7383cd28beac9d4485b566a90940"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jan 04 19:23:42 2013 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 04 19:24:10 2013 -0800"
      },
      "message": "Merge \"Add visual profiling feature\""
    },
    {
      "commit": "672433d90fab7383cd28beac9d4485b566a90940",
      "tree": "8e5088ba91b9a33aeffccd3b2c6f03b0c8e2b144",
      "parents": [
        "5913148104f0b233d861fab2873befc865bf57c0"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jan 04 19:05:13 2013 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jan 04 19:21:54 2013 -0800"
      },
      "message": "Add visual profiling feature\n\nWhen profiling is enabled with debug.hwui.profile set to true,\nsetting debug.hwui.profile_visualizer to true will display the\nprofiling data directly on screen.\n\nChange-Id: I3d5fe3f0347090815087b1cbfce66b8e76d9347b\n"
    },
    {
      "commit": "95bdeddb97b2f14e115751041b7831f73d92a4cd",
      "tree": "114a4f2632f75cb45f918d22a1f1eb8bd1f41c12",
      "parents": [
        "c225fa8549181d2c8ce45c276e64647c7bed0f2f",
        "48f7cfb10622f8675741f36bdf5b1f679e3fe37c"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jan 04 15:25:00 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 04 15:25:00 2013 -0800"
      },
      "message": "am 48f7cfb1: Merge \"Properly support ALPHA_8 bitmaps in all drawBitmap() methods\"\n\n* commit \u002748f7cfb10622f8675741f36bdf5b1f679e3fe37c\u0027:\n  Properly support ALPHA_8 bitmaps in all drawBitmap() methods\n"
    },
    {
      "commit": "886b275e529e44a59c54b933453d9bc902973178",
      "tree": "33ed0717b43683ba9f8a825c7012739a2146e943",
      "parents": [
        "5913148104f0b233d861fab2873befc865bf57c0"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jan 04 12:26:18 2013 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jan 04 15:15:16 2013 -0800"
      },
      "message": "Properly support ALPHA_8 bitmaps in all drawBitmap() methods\n\nChange-Id: I869993c59e0a0d76f369c09acbae711753908f48\n"
    },
    {
      "commit": "d6f3a50ff837d3c28897765fa780f9824913431c",
      "tree": "429de0eeae2a53b2bba714197557852470fa35ee",
      "parents": [
        "3cac46d17ea000aa09e7f704ffad517f2e1925ea",
        "0aa212e32ad0ef1333941e2c5228c7528da3c40f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 03 18:54:52 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 03 18:54:52 2013 -0800"
      },
      "message": "am 0aa212e3: am a74d1332: am 81cfb63e: am d13b23a4: Merge \"Revert \"fix potential memory leak\"\"\n\n* commit \u00270aa212e32ad0ef1333941e2c5228c7528da3c40f\u0027:\n  Revert \"fix potential memory leak\"\n"
    },
    {
      "commit": "3cac46d17ea000aa09e7f704ffad517f2e1925ea",
      "tree": "73b16e6809ed81d798bf568ec4f1055927e7d066",
      "parents": [
        "2d47603de2e1c20458975a88a951ef01435011c3",
        "6bbc79f26ee142daafe7d61973ed476f09307242"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 03 18:54:50 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 03 18:54:50 2013 -0800"
      },
      "message": "am 6bbc79f2: am f18eb323: am 767e1c01: am 9aac0c1b: Merge \"fix potential memory leak\"\n\n* commit \u00276bbc79f26ee142daafe7d61973ed476f09307242\u0027:\n  fix potential memory leak\n"
    },
    {
      "commit": "0aa212e32ad0ef1333941e2c5228c7528da3c40f",
      "tree": "c8e7057acfed9aefff1824cf1e6767247820971b",
      "parents": [
        "6bbc79f26ee142daafe7d61973ed476f09307242",
        "a74d1332cc9f63dc3187cfa74befb448dab5e77d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 03 18:53:06 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 03 18:53:06 2013 -0800"
      },
      "message": "am a74d1332: am 81cfb63e: am d13b23a4: Merge \"Revert \"fix potential memory leak\"\"\n\n* commit \u0027a74d1332cc9f63dc3187cfa74befb448dab5e77d\u0027:\n  Revert \"fix potential memory leak\"\n"
    },
    {
      "commit": "6bbc79f26ee142daafe7d61973ed476f09307242",
      "tree": "2ceec3069bf1e4c76449291566af19e5fcabb3ef",
      "parents": [
        "8a4e3fd2ab1e6a5f17d104ca738d3e07262d85ac",
        "f18eb323c38cd4407b16dc8eda1cc860bb100850"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 03 18:53:02 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 03 18:53:02 2013 -0800"
      },
      "message": "am f18eb323: am 767e1c01: am 9aac0c1b: Merge \"fix potential memory leak\"\n\n* commit \u0027f18eb323c38cd4407b16dc8eda1cc860bb100850\u0027:\n  fix potential memory leak\n"
    },
    {
      "commit": "81cfb63e9fc6ef72e5b488225fe9b7a43551fc9e",
      "tree": "b3b162d6efb8ab2d7b83783989384261fefc0d95",
      "parents": [
        "767e1c010c0664fa4bf7e7e32b840af4bbe0b0cf",
        "d13b23a436075262cc83f7502f7159de24546003"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 03 18:47:37 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 03 18:47:37 2013 -0800"
      },
      "message": "am d13b23a4: Merge \"Revert \"fix potential memory leak\"\"\n\n* commit \u0027d13b23a436075262cc83f7502f7159de24546003\u0027:\n  Revert \"fix potential memory leak\"\n"
    },
    {
      "commit": "767e1c010c0664fa4bf7e7e32b840af4bbe0b0cf",
      "tree": "bca418c2c05fcdd6ea5eb9fe3882877606155974",
      "parents": [
        "b7de79d02743cc3b5372be27be818d3227a34e2b",
        "9aac0c1b35ec666a18f320be99e6aa37d0bcf202"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 03 18:47:32 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 03 18:47:32 2013 -0800"
      },
      "message": "am 9aac0c1b: Merge \"fix potential memory leak\"\n\n* commit \u00279aac0c1b35ec666a18f320be99e6aa37d0bcf202\u0027:\n  fix potential memory leak\n"
    },
    {
      "commit": "957efcdc7331957df415faf9ab40f8bc08f5bd99",
      "tree": "2f0b03de5b247d9e0843c7f2bbcf90eb96dc879d",
      "parents": [
        "bc268b9014f211910e412a7fda96b6394ff2badc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 03 17:38:57 2013 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 03 17:38:57 2013 -0800"
      },
      "message": "Revert \"fix potential memory leak\"\n\nThis reverts commit bc268b9014f211910e412a7fda96b6394ff2badc\n\nChange-Id: I07f49bd0cfecc43bc761d2b0635c9915a8e30272\n"
    },
    {
      "commit": "bc268b9014f211910e412a7fda96b6394ff2badc",
      "tree": "bcbaed695f3c808c23e78b74ff970b536db7b30b",
      "parents": [
        "73e243c4d271907d10f10b301b2d6854e1f63fe4"
      ],
      "author": {
        "name": "Sungmin Choi",
        "email": "sungmin.choi@lge.com",
        "time": "Fri Dec 21 14:25:38 2012 +0900"
      },
      "committer": {
        "name": "Sungmin Choi",
        "email": "sungmin.choi@lge.com",
        "time": "Fri Jan 04 09:56:18 2013 +0900"
      },
      "message": "fix potential memory leak\n\nuse delete before return\n\nChange-Id: I5449ad90bb6910f057bd825b722c9803a7343c34\n"
    },
    {
      "commit": "e0ece54bd97e66f3a2ee586e49b9502e5de62b93",
      "tree": "4cde00a41e61ee152e197c6478068df3c2758431",
      "parents": [
        "65dcf5322f4b25c6e7a0fbaa42957296bcdec198",
        "5913148104f0b233d861fab2873befc865bf57c0"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jan 03 14:48:35 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 03 14:48:35 2013 -0800"
      },
      "message": "am 59131481: Merge \"Remove unnecessary \u0026 uninitialized variable Bug #7728929\"\n\n* commit \u00275913148104f0b233d861fab2873befc865bf57c0\u0027:\n  Remove unnecessary \u0026 uninitialized variable Bug #7728929\n"
    },
    {
      "commit": "15a65bfee5b0a98664eb5ebadad63c73e2c471f8",
      "tree": "3fe682fcf0893d426e60da1847465d9009ef7f31",
      "parents": [
        "dcfc836b457a87881da409e1acf251515f121446"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jan 03 14:22:40 2013 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jan 03 14:45:39 2013 -0800"
      },
      "message": "Remove unnecessary \u0026 uninitialized variable\nBug #7728929\n\nThe uninitialized variable was taken into account to compute\nthe hash of gradient cache entries, thus causing cache corruptions\nand sometimes infinite loops (it would also cause the cache to fill\nup.)\n\nChange-Id: Ic807a9bf901888b121a6a781a81dafc33075ed2a\n"
    },
    {
      "commit": "65dcf5322f4b25c6e7a0fbaa42957296bcdec198",
      "tree": "edbe184de6e191a0ceaf7faa733a6018281fc882",
      "parents": [
        "066b036cd6cc62696b035b757cedaf2802d55238",
        "44080524f083dc00704267a0919016388f0d5426"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jan 03 13:13:40 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 03 13:13:40 2013 -0800"
      },
      "message": "am 44080524: Merge \"Remove C++11 related warning\"\n\n* commit \u002744080524f083dc00704267a0919016388f0d5426\u0027:\n  Remove C++11 related warning\n"
    },
    {
      "commit": "dcfc836b457a87881da409e1acf251515f121446",
      "tree": "686ad8eef577ad0233f4b8bab40dad76a779bb8b",
      "parents": [
        "e0c93e085ff79b0adedfb7c316c395b9e06581f9"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jan 03 13:08:57 2013 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jan 03 13:08:57 2013 -0800"
      },
      "message": "Remove C++11 related warning\n\nChange-Id: I250ff7bd0ea49908e11b14c995d77312cd09a8b4\n"
    },
    {
      "commit": "2fa54cef47887808d006f473a7d4f8dd5fb76704",
      "tree": "bbb9393b5d3f45806ffa244e9cec64c5047e8efa",
      "parents": [
        "6805d4aa8262146594c81f37983a051c0b4b4674",
        "ca79cf69d09efa0c327e9b1237d86a119aea5da7"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Wed Dec 19 06:17:59 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 19 06:18:11 2012 -0800"
      },
      "message": "Merge \"Update framework to support r5967 of Skia.\" into master-chromium"
    },
    {
      "commit": "17697f234fafac8fb1bf1abdd3792fd4d4fee89c",
      "tree": "c2f7d341faab9d9df774c9bbb1b226aab5798c65",
      "parents": [
        "ab989ac313a996280aec61183636e3fb9ac21d9d",
        "eea47240b085fa0260011423774506b5375b9351"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@android.com",
        "time": "Mon Dec 17 11:03:45 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 17 11:03:45 2012 -0800"
      },
      "message": "am eea47240: am 4b0ed017: Merge \"BackupHelpers: Fix Typo\"\n\n* commit \u0027eea47240b085fa0260011423774506b5375b9351\u0027:\n  BackupHelpers: Fix Typo\n"
    },
    {
      "commit": "eea47240b085fa0260011423774506b5375b9351",
      "tree": "5cbada218156291fa00f74bf805ffb8353d46969",
      "parents": [
        "8149820c2b2df47028498571785ca009d99b5dc9",
        "4b0ed0178de2c9c21bd5514671b8b4282f6a03db"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@android.com",
        "time": "Mon Dec 17 11:02:04 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 17 11:02:04 2012 -0800"
      },
      "message": "am 4b0ed017: Merge \"BackupHelpers: Fix Typo\"\n\n* commit \u00274b0ed0178de2c9c21bd5514671b8b4282f6a03db\u0027:\n  BackupHelpers: Fix Typo\n"
    },
    {
      "commit": "8b2e2c8abc20de5ba3d938d8c559d0c5e2f9e356",
      "tree": "91f3547c71620ed81ba952a1d525c496dbec925f",
      "parents": [
        "c749261fea1010dfa2d1337bd210c81d13052540"
      ],
      "author": {
        "name": "You Kim",
        "email": "you.kim72@gmail.com",
        "time": "Mon Dec 17 03:36:10 2012 +0900"
      },
      "committer": {
        "name": "You Kim",
        "email": "you.kim72@gmail.com",
        "time": "Mon Dec 17 03:36:10 2012 +0900"
      },
      "message": "BackupHelpers: Fix Typo\n\ndelete --\u003e free\n\nChange-Id: Idbf7e677f8cc4a9a9d04e58b5cf7d0f1589c5211\n"
    },
    {
      "commit": "7345f24ff83fe647d75e3aed73e21a4569f90b32",
      "tree": "baf255976d623adae35bb9e3046976efe387e2c0",
      "parents": [
        "33b7978cf4ac280581108a88edc013a7b32d5112",
        "5780e196806b3741786b212866435593990f97ee"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Thu Dec 13 12:35:14 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 13 12:35:14 2012 -0800"
      },
      "message": "am 5780e196: am 5c0d6f99: am 9de88dad: Merge \"Fix bug #7724071 ImageView drawable is not loaded correctly when changing Locale\" into jb-mr1.1-dev\n\n* commit \u00275780e196806b3741786b212866435593990f97ee\u0027:\n  Fix bug #7724071 ImageView drawable is not loaded correctly when changing Locale\n"
    },
    {
      "commit": "5780e196806b3741786b212866435593990f97ee",
      "tree": "509fc940b432fd2dc47a5098dce4dc9b3c7af1e9",
      "parents": [
        "3042da88095760005a4a2424f188cb0392ab064a",
        "5c0d6f9980ed4684cbeefc28036dd9eeac474375"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Thu Dec 13 12:33:35 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 13 12:33:35 2012 -0800"
      },
      "message": "am 5c0d6f99: am 9de88dad: Merge \"Fix bug #7724071 ImageView drawable is not loaded correctly when changing Locale\" into jb-mr1.1-dev\n\n* commit \u00275c0d6f9980ed4684cbeefc28036dd9eeac474375\u0027:\n  Fix bug #7724071 ImageView drawable is not loaded correctly when changing Locale\n"
    },
    {
      "commit": "ca79cf69d09efa0c327e9b1237d86a119aea5da7",
      "tree": "0fd02203babacee45f23ba19f869f869f3de0f54",
      "parents": [
        "dbc8cee1d500702bc8b1a8cb6a6c0961ab4ae0ed"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Tue Aug 14 16:44:52 2012 -0400"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Wed Dec 12 15:28:54 2012 -0500"
      },
      "message": "Update framework to support r5967 of Skia.\n\nbug: 6906025\nChange-Id: Iefdb830ec3aa2ab3472c1c142484a7aa21788a15\n"
    },
    {
      "commit": "350993591974a8c7a2eca665f96304d296104789",
      "tree": "a00369450feb420fa9ec18f3d122e2a3593de8ec",
      "parents": [
        "2b89f73ef805022c4e8b9bad545c1aa0421e5586"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Wed Dec 12 11:52:03 2012 -0800"
      },
      "committer": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Wed Dec 12 11:52:03 2012 -0800"
      },
      "message": "Fix bug #7724071 ImageView drawable is not loaded correctly when changing Locale\n\naapt is not generating the correct CONFIG_LAYOUTDIR bit when a Drawable has a\nLTR and RTL version. It was generating instead the wrong CONFIG_SCREEN_LAYOUT bit.\n\nThis was linked to the fact that the layout direction bits are contained into the\nscreen layout bit.\n\nSo now make sure that we are generating the correct CONFIG_LAYOUTDIR bit.\n\nChange-Id: If17c84d31e6c128721ed97ee6711660b131bf941\n"
    },
    {
      "commit": "53018e520de44795e250e6165f9a2195adc73a98",
      "tree": "d4671c7469869e832c9a41545a8127d57e6b603d",
      "parents": [
        "b2de7c6d7e85bcd1d8d3007f4c16b76f01360909",
        "5bb3c730f5ebd2a0db1b02a8981c6fdbea6c1a2e"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Nov 30 17:00:10 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 30 17:00:10 2012 -0800"
      },
      "message": "Merge \"Apply dev. settings at runtime Bug #7434649\""
    },
    {
      "commit": "5bb3c730f5ebd2a0db1b02a8981c6fdbea6c1a2e",
      "tree": "b049bafac199be2d7e5cd4e86e4d8b03c1416616",
      "parents": [
        "db69db1510e77052f702a997894af5ca4b87e9e0"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Nov 29 17:52:58 2012 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Nov 30 16:29:33 2012 -0800"
      },
      "message": "Apply dev. settings at runtime\nBug #7434649\n\nChange-Id: I16f00eaa8a5eefd9f9849e196cf2cb1659215390\n"
    },
    {
      "commit": "69fcbccf476ffc55af4da4dfedc72c3de8f91ce8",
      "tree": "6b0ef52729f5dbdb5d28ec7c6bf66a5af154b1b9",
      "parents": [
        "db69db1510e77052f702a997894af5ca4b87e9e0"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Nov 30 15:29:15 2012 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Nov 30 15:29:15 2012 -0800"
      },
      "message": "Fix crash in TextDropShadowCache\n\nThe lengths used to copy/read arrays were completely wrong.\n\nChange-Id: If21f23a73cce59bbd32975760e6d728eeeb9e40d\n"
    },
    {
      "commit": "c4aa38a1e38ff65460e98b4768fc76022a66621a",
      "tree": "a51f64d4765c6d5f6e010f03661b3725a0501d66",
      "parents": [
        "70a649ca510704ccee5c6795803b3ab56082dad4",
        "c0da873ee25e1e67fd0454ebc2473a5c3cac002c"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Nov 29 14:32:45 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 29 14:32:45 2012 -0800"
      },
      "message": "am c0da873e: am a9473881: am 2435f98d: Merge \"Use the same interrupt/resume logic for all functor calls\" into jb-mr1.1-dev\n\n* commit \u0027c0da873ee25e1e67fd0454ebc2473a5c3cac002c\u0027:\n  Use the same interrupt/resume logic for all functor calls\n"
    },
    {
      "commit": "c0da873ee25e1e67fd0454ebc2473a5c3cac002c",
      "tree": "82f2460a490478857df6b062802d401c55ae4094",
      "parents": [
        "20b9edd805777bf9e603d8008650c23b031dac79",
        "a9473881eb066b41ea2fb3389b5c0031c2ab4f38"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Nov 29 14:26:33 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 29 14:26:33 2012 -0800"
      },
      "message": "am a9473881: am 2435f98d: Merge \"Use the same interrupt/resume logic for all functor calls\" into jb-mr1.1-dev\n\n* commit \u0027a9473881eb066b41ea2fb3389b5c0031c2ab4f38\u0027:\n  Use the same interrupt/resume logic for all functor calls\n"
    },
    {
      "commit": "b8dca777caafe1fd8c6ff6a1cc9e1bdd55f8e4c1",
      "tree": "764389e8a9926027b6f91da34a9b40890b64d958",
      "parents": [
        "a4caee0115b94c2803f155d850fc507db124891a",
        "059e12ccd20f5c249724a8362d6bac325334ea76"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Nov 29 13:58:57 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 29 13:58:57 2012 -0800"
      },
      "message": "Merge \"Use LruCache instead of GenerationCache in libhwui\""
    },
    {
      "commit": "059e12ccd20f5c249724a8362d6bac325334ea76",
      "tree": "7b15fa6bc6d2963715ea298a51cca3909c1e50c9",
      "parents": [
        "c653df46436a796556da2633f90353900344ce39"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Nov 28 17:35:51 2012 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Nov 29 11:44:02 2012 -0800"
      },
      "message": "Use LruCache instead of GenerationCache in libhwui\n\nChange-Id: Ic26ddc7151eb5462bcd243b21daf7187ed6d3bec\n"
    },
    {
      "commit": "288f20c6037fc726e69bcad556ea47756002d23e",
      "tree": "fadf50520491ef198a7a922e65141840c94fad34",
      "parents": [
        "43cdf6d6795424e93ef232570ab8bbd9ae912041",
        "518127549997fbf01fd3af59c4312e43f137e194"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@android.com",
        "time": "Wed Nov 28 15:05:03 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 28 15:05:03 2012 -0800"
      },
      "message": "am 51812754: am 25082e33: Merge \"Another optimization of glyph cache uploads\"\n\n* commit \u0027518127549997fbf01fd3af59c4312e43f137e194\u0027:\n  Another optimization of glyph cache uploads\n"
    },
    {
      "commit": "d15321bbf57ff7a4615076fefcee5e196c4fc796",
      "tree": "db1880599db3ea7f2faf16daba38f30d788510b1",
      "parents": [
        "f0afad008bf78576ff364bcd8bc93b7aa8090b34"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Nov 28 14:45:04 2012 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Nov 28 14:45:04 2012 -0800"
      },
      "message": "Use the same interrupt/resume logic for all functor calls\n\nbug:7093396\n\nThe functor was able to change the renderer\u0027s blend mode without it\nbeing restored in process mode. This single path of updating gl caches\nreduces likelihood of this occurring in the future.\n\nChange-Id: Ie367532f9c683299f02bc4f635d7cb31f96db39f\n"
    },
    {
      "commit": "7bb3cfe1cca4016ce95d3ef059761f4bb2d668bb",
      "tree": "b9440572c9d1e7fb3d82c26996444c3fe2ba7fbe",
      "parents": [
        "c88047bf86fd83e5b0204d26b35776cad97ed877"
      ],
      "author": {
        "name": "Sangkyu Lee",
        "email": "geteuid@gmail.com",
        "time": "Fri Nov 16 00:03:17 2012 +0900"
      },
      "committer": {
        "name": "Sangkyu Lee",
        "email": "geteuid@gmail.com",
        "time": "Wed Nov 28 09:28:50 2012 +0900"
      },
      "message": "Another optimization of glyph cache uploads\n\nPreviously, cache textures were updated whenever mCurrentCacheTexuture was changed.\nSince updating cache textures needs glTexSubImage2D call, frequent changing\nof mCurrentCacheTexture (which can easily happen when an app uses lots of unique glyphs\neven with precaching) caused many glTexSubImage2D calls and bad framerates.\nThis patch optimized isssueDrawCommand function. Consequently, changing mCurrentCacheTexture doesn\u0027t\ncause glTexSubImage2D call any more and it will improve font rendering performance.\n\nChange-Id: Id19d959fa0e69eeb2a39f83a57e311d7394586b2\nSigned-off-by: Sangkyu Lee \u003cgeteuid@gmail.com\u003e\n"
    },
    {
      "commit": "9a9f874c150feef05ebf7652abcb8f1b73397c51",
      "tree": "2a765db770399858dad96b9be35a9e693843a6a0",
      "parents": [
        "dbdcebdb2dfd6850880f85f0ef4f67e10073b0c1",
        "e2a2fe4ef3695baf3c7dca1637373ebd968a4704"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@android.com",
        "time": "Wed Nov 14 10:45:51 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 14 10:45:51 2012 -0800"
      },
      "message": "am e2a2fe4e: am be37b5fa: Merge \"Free resources in correct order in ResStringPool::uninit\"\n\n* commit \u0027e2a2fe4ef3695baf3c7dca1637373ebd968a4704\u0027:\n  Free resources in correct order in ResStringPool::uninit\n"
    },
    {
      "commit": "be37b5fa2473fd6ee5c1223472b29f212067761d",
      "tree": "2851c12021634f4f512bf4f7dac0ed68dcceda05",
      "parents": [
        "87ed0a10f5cb563c0a06d22a40472b4e88348e9b",
        "a1d82ff39315c962fbd6839f7a581ffaafe675e4"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@android.com",
        "time": "Wed Nov 14 09:33:48 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 14 09:33:49 2012 -0800"
      },
      "message": "Merge \"Free resources in correct order in ResStringPool::uninit\""
    },
    {
      "commit": "ffa68f04b60fc21916540f1c1aaa6cd3dd3eedbb",
      "tree": "113ca6f112d99c6045a6f6b8683d19d91ad4977b",
      "parents": [
        "d1a448653d383cb164fceb3d102c1b8a3028279b",
        "7f92d516a90ec1474d4df798585ac26239aa83fd"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Nov 01 14:42:08 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 01 14:42:08 2012 -0700"
      },
      "message": "am 7f92d516: am 7494f0c0: am a84c9639: Merge \"Avoid tesselation path when useCenter is set\" into jb-mr1-dev\n\n* commit \u00277f92d516a90ec1474d4df798585ac26239aa83fd\u0027:\n  Avoid tesselation path when useCenter is set\n"
    },
    {
      "commit": "7f92d516a90ec1474d4df798585ac26239aa83fd",
      "tree": "4943ea5745840400b5b248199621cff30946326a",
      "parents": [
        "72789bdcff08be2121081013bb39675b170c66c5",
        "7494f0c04b1abd010207ee5c7e8c9aff6d69c956"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Nov 01 14:40:04 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 01 14:40:04 2012 -0700"
      },
      "message": "am 7494f0c0: am a84c9639: Merge \"Avoid tesselation path when useCenter is set\" into jb-mr1-dev\n\n* commit \u00277494f0c04b1abd010207ee5c7e8c9aff6d69c956\u0027:\n  Avoid tesselation path when useCenter is set\n"
    },
    {
      "commit": "7fae5216d24ebe67e22777ab933689dbcbc001b9",
      "tree": "cafed3ae6a4d8bfad73b81ecc2325ce906e4537d",
      "parents": [
        "dbcec903c858b65c78620e2b06238e42ff4d12da"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Nov 01 11:27:03 2012 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Nov 01 11:27:03 2012 -0700"
      },
      "message": "Avoid tesselation path when useCenter is set\n\nbug:7458300\n\nThe tesselation path doesn\u0027t handle sharp joins.\n\nChange-Id: I28bf03f3b72fc584a205daa40934dda17031098f\n"
    },
    {
      "commit": "fdf85b6b888198eaffb3d3ed7d26226c1ba9efc8",
      "tree": "2efc3b9ebed9caf3398647f882178d77069948bb",
      "parents": [
        "cd0e1c91a8a4d78a00cf1ffc270a170a4a64f6a7",
        "c59b2f9a774c024fe8c893d956cd2749a6bd2673"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Wed Oct 24 12:34:20 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 24 12:34:21 2012 -0700"
      },
      "message": "Merge \"More changes to fix PDK build:\""
    },
    {
      "commit": "c59b2f9a774c024fe8c893d956cd2749a6bd2673",
      "tree": "b039afcd6164ad08a273665b6320d98aa5b5aea5",
      "parents": [
        "e0e9e9462c8035c1883a0bd16ee62d861c77e550"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Wed Oct 24 12:31:10 2012 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Wed Oct 24 12:31:10 2012 -0700"
      },
      "message": "More changes to fix PDK build:\n\nmove screencap back to frameworks/base\nmove libdiskusage to frameworks/native\n\nChange-Id: I8abe425c4bbf305bbe8650094c40c16df8c6d5e4\n"
    },
    {
      "commit": "4a82a0fc09f4743b59b5de483329fb76e60aab07",
      "tree": "6ddc08eef33139d39b2d9934a0c666fa15fd6279",
      "parents": [
        "be815669d1c41a95f79222aaa7caa4462bddfb2d",
        "f5fa64f24b0ee6aa53ac2803590e8729122c445b"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Tue Oct 23 15:51:24 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 23 15:51:24 2012 -0700"
      },
      "message": "am f5fa64f2: am fbba753f: Merge \"Handle offscreen animations correctly\" into jb-mr1-dev\n\n* commit \u0027f5fa64f24b0ee6aa53ac2803590e8729122c445b\u0027:\n  Handle offscreen animations correctly\n"
    },
    {
      "commit": "fbba753f62f13a12d9287c67921d1ea60e92768d",
      "tree": "fc7c9718a6056e41d0923d63107c702f17452972",
      "parents": [
        "b75ade9cce02dffb967ff4719381254585074c58",
        "3561d062ff01f3455c984e4cfcd101a64a2e902f"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Tue Oct 23 15:45:41 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 23 15:46:04 2012 -0700"
      },
      "message": "Merge \"Handle offscreen animations correctly\" into jb-mr1-dev"
    },
    {
      "commit": "3561d062ff01f3455c984e4cfcd101a64a2e902f",
      "tree": "200f8761630bcb930a6b5fa4ddf410e54a958932",
      "parents": [
        "74437532fe2a3e9ebd15c61327fd3f2b68c299b3"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Tue Oct 23 12:54:51 2012 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Tue Oct 23 15:30:15 2012 -0700"
      },
      "message": "Handle offscreen animations correctly\n\nA bug in software rendering caused animations on views that are offscreen\nto not get drawn, therefore the animation doesn\u0027t continue (since old-style\nanimations depend on the logic in the drawing code to keep running). Fix is\nto special case the isAnimating case in ViewRoot to go ahead and schedule\na traversal even if the dirty rect does not intersect with the visible region.\n\nIssue #7396035 Animations starting offscreen don\u0027t draw run/end/draw properly (sw rendering only)\n\nChange-Id: Iae25b3a424ddc5a16ba431ecd68cf42d5500db3f\n"
    },
    {
      "commit": "2635e7431a74b89c338ea9d56715f94b9c328cc1",
      "tree": "a2d1729a514438f3f32be1ef01987e67b00a0191",
      "parents": [
        "c3b9c76b61502ff3e0c0681298f1ed45444b0eac",
        "d04fe3c1aeaf4ce63f6a6f3def61a8cc5faff705"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Oct 23 10:53:40 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 23 10:53:40 2012 -0700"
      },
      "message": "am d04fe3c1: am 04c8d402: Merge \"Properly draw the window background on window resize Bug #7385090\" into jb-mr1-dev\n\n* commit \u0027d04fe3c1aeaf4ce63f6a6f3def61a8cc5faff705\u0027:\n  Properly draw the window background on window resize Bug #7385090\n"
    },
    {
      "commit": "41308e2936c768103d0e9c82500e97938d6797f1",
      "tree": "b31868af7c192446f213156bd10ae57211d44712",
      "parents": [
        "74437532fe2a3e9ebd15c61327fd3f2b68c299b3"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Oct 22 20:02:43 2012 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Oct 22 20:02:43 2012 -0700"
      },
      "message": "Properly draw the window background on window resize\nBug #7385090\n\nThis change gets rid of two silly asumptions:\n- That a layer needs to be cleared with opaque black (it shouldn\u0027t,\nit\u0027s already cleared to transparent and the view will cover it up\nwith its own background)\n- The the clip should be dirty at the beginning of a frame only\nwhen the render target is opaque\n\nChange-Id: I415b6d3cab196057fb0281419a53fef601a44e28\n"
    },
    {
      "commit": "85c1aef929b40f6fae31938b9c71160865d67f81",
      "tree": "e936c66a5097f4a41ef488fe8dc42b8c755801a8",
      "parents": [
        "dfef8761a42d420f1489083ebf1e92c78848f937",
        "6534dd0275c8d01de7e7400ba239d203c37c8164"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon Oct 22 15:52:20 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 22 15:52:20 2012 -0700"
      },
      "message": "am 6534dd02: am 74261d84: Merge \"Don\\\u0027t null the reference to Bitmap pixels until we\\\u0027re really ready\" into jb-mr1-dev\n\n* commit \u00276534dd0275c8d01de7e7400ba239d203c37c8164\u0027:\n  Don\u0027t null the reference to Bitmap pixels until we\u0027re really ready\n"
    },
    {
      "commit": "547e66531d521eb1eadac87edb0f79f8c2f1bbe0",
      "tree": "b7687d438e358ace879a20228d0c2c6a820d0c58",
      "parents": [
        "d6e3ad54907ec085aa41e5c77296e9f385c22e67"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon Oct 22 15:07:26 2012 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon Oct 22 15:25:19 2012 -0700"
      },
      "message": "Don\u0027t null the reference to Bitmap pixels until we\u0027re really ready\n\nA change in the VM triggers a native memory error more aggressively than before,\nshowing that there\u0027s a bug in the logic of recycling bitmaps. Since the pixel\nmemory is allocated on the Java heap, nulling out the reference to that memory\nin the Java level Bitmap object can cause that memory to get collected at any time.\nMeanwhile, we may have a reference to that memory at the native level for rendering\npurposes, causing an error if/when we access that memory after it has been collected\nby the VM.\n\nThe fix is to avoid setting the reference to the pixels to null unless we are\nnot referring to it in native code. This is determined at the time we call\nrecycle() - we return a boolean to indicate whether the native code is still\nusing the memory. if not, the Java code can null out the reference and allow the\nVM to collect it. Otherwise, it will get collected later when the encompassing\nBitmap object is collected.\n\nIssue #7339156 HTML5 tests crash the app (Vellamo)\n\nChange-Id: I3a0d6b9a6c5dd3b86cc2b0ff7719007e774b5e3c\n"
    },
    {
      "commit": "be432fa01cc5995bcab162369c47454903a5ae55",
      "tree": "438fad7b39800564cf2c37d401bc9e89f8a8b3e6",
      "parents": [
        "e2c0feb53651cd943c91a8649ffec61efb2ae4fa",
        "eb78cf538f87301c1612bf081ae2d5f93cae50f0"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Oct 19 10:45:41 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 19 10:45:41 2012 -0700"
      },
      "message": "am eb78cf53: am 8b946c05: Merge \"Defer layer rendering to avoid stalls Bug #7326824\" into jb-mr1-dev\n\n* commit \u0027eb78cf538f87301c1612bf081ae2d5f93cae50f0\u0027:\n  Defer layer rendering to avoid stalls Bug #7326824\n"
    },
    {
      "commit": "7c25aab491707f7324f9941b8cfa9bd2b4b97e76",
      "tree": "2e670c818c33bf2ead5342dad73b48e000d2e94c",
      "parents": [
        "b2e2f2470693e78baed20617f989d9a166864ed4"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Oct 18 15:05:02 2012 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Oct 18 15:05:02 2012 -0700"
      },
      "message": "Defer layer rendering to avoid stalls\nBug #7326824\n\nWhen a layer is taken out of the cache and initialized it gets cleared\nto prepare it for future rendering. This triggers the following sequence\nof operations:\n\nglBindFramebuffer(layer.fbo)\nattach texture storage to FBO\nglClear()\nglBindFramebuffer(defaultFbo)\n\nThe clear forces a resolve on tilers which stalls the CPU for a little\nwhile, thus producing jank during animations. This change moves the\nclear to the next frame when we know we will have to execute a resolve\nanyway.\n\nChange-Id: Ic1939c25df20ed65a4c48dc81ee549b2cd8b6ec3\n"
    },
    {
      "commit": "3786a9b97a5a149c7f8a68a0f6c4cc4c063be7ac",
      "tree": "228738ed3d16954b3c6a1c56651c3603be772433",
      "parents": [
        "6296d230034999d4d0d5b84fa70c2a120bdea484",
        "07a9ebd1a01bc2819a90ddc98263a24bd6459768"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Oct 17 19:21:20 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 17 19:21:20 2012 -0700"
      },
      "message": "am 07a9ebd1: am b8460d15: Merge \"Take into account the texture layer\\\u0027s transform for clipping Bug #7370212\" into jb-mr1-dev\n\n* commit \u002707a9ebd1a01bc2819a90ddc98263a24bd6459768\u0027:\n  Take into account the texture layer\u0027s transform for clipping Bug #7370212\n"
    }
  ],
  "next": "b2e2f2470693e78baed20617f989d9a166864ed4"
}
