)]}'
{
  "log": [
    {
      "commit": "fed60b0c640828b320f56293c8bebc43fd2b1da8",
      "tree": "572599b7517c31e69aff7db203b6fe375c3428a9",
      "parents": [
        "2df11639dd1dcfd9adca54235255d14249fe51fd"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Tue Oct 27 16:53:05 2015"
      },
      "committer": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Tue Oct 27 18:27:05 2015"
      },
      "message": "Rename \"libchromeos\" into \"libbrillo\"\n\nRenamed libchromeos[-.*] libraries into libbrillo-...\n\nBUG: 24872993\nChange-Id: Ibab1623b6a08a55cae3662e941d0d6644ff14df4\n"
    },
    {
      "commit": "2df11639dd1dcfd9adca54235255d14249fe51fd",
      "tree": "6fc1974547f8d4a216d02cac6cc548e6bf90aa3e",
      "parents": [
        "76601775391e2593c8e12a594a1b97271254c092"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Fri Oct 23 20:43:05 2015"
      },
      "committer": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Fri Oct 23 21:23:40 2015"
      },
      "message": "libchromeos: Compile missing unit tests on Android\n\nApparently some of the unit tests for libchromeos weren\u0027t being\ncompiled on Brillo/Android. Add them to the make file and make\na few tweaks to make sure they compile successfully.\n\nChange-Id: I324d4bb0b89ac96e564cd107a5bb3751ebd4b9ae\n"
    },
    {
      "commit": "76601775391e2593c8e12a594a1b97271254c092",
      "tree": "b59a331e2133f88188a08f643311571db20510f2",
      "parents": [
        "d4d2d739c3b22e686881df519fc40e6f331d5eae"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Fri Oct 23 20:46:55 2015"
      },
      "committer": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Fri Oct 23 20:48:57 2015"
      },
      "message": "Fix Any::TypeMismatch unit test\n\nThe expected error message relied too much on demangling of std::string.\n\nOn Android, it shows as std::__1::basic_string\u003c...\u003e. So just use a\nrough regex to match the error message but do not use it verbatim.\n\nChange-Id: I2c6c7810bf028118cf2ebeb7bd04f47d1da835e5\n"
    },
    {
      "commit": "d4d2d739c3b22e686881df519fc40e6f331d5eae",
      "tree": "fcbc4334e3c49ae80c27c440bef440542ffa8ba0",
      "parents": [
        "8d6301aa107d64d92bb0257ded486591391bfe41"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Fri Oct 23 20:44:51 2015"
      },
      "committer": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Fri Oct 23 20:48:57 2015"
      },
      "message": "Fix Any::Buffer.Store_Objects unit test\n\nAny normally embeds small data objects (with the size of up to\ndouble). This test verifies that larger objects are stored externally.\n\nHowever 10 bytes is not large enough and on some platform due to data\nalignment/padding a bit larger data than that of double can still be\nstored inside Any itself. Use 20 bytes to guarantee that Any cannot\ncontain the buffer of that size inside.\n\nChange-Id: Iceaa0efbc74570f17d2cc70aa8d6537cc8bd2be5\n"
    },
    {
      "commit": "8d6301aa107d64d92bb0257ded486591391bfe41",
      "tree": "8ca649c1123a8a7371220a263c63f4921f0adcf4",
      "parents": [
        "b213545b6f9a0b873e763da0ce4f03a977f85d2a"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Fri Oct 23 18:07:54 2015"
      },
      "committer": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Fri Oct 23 20:05:30 2015"
      },
      "message": "Remove Any::GetType() and rely on type name when comparing types\n\nstd::type_info::operator\u003d\u003d() uses pointers to type names on some\nimplementations (e.g. gcc with __GXX_MERGED_TYPEINFO_NAMES defined).\n\nThis leads to problems such that types created in different translation\nunits could be treated as different even though they refer to the\nsame type.\n\nWorking with type_info directly seems unreliable and names of the\ntypes should be used in comparisons directly.\n\nFixed the implementation of Any::IsTypeCompatible\u003cT\u003e() to use type\nnames and remove Any::GetType() to avoid any future problems for\nclient code to compare the type information manually.\n\nAdded Any::GetTypeName() and Any::GetUndecoratedTypeName() for\nconvenience.\n\nBUG: 25132472\nChange-Id: I8ba27a611c8edad2260dbed1c2f15633c8b3a3fe\n"
    },
    {
      "commit": "b213545b6f9a0b873e763da0ce4f03a977f85d2a",
      "tree": "674487be428e0950adfd95b8407d91939a375128",
      "parents": [
        "378e75c7e1261afea968228aae1713df7ebc21a0"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Mon Oct 19 18:23:51 2015"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 19 20:18:17 2015"
      },
      "message": "Fix build break on ChromeOS\n\nTest protobufs need to be generated in \"brillo\" directory now, not\nin \"chromeos\" to match the include paths.\n\nBUG: 24872993\nChange-Id: Ib04473b1395f67fead866e2d0e478835b904fb75\n"
    },
    {
      "commit": "378e75c7e1261afea968228aae1713df7ebc21a0",
      "tree": "27d20bcaa3eb0ededb69557896a7d7193a01f6ea",
      "parents": [
        "8d0597a81416dfa3a3c6513718f09077cce31039"
      ],
      "author": {
        "name": "Samuel Tan",
        "email": "samueltan@google.com",
        "time": "Fri Oct 16 19:57:49 2015"
      },
      "committer": {
        "name": "Samuel Tan",
        "email": "samueltan@google.com",
        "time": "Fri Oct 16 23:47:16 2015"
      },
      "message": "libchromeos: minijail: do not use ld preload API functions on Android\n\nWhen building for Android, do not use the minijail_run_pid_pipe* API\nfuntions that use LD_PRELOAD. Instead, use the *_no_preload versions\nof these functions.\n\nWhile there, replace the use of minijail_run_pid_pipe() with\nminijail_run_pid_pipes().\n\nBUG: 24577038\nChange-Id: Ie29a0f762e7810587f49199679dcc9d90acd465d\nTEST: unit tests pass.\n"
    },
    {
      "commit": "8d0597a81416dfa3a3c6513718f09077cce31039",
      "tree": "68d16751554154badf0e514506b96317d0113533",
      "parents": [
        "9ed0cab99f18acb3570a35e9408f24355f6b8324"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Tue Oct 13 23:25:04 2015"
      },
      "committer": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Tue Oct 13 23:25:04 2015"
      },
      "message": "Fixed missed renames from previous CL\n\ndaemon.cc has these renamed, but not daemon.h. Not sure how this\ncompiled locally.\n\nChange-Id: Ia7efed2764dc1d8580cfa9f16518459ec3732be6\n"
    },
    {
      "commit": "9ed0cab99f18acb3570a35e9408f24355f6b8324",
      "tree": "60e3b4c2822b812b3218489a9a6d835df1e8ca6e",
      "parents": [
        "eabfe23a51c91a103042793ac2d5c28170994e1f"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Mon Oct 12 22:21:28 2015"
      },
      "committer": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Tue Oct 13 23:10:03 2015"
      },
      "message": "Move chromeos symbols into brillo namespace\n\nAnd move the include files into \"brillo\" directory instead of \"chromeos\"\n\nBUG: 24872993\nTEST\u003dbuilt aosp and brillo and unit tests pass on dragonoboard\n\nChange-Id: Ieb979d1ebd3152921d36cd15acbd6247f02aae69\n"
    },
    {
      "commit": "eabfe23a51c91a103042793ac2d5c28170994e1f",
      "tree": "70c061cdbcc3480e75b2e3f0ee265bc4112d5d2a",
      "parents": [
        "18ebc5589473df92a6c9a8e08ccdc87a856fd4ba"
      ],
      "author": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@google.com",
        "time": "Fri Oct 09 21:26:25 2015"
      },
      "committer": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@google.com",
        "time": "Fri Oct 09 21:27:17 2015"
      },
      "message": "libchromeos: Add osrelease_reader libchromeos-core.\n\nBUG: 24585672\nTEST: compiles. Unit tests pass.\n\nChange-Id: I7d84a673c85ba8955e03598f2fe4577de7ad5fef\n"
    },
    {
      "commit": "18ebc5589473df92a6c9a8e08ccdc87a856fd4ba",
      "tree": "a7bb3c5947989d92600ef86009acdaa6b5de427f",
      "parents": [
        "a6a66ba0d55d7cd7851bcf52ec2911014733a712"
      ],
      "author": {
        "name": "Ari Hausman-Cohen",
        "email": "arihc@google.com",
        "time": "Wed Sep 30 17:46:49 2015"
      },
      "committer": {
        "name": "Ari Hausman-Cohen",
        "email": "arihc@google.com",
        "time": "Fri Oct 02 23:13:35 2015"
      },
      "message": "Adding module tags so tests get built by default.\n\nAdding tag debug, now tests will be built in\nBrillo eng/userdebug makes.\n\nChange-Id: Ib4b7891d965f484e10b110c911cf4308a1113a1c\n"
    },
    {
      "commit": "a6a66ba0d55d7cd7851bcf52ec2911014733a712",
      "tree": "3bc681f726290ad538bb694f5e71f318362a005b",
      "parents": [
        "fd2f4da169e350b18d0866db720698feb1440118",
        "4a71a24c29810f08dfa39610e2c6f22e134e3df1"
      ],
      "author": {
        "name": "Jorge Lucangeli Obes",
        "email": "jorgelo@google.com",
        "time": "Wed Sep 30 22:14:23 2015"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 30 22:14:23 2015"
      },
      "message": "Merge \"Fix log message.\""
    },
    {
      "commit": "fd2f4da169e350b18d0866db720698feb1440118",
      "tree": "75e65b4ee9199c6f06456343ff8436a9af758ea0",
      "parents": [
        "2f5e1dcf721f85bb86ad9079cf3838b52540e3a9"
      ],
      "author": {
        "name": "Ari Hausman-Cohen",
        "email": "arihc@google.com",
        "time": "Wed Sep 30 21:57:09 2015"
      },
      "committer": {
        "name": "Ari Hausman-Cohen",
        "email": "arihc@google.com",
        "time": "Wed Sep 30 21:57:09 2015"
      },
      "message": "Revert \"Adding module tags so tests get built by default.\"\n\nThis reverts commit 2f5e1dcf721f85bb86ad9079cf3838b52540e3a9.\n\nChange-Id: Ie81210fab88ee4ef35139ef64fdc9a61ba0a42fa\n"
    },
    {
      "commit": "4a71a24c29810f08dfa39610e2c6f22e134e3df1",
      "tree": "b1b89a5b43889e2354eee796e8407f24b17fb5e9",
      "parents": [
        "9a03be71872432e97207ae65ff8b1ef9180018fd"
      ],
      "author": {
        "name": "Jorge Lucangeli Obes",
        "email": "jorgelo@google.com",
        "time": "Wed Sep 30 21:20:00 2015"
      },
      "committer": {
        "name": "Jorge Lucangeli Obes",
        "email": "jorgelo@google.com",
        "time": "Wed Sep 30 21:38:11 2015"
      },
      "message": "Fix log message.\n\n\"Uninterested\" doesn\u0027t mean what you think it means.\n\nBug: None\n\nChange-Id: If697cc5050b9dc729f80c884737af998f0f94611\n"
    },
    {
      "commit": "2f5e1dcf721f85bb86ad9079cf3838b52540e3a9",
      "tree": "fefec078a618af85b7fdef06c39c7eae323359cd",
      "parents": [
        "eb5b42f8c442031c15b6e59f8e66a580027c2724"
      ],
      "author": {
        "name": "Ari Hausman-Cohen",
        "email": "arihc@google.com",
        "time": "Wed Sep 30 17:46:49 2015"
      },
      "committer": {
        "name": "Ari Hausman-Cohen",
        "email": "arihc@google.com",
        "time": "Wed Sep 30 17:46:49 2015"
      },
      "message": "Adding module tags so tests get built by default.\n\nAdding tag debug, now tests will be built in eng/userdebug makes.\n\nChange-Id: I6ed5a77a7a95f316b9da5e9e83bb74a064fea8ce\n"
    },
    {
      "commit": "eb5b42f8c442031c15b6e59f8e66a580027c2724",
      "tree": "75e65b4ee9199c6f06456343ff8436a9af758ea0",
      "parents": [
        "c2f4c40ed24d72fde8c26267d12fd6d0e84cdca5",
        "f9994ed608b9c3a732c9ecb1c3a3b6f6c9c2b584"
      ],
      "author": {
        "name": "Ningyuan Wang",
        "email": "nywang@google.com",
        "time": "Tue Sep 29 20:04:33 2015"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 29 20:04:33 2015"
      },
      "message": "Merge \"libchromeos: add support for synchronous PropertySet::Get to dbus\""
    },
    {
      "commit": "f9994ed608b9c3a732c9ecb1c3a3b6f6c9c2b584",
      "tree": "07618e6dac602d95467bd1fc551aa6bdc84a5f00",
      "parents": [
        "9a03be71872432e97207ae65ff8b1ef9180018fd"
      ],
      "author": {
        "name": "Ningyuan Wang",
        "email": "nywang@google.com",
        "time": "Tue Sep 29 00:30:20 2015"
      },
      "committer": {
        "name": "Ningyuan Wang",
        "email": "nywang@google.com",
        "time": "Tue Sep 29 00:30:20 2015"
      },
      "message": "libchromeos: add support for synchronous PropertySet::Get to dbus\n\nThis CL adds the support for the newly added GetAndBlock function\nin libchrome dbus library.\nThis will allow us to use a synchronous version of PropertySet::Get.\n\nBug: 24131409\nTEST\u003drun tests on a veyron_jaq chromebook\n\nChange-Id: I926e480c14ff2627fdad5351e438e86a03a721aa\n"
    },
    {
      "commit": "c2f4c40ed24d72fde8c26267d12fd6d0e84cdca5",
      "tree": "ce77a15f35ab240ca3ddae138baf7b666b046202",
      "parents": [
        "9a03be71872432e97207ae65ff8b1ef9180018fd"
      ],
      "author": {
        "name": "Scott James Remnant",
        "email": "keybuk@google.com",
        "time": "Mon Sep 28 23:09:48 2015"
      },
      "committer": {
        "name": "Scott James Remnant",
        "email": "keybuk@google.com",
        "time": "Mon Sep 28 23:09:48 2015"
      },
      "message": "libchromeos-host: build subset, enabling non-Linux hosts\n\nAdjust the libchromeos-host build so that it doesn\u0027t include the\ncomponents that rely on Linux-specific signalfd() and openat()\nfunctionality.\n\nFor the error number list, don\u0027t include Linux-specific errors.\n\nFinally replace setresuid() and setresgid() with setreuid() and\nsetregid() on non-Linux platforms.\n\nBUG\u003d24073089\nTEST\u003dlibchromeos-host builds on Mac,\n  dbus-binding-generator builds and runs on a Mac host,\n  peerd\u0027s build uses dbus-binding-generator on a Mac host.\n\nChange-Id: Ic68a097d9a007c3392fcdb88b48ed8b27563e45a\n"
    },
    {
      "commit": "9a03be71872432e97207ae65ff8b1ef9180018fd",
      "tree": "dd862350ef1767ab1e9404ef9fc3673a2039a864",
      "parents": [
        "49fb1ce7956110497bd7cad33b3a954faca4b77c",
        "f107b6712812b6035983cbc29ab5d5a51c02937f"
      ],
      "author": {
        "name": "Scott James Remnant",
        "email": "keybuk@google.com",
        "time": "Fri Sep 25 20:24:28 2015"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 25 20:24:28 2015"
      },
      "message": "Merge \"libchromeos: remove Linux host build restriction\""
    },
    {
      "commit": "f107b6712812b6035983cbc29ab5d5a51c02937f",
      "tree": "663a9b969565d0032254698e79700960407f77bd",
      "parents": [
        "736346392699216622881933f3260c67c6f6f9a1"
      ],
      "author": {
        "name": "Scott James Remnant",
        "email": "keybuk@google.com",
        "time": "Thu Sep 24 23:32:06 2015"
      },
      "committer": {
        "name": "Scott James Remnant",
        "email": "keybuk@google.com",
        "time": "Fri Sep 25 00:09:57 2015"
      },
      "message": "libchromeos: remove Linux host build restriction\n\nNow that minijail and libchrome are built on non-Linux, this isn\u0027t\nneeded.\n\nBUG\u003d24073089\nTEST\u003dmm on a mac\n\nChange-Id: I247ac9c0ba38d86919312fe8a0c563fd520c45fb\n"
    },
    {
      "commit": "49fb1ce7956110497bd7cad33b3a954faca4b77c",
      "tree": "34b7e6c58c262307ed7c6ab16db0514aca7c036a",
      "parents": [
        "ceda6cb7f3944c1bf10c73ab6252b940bcca996f"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Thu Sep 24 23:25:15 2015"
      },
      "committer": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Thu Sep 24 23:58:50 2015"
      },
      "message": "Add stream_utils::CopyData() to copy data between two streams\n\nThis is a useful utility function to copy data from one stream\ninto another. It can be used in a variety of cases, e.g. reading\ndata from a stream into memory - create memory stream and copy data\nfrom source stream into it.\n\nChange-Id: Iccdd29966efaf76b90f5d89faa5bfbf80e8586f3\n"
    },
    {
      "commit": "ceda6cb7f3944c1bf10c73ab6252b940bcca996f",
      "tree": "98cf59f5a14e88a721600eb364420577d6eabac0",
      "parents": [
        "736346392699216622881933f3260c67c6f6f9a1"
      ],
      "author": {
        "name": "Ningyuan Wang",
        "email": "nywang@google.com",
        "time": "Thu Sep 17 18:02:38 2015"
      },
      "committer": {
        "name": "Ningyuan Wang",
        "email": "nywang@google.com",
        "time": "Wed Sep 23 23:44:04 2015"
      },
      "message": "libchromeos: add support for synchronous PropertySet::Set to dbus\n\nThis CL adds the support for the newly added SetAndBlock function\nin libchrome dbus library.\nThis will allow us to use a synchronous version of PropertySet::Set.\n\nBug: 24131409\nTEST\u003drun tests on a veyron_jaq chromebook\n\nChange-Id: I1bf14e187e69fbc128bb0c696557575fbf6f22fa\n"
    },
    {
      "commit": "736346392699216622881933f3260c67c6f6f9a1",
      "tree": "4cd353a9d97d82eb8c1b5471d51f92119cc1c100",
      "parents": [
        "1cca93461f2894eb345b97bb9e8ff6724a5057c8"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Tue Sep 15 21:54:42 2015"
      },
      "committer": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Tue Sep 15 21:54:42 2015"
      },
      "message": "Fix libchromeos unittests\n\nA CL (https://android-review.googlesource.com/#/c/169912) added extra\ncall to get the status code of request for logging which broke\nHttpCurlTransportAsyncTest.StartAsyncTransfer due to an unexpected\nmethod call of a mock.\n\nAlso, FileStreamTest.FromFileDescriptor_WriteNonBlocking took over\n4 seconds on dragonboard and there is no real reason to create\na 10 MB buffer to test pipes which use only 64K. Reducing the buffer\nsize brought the test execution time to 136 ms.\n\nBUG: 23942116\nChange-Id: Ib0bc5ac6ffc7bd96ef3946c31d0cda283756bd82\n"
    },
    {
      "commit": "1cca93461f2894eb345b97bb9e8ff6724a5057c8",
      "tree": "760178e6d2c6ed36f7dd2fe23aca2cf2e8758fea",
      "parents": [
        "37b6fb56a54e36b72fc9a0ea03b7d4a01a086511",
        "f4f82e32a39804d6f356aa30310544c8cf53db93"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Wed Sep 09 17:59:40 2015"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 09 17:59:40 2015"
      },
      "message": "Merge \"Improve default logging when sending asynchronous HTTP requests\""
    },
    {
      "commit": "37b6fb56a54e36b72fc9a0ea03b7d4a01a086511",
      "tree": "39567fc94e1f18ef8390fc0b01d323ec3566f88e",
      "parents": [
        "a0b423e8f8020ef616ffc1894b3dfca455941d99"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@google.com",
        "time": "Wed Sep 09 13:48:57 2015"
      },
      "committer": {
        "name": "Daniel Erat",
        "email": "derat@google.com",
        "time": "Wed Sep 09 13:51:15 2015"
      },
      "message": "Add BinderWatcher.\n\nAdd a class that bridges between base::MessageLoop and\nlibbinder. When instantiated, the binder FD will be watched\nand libbinder will be notified about transactions.\n\nChange-Id: If68d2765fa5161196489c4004360f2d0c56e59d0\n"
    },
    {
      "commit": "f4f82e32a39804d6f356aa30310544c8cf53db93",
      "tree": "fdd766da99d9f47882039ab2a5728ea958b9b2a7",
      "parents": [
        "0a1d7af5834f6b070b14f11ffb134634e017a657"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Tue Sep 08 21:57:51 2015"
      },
      "committer": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Tue Sep 08 21:57:51 2015"
      },
      "message": "Improve default logging when sending asynchronous HTTP requests\n\nWhen analyzing production logs (with log level \u003d 0/INFO) it is difficult\nto judge when HTTP request succeed or fail. With --v\u003d2 enabled, all of\nthis is provided, but this is not good for production devices and their\nlogs.\n\nAdded request/response tracking messages to LOG(INFO) level to make\nlog analysis easier.\n\nBUG: 23791756\nChange-Id: Ie3bf48d45d6facb02a6d26176d10a5612d4e683b\n"
    },
    {
      "commit": "a0b423e8f8020ef616ffc1894b3dfca455941d99",
      "tree": "09c8211dc895616d29da8e7f89ed8b89d6faf761",
      "parents": [
        "0a1d7af5834f6b070b14f11ffb134634e017a657"
      ],
      "author": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@google.com",
        "time": "Tue Sep 08 17:07:41 2015"
      },
      "committer": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@google.com",
        "time": "Tue Sep 08 17:09:32 2015"
      },
      "message": "libchromeos: Compile unit tests for process_reaper.cc\n\nBUG: 23817518\nChange-Id: I9178adb56b888a2151f2290d18a20671fc663fed\nTEST: unit tests.\n"
    },
    {
      "commit": "0a1d7af5834f6b070b14f11ffb134634e017a657",
      "tree": "e0ba26509a117562a2afbbed1f7a02f23505d725",
      "parents": [
        "7ad94707263e98d6f53b20cf590ee46ac3edefcc"
      ],
      "author": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@google.com",
        "time": "Thu Sep 03 16:47:22 2015"
      },
      "committer": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@google.com",
        "time": "Tue Sep 08 16:26:18 2015"
      },
      "message": "libchromeos: Set CPPFLAGS correctly.\n\nChange-Id: I6ab9170b8f1e434fc5c21fb1850ee9a8165ae8ea\n"
    },
    {
      "commit": "7ad94707263e98d6f53b20cf590ee46ac3edefcc",
      "tree": "0bb806c8a3347400fd49e85dd374d7604e9d00f8",
      "parents": [
        "532fcf2cd6071fba8b73eb08ef053b41785bc035"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Fri Sep 04 23:04:17 2015"
      },
      "committer": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Fri Sep 04 23:04:17 2015"
      },
      "message": "libchromeos: Add missing process_reapper.cc file.\n\nThe Android.mk file had this file missing from the library.\n\nBug: 23817518,23084776\nChange-Id: I0ef98fdd4da6d196f483a702cd76aaa058b288f0\nTest: `mma -B` on libchromeos; update_engine now links agains libchromeos.\n"
    },
    {
      "commit": "532fcf2cd6071fba8b73eb08ef053b41785bc035",
      "tree": "83113ef0144f8fa165c2a482b4cd7fcc1c94514d",
      "parents": [
        "3c8d4abaa4b4798a7dbc49f5317c76b1b6332ab0"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Thu Sep 03 02:51:31 2015"
      },
      "committer": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Thu Sep 03 02:51:31 2015"
      },
      "message": "libpolicy: Fix unittest paths.\n\nlibpolicy unittests used the old \u0027chromeos/policy\u0027 location instead of\njust \u0027policy\u0027 for their includes. This patch fixes the path according\nto the new location.\n\nBug: 23555535\nTEST\u003dmma; FEATURES\u003dtest emeger-link libchromeos\n\nChange-Id: I300a686b82e9bedf6c3151a4b7fa5b1c10ef41d3\n"
    },
    {
      "commit": "3c8d4abaa4b4798a7dbc49f5317c76b1b6332ab0",
      "tree": "efe608af3e22bec10a4ade9fe93a541856c5f3d6",
      "parents": [
        "238da575cbad80fb7ffb0e89b9ccb33c7889a0ba"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Thu Sep 03 00:15:00 2015"
      },
      "committer": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Thu Sep 03 00:31:18 2015"
      },
      "message": "Add libpolicy stub-implementation to Android.mk\n\nlibpolicy is installed directly as \"policy\" in Chrome OS, so this patch\nmoves the chromeos/policy directory one level up to match what users will\nsee in installed Chrome OS include dir. A new libchromeos-policy shared\nlibrary is included in the Android.mk.\n\nBUG: 23555535\nTEST\u003demerge-link libchromeos; `mm` in aosp.\n\nChange-Id: I0d62a1651632242a08309ca2c00056837a5280a6\n"
    },
    {
      "commit": "238da575cbad80fb7ffb0e89b9ccb33c7889a0ba",
      "tree": "79ead835f4ad6df05877ef0d26af193346cbb1d1",
      "parents": [
        "2531b852ff0085a9ed95f3fe1d60808e98f0ade7",
        "5977b8c197a42ed71c946ea538327e0257751f08"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Thu Aug 27 23:32:46 2015"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 27 23:32:46 2015"
      },
      "message": "Merge \"Export dbus include dirs when using libchromeos-dbus\""
    },
    {
      "commit": "2531b852ff0085a9ed95f3fe1d60808e98f0ade7",
      "tree": "0cc3001d26d331d0d229eea142d0c2ee059e2279",
      "parents": [
        "95e682376b2c00ad12432acdbce23c39d5122f72"
      ],
      "author": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@google.com",
        "time": "Wed Aug 26 23:31:56 2015"
      },
      "committer": {
        "name": "Bertrand Simonnet",
        "email": "bsimonnet@google.com",
        "time": "Thu Aug 27 16:40:06 2015"
      },
      "message": "libchromeos: remove libchromeos-ui.\n\nlibchromeos-ui is moving back to src/platform2 as it is only used on\nchromeos.\n\nBUG\u003dchromium:525211\nTEST\u003dmanual: `emerge-gizmo libchromeos` does not install libchromeos-ui.\nTEST\u003dtrybots.\n\nChange-Id: Id16af4b9f4aa090ef2c9805f6e963773bd62a881\n"
    },
    {
      "commit": "5977b8c197a42ed71c946ea538327e0257751f08",
      "tree": "dbc4b7d51beaa8b021a9808d8bd5c27eb303c193",
      "parents": [
        "95e682376b2c00ad12432acdbce23c39d5122f72"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Thu Aug 27 01:49:05 2015"
      },
      "committer": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Thu Aug 27 01:52:43 2015"
      },
      "message": "Export dbus include dirs when using libchromeos-dbus\n\nlibchromeos-dbus header files (such as dbus_daemon.h) include header\nfiles from the dbus library, so if someone uses libchromeos-dbus it\nneeds to include dbus\u0027s include dirs.\n\nThis patch exposes dbus include dir to libchromeos-dbus users.\n\nBug: 23084776\nTEST\u003dmma in update_engine\n\nChange-Id: I7ce3ffabdd3296553c846b54b8d1a592cd4ba3db\n"
    },
    {
      "commit": "95e682376b2c00ad12432acdbce23c39d5122f72",
      "tree": "acdece90195afc901505fe48d8ddde855537b2ac",
      "parents": [
        "2d4e68c1666d841d00ca60404f30d604cb67a479",
        "4df5afdfdac0417e33903866abd04643dca17d60"
      ],
      "author": {
        "name": "Haixia Shi",
        "email": "hshi@google.com",
        "time": "Wed Aug 26 17:00:54 2015"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 26 17:00:54 2015"
      },
      "message": "Merge \"libchromeos: disable accelerated video decode on sandybridge.\""
    },
    {
      "commit": "4df5afdfdac0417e33903866abd04643dca17d60",
      "tree": "11382859b0993a0db824c2c3e7f306953eb98a6d",
      "parents": [
        "92d2cebf70919c9b1d0e6779837d245859736c98"
      ],
      "author": {
        "name": "Haixia Shi",
        "email": "hshi@google.com",
        "time": "Wed Aug 26 01:19:19 2015"
      },
      "committer": {
        "name": "Haixia Shi",
        "email": "hshi@google.com",
        "time": "Wed Aug 26 01:29:19 2015"
      },
      "message": "libchromeos: disable accelerated video decode on sandybridge.\n\nBUG\u003dchromium:521249\nTEST\u003demerge-lumpy libchromeos, verify cmdline is added\n\nChange-Id: I9694fb465715bcaf29d9dcfc07a9b21b7ede8e9f\n"
    },
    {
      "commit": "2d4e68c1666d841d00ca60404f30d604cb67a479",
      "tree": "476d561f87b8d9ba03a006138aec262f30fbc8fd",
      "parents": [
        "67cf363132ddeade1cfdd2965787abc37174f18a"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Tue Aug 25 18:54:34 2015"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Tue Aug 25 19:02:01 2015"
      },
      "message": "libchromeos: dbus: support additional types for variant deserialization\n\nThis is needed for supporting cellular modem proxies in shill.\n\nWhile there, use std::tuple instead of std::pair for deserializing struct\nvariant type.\n\nBUG\u003dchromium:517680\nTEST\u003dbuild libchromeos\nTEST\u003dRun network_3GSmokeTest on device with shill using libchromeos dbus\n\nChange-Id: I6c138ee4a52c2655143929c70d6958d6aff3b05f\n"
    },
    {
      "commit": "67cf363132ddeade1cfdd2965787abc37174f18a",
      "tree": "2c175003e6d70b9b1a92192520dbfc19c53cd286",
      "parents": [
        "3703d3770e024331033dcfe7bf68c9e60eaa9cec",
        "2908f10c54864392a9826fb136eac4997fe785ae"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@google.com",
        "time": "Wed Aug 19 23:27:44 2015"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 19 23:27:44 2015"
      },
      "message": "Merge \"Use __ANDROID__ instead of __BRILLO__.\""
    },
    {
      "commit": "2908f10c54864392a9826fb136eac4997fe785ae",
      "tree": "86ac0a04ff4c3c17d82481e76d30b1c17ef43fb1",
      "parents": [
        "92d2cebf70919c9b1d0e6779837d245859736c98"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@google.com",
        "time": "Wed Aug 19 22:25:34 2015"
      },
      "committer": {
        "name": "Daniel Erat",
        "email": "derat@google.com",
        "time": "Wed Aug 19 22:25:34 2015"
      },
      "message": "Use __ANDROID__ instead of __BRILLO__.\n\n__ANDROID__ is defined automatically by the toolchain.\n\nBug: 23358460\nChange-Id: I125d56638f06f0eb10ba0cde147ab835522959f1\n"
    },
    {
      "commit": "3703d3770e024331033dcfe7bf68c9e60eaa9cec",
      "tree": "2bee310aac947a29f4cc1562ac57b8d7b508b888",
      "parents": [
        "92d2cebf70919c9b1d0e6779837d245859736c98"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Wed Aug 19 19:02:02 2015"
      },
      "committer": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Wed Aug 19 21:18:36 2015"
      },
      "message": "libchromeos: Fix the CA store path\n\nThe certificates are stored at /system/etc/security/cacerts on Brillo\n\nBUG: 23352819\nChange-Id: I0ed8a084bb8597671fffd33b03f3d5b5dc01f52c\n"
    },
    {
      "commit": "92d2cebf70919c9b1d0e6779837d245859736c98",
      "tree": "1700fb71b91265c02355cc1ecd19876e7396012d",
      "parents": [
        "d6143797f9baf3f9c0499519adc18564489951e6"
      ],
      "author": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@chromium.org",
        "time": "Fri Aug 14 17:19:52 2015"
      },
      "committer": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@google.com",
        "time": "Mon Aug 17 18:16:27 2015"
      },
      "message": "libchromeos: Add libminijail to the pc file.\n\n(cherry-picked from\n https://chromium.googlesource.com/a/chromiumos/platform2 at\n 7b4a3084d80b9d8e539787639ede95f9ad760948)\n\nSome packages use minijail by including only libchromeos (which includes\nlibchromeos-minijail).\nIn this case, libchromeos must export libminijail in the pkgconfig file\nin order for the include path to be set correctly.\n\nBUG\u003dNone\nTEST\u003dtrybots.\n\nChange-Id: I818386c63fe9006982b640d7cbdd2238d223646d\nReviewed-on: https://chromium-review.googlesource.com/293811\nTrybot-Ready: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nTested-by: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nReviewed-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nCommit-Queue: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nReviewed-by: Jorge Lucangeli Obes \u003cjorgelo@chromium.org\u003e\n"
    },
    {
      "commit": "d6143797f9baf3f9c0499519adc18564489951e6",
      "tree": "5f18ffd0aec5c516804acfe4f4357b1919a593ae",
      "parents": [
        "e40a06405f1e8e8de4a6d051b3527790cc96f542"
      ],
      "author": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@chromium.org",
        "time": "Thu Aug 13 21:27:05 2015"
      },
      "committer": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@google.com",
        "time": "Mon Aug 17 18:16:27 2015"
      },
      "message": "minijail: Create a pkgconfig file for libminijail.\n\n(cherry-picked from\n https://chromium.googlesource.com/a/chromiumos/platform2 at\n 50fb55a05efdd0b31dc8dcbb53591bfff68f8703)\n\nThis allows us to change the import path of libminijail.h easily.\n\nBUG\u003dNone\nTEST\u003d`emerge-gizmo apmanager attestation cromo cros-disks debugd\nlibchromeos lorgnette minijail tpm_manager trunks webserver` works.\n\nCQ-DEPEND\u003dCL:293580\n\nChange-Id: I96a98d9f268fab518c2cc34c3d2ce2c5ae07788b\nReviewed-on: https://chromium-review.googlesource.com/293483\nReviewed-by: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nCommit-Queue: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nTrybot-Ready: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nTested-by: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\n"
    },
    {
      "commit": "e40a06405f1e8e8de4a6d051b3527790cc96f542",
      "tree": "634f2b990123d0c285d5250cd85fce0ec12d9108",
      "parents": [
        "d88086808d10ae3d3e48a0e5638d68e8367088ee",
        "07c1779e51680364060f3ec289249869ac7bc5ca"
      ],
      "author": {
        "name": "Bertrand Simonnet",
        "email": "bsimonnet@google.com",
        "time": "Mon Aug 17 18:16:02 2015"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 17 18:16:02 2015"
      },
      "message": "Merge \"libchromeos: Prevent starvation in BaseMessageLoop.\""
    },
    {
      "commit": "07c1779e51680364060f3ec289249869ac7bc5ca",
      "tree": "cb74bcdb41c3b547b4f78f0d055e52b588e0b99b",
      "parents": [
        "cc76bff0d0a26687b9117f748bb8473761cfdfe6"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Wed Aug 12 17:59:36 2015"
      },
      "committer": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@google.com",
        "time": "Fri Aug 14 23:07:09 2015"
      },
      "message": "libchromeos: Prevent starvation in BaseMessageLoop.\n\n(cherry-picked from\n https://chromium.googlesource.com/a/chromiumos/platform2 at\n 3f609aba265a91634b5af226ceac9783beac6b36)\n\nWhen more than once source of events (file descriptor available or\ndelayed task ready) is available, the MessageLoop has some freedom to\nschedule between I/O tasks and delayed tasks. The\nbase::MessageLoopForIO will not dispatch posted delayed tasks if there\nare file descriptors indefinitely available and will prefer to allways\nrun all the I/O callbacks before running the delayed tasks that are\ndue, causing what is known as starvation.\n\nIn the Chrome context, this is not a big problem since the thread\nrunning the base::MessageLoopForIO normally posts delayed tasks to\nother threads. Even with a single CPU, it is sufficient to have a fair\nthread scheduler to avoid starvation. In the Chrome OS context of\nsingle threaded daemons doing I/O, this is more important.\n\nThis patch tightens the contract on chromeos::MessageLoop API to\nprevent starvation. The chromeos::GlibMessageLoop implementation\nalready ensures this property, so we fix the chromeos::BaseMessageLoop\nby posting a task to the message loop when a file descriptor is ready\nand stop watching that file descriptor while the task is waiting in the\nmessage loop.\n\nNew unittest are included here to verify the same behaviour over both\nimplementations.\n\nBUG\u003dchromium:419827\nTEST\u003dAdded unittest.\n\nChange-Id: Ibc0aa999b9e86e6e3205d71ece3a7b72e019b6a3\nReviewed-on: https://chromium-review.googlesource.com/293334\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nTrybot-Ready: Alex Deymo \u003cdeymo@chromium.org\u003e\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nCommit-Queue: Alex Deymo \u003cdeymo@chromium.org\u003e\n"
    },
    {
      "commit": "d88086808d10ae3d3e48a0e5638d68e8367088ee",
      "tree": "64a64333c330f51574720e0d554d007fd367152a",
      "parents": [
        "43712ac3e02b173bbbbcfcf84e85fb164e51bc65",
        "b3ba293d410e145b79ffb1b9a14a5e23c2b0cd02"
      ],
      "author": {
        "name": "Bertrand Simonnet",
        "email": "bsimonnet@google.com",
        "time": "Fri Aug 14 23:03:30 2015"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 14 23:03:30 2015"
      },
      "message": "Merge \"Revert \"libchromeos-minijail: Fix the include directory.\"\""
    },
    {
      "commit": "43712ac3e02b173bbbbcfcf84e85fb164e51bc65",
      "tree": "87d074b276a9544b3229619381bb0fad0fc20986",
      "parents": [
        "cc76bff0d0a26687b9117f748bb8473761cfdfe6",
        "2873276deb6d2657d6cb627f0377c300ee747348"
      ],
      "author": {
        "name": "Bertrand Simonnet",
        "email": "bsimonnet@google.com",
        "time": "Fri Aug 14 23:03:06 2015"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 14 23:03:06 2015"
      },
      "message": "Merge \"Revert \"minijail: Fix import path.\"\""
    },
    {
      "commit": "2873276deb6d2657d6cb627f0377c300ee747348",
      "tree": "3e3758c253c67fef3fadf1c6416b0a5a4a4ecf3c",
      "parents": [
        "5d7fc29f9f5a9c9858f3df2395eed31abe72c5a7"
      ],
      "author": {
        "name": "Bertrand Simonnet",
        "email": "bsimonnet@google.com",
        "time": "Fri Aug 14 22:58:19 2015"
      },
      "committer": {
        "name": "Bertrand Simonnet",
        "email": "bsimonnet@google.com",
        "time": "Fri Aug 14 22:58:19 2015"
      },
      "message": "Revert \"minijail: Fix import path.\"\n\nThis reverts commit 5d7fc29f9f5a9c9858f3df2395eed31abe72c5a7.\n\nChange-Id: I107ad70a4bbeb5dccf0ac303936b7eadef645583\n"
    },
    {
      "commit": "b3ba293d410e145b79ffb1b9a14a5e23c2b0cd02",
      "tree": "13a6e195cc85cd8d4c7a10a6d8560cf98e0ceddd",
      "parents": [
        "14dd66b0a440eb1a97e41f2086051bac747fd50a"
      ],
      "author": {
        "name": "Bertrand Simonnet",
        "email": "bsimonnet@google.com",
        "time": "Fri Aug 14 22:58:00 2015"
      },
      "committer": {
        "name": "Bertrand Simonnet",
        "email": "bsimonnet@google.com",
        "time": "Fri Aug 14 22:58:00 2015"
      },
      "message": "Revert \"libchromeos-minijail: Fix the include directory.\"\n\nThis reverts commit 14dd66b0a440eb1a97e41f2086051bac747fd50a.\n\nChange-Id: I47ea838b7a8dc5e5ddb2ddc9b85133400eada937\n"
    },
    {
      "commit": "cc76bff0d0a26687b9117f748bb8473761cfdfe6",
      "tree": "b0aaf4c7b1337f4443899cfdb3f9827a7f977549",
      "parents": [
        "5d7fc29f9f5a9c9858f3df2395eed31abe72c5a7"
      ],
      "author": {
        "name": "Ari Hausman-Cohen",
        "email": "arihc@google.com",
        "time": "Wed Aug 12 00:25:27 2015"
      },
      "committer": {
        "name": "Ari Hausman-Cohen",
        "email": "arihc@google.com",
        "time": "Thu Aug 13 20:34:14 2015"
      },
      "message": "Added unit test target, unit tests run and pass with bionic runner\n\nAs b/22772126 says, mm runtests should do the \"right thing\".\nFor clarity, this has been renamed so you use mm runtargettests.\nThe \"right thing\" is here interpreted to mean build \u0026 run the\nunit tests using the bionic test runner on the target. All\ntests should pass.\n\nBUG: 22772126, 22874311\nChange-Id: Id68bbf18bc7a8b3b36e80408af0399fdb53bad61\n"
    },
    {
      "commit": "5d7fc29f9f5a9c9858f3df2395eed31abe72c5a7",
      "tree": "0dc46ea9c23f091067b4f2926e8d193b87e0c42f",
      "parents": [
        "14dd66b0a440eb1a97e41f2086051bac747fd50a"
      ],
      "author": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@google.com",
        "time": "Wed Aug 12 22:06:41 2015"
      },
      "committer": {
        "name": "Bertrand Simonnet",
        "email": "bsimonnet@google.com",
        "time": "Wed Aug 12 22:18:04 2015"
      },
      "message": "minijail: Fix import path.\n\nFix the bug introduced by 14dd66b0a440eb1a97e41f2086051bac747fd50a.\n\u0027includes\u0027 includes a gyp file. include_dirs is the list of directories\nto include.\n\nTEST\u003d`emerge-gizmo libchromeos` works with this change.\n\nChange-Id: I2b606713e53b4775a78bdcb6f66fe15c4b94ca45\n"
    },
    {
      "commit": "14dd66b0a440eb1a97e41f2086051bac747fd50a",
      "tree": "3e3758c253c67fef3fadf1c6416b0a5a4a4ecf3c",
      "parents": [
        "e4eeb9cb3d9cb29ce482eed9c784ee6d7aeb2e08"
      ],
      "author": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@google.com",
        "time": "Wed Aug 12 21:26:24 2015"
      },
      "committer": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@google.com",
        "time": "Wed Aug 12 21:26:24 2015"
      },
      "message": "libchromeos-minijail: Fix the include directory.\n\nminijail.h was updated to include libminijail.h instead of\nchromeos/minijail.h.\nThis change must be reflected in the gyp file.\n\nChange-Id: I8ae80e8878b8d09a90768a8f2b10c8be7eb3f2eb\n"
    },
    {
      "commit": "e4eeb9cb3d9cb29ce482eed9c784ee6d7aeb2e08",
      "tree": "13a6e195cc85cd8d4c7a10a6d8560cf98e0ceddd",
      "parents": [
        "531dc26ebd0fcc87b80ed2652df7b621ef76f128"
      ],
      "author": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@google.com",
        "time": "Wed Aug 12 18:00:09 2015"
      },
      "committer": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@google.com",
        "time": "Wed Aug 12 18:04:41 2015"
      },
      "message": "libchromeos: Compile message_loop_utils.\n\nMessageLoopRunUntil is defined in message_loop_utils and is needed by\nchromeos/streams/file_stream_unittest.cc.\n\nChange-Id: I5bd7aa17652874a2f8fa9b0ac111184499400a4f\n"
    },
    {
      "commit": "531dc26ebd0fcc87b80ed2652df7b621ef76f128",
      "tree": "5da6b64fd6da7afcf486544d79be866623bd7727",
      "parents": [
        "d131ec9eec54994ce9b456f43febe41b3a6974e7"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@chromium.org",
        "time": "Tue Aug 11 17:02:58 2015"
      },
      "committer": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@google.com",
        "time": "Wed Aug 12 17:59:05 2015"
      },
      "message": "libchromeos: dbus: deserialize variant value\n\nAllows parser to deserialize a variant value from a non-variant\ntype value.\n\nBUG\u003dchromium:519576\nTEST\u003demerge-$BOARD libchromeos shill\nTEST\u003dVerify with wifi autotests against shill with chromeos dbus\n\nReviewed-on: https://chromium-review.googlesource.com/292056\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nTested-by: Zeping Qiu \u003czqiu@chromium.org\u003e\nCommit-Queue: Zeping Qiu \u003czqiu@chromium.org\u003e\n\n(cherry-picked from\n https://chromium.googlesource.com/chromiumos/platform2 at\n e4fffa682cd9d22642d0fec7fa55ac970e57cc91)\n\nChange-Id: Ic40865a39ede3d635e704dddb22cf995349aeaa8\n"
    },
    {
      "commit": "d131ec9eec54994ce9b456f43febe41b3a6974e7",
      "tree": "89d70cc81d7c28f85752b612d503513e5d869f6e",
      "parents": [
        "d145d0a667c8ccd56378f1b78176e04f4a5b03df"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@chromium.org",
        "time": "Fri Aug 07 23:24:46 2015"
      },
      "committer": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@google.com",
        "time": "Wed Aug 12 17:57:55 2015"
      },
      "message": "libchromeos: dbus: unregister DBus object synchronously\n\nWhen DBus object is unregistered explicitly, it allows its path to be\nreused.\n\nBUG\u003dchromium:518026\nTEST\u003demerge-$BOARD libchromeos shill\nTEST\u003dVerify using shill with chromeos dbus\n\nReviewed-on: https://chromium-review.googlesource.com/291841\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nTested-by: Zeping Qiu \u003czqiu@chromium.org\u003e\nCommit-Queue: Zeping Qiu \u003czqiu@chromium.org\u003e\n\n(cherry-picked from\n https://chromium.googlesource.com/chromiumos/platform2 at\n 5688fbaf4aeb195c6915d3f362b888e549b7a010)\n\nChange-Id: I77d88089b687df85afd78ebe0178040f24be8a31\n"
    },
    {
      "commit": "d145d0a667c8ccd56378f1b78176e04f4a5b03df",
      "tree": "1a46e3e502b246744af379f278c9c3f63b9d1ad0",
      "parents": [
        "667cf9b0bb9604c1e057a833f33583f2a437fc0a"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Thu Aug 06 02:15:00 2015"
      },
      "committer": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@google.com",
        "time": "Wed Aug 12 17:57:16 2015"
      },
      "message": "libchromeos: Don\u0027t WaitForData() if the Stream doesn\u0027t block.\n\nRead[All]Async and Write[All]Async would first call WaitForData()\nbefore attempting to read/write from the Stream. In some cases, such asi\nthe FileStream implementation using a BaseMessageLoop\n(base::MessageLoopForIO, implemented using libevent/epoll) we can\u0027t\nWaitForData() on a file descriptor if it never blocks. A regular file\nor a block device are common examples of a file descriptor for wich\nwe can\u0027t call MessageLoop::WatchFileDescriptor() in that implementation.\n\nThis CL prevents this scenario by calling first ReadNonBlocking() or\nWriteNonBlocking() and then falling back to WaitForData() only if\nReadNonBlocking() or WriteNonBlocking(), respectively, return a\nsituation in which the Blocking call would actually block.\n\nBUG\u003dchromium:499886\nTEST\u003dUpdated unittests.\n\nReviewed-on: https://chromium-review.googlesource.com/291092\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nTrybot-Ready: Alex Deymo \u003cdeymo@chromium.org\u003e\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Alex Deymo \u003cdeymo@chromium.org\u003e\n\n(cherry-picked from\n https://chromium.googlesource.com/chromiumos/platform2 at\n cd6dfe22ffaf6322b33bbf2e1f1322093d67a46e)\n\nChange-Id: Iba97e384e9fb5aa7827b68e11135b396dcda67ed\n"
    },
    {
      "commit": "667cf9b0bb9604c1e057a833f33583f2a437fc0a",
      "tree": "9529a11010da5af9cd9bbaa27c51b47627e6f242",
      "parents": [
        "3dbcfa4ec55edbf275d47b1fbc74c7587de0ff8b"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@chromium.org",
        "time": "Fri Aug 07 04:28:03 2015"
      },
      "committer": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@google.com",
        "time": "Wed Aug 12 17:56:27 2015"
      },
      "message": "libchromeos: dbus: synchronous dbus object registration\n\nThis allows shill to maintain its current behavior regarding to\nDBus object registration.\n\nBUG\u003dchromium:517721\nTEST\u003demerge-$BOARD libchromeos shill\nTEST\u003dVerify with shill using chromeos dbus\n\nReviewed-on: https://chromium-review.googlesource.com/291432\nCommit-Ready: Zeping Qiu \u003czqiu@chromium.org\u003e\nTested-by: Zeping Qiu \u003czqiu@chromium.org\u003e\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n\n(cherry-picked from\n https://chromium.googlesource.com/chromiumos/platform2 at\n 2962f062990d2b04646c84def2284e607f9d1113)\n\nChange-Id: Id1379008e82a34c1ccf8e21d4c1d3393aa207081\n"
    },
    {
      "commit": "3dbcfa4ec55edbf275d47b1fbc74c7587de0ff8b",
      "tree": "b6ffbaaaf948e8f46d207151032bf6f2ddc84058",
      "parents": [
        "000726053bddc605a6c78b5dece37bcb2c67f291"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Wed Aug 05 02:32:31 2015"
      },
      "committer": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@google.com",
        "time": "Wed Aug 12 17:55:24 2015"
      },
      "message": "libchromeos: Use MockMessageLoop on FakeStream.\n\nThe added MockMessageLoop is a mockable FakeMessageLoop. By default the\nmock object will behave like a fake one, but it is also possible to set\nexpectations on the MessageLoop methods.\n\nThe MockMessageLoop now replaces the base::TaskRunner used in\nFakeStream and runs the posted callbacks from the message loop instead\nof running them when they are posted.\n\nlibweave is updated to create the FakeStream using a\nchromeos::MessageLoop.\n\nBUG\u003dchromium:499886\nTEST\u003dFEATURES\u003dtest emerge-link libchromeos libweave buffet\n\nReviewed-on: https://chromium-review.googlesource.com/290632\nReviewed-by: Vitaly Buka \u003cvitalybuka@chromium.org\u003e\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nCommit-Queue: Vitaly Buka \u003cvitalybuka@chromium.org\u003e\n\n(cherry-picked from\n https://chromium.googlesource.com/chromiumos/platform2 at\n 78c174362c0ce8f75c53ab37da1874533eb1a56a)\n\nChange-Id: I5b6952fc75e7300e9734e6f8f8103fe684584712\n"
    },
    {
      "commit": "000726053bddc605a6c78b5dece37bcb2c67f291",
      "tree": "0ec92eb3f0f3173e0148b8cc6cd73867a729e7fb",
      "parents": [
        "72968a2ff9ce896cb115dead3cd88614db469d89"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Tue Aug 04 04:14:07 2015"
      },
      "committer": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@google.com",
        "time": "Wed Aug 12 17:52:53 2015"
      },
      "message": "libchromeos: Use chromeos::MessageLoop in Streams classes.\n\nThis patch replaces the calls to base::MessageLoopForIO with calls to\nchromeos::MessageLoop in the Stream classes. This allows to use Streams\nwith other message loops.\n\nBUG\u003dchromium:499886\nTEST\u003dUnittests updated.\n\nReviewed-on: https://chromium-review.googlesource.com/290541\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Alex Deymo \u003cdeymo@chromium.org\u003e\nTrybot-Ready: Alex Deymo \u003cdeymo@chromium.org\u003e\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\n\n(cherry-picked from\n https://chromium.googlesource.com/chromiumos/platform2 at 8f3af00c53aef99d1f7fab2f1d8035a9b5b4f7e9)\n\nChange-Id: I04c78b0dc258a2eff9ab0b4eb8559f4f02feab46\n"
    },
    {
      "commit": "72968a2ff9ce896cb115dead3cd88614db469d89",
      "tree": "94ad66517d073bbe1e4fd50713ffb7626699ca58",
      "parents": [
        "a90b06ddb7e8baacb7fce87bd823ba69e65f7060"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 10 21:20:57 2015"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 10 21:21:17 2015"
      },
      "message": "libchromeos doesn\u0027t build on the Mac.\n\nIt has a minijail dependency, and that doesn\u0027t build on the Mac.\n\nChange-Id: I7878bd8139f121fea1bc9f3163fcd3bb637e00a7\n"
    },
    {
      "commit": "a90b06ddb7e8baacb7fce87bd823ba69e65f7060",
      "tree": "a102c97eed235cc22fab118101447240f0b39f15",
      "parents": [
        "d2aebc78d8c6a4e51f13ff5bd3ea9a51eae20bef"
      ],
      "author": {
        "name": "Jorge Lucangeli Obes",
        "email": "jorgelo@google.com",
        "time": "Thu Aug 06 22:47:29 2015"
      },
      "committer": {
        "name": "Jorge Lucangeli Obes",
        "email": "jorgelo@google.com",
        "time": "Thu Aug 06 22:47:29 2015"
      },
      "message": "Add libchromeos-minijail target.\n\nAlso fix a bunch of comments. \"Target\" in this context does not\nrefer to the build target (e.g \u0027libchromeos\u0027) but to the fact that\nit\u0027s building *for* the target architecture (e.g. ARM) and not for\nthe host.\n\nBug: 22557394\nChange-Id: Icabcb28809a46b74c3d5b4e8bd1975dda684598a\n"
    },
    {
      "commit": "d2aebc78d8c6a4e51f13ff5bd3ea9a51eae20bef",
      "tree": "2226a50e4d1392a1b708a75a4e986369a5c9eed5",
      "parents": [
        "9cba60779bc0958c0d4c270ee526d639d7fec63d"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Thu Aug 06 17:39:18 2015"
      },
      "committer": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Thu Aug 06 17:50:27 2015"
      },
      "message": "Created libchromeos-test-helpers static library for fakes and mocks\n\nlibchromeos provides fakes and mocks for unit tests that need to rely\non libchromeos-provided functionality. For other clients to be able\nto use those fakes/mocks, they need to be provided as a library.\n\nCreated a libchromeos-test-helpers static library the way it was done\non CrOS.\n\nBUG:22948980\nChange-Id: Idd60b052bbc4c5ee3d99492c743499cb74656ca4\n"
    },
    {
      "commit": "9cba60779bc0958c0d4c270ee526d639d7fec63d",
      "tree": "77b3790f4ed2268be6bf4eb05892b9494c98f177",
      "parents": [
        "0d654cd14f01fff5a74ef7c68e40659b5adc75ec"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Mon Aug 03 17:21:25 2015"
      },
      "committer": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Tue Aug 04 17:35:13 2015"
      },
      "message": "Add build rules for libchromeos-dbus\n\nBecause of the interdependence of Any and the DBus bindings, it is\ndifficult to build one without the other.\n\nBug: 22880161\nChange-Id: Icc8d70f0ea34cf1d9869672743fbe7ce0f825a78\n"
    },
    {
      "commit": "0d654cd14f01fff5a74ef7c68e40659b5adc75ec",
      "tree": "79a8fa5529e906d1dfdda85135f8200e6fad921e",
      "parents": [
        "0a78e9edf39064c39c4b3b07299ceda8bfb45ac6"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Mon Aug 03 17:20:54 2015"
      },
      "committer": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Mon Aug 03 17:20:54 2015"
      },
      "message": "Silence unused parameter warnings in dbus_param_writer.h\n\nBug: 22880161\nChange-Id: I7a7c30abb4776e3bd1986f0453d49a9943e94449\n"
    },
    {
      "commit": "0a78e9edf39064c39c4b3b07299ceda8bfb45ac6",
      "tree": "bd764decc941507f591f3dcd67ab56ce5a6e1e40",
      "parents": [
        "b41ab00e00361f3b83e0cdaac44c371d7f564b1c"
      ],
      "author": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@chromium.org",
        "time": "Tue Jun 23 17:59:55 2015"
      },
      "committer": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@google.com",
        "time": "Fri Jul 31 18:03:02 2015"
      },
      "message": "Add Android.mk.\n\nThis builds the shared libraries for:\n* libchromeos-core\n* libchromeos-http\n* libchromeos-streams\n* unit tests for libchromeos-core\n* unit tests for libchromeos-http\n* unit tests for libchromeos-streams\n\nSome files were dropped due to a lack of support:\n* user_db (no user on android).\n* dbus specific parts of libchromeos-core.\n\nBUG: 22372020\nChange-Id: Ib8125992ccfcd03156e7234c6ccda6b017261539\n"
    },
    {
      "commit": "b41ab00e00361f3b83e0cdaac44c371d7f564b1c",
      "tree": "6cbdf956f549ff0d34cdc3ebed39d16cc86d7b09",
      "parents": [
        "610a058d967931e6861b43eacc79a7b8c8488b5a"
      ],
      "author": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@google.com",
        "time": "Fri Jul 24 19:58:18 2015"
      },
      "committer": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@google.com",
        "time": "Fri Jul 31 18:02:57 2015"
      },
      "message": "process_test: Fix binary path in android.\n\nIn android, binaries are in /system/bin instead of /bin.\n\nBUG: 22372020\n\nChange-Id: Ie1d94a317ad8126328db2d9bf2540bba6fbf5850\n"
    },
    {
      "commit": "610a058d967931e6861b43eacc79a7b8c8488b5a",
      "tree": "2d28046e70e617b79dbe7cba22e6d3778e1d9f54",
      "parents": [
        "cd4f5d14a3c48fddff6df30db1e333365f14127c"
      ],
      "author": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@chromium.org",
        "time": "Mon Jun 29 18:26:47 2015"
      },
      "committer": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@google.com",
        "time": "Fri Jul 31 00:20:46 2015"
      },
      "message": "testrunner: Create a test runner for android.\n\nOn android, glib is not available so the test runner has to be adapted.\nAs the test runner is small, instead of guarding the glib commands with\ndefined() statement, create an android specific testrunner.\n\nBUG: 22372020\nChange-Id: I4e5117243aa320975d79f2ff9f09d70f9836474b\n"
    },
    {
      "commit": "cd4f5d14a3c48fddff6df30db1e333365f14127c",
      "tree": "982fcb2b72f4bf961d72955c7395cc35a58db421",
      "parents": [
        "922504a231b0cb61ed47dd6c5d97cdc084423919",
        "ca99403b3b2ed9653c079ccb3c4fe6258d26b5b4"
      ],
      "author": {
        "name": "Bertrand Simonnet",
        "email": "bsimonnet@google.com",
        "time": "Thu Jul 30 23:50:55 2015"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 30 23:50:55 2015"
      },
      "message": "Merge \"Add licensing information.\""
    },
    {
      "commit": "922504a231b0cb61ed47dd6c5d97cdc084423919",
      "tree": "671d84198044eb8476cd40bde85fc3fd270b4093",
      "parents": [
        "9a265b482fbcf41e14349ec5d6922277b1581b96",
        "e1b18d374af63810df3b0506c9d741380ee7fb3e"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Wed Jul 29 17:43:35 2015"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Wed Jul 29 17:43:35 2015"
      },
      "message": "Merge branch \u0027rewrite-libchromeos\u0027 into merge-libchromeos\n"
    },
    {
      "commit": "e1b18d374af63810df3b0506c9d741380ee7fb3e",
      "tree": "671d84198044eb8476cd40bde85fc3fd270b4093",
      "parents": [
        "d78ff4245b2fd21aa6a88b0890fa1db73c6a5326"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Tue Jul 28 00:55:44 2015"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Wed Jul 29 08:45:45 2015"
      },
      "message": "libchromeos: Print the error message when exec*() fails.\n\nPLOG(ERROR) will print the error message based on errno. This patch\nreplaces \"LOG(ERROR) \u003c\u003c ... \u003c\u003c errno\" with \"PLOG(ERROR) \u003c\u003c ...\" in the\nProcess.\n\nBUG\u003dNone\nTEST\u003dRunning a command that doesn\u0027t exists shows the error message on\nstderr.\n\nChange-Id: Id55a9a37b1e478103c23b8017dc7444de3e8ed18\nReviewed-on: https://chromium-review.googlesource.com/288783\nTrybot-Ready: Alex Deymo \u003cdeymo@chromium.org\u003e\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Alex Deymo \u003cdeymo@chromium.org\u003e\n"
    },
    {
      "commit": "d78ff4245b2fd21aa6a88b0890fa1db73c6a5326",
      "tree": "1bc3c7287cb06c6c04930f139e105354b4f4274a",
      "parents": [
        "7dfa3acb15d11239454fbee7c783ec427a171072"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Mon Jul 27 20:32:55 2015"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Wed Jul 29 08:45:40 2015"
      },
      "message": "libchromeos: Prevent closing known bad fd in Process class.\n\nWhen using ProcessImpl::BindFd the parent_fd is set to -1. This causes\nthe process to call close(-1) which will silently fail. This patch\navoids calling close on the parent_fd when it is -1 so we don\u0027t issue\na known bad call to close. This makes it easier to debug problems when\nrunning such program with strace.\n\nBUG\u003dNone\nTEST\u003dUnittests still pass.\n\nChange-Id: I3a69fca21a4ba4a5911897b13a95bdeffd53d3cf\nReviewed-on: https://chromium-review.googlesource.com/288782\nTrybot-Ready: Alex Deymo \u003cdeymo@chromium.org\u003e\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Alex Deymo \u003cdeymo@chromium.org\u003e\n"
    },
    {
      "commit": "7dfa3acb15d11239454fbee7c783ec427a171072",
      "tree": "e18597b4d6034ed83301f9ae8bb6b5f959546c3b",
      "parents": [
        "38c16335b69d8f6611746e6267bc68105e237e97"
      ],
      "author": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@chromium.org",
        "time": "Mon Jul 27 22:47:35 2015"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Wed Jul 29 00:46:49 2015"
      },
      "message": "bootstat: Move bootstat to its own subdirectory.\n\nbootstat should not be compiled with libchromeos.\nThis also replaces the old Makefile with a gyp file.\n\nBUG\u003dNone\nTEST\u003dUnittests\nTEST\u003dtrybot run on lumpy-incremental daisy link gizmo chromiumos-sdk.\n\nCQ-DEPEND\u003dCL:289240\n\nChange-Id: I0c11fa53edbec6c8be9aa93ba8ebc38a051fac79\nReviewed-on: https://chromium-review.googlesource.com/289214\nTested-by: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nReviewed-by: Christopher Wiley \u003cwiley@chromium.org\u003e\nCommit-Queue: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nTrybot-Ready: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\n"
    },
    {
      "commit": "38c16335b69d8f6611746e6267bc68105e237e97",
      "tree": "e3cd7769413a7d19203a2492cee4409cd24cc94a",
      "parents": [
        "471776dcf9a6a861e3f9f63121fd13b1a1b3f180"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Mon Jul 27 21:08:34 2015"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Tue Jul 28 00:59:21 2015"
      },
      "message": "libchromeos: Move AsynchronousSignalHandler to an interface.\n\nBoth chromeos::AsynchronousSignalHandler and chromeos::Daemon\nimplemented the same Register/Unregister interface for signal handlers.\nThis patch moves that functionality to an abstract interface and makes\nchromeos::ProcessReapper use that instead of having two methods.\n\nBUG\u003dNone\nTEST\u003dUnittests still pass.\n\nChange-Id: Ib2aa8c5279b5998e7c88c2211809901fa11a8f0a\nReviewed-on: https://chromium-review.googlesource.com/288752\nTrybot-Ready: Alex Deymo \u003cdeymo@chromium.org\u003e\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Alex Deymo \u003cdeymo@chromium.org\u003e\n"
    },
    {
      "commit": "471776dcf9a6a861e3f9f63121fd13b1a1b3f180",
      "tree": "5d708b992f2232315a1cb55a3722a6a561572b0d",
      "parents": [
        "fd626d7e3f116f9a159ea82b3789795296adac91"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Tue Jul 21 23:12:27 2015"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Sat Jul 25 17:45:18 2015"
      },
      "message": "libchromeos: New class to watch child processes.\n\nThis patch ports the ProcessReaper class previously used in germ to\nlibchromeos with a base::Callback interface. This class allows you to\nwait for a child process in the message loop, similar to what the\ng_child_watch_add() function does in glib. This class is compatible\nwith both GlibMessageLoop and BaseMessageLoop.\n\nBUG\u003dchromium:361635\nTEST\u003dAdded unittests.\n\nChange-Id: Ia40246729c99a487fdf0039a28b30ba92f0e7da4\nReviewed-on: https://chromium-review.googlesource.com/288259\nTrybot-Ready: Alex Deymo \u003cdeymo@chromium.org\u003e\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "fd626d7e3f116f9a159ea82b3789795296adac91",
      "tree": "bc1e716da18965fe880fddb05b3fd3539d57cfef",
      "parents": [
        "30ef318cd1d94e896a277324c68b89798e3dbbdd"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Tue Jul 21 00:27:51 2015"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Fri Jul 24 21:53:52 2015"
      },
      "message": "libchromeos: use chromeos::MessageLoop in AsynchronousSignalHandler.\n\nThis patch makes AsynchronousSignalHandler use the chromeos::MessageLoop\ninterface instead of rely on the message loop being the\nbase::MessageLoopForIO.\n\nBUG\u003dchromium:499886\nTEST\u003dFEATURES\u003dtest emerge-link libchromeos\n\nChange-Id: Ib206e99ca48098d1998725c8103c271e7b808a6d\nReviewed-on: https://chromium-review.googlesource.com/287001\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nTrybot-Ready: Alex Deymo \u003cdeymo@chromium.org\u003e\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nCommit-Queue: Alex Deymo \u003cdeymo@chromium.org\u003e\n"
    },
    {
      "commit": "30ef318cd1d94e896a277324c68b89798e3dbbdd",
      "tree": "4dd014f26ea9a465975ba84547f4ece2d793287e",
      "parents": [
        "c5a9d47576cf0e2f80bd7714d0edd7eeb5ce4677"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Mon Jul 20 23:22:35 2015"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Fri Jul 24 21:53:39 2015"
      },
      "message": "libchromeos: Add a default chromeos::MessageLoop to Daemon.\n\nIn order to use chromeos::MessageLoop::curent() we need to have an\ninstance created and set as default. This patch creates the wrapper\nfor base::MessageLoopForIO in chromeos::Daemon so daemons can use\neither interface.\n\nThis patch also runs the base::MessageLoopForIO via the\nchromeos::MessageLoop wrapper so calls to\nchromeos::MessageLoop::BreakLoop() work as expected. This methods was\nupdated to not use the deprecated Run/QuitNow() methods in the\nbase::MessageLoop interface and use a base::RunLoop instead.\n\nBUG\u003dchromium:506052\nTEST\u003d`FEATURES\u003dtest emerge-link libchromeos` still works.`\n\nChange-Id: I16188e399a48923e398fb621875debff01accea7\nReviewed-on: https://chromium-review.googlesource.com/286825\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nTrybot-Ready: Alex Deymo \u003cdeymo@chromium.org\u003e\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nCommit-Queue: Alex Deymo \u003cdeymo@chromium.org\u003e\n"
    },
    {
      "commit": "ca99403b3b2ed9653c079ccb3c4fe6258d26b5b4",
      "tree": "7cb31f7974cff2671bd2a33bee5ee8026fb884e8",
      "parents": [
        "9a265b482fbcf41e14349ec5d6922277b1581b96"
      ],
      "author": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@google.com",
        "time": "Fri Jul 10 22:28:59 2015"
      },
      "committer": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@google.com",
        "time": "Fri Jul 24 17:56:04 2015"
      },
      "message": "Add licensing information.\n\nBUG: 22372020\nChange-Id: I67389d0bd857d25785d325a073aea7eeb6d5bf35\n"
    },
    {
      "commit": "9a265b482fbcf41e14349ec5d6922277b1581b96",
      "tree": "7165bd691779827a8c243bf76e4859ce670e6b08",
      "parents": [
        "8eb2e28f5231ffde2e34db17d90fdd5c8e590aac",
        "c5a9d47576cf0e2f80bd7714d0edd7eeb5ce4677"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Fri Jul 24 16:55:22 2015"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Fri Jul 24 16:59:11 2015"
      },
      "message": "Merge branch \u0027rewrite-libchromeos\u0027 into merge-libchromeos\n\nBUG:22205433\n"
    },
    {
      "commit": "c5a9d47576cf0e2f80bd7714d0edd7eeb5ce4677",
      "tree": "7165bd691779827a8c243bf76e4859ce670e6b08",
      "parents": [
        "6755ff9b2f87bdb3fa84299ae974cbb67100eb52"
      ],
      "author": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@chromium.org",
        "time": "Thu Jul 23 20:51:08 2015"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Fri Jul 24 08:56:05 2015"
      },
      "message": "libchromeos: HttpConnection: Check the response in the unittests.\n\nBUG\u003dNone\nTEST\u003dunittests.\n\nChange-Id: I4b91d46fb23027034f13d391e8eabb116ed54535\nReviewed-on: https://chromium-review.googlesource.com/287763\nCommit-Queue: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nTested-by: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "6755ff9b2f87bdb3fa84299ae974cbb67100eb52",
      "tree": "e96b5288cbf60a67f9b72fb103968bcac3039f56",
      "parents": [
        "793c7cf2dd99b07ec99dc8f057960564db3e69e5"
      ],
      "author": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@chromium.org",
        "time": "Thu Jul 23 20:25:22 2015"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Fri Jul 24 04:17:11 2015"
      },
      "message": "libchromeos: process.cc fail cleanly when no arguments are specified.\n\nIf we attempt to spawn a process to run an executable, fail early\ninstead of waiting for the call to fail.\n\nBUG\u003dNone\nTEST\u003dunittests pass.\nTEST\u003dtrybot run on daisy, link, lumpy, mips.\n\nChange-Id: I1742101eb47787b948b20d4129a8b1893dba0568\nReviewed-on: https://chromium-review.googlesource.com/287864\nReviewed-by: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nCommit-Queue: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nTrybot-Ready: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nTested-by: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\n"
    },
    {
      "commit": "793c7cf2dd99b07ec99dc8f057960564db3e69e5",
      "tree": "4bd4820597782f9acda1472c20fff72b8e1ed7e6",
      "parents": [
        "e20603670f44d8b21874c1281ce82cd0f4bcc576"
      ],
      "author": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@chromium.org",
        "time": "Thu Jul 23 20:04:02 2015"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Fri Jul 24 04:17:07 2015"
      },
      "message": "libchromeos: Fix race condition in process_test.\n\nRunning the process with Start instead of Run before checking the output\nmake it possible to read the output before the program exits.\n\nBUG\u003dNone\nTEST\u003d`FEATURES\u003dtest emerge-gizmo libchromeos --nodeps` works.\n\nChange-Id: I021b2d6d03fb8d99fd0673ed37746d23c11bf2cb\nReviewed-on: https://chromium-review.googlesource.com/287891\nTrybot-Ready: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nTested-by: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nReviewed-by: Dan Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\n"
    },
    {
      "commit": "e20603670f44d8b21874c1281ce82cd0f4bcc576",
      "tree": "dcc7a922b3a4c0bacd9dc58f0b8114ffca05abf1",
      "parents": [
        "49066668ef3e2250d78ad3772b8c8d1e9fb7dcf0"
      ],
      "author": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@chromium.org",
        "time": "Thu Jul 23 20:03:11 2015"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Fri Jul 24 04:17:02 2015"
      },
      "message": "libchromeos: Don\u0027t use a local path in unittests.\n\nUse ScopedUniqueTempDir instead so that the unittests can be run from\nanywhere.\n\nBUG\u003dNone\nTEST\u003d`FEATURES\u003dtest emerge-gizmo libchromeos --nodeps` works\n\nChange-Id: Ic32473835c72e268ab04c025159c67f11f0f99b0\nReviewed-on: https://chromium-review.googlesource.com/287890\nTrybot-Ready: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nTested-by: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nReviewed-by: Dan Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\n"
    },
    {
      "commit": "49066668ef3e2250d78ad3772b8c8d1e9fb7dcf0",
      "tree": "44226546519b4e81dd9245349ed91f90ad98bd3d",
      "parents": [
        "f6ec4fc5379529300ee00b04a6ad95e252f25aa0"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@chromium.org",
        "time": "Thu Jul 23 19:32:47 2015"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Thu Jul 23 22:38:31 2015"
      },
      "message": "libchromeos: Added test for DBus serialization of Any{vector\u003cvector\u003e}\n\nJust to highlight that this is not implemented.\n\nBUG\u003dnone\nTEST\u003d\u0027FEATURES\u003dtest emerge-gizmo libchromeos\u0027\n\nChange-Id: If498509b6a575001086613afe9402936d62be218\nReviewed-on: https://chromium-review.googlesource.com/287844\nTrybot-Ready: Vitaly Buka \u003cvitalybuka@chromium.org\u003e\nTested-by: Vitaly Buka \u003cvitalybuka@chromium.org\u003e\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Vitaly Buka \u003cvitalybuka@chromium.org\u003e\n"
    },
    {
      "commit": "f6ec4fc5379529300ee00b04a6ad95e252f25aa0",
      "tree": "42988f086239d36b1bccf816e6fda7df96c44e1a",
      "parents": [
        "f264b223fd6b0d3a8aa6421a5176dd2347742453"
      ],
      "author": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@google.com",
        "time": "Wed Jul 15 21:14:19 2015"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Thu Jul 23 16:07:40 2015"
      },
      "message": "libchromeos: Remove modp_b64 source.\n\nmodp_b64 is now compiled separately in dev-utils/modp_b64. We can remove\nthe code from libchromeos and link against it in libchromeos.gypi.\n\nBUG\u003dchromium:510532\nTEST\u003d`cros_run_unit_tests --board\u003dgizmo --packages libchromeos` works.\n\nCQ-DEPEND\u003dCL:285937\n\nChange-Id: I8ca33009fe06151accc015bdc9c692f53c043311\nReviewed-on: https://chromium-review.googlesource.com/286012\nTested-by: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nReviewed-by: Arman Uguray \u003carmansito@chromium.org\u003e\nReviewed-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nCommit-Queue: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\n"
    },
    {
      "commit": "f264b223fd6b0d3a8aa6421a5176dd2347742453",
      "tree": "c38af2052b8e1ec7088c51d04eb0508ebf952a36",
      "parents": [
        "336d2c323e500ae23dccfa9be827024c1772ef7c"
      ],
      "author": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@chromium.org",
        "time": "Wed Jul 22 16:34:51 2015"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Wed Jul 22 19:31:20 2015"
      },
      "message": "libchromeos: Don\u0027t rely on the internal of std::string.\n\nWe should not rely on the fact that string copy might be done lazily.\n\nBUG\u003dNone\nTEST\u003d`FEATURES\u003dtest emerge-gizmo libchromeos --nodeps` works.\n\nChange-Id: Ie0a798b9be6347a715203b291d083757f8d66510\nReviewed-on: https://chromium-review.googlesource.com/287503\nTrybot-Ready: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nTested-by: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nReviewed-by: Christopher Wiley \u003cwiley@chromium.org\u003e\nCommit-Queue: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "336d2c323e500ae23dccfa9be827024c1772ef7c",
      "tree": "f50996c035fc6848480559fa423f12f13bab1d21",
      "parents": [
        "a554a499270573a8f10e43e305b7d4cc153c5450"
      ],
      "author": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@chromium.org",
        "time": "Tue Jul 21 22:42:04 2015"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Wed Jul 22 05:02:53 2015"
      },
      "message": "libchromeos: Use sh instead of bash in process_test.\n\nDon\u0027t rely on bash for sh functionality. This allows the unittests to\nrun on system that don\u0027t have bash.\n\nBUG\u003dNone\nTEST\u003d`FEATURES\u003dtest emerge-gizmo libchromeos --nodeps` works.\n\nCQ-DEPEND\u003dCL:287404\n\nChange-Id: Icf3ae17a9a4f0553e5c623927d25d60303b88306\nReviewed-on: https://chromium-review.googlesource.com/287405\nTrybot-Ready: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nTested-by: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nReviewed-by: Christopher Wiley \u003cwiley@chromium.org\u003e\nReviewed-by: Dan Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\n"
    },
    {
      "commit": "a554a499270573a8f10e43e305b7d4cc153c5450",
      "tree": "19a1fc752a6c92674f06c23a85c0a9030a874f92",
      "parents": [
        "738267b2659457100ac0af45b6a3e3d9c1f56d86"
      ],
      "author": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@chromium.org",
        "time": "Tue Jul 21 22:33:43 2015"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Wed Jul 22 05:02:48 2015"
      },
      "message": "libchromeos: Don\u0027t rely on cp\u0027s error output.\n\nInstead of relying on cp\u0027s error message to test stderr handling in\nchromeos/process.cc, print to stderr by redirecting echo.\n\nBUG\u003dNone\nTEST\u003d`FEATURES\u003dtest emerge-gizmo libchromeos --nodeps` works.\n\nChange-Id: I2454f060ceeca4ebd2e2b276613d3d2d3730f814\nReviewed-on: https://chromium-review.googlesource.com/287404\nTrybot-Ready: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nTested-by: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nReviewed-by: Christopher Wiley \u003cwiley@chromium.org\u003e\nReviewed-by: Dan Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\n"
    },
    {
      "commit": "738267b2659457100ac0af45b6a3e3d9c1f56d86",
      "tree": "1a0f96acbf453a12577dd93f2a309627228b6254",
      "parents": [
        "a8632e4a671d44cffa7b1f079baa0b9fdb48c5e3"
      ],
      "author": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@chromium.org",
        "time": "Tue Jul 21 21:42:25 2015"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Wed Jul 22 05:02:42 2015"
      },
      "message": "libchromeos: Remove incorrect test.\n\ndca2caf2ea0d27d1abd0e47f1dbf509bb627dd6c changed the behaviour of\nProcess to not fail when the output file already exists.\nThe test should be remove too.\n\nBUG\u003dNone\nTEST\u003dFEATURES\u003dtest emerge-gizmo libchromeos --nodeps\n\nChange-Id: I6495190cf347c8f7dc8eb9f8bd57f01b6d15591e\nReviewed-on: https://chromium-review.googlesource.com/287403\nTrybot-Ready: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nTested-by: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nReviewed-by: Christopher Wiley \u003cwiley@chromium.org\u003e\nReviewed-by: Dan Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\n"
    },
    {
      "commit": "a8632e4a671d44cffa7b1f079baa0b9fdb48c5e3",
      "tree": "48e705582014dd7a955ee428e791de419b809803",
      "parents": [
        "86061640069d3621ac37f4cfc2bff0bd7c8275c9"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Tue Jul 14 15:38:28 2015"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Thu Jul 16 05:15:41 2015"
      },
      "message": "libchromeos: MessageLoop implementation using base::MessageLoopForIO.\n\nThe new chromeos::BaseMessageLoop implementation uses the existing\nbase::MessageLoopForIO implementation, that in the Linux and ChromeOS\ncontext uses base::MessagePumpLibevent, a libevent based implementation.\n\nThis chromeos::MessageLoop allows to mix calls to base::MessageLoopForIO\nand chromeos::MessageLoop with few limitations. This is useful when using\nother code in libchrome that already interacts with libchrome\u0027s\nMessageLoopForIO.\n\nAmong the limitations, the support for canceling a task will not free\nthe memory associated with the delayed event until it actually fires.\nAlso, base::MessagePumpLibevent uses epoll(7) which doesn\u0027t support\nwatching for file descriptors that would not naturally block (such as\nregular files). Attempting to watch for those file descriptors will\nreturn kTaskIdNull in this implementation, but would work on\nchromeos::GlibMessageLoop.\n\nThis patch moves most of chromeos::GlibMessageLoop existing tests to a\ncommon chromeos::MessageLoop test that runs for both implementations.\n\nBUG\u003dchromium:506052\nTEST\u003dAdded unittests.\n\nChange-Id: I4553d149511806ed599fa2847af4372985456106\nReviewed-on: https://chromium-review.googlesource.com/285217\nReviewed-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nCommit-Queue: Alex Deymo \u003cdeymo@chromium.org\u003e\nTrybot-Ready: Alex Deymo \u003cdeymo@chromium.org\u003e\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\n"
    },
    {
      "commit": "86061640069d3621ac37f4cfc2bff0bd7c8275c9",
      "tree": "a41cf2e51cd7881ff2e6e3c883a25bc4be4325a8",
      "parents": [
        "b57c2eebc4050087576f55e02deb47b0839fb467"
      ],
      "author": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@google.com",
        "time": "Wed Jul 15 16:10:40 2015"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Wed Jul 15 23:16:02 2015"
      },
      "message": "libchromeos: Don\u0027t import from libchromeos/chromeos.\n\nWhen importing a libchromeos header in libchromeos or in another\npackage, don\u0027t prefix the import path with libchromeos/.\n\nThe headers for the libchromeos shared library are installed in\n/usr/include/chromeos.\nUsing libchromeos/chromeos/* will use the headers from\nsrc/platform2/libchromeos which may not match the .so.\n\nBUG\u003dNone\nTEST\u003dcros_workon-gizmo start libchromeos germ feedback \u0026\u0026\n./build_packages --board\u003dgizmo\nTEST\u003d`cros_run_unit_tests --board\u003dgizmo --packages \"libchromeos germ\nfeedback\"` succeeds.\n\nChange-Id: I027d41c6013872887eaed572e2065f936a7b4fd0\nReviewed-on: https://chromium-review.googlesource.com/285772\nReviewed-by: Dan Erat \u003cderat@chromium.org\u003e\nTested-by: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nTrybot-Ready: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nCommit-Queue: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\n"
    },
    {
      "commit": "b57c2eebc4050087576f55e02deb47b0839fb467",
      "tree": "8a28eddd111262a0c3a95107b62d4caf6e4a9d84",
      "parents": [
        "d4c955c70812b91796ace5cfecfa181f62f6a348"
      ],
      "author": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@google.com",
        "time": "Wed Jul 15 17:14:34 2015"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Wed Jul 15 23:15:56 2015"
      },
      "message": "libchromeos: Include numeric for std::iota.\n\nBUG\u003dNone\nTEST\u003dcros_run_unit_tests --board\u003dgizmo libchromeos.\n\nChange-Id: I9fb3b8ce6c6f5938e39fb1bd7ede1ce2a18c9fec\nReviewed-on: https://chromium-review.googlesource.com/285850\nTested-by: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nTrybot-Ready: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nCommit-Queue: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\n"
    },
    {
      "commit": "d4c955c70812b91796ace5cfecfa181f62f6a348",
      "tree": "2397cb770a044f72e8852bfbf09c177767f09698",
      "parents": [
        "8065d31cc3b24713bfa7f62f59c5a6ed0f235024"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@chromium.org",
        "time": "Wed Jul 15 17:52:06 2015"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Wed Jul 15 21:57:36 2015"
      },
      "message": "libchromeos: Improve VLOG(1) for async HTTP requests\n\nIn order to help with tracking HTTP requests and responses,\nmoved \"noise\" log messages from VLOG(1) to VLOG(2) and made sure\nthat each async request ID is logged before the request is dispatched\nand also when response is received, the request ID is also logged so\nit is easy to identify the matching request-response pairs.\n\nBUG\u003dNone\nTEST\u003d`FEATURES\u003dtest emerge-link libchromeos`\n\nChange-Id: I481ce25c8b3f2867ac8036c13bbee91bc8f6f838\nReviewed-on: https://chromium-review.googlesource.com/285744\nTrybot-Ready: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nReviewed-by: Vitaly Buka \u003cvitalybuka@chromium.org\u003e\nCommit-Queue: Vitaly Buka \u003cvitalybuka@chromium.org\u003e\n"
    },
    {
      "commit": "8065d31cc3b24713bfa7f62f59c5a6ed0f235024",
      "tree": "32c83936099b99321981e9af113d1e5157166111",
      "parents": [
        "81ac44b1b4d125fcfd6b48b9bfdacecad14ce870"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Wed Jul 08 20:11:21 2015"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Wed Jul 15 20:29:26 2015"
      },
      "message": "Add libchromeos-glib for glib dependencies\n\nThis cleans up the dependency tree for daemons linking libchromeos\nso that only those that actually need glib link against it.\n\nBUG\u003dchromium:508218\nTEST\u003dtrybots\n\nChange-Id: Iec92f061ae00b81bc440f4c58082adc6cdb059a3\nReviewed-on: https://chromium-review.googlesource.com/284079\nReviewed-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nCommit-Queue: Christopher Wiley \u003cwiley@chromium.org\u003e\nTested-by: Christopher Wiley \u003cwiley@chromium.org\u003e\n"
    },
    {
      "commit": "81ac44b1b4d125fcfd6b48b9bfdacecad14ce870",
      "tree": "86805c7e67929555cabd1187a75cba762151cb5d",
      "parents": [
        "665bc53fdf6b4b4ffd3d24f60e6a573ca52828a1"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Fri Jul 10 01:25:35 2015"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Sat Jul 11 00:28:15 2015"
      },
      "message": "libchromeos: Watch file descriptors on error conditions.\n\nWhen watching for a file descriptor, guaranties are that the callback\nwill be called if a call to read() or write() (depending on what are\nyou watching for) will not block even if the file descriptor doesn\u0027t\nhave the O_NOBLOCK flag set. This is normally because there is data to\nread or it is possible to write data, but can also be because the\nfile descriptor is closed (invalid) or the end of file or device is\nreached. In the last two cases, a read() or write() will return\nimmediately with an error or a value of 0, but won\u0027t block.\n\nThis patch makes GlibMessageLoop implementation watch for those cases\nas well.\n\nBUG\u003dNone\nTEST\u003dAdded unittests.\n\nChange-Id: I7d9d7671165ebf08b459cfff5d52bd09e6daabc1\nReviewed-on: https://chromium-review.googlesource.com/284711\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Alex Deymo \u003cdeymo@chromium.org\u003e\nTrybot-Ready: Alex Deymo \u003cdeymo@chromium.org\u003e\n"
    },
    {
      "commit": "8eb2e28f5231ffde2e34db17d90fdd5c8e590aac",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Tue Jul 07 05:03:53 2015"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Tue Jul 07 05:03:53 2015"
      },
      "message": "Initial empty repository\n"
    },
    {
      "commit": "665bc53fdf6b4b4ffd3d24f60e6a573ca52828a1",
      "tree": "c880d351e330778482553784eaaaec8b8b20e2a4",
      "parents": [
        "30ef934cd07bebb0f57f1449feb62facb3b647cc"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Sat Jun 27 02:34:26 2015"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Wed Jul 01 19:48:17 2015"
      },
      "message": "libchromeos: Add {LoadFrom,SaveTo}String to KeyValueStore.\n\nThis patch extends the chromeos::KeyValueStore to support loading and\nsaving from strings directly.\n\nBUG\u003dNone\nTEST\u003dUpdated unittests.\n\nChange-Id: I2b33cc9d427bba7b51733db3068cba08071c7b2b\nReviewed-on: https://chromium-review.googlesource.com/282380\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nTrybot-Ready: Alex Deymo \u003cdeymo@chromium.org\u003e\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Alex Deymo \u003cdeymo@chromium.org\u003e\n"
    },
    {
      "commit": "30ef934cd07bebb0f57f1449feb62facb3b647cc",
      "tree": "f24c5719b6c20b9690a00681523d86b486d1fdf1",
      "parents": [
        "3845c6dfdf6c1edb45271e691990c12ef92f77c7"
      ],
      "author": {
        "name": "Chris Masone",
        "email": "cmasone@chromium.org",
        "time": "Tue Jun 30 19:18:35 2015"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Tue Jun 30 22:07:41 2015"
      },
      "message": "libchromeos: power: Remove cmasone from OWNERS files\n\nLater, kids.\n\nBUG\u003dNone\nTEST\u003dNone\n\nChange-Id: If9c1fdf42b38536b0fd0b4495281673d750407a3\nReviewed-on: https://chromium-review.googlesource.com/282760\nCommit-Queue: Chris Masone \u003ccmasone@chromium.org\u003e\nTrybot-Ready: Chris Masone \u003ccmasone@chromium.org\u003e\nTested-by: Chris Masone \u003ccmasone@chromium.org\u003e\nReviewed-by: Dan Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "3845c6dfdf6c1edb45271e691990c12ef92f77c7",
      "tree": "60895345056a2a49943a5dbb4c12a9f26ae601b6",
      "parents": [
        "e9ff62a60c6ff34275f5c2f056d27e8753ae0646"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Thu Jun 25 18:08:30 2015"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Tue Jun 30 12:22:05 2015"
      },
      "message": "libchromeos: Implement I/O watching in MessageLoop.\n\nThis patch introduces a simple I/O watching method to the MessageLoop\ninterface following the pattern used by shill and what glib and libevent\ncan offer as implementation backend. This also includes implementations\nfor the GlibMessageLoop and the FakeMessageLoop.\n\nBUG\u003dbrillo:91,chromium:402066\nTEST\u003dAdded unittest to validate GlibMessageLoop.\n\nChange-Id: I0a0032bc40f6fd046b8b98076e0f553cdcd69051\nReviewed-on: https://chromium-review.googlesource.com/282110\nReviewed-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nCommit-Queue: Alex Deymo \u003cdeymo@chromium.org\u003e\n"
    },
    {
      "commit": "e9ff62a60c6ff34275f5c2f056d27e8753ae0646",
      "tree": "ea11cea0777072771cd4d49dbfe955e118d0f31e",
      "parents": [
        "7e89bb1fdf8d065f195b7ea8973a97ef5d60b661"
      ],
      "author": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@chromium.org",
        "time": "Wed Jun 24 23:43:44 2015"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Tue Jun 30 10:47:50 2015"
      },
      "message": "libchromeos: Import modp_b64.\n\nInstead of using openssl\u0027s base64 encoder/decoder, import modp_b64 and\nuse it. modp_b64 is imported from chromium.\nThis removes the dependency of an interface of openssl that is not\navailable in boringssl.\n\nBUG\u003dNone\nTEST\u003dunittests.\nTEST\u003dtrybot runs.\n\nCQ-DEPEND\u003dCL:281990\n\nChange-Id: Idccab41cecbbe6ca5f2bec5ff20ffc75d5a0fab4\nReviewed-on: https://chromium-review.googlesource.com/281991\nTested-by: Bertrand Simonnet \u003cbsimonnet@google.com\u003e\nTested-by: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\n"
    },
    {
      "commit": "7e89bb1fdf8d065f195b7ea8973a97ef5d60b661",
      "tree": "392c6a14b53b4281c03eb0526638ba0f7081e057",
      "parents": [
        "bb0ffcbb8364b7466bd13beeda2dd95356046049"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Wed Jun 24 05:31:25 2015"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Thu Jun 25 17:21:50 2015"
      },
      "message": "libchromeos: Remove leaked tasks from GlibMessageLoop destructor.\n\nThe GlibMessageLoop implementation uses the default context to help\nintegrate with source that access both the glib main loop directly and\nvia the chromeos::MessageLoop interface. This means that tasks scheduled\nwith one GlibMessageLoop instance will run even from another instance of\nthe same class in the same thread. To prevent leaking callbacks between\nGlibMessageLoop instances, such as the ones created for unittests, this\npatch removes and logs all the leaked pending callbacks when the\ninstance is destroyed.\n\nBUG\u003dchromium:499886\nTEST\u003dRan update_engine tests that leaked callbacks and saw the warnings.\n\nChange-Id: I94ac97da1e342a3aa58400de5b2d5cf05463aa32\nReviewed-on: https://chromium-review.googlesource.com/281445\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nTrybot-Ready: Alex Deymo \u003cdeymo@chromium.org\u003e\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Alex Deymo \u003cdeymo@chromium.org\u003e\n"
    },
    {
      "commit": "bb0ffcbb8364b7466bd13beeda2dd95356046049",
      "tree": "133cd698a4261ffac6772b5de1c96fedf4cc8d72",
      "parents": [
        "106edd138a59b2fa3856028baa15201d4f7f3ffd"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Mon Jun 22 21:24:06 2015"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Tue Jun 23 01:54:10 2015"
      },
      "message": "libchromeos: Fix CancelTask from the running task.\n\nThis patch removes the task_id from the map before running the user\nprovided callback, while keeping the ScheduledTask struct alive. This\nmakes CancelTask() return false when calling it from the same task you\nare running.\n\nBUG\u003dNone\nTEST\u003dAdded unittest.\n\nChange-Id: Id5e15a1111673f16a8ba9a0acfa2a46c1b64d5d1\nReviewed-on: https://chromium-review.googlesource.com/281060\nReviewed-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nCommit-Queue: Alex Deymo \u003cdeymo@chromium.org\u003e\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\n"
    }
  ],
  "next": "106edd138a59b2fa3856028baa15201d4f7f3ffd"
}
