)]}'
{
  "log": [
    {
      "commit": "c27ea0405210a6005450e4378de41a74a6c6ad0b",
      "tree": "d4fb7d788822c8ab51317fa0c548bc79ffce352a",
      "parents": [
        "7b549c9ad83ea27f60b2c81980574c86aa1438f8"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Fri Jun 27 22:36:03 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Tue Jul 01 00:42:44 2014"
      },
      "message": "power: Handle reason in RequestRestart method calls.\n\nRead an optional enum in D-Bus calls to the RequestRestart\nmethod describing the reason for the restart (currently,\neither a user request or a system update).\n\nBUG\u003dchromium:372074\nTEST\u003dapplied an update and checked that the restart reason\n     was logged correctly in powerd\u0027s log\nCQ-DEPEND\u003dI73f67cca9875b00bd944e4ff9779ad24fc4cd738\n\nChange-Id: Ib6b13e104970c9a8d012309949574a8f667d2d8c\nReviewed-on: https://chromium-review.googlesource.com/206072\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\n"
    },
    {
      "commit": "7b549c9ad83ea27f60b2c81980574c86aa1438f8",
      "tree": "60ea0b3472f2291fe1a037d9de9609c8b891fa26",
      "parents": [
        "70d00447a3d37a746da3a2bdeb0150d711becbc7"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Sat Jun 14 13:32:33 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Thu Jun 26 02:42:03 2014"
      },
      "message": "power: Rewrite Suspender to use a state machine.\n\nSimplify the Suspender class, making it perform a single\n\"prepare\" step after receiving a suspend request and an\n\"undo prepare\" step when the request is complete.\nPreviously, it did the prepare/unprepare dance for each\nsuspend _attempt_ (of which there can be multiple for a\ngiven request in the event of dark resume or a failed\nattempt).\n\nAlso run the event loop before resuspending from dark resume\nin anticipation of later features where the system will\nperform additional work while resumed. Suspender previously\nhad no dark-resume-related tests, so add a bunch of those.\n\nBUG\u003dchromium:384488\nTEST\u003dadded more tests; also manually tested that dark resume\n     works as before on link\n\nChange-Id: I21ff21d18bbcd59a8effeca0e403c227d8045cb6\nReviewed-on: https://chromium-review.googlesource.com/205357\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "70d00447a3d37a746da3a2bdeb0150d711becbc7",
      "tree": "0fe4834226932442779eb25b816fadff86919175",
      "parents": [
        "682ef3f8e064859a06e2b6cc6b4b8107ef66775c"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Wed Jun 18 13:04:15 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Thu Jun 26 02:35:05 2014"
      },
      "message": "power: Read panel backlight\u0027s maximum nits from VPD.\n\nMake powerd\u0027s Upstart script read the panel backlight\u0027s\nluminance from the VPD cache file and copy it to a pref, and\nupdate powerd to use that pref to interpret the\ninternal_backlight_no_als_ac_brightness and\ninternal_backlight_no_als_battery_brightness prefs.\n\nBUG\u003dchrome-os-partner:28715\nTEST\u003dupdated a test; also manually verified by running\n     \"vpd -s panel_backlight_max_nits\u003d200\" and checking that\n     the prefs are interpreted correctly\nCQ-DEPEND\u003dI211959703cdeba4e4c8a8de8dbf7e3f3eed04712\n\nChange-Id: I59a1679d4335e25979de6862d205700b45352ee4\nReviewed-on: https://chromium-review.googlesource.com/205438\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\nReviewed-by: Bernie Thompson \u003cbhthompson@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "682ef3f8e064859a06e2b6cc6b4b8107ef66775c",
      "tree": "d703abea5740b0345ea00da3eea418d134d09346",
      "parents": [
        "8ffbf114b910b001bd4a3823abb3e67cb915519c"
      ],
      "author": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@chromium.org",
        "time": "Fri Jun 20 22:34:09 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Thu Jun 26 02:31:53 2014"
      },
      "message": "power: Update gyp files to depend on metrics\u0027 standalone ebuild.\n\nMetrics is now installed by chromeos-base/metrics.\nPlatform2 packages should depend on it through the variable:deps mechanism\ninstead of depending directly on metrics\u0027 gyp file.\n\nBUG\u003dchromium:387923\nTEST\u003dBuild platform2. metrics gets installed and the tests succeed.\nTEST\u003dTrybot run on daisy-release, lumpy-incremental-paladin, link-release,\n  duck-release, x86-mario-release.\n\nCQ-DEPEND\u003dCL:205312\n\nChange-Id: Ic3fad208074888c7bba1eacb8318f398fe6956ae\nReviewed-on: https://chromium-review.googlesource.com/205320\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\nTested-by: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nCommit-Queue: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\n"
    },
    {
      "commit": "8ffbf114b910b001bd4a3823abb3e67cb915519c",
      "tree": "ca19c6b35cc0d6ec6cc381da4622727c4520fb02",
      "parents": [
        "a6621743893de93311aca137bea54ad64c6cf02c"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Sat Jun 21 17:45:47 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Wed Jun 25 04:29:04 2014"
      },
      "message": "power: Simplify dark resume code.\n\nReplace powerd\u0027s DarkResumePolicy class with\nDarkResumeInterface. A DarkResumeStub implementation will be\nused by tests for a following change to Suspender. The new\ninterface exposes a simple PrepareForSuspendAttempt() method\nthat returns the action that should be taken.\n\nAlso remove the unused dark_resume_battery_margins pref,\nupdate dark resume unittests to use PowerSupplyStub, and\nexpand test coverage.\n\nBUG\u003dchromium:384488\nTEST\u003dupdated tests; also manually tested on link with the\n     dark_resume_suspend_durations pref set to \"0.0 10\"\n\nChange-Id: I166eabdb4568b2e613369dc1173e7010a377ea51\nReviewed-on: https://chromium-review.googlesource.com/205251\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Derek Basehore \u003cdbasehore@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "a6621743893de93311aca137bea54ad64c6cf02c",
      "tree": "e42f10b40b188361a1f246de1c6a700e805ed26c",
      "parents": [
        "aba5f714821dc823b867af5e8466d4abb160f087"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Sat Jun 21 19:01:18 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Tue Jun 24 00:23:55 2014"
      },
      "message": "power: Add stub implementation of PowerSupply.\n\nTo enable a later change to clean up some\ndark-resume-related tests, add a PowerSupplyInterface class\nand a PowerSupplyStub implementation of it.\n\nBUG\u003dchromium:384488\nTEST\u003dexisting tests pass\n\nChange-Id: Ia0d601208d38e8352f40fa02f5200c0a2620cb82\nReviewed-on: https://chromium-review.googlesource.com/205154\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Sameer Nanda \u003csnanda@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "aba5f714821dc823b867af5e8466d4abb160f087",
      "tree": "ff95dfd266deddb2ec9c1f2831920650693998fa",
      "parents": [
        "c3ec233f432bd02d2f232e2ae413e537459f0cf1"
      ],
      "author": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@chromium.org",
        "time": "Wed Jun 18 17:46:40 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Sat Jun 21 02:23:17 2014"
      },
      "message": "power: Create a standalone ebuild for system_api\n\nsystem_api is required by a lot of platform2 packages. We need it to be in a\nstandalone ebuild in order for other packages to depend on it.\n\nThis package installs the common headers and compiles the protobufs into static\nlibraries.\n\nBUG\u003dchromium:386223\nTEST\u003dFEATURES\u003dtest emerge-amd64-generic platform2.\nTEST\u003dtrybot run on daisy, link, duck, x86-mario.\nTEST\u003dtrybot run on lumpy-incremental-release.\n\nCQ-DEPEND\u003dCL:204594\n\nChange-Id: Iabbac86042b30954eac5fc0936804c5c568872bb\nReviewed-on: https://chromium-review.googlesource.com/204583\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\nTested-by: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nCommit-Queue: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\n"
    },
    {
      "commit": "c3ec233f432bd02d2f232e2ae413e537459f0cf1",
      "tree": "d32b3b15cfbf8e2d2d61060a42d4b25638f2ad87",
      "parents": [
        "219ee0fc6c9f233a1b159fd00e14b6a3c3e28262"
      ],
      "author": {
        "name": "Shawn Nematbakhsh",
        "email": "shawnn@chromium.org",
        "time": "Fri Jun 13 19:18:46 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Wed Jun 18 01:39:44 2014"
      },
      "message": "init: powerd: Fix race condition with device disconnect\n\nIf a device becomes disconnected after the \"-e\" check but before the\nchown command, we will return with fail status and powerd will not be\nstarted. Fix this by ensuring chown failure will not abort our script.\n\nBUG\u003dchrome-os-partner:28827\nTEST\u003dManual. Ensure powerd starts on boot.\n\nChange-Id: I2ec4d1a22461661f2601a1338337e97a3c45e7e4\nReviewed-on: https://chromium-review.googlesource.com/203747\nTested-by: Shawn Nematbakhsh \u003cshawnn@chromium.org\u003e\nReviewed-by: Derek Basehore \u003cdbasehore@chromium.org\u003e\nCommit-Queue: Shawn Nematbakhsh \u003cshawnn@chromium.org\u003e\n"
    },
    {
      "commit": "219ee0fc6c9f233a1b159fd00e14b6a3c3e28262",
      "tree": "868162512da3c868d56f1748bc4165f629e2759e",
      "parents": [
        "194c031aea147e2630a5e1c618ac4c635be5cf3f"
      ],
      "author": {
        "name": "Benson Leung",
        "email": "bleung@chromium.org",
        "time": "Mon Jun 16 23:40:03 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Wed Jun 18 01:36:27 2014"
      },
      "message": "usb-hid-wake.sh : Check for power/wakeup property existence\n\npower/wakeup doesn\u0027t exist for every sysfs node in\n/sys/bus/usb/devices.\n\nSpecifically, when we match for usbhid or btusb devices,\nthe uevent under 1-4:1.0 will have \"DRIVER\u003dbtusb\" but\nonly the node 1-4 will have power/wakeup. This patch will\necho \"enabled\" to the power/wakeup of 1-4 port node instead of 1-4:1.0.\n\nThis also fixes the problem caused by a race condition between\nthis script and the btusb driver being registered with the usbcore.\nWhen the script is run on device 1-4 before btusb driver is registered,\n\"DRIVER\u003dbtusb\" will be missing from the uevent, and the script will\nnot have any effect.\n\nWhen the btusb driver is loaded later, udev will run this script again\nfor the subnodes 1-4:1.0, but not 1-4. This patch will skip\nattempting to write to the nonexistent power/wakeup, and write to the\ncorrect one under 1-4.\n\nAlso, clean up some shell scripting style, mainly {} when referring to\nvariables.\n\nSigned-off-by: Benson Leung \u003cbleung@chromium.org\u003e\n\nBUG\u003dchrome-os-partner:29659,chromium:370581\nTEST\u003dpowerd_dbus_suspend with bluetooth hid device and usb hid device\nClick on both devices, check that wake works.\n\nChange-Id: I5d8dce823bc3ffc6224bc3ab2f285e8f1243e45f\nReviewed-on: https://chromium-review.googlesource.com/204190\nTested-by: Benson Leung \u003cbleung@chromium.org\u003e\nReviewed-by: Benson Leung \u003cbleung@chromium.org\u003e\nCommit-Queue: Benson Leung \u003cbleung@chromium.org\u003e\n"
    },
    {
      "commit": "194c031aea147e2630a5e1c618ac4c635be5cf3f",
      "tree": "bd4b5f9d5c1ee0d0ed1a821965c931959d3ef9b9",
      "parents": [
        "ea948f91ea5239c6b05257a6c946016370f2e466"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Tue Jun 10 23:28:39 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Wed Jun 18 01:36:02 2014"
      },
      "message": "power: Preserve battery current and charge averages.\n\nIn order to make battery time-to-empty and time-to-full\nestimates less variable, split the rolling average of\ncurrent samples into separate averages collected while on\nline and battery power. Also stop clearing the previous\ncollected-on-battery samples when resuming from suspend or\nswitching between power sources. Continue clearing previous\ncollected-on-charger samples, since the current delivered is\nhighly variable.\n\nRecord signed current samples instead of the\npreviously-unsigned ones so that averages will remain\naccurate while alternating between charging and discharging\nwith a low-power charger connected.\n\nAdditionally, introduce new max_charge_samples and\nmax_current_samples prefs that control the number of samples\nthat are averaged together.\n\nBUG\u003dchromium:349973\nTEST\u003dupdated existing tests; also manually verified on lumpy\n\nChange-Id: Iba52048cfb76b1dfcf441e544f71513e81f3caff\nReviewed-on: https://chromium-review.googlesource.com/203462\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Sameer Nanda \u003csnanda@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "ea948f91ea5239c6b05257a6c946016370f2e466",
      "tree": "104329108d4ab99c1b88f0d621ef609d4290ff6e",
      "parents": [
        "202525a44783741b11c0e9e8709636413256754a"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Sun Jun 15 21:54:40 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Wed Jun 18 01:35:57 2014"
      },
      "message": "power: Avoid suspending immediately when retry is scheduled.\n\nAfter a failed suspend attempt, the Suspender class waits\nten seconds before retrying. If it receives another suspend\nrequest while waiting, it suspends immediately.\n\nThe StateController class sends a suspend request\nimmediately if it sees the system resume while the lid is\nstill closed.\n\nCombined, this means that the system will repeatedly retry\nsuspending without any delay if suspending is failing while\nthe lid is closed. To avoid this, make Suspender ignore\nsuspend requests while a retry is already scheduled.\n\nBUG\u003dchromium:384610\nTEST\u003dupdated tests for new behavior\n\nChange-Id: I17711a74e2e3d8b830dffdafb4bd74a137503fcf\nReviewed-on: https://chromium-review.googlesource.com/203773\nReviewed-by: Sameer Nanda \u003csnanda@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "202525a44783741b11c0e9e8709636413256754a",
      "tree": "c7f728dddbba7de03b0a55e74a415f91fe5c2536",
      "parents": [
        "4ccf6520e4712f39135617c3dcc0340bd9e9efaf"
      ],
      "author": {
        "name": "Duncan Laurie",
        "email": "dlaurie@chromium.org",
        "time": "Fri Jun 13 16:58:26 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Jun 13 22:43:28 2014"
      },
      "message": "power: Add non-indexed ambient light sensor sysfs entries\n\nIf a kernel IIO light sensor driver has just one value to report it may\nnot be indexed and therefore will be missing the expected \"0\" in the name.\n\nThis is true of the (upcoming) ACPI ALS driver that currently has just\none value to report which will be in \"in_illuminance_raw\".\n\nI did not add a non-indexed entry for the legacy \"illuminance0_input\"\nas it appears that the kernel will no longer create iio sysfs entries\nwithout a direction prefix.\n\nBUG\u003dchrome-os-partner:24208\nTEST\u003denable ACPI ALS support on samus board and ensure that powerd is\nable to read and use the raw illuminance value from the non-indexed\nsysfs entry at /sys/bus/iio/devices/iio:device0/in_illuminance_raw\n\nChange-Id: Ie714a104083a6e5ef076aa3990f9357c59e37b75\nSigned-off-by: Duncan Laurie \u003cdlaurie@chromium.org\u003e\nReviewed-on: https://chromium-review.googlesource.com/203699\nReviewed-by: Benson Leung \u003cbleung@chromium.org\u003e\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "4ccf6520e4712f39135617c3dcc0340bd9e9efaf",
      "tree": "000cca311052b6ad7a256459c4658cd809a280cd",
      "parents": [
        "67d52c3b0806d6ec59b96865d658540057c8aefc"
      ],
      "author": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@chromium.org",
        "time": "Wed May 28 23:22:43 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Sat May 31 01:46:33 2014"
      },
      "message": "power: Update gyp file to use src/platform2/common-mk\n\nWe are moving the packages built by platform2\u0027s ebuild into src/platform2.\nWe need packages to use src/platform2/common-mk instead of\nsrc/platform/common-mk.\n\nBUG\u003dchromium:378554\nTEST\u003demerge-daisy platform2\nTEST\u003dtrybot run on daisy, link, mario and duck\n\nCQ-DEPEND\u003dCL:201938\n\nChange-Id: Ib928c5900cf822e49648a4d210aacad9c5aa4eea\nReviewed-on: https://chromium-review.googlesource.com/201983\nTested-by: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nReviewed-by: Prathmesh Prabhu \u003cpprabhu@chromium.org\u003e\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\n"
    },
    {
      "commit": "67d52c3b0806d6ec59b96865d658540057c8aefc",
      "tree": "951c582bc692ab817334486c0f5988b30288713a",
      "parents": [
        "c5f9d709788462ff405a4e7709969b722bf6f421"
      ],
      "author": {
        "name": "Michael Spang",
        "email": "spang@chromium.org",
        "time": "Mon May 26 16:52:35 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Tue May 27 19:41:31 2014"
      },
      "message": "power: Make EVIOCPHYS non-fatal if it returns ENOENT\n\nSome input devices don\u0027t have any value for EVIOCPHYS. In this case, the\ncall fails with ENOENT. We should still allow these devices to be used\n(with phys of \"Unknown\").\n\nBUG\u003dnone\nTEST\u003dbuild \u0026 install\n\nChange-Id: Ie41e2c9fc91523919b604d95a84824c47b2b74e4\nReviewed-on: https://chromium-review.googlesource.com/201560\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Michael Spang \u003cspang@chromium.org\u003e\nTested-by: Michael Spang \u003cspang@chromium.org\u003e\n"
    },
    {
      "commit": "c5f9d709788462ff405a4e7709969b722bf6f421",
      "tree": "f20bb1b211fb0ea207f50d031d12442862aa8c4d",
      "parents": [
        "340ca64e236add9018efe5a44efc9462667d3fe1"
      ],
      "author": {
        "name": "Ben Chan",
        "email": "benchan@chromium.org",
        "time": "Thu May 22 01:46:34 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri May 23 05:00:14 2014"
      },
      "message": "power: Update to build against libchrome-271506.\n\nBUG\u003dchromium:375032\nTEST\u003d`FEATURES\u003dtest emerge-$BOARD platform2`\n\nChange-Id: I63ebbcd347b930ea557806cf07cf026be2e76de9\nReviewed-on: https://chromium-review.googlesource.com/201052\nTested-by: Ben Chan \u003cbenchan@chromium.org\u003e\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Ben Chan \u003cbenchan@chromium.org\u003e\n"
    },
    {
      "commit": "340ca64e236add9018efe5a44efc9462667d3fe1",
      "tree": "5415f7ed946325b32696642467821b84ba4bcf12",
      "parents": [
        "7477e8063c5cc5fa87120322e7d20d1186165ef4"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Fri May 09 21:57:08 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Mon May 12 22:12:47 2014"
      },
      "message": "power: Support max-level-dependent initial brightness.\n\nTo make it possible to use a single image in conjunction\nwith different backlight hardware, extend the format of\npowerd\u0027s internal_backlight_no_als_ac_brightness and\ninternal_backlight_no_als_battery_brightness prefs to\nsupport defining multiple initial brightness percentages.\n\nFor example, using:\n\n60.0 250\n50.0 500\n\nindicates that 60% should be used when the backlight\u0027s\nmaximum brightness level is reported as 250, while 50%\nshould be used for 500.\n\nNote that the former single-percentage format is still\nallowed (and should be used in almost all cases).\n\nAlso note that when defining multiple percentages, all\npossible maximum levels must be supplied.\n\nBUG\u003dchrome-os-partner:28715\nTEST\u003dadded unit tests; manually checked that powerd starts\n     up happily on lumpy\n\nChange-Id: Icfb901c91ca7b25ee36a1c5d1f2d6aa5875fcae0\nReviewed-on: https://chromium-review.googlesource.com/199159\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\n"
    },
    {
      "commit": "7477e8063c5cc5fa87120322e7d20d1186165ef4",
      "tree": "15a7cf1563c71565e689845f4073caf8ef4efc89",
      "parents": [
        "039f55f02c3109e84075108e5192819705fe21bc"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Thu Apr 24 16:50:42 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Thu Apr 24 23:49:38 2014"
      },
      "message": "power: Try to avoid reusing suspend attempt and delay IDs.\n\nTo reduce the likelihood of clients that have registered\nsuspend delays stepping on each others\u0027 toes when powerd is\nrestarted, choose starting suspend attempt and delay IDs\nthat are based on powerd\u0027s PID.\n\nSome specific potential issues that are made less likely by\nthis change:\n\n- If a buggy client doesn\u0027t reregister its suspend delay\n  when powerd restarts, it could otherwise accidentally\n  report suspend readiness on behalf of another client.\n\n- If a client registers a suspend delay just before or after\n  powerd restarts, the client may see the ownership of\n  powerd\u0027s D-Bus name change but not know whether its\n  request was handled by the old or new powerd process. With\n  this change, it can just unregister the old delay\n  (harmless if it was generated by the old process) and\n  register a new one.\n\nBUG\u003dnone\nTEST\u003dmanual: verified that suspend/resume still works\n\nChange-Id: I6dd64a8fa90faae8f056671eb424074fd549c3ce\nReviewed-on: https://chromium-review.googlesource.com/196838\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Prathmesh Prabhu \u003cpprabhu@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "039f55f02c3109e84075108e5192819705fe21bc",
      "tree": "eb4fc67467446b06ab4ebb88bd4e8f9b63d72029",
      "parents": [
        "834a4c76a86b94e10f711173bf91aac9e94275fc"
      ],
      "author": {
        "name": "Ben Chan",
        "email": "benchan@chromium.org",
        "time": "Thu Apr 24 05:03:53 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Thu Apr 24 21:57:12 2014"
      },
      "message": "power: Remove libbase_ver override in gyp file.\n\nCL:194476 modified platform2 to build against libchrome-242728. The\nlibbase_ver override in the gyp file is no longer needed.\n\nBUG\u003dchromium:361748\nTEST\u003d`FEATURES\u003dtest emerge-$BOARD platform2`\nTEST\u003dVerify that powerd is linked against libchrome-242728.\n\nChange-Id: I1064666a907242ea16d84a5189e29adb2696f2d4\nReviewed-on: https://chromium-review.googlesource.com/196723\nCommit-Queue: Ben Chan \u003cbenchan@chromium.org\u003e\nTested-by: Ben Chan \u003cbenchan@chromium.org\u003e\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "834a4c76a86b94e10f711173bf91aac9e94275fc",
      "tree": "c55a88d495dce4c9fa39c4cb7f39fcdc6136d5ce",
      "parents": [
        "7ca074eb5fb5d01bc8967c5d45dc1db2c36a70de"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Sun Apr 20 17:26:47 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Wed Apr 23 02:53:33 2014"
      },
      "message": "power: Dejankify backlight brightness animations.\n\nMake powerd not restart the backlight animation timer when\nthe current transition is interrupted by a new request, as\nhappens when holding down a brightness key.\n\nAlso simplify some old code in the InternalBacklight class\nand reduce the brightness update frequency from 30 ms to 20\nms (it was effectively 50 ms before this change when holding\na brightness key, but 30 ms is still slightly flickery on\nlumpy).\n\nBUG\u003dchromium:358938\nTEST\u003dmanual: panel backlight animations are no longer\n     flickery on lumpy, and panel and keyboard animations\n     both look fine on pixel; also added tests\n\nChange-Id: I4e18541dadbeb9fc8abf241f2833bf32d5bc6597\nReviewed-on: https://chromium-review.googlesource.com/196261\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "7ca074eb5fb5d01bc8967c5d45dc1db2c36a70de",
      "tree": "970edcbfbf80c3e326ef1971b1b9397761f8c0b2",
      "parents": [
        "ab17d5bd19d4bd57fcf3fe0bbc11f2266b4c42c7"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Mon Apr 21 03:47:22 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Wed Apr 23 02:52:33 2014"
      },
      "message": "power: Don\u0027t emit PowerStateChanged and SuspendStateChanged.\n\nThese D-Bus signals are being removed in favor of\nsimpler SuspendImminent and SuspendDone signals.\n\nBUG\u003dchromium:359619\nTEST\u003dupdated tests\n\nChange-Id: Ie49e8377593fbd672e81ff846c889a08d734ce8d\nReviewed-on: https://chromium-review.googlesource.com/196274\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Sameer Nanda \u003csnanda@chromium.org\u003e\n"
    },
    {
      "commit": "ab17d5bd19d4bd57fcf3fe0bbc11f2266b4c42c7",
      "tree": "dc9f4dbd29ad3150cb7d6fa8f3adcfbbbcd8b030",
      "parents": [
        "9f4e7a570645834b703784abf11ad0bf80a04fee"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Sun Apr 20 14:03:54 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Tue Apr 22 02:38:38 2014"
      },
      "message": "power: Use one user-set brightness level for battery and AC.\n\nWhen the user adjusts the brightness because it\u0027s too bright\nor too dim, they probably don\u0027t want us to change it later\njust becuase they plugged or unplugged their charger.\nInstead of tracking separate user-set brightness levels to\nuse while on battery and AC power, make powerd use the same\nlevel for both.\n\nThe default brightness level still differs between the two\npower sources, and Chrome is able to request different\nlevels via policies that it sends to powerd.\n\nBUG\u003dchromium:360042\nTEST\u003dmanually checked that brightness doesn\u0027t change when\n     plugging or unplugging charger after manually setting\n     the brightness; also updated existing tests\n\nChange-Id: I4ec6975fa058f66d8d3eaea503df122073653fc6\nReviewed-on: https://chromium-review.googlesource.com/195819\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "9f4e7a570645834b703784abf11ad0bf80a04fee",
      "tree": "fc5156ccaa05016be2868393c0488a3418d59489",
      "parents": [
        "195daf1acf1c1fe0cdbca3510074350b8bc6f8ff"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Wed Apr 16 21:59:15 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Apr 18 03:08:03 2014"
      },
      "message": "power: Send SuspendDone at startup if restarted mid-suspend.\n\nMake powerd touch\n/var/run/power_manager/power/suspend_announced just before\nemitting the SuspendImminent D-Bus signal and unlink it\nafter emitting SuspendDone. If the file exists at startup,\nit means that powerd was restarted mid-suspend attempt,\nleaving other processes in a state where they prepared for\nsuspend but didn\u0027t clean up afterwards. An additional\nSuspendDone signal is emitted in this case.\n\nAlso remove some DarkResumePolicy log spam.\n\nBUG\u003dchromium:359619,chromium:364166\nTEST\u003dupdated unit tests; also hacked powerd to exit just\n     before suspending and checked that SuspendDone is\n     emitted after it gets restarted\n\nChange-Id: I91ef20505c1eff4751f5f3a79dba5eeff7cb7ace\nReviewed-on: https://chromium-review.googlesource.com/195271\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Sameer Nanda \u003csnanda@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "195daf1acf1c1fe0cdbca3510074350b8bc6f8ff",
      "tree": "2c5569f32bf558ceb10323b8e8a66dfafe95a1e8",
      "parents": [
        "140620a76e2f282188b41a7d7867fcfa71ddf069"
      ],
      "author": {
        "name": "Luigi Semenzato",
        "email": "semenzato@chromium.org",
        "time": "Tue Apr 08 21:27:55 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Thu Apr 17 21:15:52 2014"
      },
      "message": "powerd_dbus_suspend: add automatic RTC wakeup option.\n\nI use this for testing wake-on-lan from the bus without fear\nthat the system will stay suspended.  It\u0027s easy to do this\nmanually like this:\n\n echo $(date \u0027+%s\u0027 -d \u0027+ 10 seconds\u0027) \u003e /sys/class/rtc/rtc0/wakealarm; powerd_dbus_suspend\n\nbut the built-in version is more convenient.\n\nBUG\u003dchromium:360295\nTEST\u003dtested manually\n\nChange-Id: I1773ece8d28b23672263e0ab7302bdb8194156c4\nReviewed-on: https://chromium-review.googlesource.com/193680\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Luigi Semenzato \u003csemenzato@chromium.org\u003e\nTested-by: Luigi Semenzato \u003csemenzato@chromium.org\u003e\n"
    },
    {
      "commit": "140620a76e2f282188b41a7d7867fcfa71ddf069",
      "tree": "c91ddb344d9ca3092ea9e9aa5674b3225b42cb27",
      "parents": [
        "5ee01cc73c9cd9cbfc443c0b2c13adda8ca39ba1"
      ],
      "author": {
        "name": "Yunlian Jiang",
        "email": "yunlian@google.com",
        "time": "Tue Apr 15 23:32:42 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Thu Apr 17 16:43:04 2014"
      },
      "message": "power_manager: use uint to compare with uint expression.\n\nBUG\u003dchromium:363837\nTEST\u003demerge-lumpy platform2 passes.\n\nChange-Id: I17f80a186242ec83ba86e38b8fa7fdb6f5c2e4cb\nReviewed-on: https://chromium-review.googlesource.com/195060\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Yunlian Jiang \u003cyunlian@chromium.org\u003e\nTested-by: Yunlian Jiang \u003cyunlian@chromium.org\u003e\n"
    },
    {
      "commit": "5ee01cc73c9cd9cbfc443c0b2c13adda8ca39ba1",
      "tree": "35da16d5cb974ddcbcf0dd0a3777d5ad6e2f7eae",
      "parents": [
        "94fcc82fc64b04dc3ca072f36af19ab4e3896d13"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Fri Mar 28 22:52:25 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Thu Apr 17 16:38:42 2014"
      },
      "message": "power: Add documentation for prefs.\n\nAlso make a few small fixes to the README file and get rid\nof the separate shorter delay before repolling the power\nsupply after a failure.\n\nBUG\u003dnone\nTEST\u003dmanual: built and ran it\n\nChange-Id: Icd358fd21985cb7c9cc0e3f19dc895547d2341ea\nReviewed-on: https://chromium-review.googlesource.com/192911\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\n"
    },
    {
      "commit": "94fcc82fc64b04dc3ca072f36af19ab4e3896d13",
      "tree": "0785db304c35cdf80226f8f71761e9ab7b8642df",
      "parents": [
        "18678799072380d07673eed6f10c7b62689d88a4"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Sat Apr 12 14:23:08 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Wed Apr 16 15:21:55 2014"
      },
      "message": "power: Include time-until-idle in IdleActionImminent signals\n\nMake IdleActionImminent D-Bus signals include a protocol\nbuffer containing the remaining time until the idle action\nwill be performed. If a policy modifies the idle-action\ndelay, an updated IdleActionImminent signal will be emitted.\n\nBUG\u003dchromium:287787\nTEST\u003dupdated tests\nCQ-DEPEND\u003dI48f75cbde2bd66da5058def86e087c2d771b20a9\n\nChange-Id: I8e7cbceed70d3bb0f52087cb91f30975f0a8056a\nReviewed-on: https://chromium-review.googlesource.com/194865\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Bartosz Fabianowski \u003cbartfab@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "18678799072380d07673eed6f10c7b62689d88a4",
      "tree": "0b6e24ed6ebe6e9c398431445faeb22339d8c38c",
      "parents": [
        "e4a1c52344d9bc0b9186f992c07147f3abca3f39"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Thu Apr 03 21:29:34 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Sat Apr 12 03:37:53 2014"
      },
      "message": "power: Emit SuspendDone signal.\n\nMake powerd emit a SuspendDone D-Bus signal to announce the\ncompletion of a suspend attempt (whose start was previously\nannounced via a SuspendImminent signal). SuspendDone will\neventually replace the SuspendStateChanged and\nPowerStateChanged signals.\n\nAlso make SuspendDelayController log delay descriptions in\nmore places to make it easier to debug potential future\nissues with delays timing out.\n\nAdditionally, fix a subtle bug where upon resuming with a\nclosed lid, a new suspend attempt could be started before\nthe previous attempt was completed.\n\nBUG\u003dchromium:359619\nTEST\u003dunit tests pass; also did manual testing with an\n     updated version of the suspend_delay_sample program\nCQ-DEPEND\u003dI2bb42d3961669a540a562d24b782598ae1c51ccc\n\nChange-Id: I111a68e1903d940c8f06bafa820576fcc71c7f2c\nReviewed-on: https://chromium-review.googlesource.com/194154\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "e4a1c52344d9bc0b9186f992c07147f3abca3f39",
      "tree": "6cdafdbd36763089ab3450ebfe2f22429823d529",
      "parents": [
        "3f0f92abc085e1a05b77a375dd3f570396f90db5"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Tue Apr 01 20:34:28 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Wed Apr 02 02:29:33 2014"
      },
      "message": "power: Remove weird als_limits prefs.\n\nRemove the internal_backlight_als_limits and\nkeyboard_backlight_als_limits prefs. I\u0027m not sure that they\never made sense, but they\u0027re especially nonsensical now.\n\nAlso install the keyboard_backlight_{als,user}_steps prefs\nfrom the link overlay by default. This simplifies the link\nBSP and may eliminate the need for copy-and-pasting in the\nfuture.\n\nBUG\u003dnone\nTEST\u003dtests pass; did a link build and manually confirmed\n     that ALS-triggered display and keyboard brightness\n     adjustments still work\n\nChange-Id: I0949c6114ee70446de2efd2f1fbba901fd63c5f3\nReviewed-on: https://chromium-review.googlesource.com/192605\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\n"
    },
    {
      "commit": "3f0f92abc085e1a05b77a375dd3f570396f90db5",
      "tree": "621c6017752ef5d5adfaa2a11452a6903ba8bc2e",
      "parents": [
        "1783c64a443ab947186f5afde744d2542c3d1b17"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Wed Mar 26 00:23:56 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Mar 28 17:05:46 2014"
      },
      "message": "power: Delete disable_als pref.\n\nThis isn\u0027t used anymore. The has_ambient_light_sensor pref\ncan be set to 0 to make powerd avoid using the ALS.\n\nAlso update AmbientLightHandler to assert at initialization\nthat its prefs are sane.\n\nBUG\u003dchromium:356395\nTEST\u003dmanual: ambient light sensor still works on pixel\nCQ-DEPEND\u003dIdb5da0ea393468933f8d7d2ca6c845e2afa1c433\n\nChange-Id: I760ee019bdfd0b439a66e6cfec87d8ccb97965f1\nReviewed-on: https://chromium-review.googlesource.com/191824\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "1783c64a443ab947186f5afde744d2542c3d1b17",
      "tree": "61b6f69c10bbafb96e6ee015e235ccaee1e822fe",
      "parents": [
        "9b962cb970c49dab375dcf318ee4691f5268ec35"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Thu Mar 27 21:29:01 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Mar 28 11:05:37 2014"
      },
      "message": "power: Update OWNERS file.\n\nUpdate the owners file to include derat@chromium.org,\nsnanda@chromium.org, and cmasone@chromium.org, based on\nauthor/reviewer counts over the last year as given by the\nfollowing commands:\n\n  git shortlog -s -n 43705a65..HEAD\n\n  git log 43705a65..HEAD | grep Reviewed-by | sort | \\\n      uniq -c | sort -n -r\n\nBUG\u003dnone\nTEST\u003dnone\n\nChange-Id: I5160c432574f5d9b7f9c62bf0f123aef09d41ce5\nReviewed-on: https://chromium-review.googlesource.com/191984\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "9b962cb970c49dab375dcf318ee4691f5268ec35",
      "tree": "e5b1c302c10d244183d1822705b94443222cf4fa",
      "parents": [
        "7538219e63407d81e523b3bfcdcafa1b721d7ca6"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Wed Mar 26 20:00:30 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Thu Mar 27 20:38:21 2014"
      },
      "message": "power: Store external display brightness as percentage.\n\nStore external displays\u0027 current brightness levels as\npercentages rather than absolute values.\n\nOtherwise, weird rounding effects appear: with a [0, 100]\nrange and a starting brightness of 0, the resulting\nbrightness level after a 6.25% increase would be rounded to\n6, then the next adjustment would be rounded to 6 + 6.25 \u003d\n12 rather than 13, and so on.\n\nAlso change the default adjustment amount from 6.25% to 5%.\nMost displays seem to offer the range [0, 100], so we might\nas well just entirely avoid rounding when possible.\n\nFinally, treat maximum brightness levels of 0 as errors.\n\nBUG\u003dchrome-os-partner:26935\nTEST\u003dupdated unit tests\n\nChange-Id: Ib7c0e660888546fa2294a71f93440a6a24581721\nReviewed-on: https://chromium-review.googlesource.com/191753\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "7538219e63407d81e523b3bfcdcafa1b721d7ca6",
      "tree": "e02db2515334efec6a91ad31cfa4fd717579e809",
      "parents": [
        "2bf1db8e4f765522e2d85ed34bfc6413f44d6167"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Tue Mar 25 00:23:03 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Tue Mar 25 17:54:47 2014"
      },
      "message": "power: Update constant references.\n\nBUG\u003dnone\nTEST\u003dcompiled it\nCQ-DEPEND\u003dI82eb62fa872617e96d64e40b92513564279d40ab\n\nChange-Id: Iea9f83e639889c4000bf8a317e94302e1ccf6372\nReviewed-on: https://chromium-review.googlesource.com/191370\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "2bf1db8e4f765522e2d85ed34bfc6413f44d6167",
      "tree": "57e734ece0413f8d13813d0b60918e36cc0f3a21",
      "parents": [
        "05bb3d1932d94fed84c75a8944bc6cf5614129fd"
      ],
      "author": {
        "name": "Liam McLoughlin",
        "email": "lmcloughlin@chromium.org",
        "time": "Thu Mar 20 00:17:02 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Mar 21 23:59:12 2014"
      },
      "message": "Add missing metrics dependency to libutil\n\nBUG\u003dchromium:352276\nTEST\u003dplatform2 builds!\n\nChange-Id: Id985c7553fb41772500ee2c7bfbe7a68f54e8b14\nReviewed-on: https://chromium-review.googlesource.com/190820\nReviewed-by: Liam McLoughlin \u003clmcloughlin@chromium.org\u003e\nTested-by: Liam McLoughlin \u003clmcloughlin@chromium.org\u003e\nReviewed-by: Ryan Sleevi \u003crsleevi@chromium.org\u003e\nCommit-Queue: Aviv Keshet \u003cakeshet@chromium.org\u003e\n"
    },
    {
      "commit": "05bb3d1932d94fed84c75a8944bc6cf5614129fd",
      "tree": "320ca00f26e99e5fd0ed00b055da87a54077a438",
      "parents": [
        "9aa3257dbc1acb14cd6620f817feaf32ba806ef1"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Mon Mar 17 05:10:27 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Tue Mar 18 00:04:16 2014"
      },
      "message": "power: Add --decrease and --increase to backlight_dbus_tool.\n\nThis makes it easier to test the external display\nbrightness-adjustment code.\n\nBUG\u003dchromium:315371\nTEST\u003dmanual\n\nChange-Id: I86898634e75c0e4af6eef7c11634715cecb286f6\nReviewed-on: https://chromium-review.googlesource.com/190268\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "9aa3257dbc1acb14cd6620f817feaf32ba806ef1",
      "tree": "87808b2eb602ca5718ca13b1b7747658c8e5dbad",
      "parents": [
        "40d8b77f04ce8a77fb2c7b6eb398afad68557b84"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Mon Mar 17 06:12:53 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Tue Mar 18 00:04:06 2014"
      },
      "message": "power: Delete old keep_backlight_on_for_audio pref.\n\nDelete an old keep_backlight_on_for_audio powerd pref. This\nwas added before powerd was updated to check for HDMI audio\nand it doesn\u0027t appear to be set anywhere.\n\nAlso log a message when audio is being sent to the display\nat the point where the screen is dimmed to make it more\nobvious why the screen won\u0027t be turned off.\n\nBUG\u003dchrome-os-partner:13240\nTEST\u003ddeleted old tests; also manually tested that screen is\n     still kept on for HDMI audio and that new message is\n     logged\n\nChange-Id: Ie02d1e883ad38e9fa3a16c161ece85b97af6a932\nReviewed-on: https://chromium-review.googlesource.com/190310\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "40d8b77f04ce8a77fb2c7b6eb398afad68557b84",
      "tree": "5db954fa07fe0859a569946ae1b0bd9aed811de8",
      "parents": [
        "100b6aa17f058a0863255022a19eb5c2e83f8927"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Wed Mar 12 07:58:57 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Mar 14 19:43:02 2014"
      },
      "message": "power: Update include style.\n\nUpdate the ordering and brackets-vs.-double-quotes style of\nincludes to match the session manager and shill.\n\nAlso change some C headers to their C++ analogues and remove\na few \"#pragma once\" directives.\n\nBUG\u003dchromium:350088\nTEST\u003dit still builds\n\nChange-Id: I25a92848df4f9895329de1cbbaad4b18b044c456\nReviewed-on: https://chromium-review.googlesource.com/189661\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "100b6aa17f058a0863255022a19eb5c2e83f8927",
      "tree": "86fcf8f073933091bce3f2d2d2648e1fa319ad9b",
      "parents": [
        "7e40fcc9c5446d761bbedc0b0c6f8ab8b5252bc1"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Fri Mar 14 04:35:49 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Mar 14 19:42:46 2014"
      },
      "message": "powerd: Update documentation.\n\nMention the init, powerd/policy, and powerd/system\ndirectories in the README file, and move some preference\ndocumentation into ambient_light_handler.h.\n\nBUG\u003dnone\nTEST\u003dnone; documentation change\n\nChange-Id: I6b89b6f7d31b9311094bfc154833347f03b6e02d\nReviewed-on: https://chromium-review.googlesource.com/189943\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\n"
    },
    {
      "commit": "7e40fcc9c5446d761bbedc0b0c6f8ab8b5252bc1",
      "tree": "72cc7696dad88e3c17fd430a3f6594d77884d34b",
      "parents": [
        "9306abd7c85741147d629be53bb0e6e7628969c9"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Sun Mar 09 12:26:44 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Mar 14 03:46:28 2014"
      },
      "message": "power: Add metrics for external brightness operations.\n\nAdd histogram metrics recording the results of communication\nwith external displays via DDC/CI:\n\n  Power.ExternalBrightnessRequestResult\n  Power.ExternalBrightnessReadResult\n  Power.ExternalBrightnessWriteResult\n  Power.ExternalDisplayOpenResult\n\nAlso make user-requested adjustments of external displays be\nreported via the Power.UserBrightnessAdjustmentsPerSession\nmetric (formerly only used for internal displays).\n\nBUG\u003dchromium:315371\nTEST\u003dadded tests; also manually checked via\n     chrome://histograms that metrics are reported after\n     adjusting an external display\u0027s brightness\n\nChange-Id: I8f019ff84842bc33fb004bf34ec1b5b2c0cb1d79\nReviewed-on: https://chromium-review.googlesource.com/189399\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "9306abd7c85741147d629be53bb0e6e7628969c9",
      "tree": "194133499649edd444048e9328566042f6cdd19b",
      "parents": [
        "6d4cbc6b4f16c016dc0da6b68db85eb27730690f"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Wed Mar 12 06:18:46 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Mar 14 03:46:24 2014"
      },
      "message": "power: Split prefs for estimate delay after plug/unplug.\n\nSplit the existing\nbattery_stabilized_after_power_source_change_ms pref, used\nto configure how long powerd should wait before estimating\nthe battery time-to-empty or time-to-full after the power\nsource changes, to separate\nbattery_stabilized_after_line_power_connected_ms and\nbattery_stabilized_after_line_power_disconnected_ms prefs.\n\nThe default for all of these remains at five seconds. (The\nold pref doesn\u0027t appear to have been changed from the\ndefault on any boards.)\n\nBUG\u003dchrome-os-partner:26648\nTEST\u003dadded tests\n\nChange-Id: I5abc199203818b1010b01947cfd2386217a4d4c5\nReviewed-on: https://chromium-review.googlesource.com/189650\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Sameer Nanda \u003csnanda@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "6d4cbc6b4f16c016dc0da6b68db85eb27730690f",
      "tree": "c2aeec34ae98ef4549e0a4985ccec702086eddd0",
      "parents": [
        "81f2efeb81c4a773a172dcf03743871ae61e73a4"
      ],
      "author": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@chromium.org",
        "time": "Sat Feb 22 01:23:06 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Wed Mar 12 22:30:46 2014"
      },
      "message": "Add power_manager\u0027s init scripts\n\nPart of a three CLs change that moves powerd.conf and report-power-metrics.conf\nfrom platform/init to platform/power_manager where they will be installed by\nplatform2\u0027s ebuild.\n\nBUG\u003dchromium:348214\nTEST\u003dbuild chromeos-init and platform2. powerd.conf and\nreport-power-metrics.conf are now owned by platform2\nTEST\u003ddeploy on a Chromebook. powerd is running and power metrics are reported at\nboot.\n\nCQ-DEPEND\u003dI3539df39571de175df72e2f2e0f1ad9d42c0b9c5\nCQ-DEPEND\u003dIcfdc9269084a9eb3dd431a0908a71149388cb07d\n\nChange-Id: I94ccaf741f770975bb890f9d23a020c8220f9b09\nReviewed-on: https://chromium-review.googlesource.com/189060\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nTested-by: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\n"
    },
    {
      "commit": "81f2efeb81c4a773a172dcf03743871ae61e73a4",
      "tree": "b1b6d5d87eb6be0857724d5496834a7707150f19",
      "parents": [
        "0b279dfea6b68aa38610e1fca3135189b52a2347"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Mon Mar 10 03:56:23 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Tue Mar 11 00:26:21 2014"
      },
      "message": "power: Make metrics-sending code stubbable.\n\nRename MetricsReporter to MetricsCollector and add a new\nsingleton MetricsSender class that wraps the external\nMetricsLibrary class that actually talks to Chrome (whew).\n\nAll metrics reporting is currently initiated by\nMetricsCollector. Adding a singleton allows classes deeper\nin the code to report metrics directly without needing to\npropagate their state all the way up to MetricsCollector.\n\nBUG\u003dchromium:315371\nTEST\u003dran existing tests; also checked via\n     chrome://histograms that metrics are still reported\n\nChange-Id: I221b1edcfbca36f72282db086cc6697956953570\nReviewed-on: https://chromium-review.googlesource.com/189440\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "0b279dfea6b68aa38610e1fca3135189b52a2347",
      "tree": "aeac25c2e5c99afe9ff9c612bf3efbbf710bf0fc",
      "parents": [
        "8bc55ef0210a4d8d381ae392c1d5139676c3448f"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Wed Oct 23 19:49:44 2013"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Mon Mar 10 01:40:47 2014"
      },
      "message": "power: Bring back code for adjusting external brightness.\n\nThis adds an ExternalDisplay class that can adjust an\nexternal display\u0027s brightness via the DDC/CI protocol. It\nalso updates the ExternalBacklightController class to watch\nfor changes to the set of connected external displays and\nadjust their brightness in response to user requests to\nincrease and decrease the screen brightness.\n\nBUG\u003dchromium:315371\nTEST\u003dadded unit tests; also manually confirmed that\n     brightness keys work on stumpy with various displays\n     now after telling chrome to send requests\n\nChange-Id: Ie690d9d896cfc26ae0b300082cf64bd8402be579\nReviewed-on: https://chromium-review.googlesource.com/189203\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "8bc55ef0210a4d8d381ae392c1d5139676c3448f",
      "tree": "a99e86982aa788f9be966cd8b25639da3e810fef",
      "parents": [
        "34341a32afcb2d202cc3cf1d45e13efb8348b365"
      ],
      "author": {
        "name": "Todd Broch",
        "email": "tbroch@chromium.org",
        "time": "Fri Mar 07 01:44:06 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Mar 07 19:01:11 2014"
      },
      "message": "power: power_supply_info: should parse board_specific params by default.\n\nBUG\u003dchrome-os-partner:26213\nTEST\u003dmanual\n\nOn system with:\n  /usr/share/power_manager/board_specific/power_supply_full_factor\ndefined, see correct delta in power_supply_info output\n\n$ cat /usr/share/power_manager/board_specific/power_supply_full_factor\n0.95\n\n$ power_supply_info | grep percentage\npercentage         : 92.1234\ndisplay percentage : 97.4321\n\nChange-Id: I37ea29c19499cdf7ca34168cb2f3c1d810737775\nReviewed-on: https://chromium-review.googlesource.com/189150\nTested-by: Todd Broch \u003ctbroch@chromium.org\u003e\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Sameer Nanda \u003csnanda@chromium.org\u003e\nCommit-Queue: Todd Broch \u003ctbroch@chromium.org\u003e\n"
    },
    {
      "commit": "34341a32afcb2d202cc3cf1d45e13efb8348b365",
      "tree": "4afc18de38238f2df21f2dcd67a984b4e809b3ee",
      "parents": [
        "e37db5ae2e20609b6c76a135749005ddc73bfd6e"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Fri Feb 28 01:03:28 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Mar 07 00:41:26 2014"
      },
      "message": "power: Add DisplayWatcher and DisplayInfo.\n\nAdd a new DisplayWatcher class that can be used to learn\nabout changes to connected displays. This replaces\nInput::IsDisplayConnected() and also returns the I2C device\nthat can be used to communicate with the display, which is\nneeded to control external displays\u0027 brightness levels.\n\nAlso create a new powerd/system/display subdirectory and\nmove DisplayPowerSetter there.\n\nBUG\u003dchromium:315371\nTEST\u003dmanual; also added unit tests\n\nChange-Id: I56731b97d25935e816dfc7787c388a51a3e7ce74\nReviewed-on: https://chromium-review.googlesource.com/189023\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "e37db5ae2e20609b6c76a135749005ddc73bfd6e",
      "tree": "9652387fc34aab196181c9992ef3d1d534161569",
      "parents": [
        "ded0ba81a8a83a5c6dbc8f590969d668eb6c0e7c"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Wed Mar 05 03:58:43 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Thu Mar 06 20:17:03 2014"
      },
      "message": "power: Make power_supply_info print designed full charge.\n\nMake power_supply_info print the as-designed full charge\nfor the battery.\n\nBUG\u003dchromium:348634\nTEST\u003dmanual: ran power_supply_info and looked for\n     \"full charge design (Ah)\"\n\nChange-Id: I3666f0f4947c4dcbded5885b9807d3253d6970f1\nReviewed-on: https://chromium-review.googlesource.com/189030\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Sameer Nanda \u003csnanda@chromium.org\u003e\n"
    },
    {
      "commit": "ded0ba81a8a83a5c6dbc8f590969d668eb6c0e7c",
      "tree": "012aa14329f72ca2553dc39a56dbc92239d1679c",
      "parents": [
        "4bc50ef173e945557b3005e7ce0b0a015048013e"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Fri Feb 28 07:03:29 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Feb 28 19:12:29 2014"
      },
      "message": "power: Remove old module.mk files.\n\nRemove some old files left around from when the power\nmanager used Make instead of GYP.\n\nBUG\u003dnone\nTEST\u003ddid a build\n\nChange-Id: I1b749a7fb875cf78cd226b0d8a20e98bee7d49c6\nReviewed-on: https://chromium-review.googlesource.com/188331\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "4bc50ef173e945557b3005e7ce0b0a015048013e",
      "tree": "8b5cb9fc7b50a2c3a223fad1d5122a17152153ba",
      "parents": [
        "a48e894f66163eaa69b7c02d0a916d023c99be0a"
      ],
      "author": {
        "name": "Yunlian Jiang",
        "email": "yunlian@google.com",
        "time": "Thu Feb 27 21:59:28 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Feb 28 03:41:40 2014"
      },
      "message": "power_manager: use fabs() for float parameter.\n\nBUG\u003dchromium:347706\nTEST\u003demerge-x86-alex platform2 passes.\n\nChange-Id: Iac83e51b0f8620c4c7aba015fbc27387fb471693\nReviewed-on: https://chromium-review.googlesource.com/188139\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\nCommit-Queue: Yunlian Jiang \u003cyunlian@chromium.org\u003e\nTested-by: Yunlian Jiang \u003cyunlian@chromium.org\u003e\n"
    },
    {
      "commit": "a48e894f66163eaa69b7c02d0a916d023c99be0a",
      "tree": "c7781b1fb83527026c0a0dfba1b6e1937f4067bb",
      "parents": [
        "0834d7a05d501aaa550b51b1b0c007ac886582fb"
      ],
      "author": {
        "name": "Julius Werner",
        "email": "jwerner@chromium.org",
        "time": "Thu Feb 27 20:33:27 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Feb 28 02:04:18 2014"
      },
      "message": "powerd_suspend: Enable debug info unconditionally\n\nThe reason we ever disabled no_console_suspend when we have a serial\nline is supposedly gone now. Let\u0027s remove this hack to stop confusing\npeople who don\u0027t want to track down how a presumably unrelated command\nline change affects their suspend debug output.\n\nCQ-DEPEND\u003dCL:I83e3f5d90533f4fd0dbb8ef37cec02ef8364eece\nBUG\u003dNone\nTEST\u003dSuspend/resume on a Snow/Pit with Servo serial. Make sure you can\nsee all the suspend debug output, but the serial still works afterwards.\n\nChange-Id: Ifbbd12e2b17a0a34644ea7c3bf41b3637c5e49fe\nSigned-off-by: Julius Werner \u003cjwerner@chromium.org\u003e\nSigned-off-by: Doug Anderson \u003cdianders@chromium.org\u003e\nReviewed-on: https://chromium-review.googlesource.com/188186\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "0834d7a05d501aaa550b51b1b0c007ac886582fb",
      "tree": "1a3f48370512a1b44f42b4fc43e39adfe312cd03",
      "parents": [
        "3fa8b7fcb0f251e5a72d660b0b77ea19a0ea9afb"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Thu Feb 13 21:52:20 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Sat Feb 15 00:50:18 2014"
      },
      "message": "power: Add usage messages to various binaries.\n\nBUG\u003dnone\nTEST\u003dnone\n\nChange-Id: Id064cb89460068539047a0a7c97323c40e44f5e9\nReviewed-on: https://chromium-review.googlesource.com/186662\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\n"
    },
    {
      "commit": "3fa8b7fcb0f251e5a72d660b0b77ea19a0ea9afb",
      "tree": "c2b29d036b2bf978402ed18f2a91b154aefdca36",
      "parents": [
        "3fee4f78546a33104531408ea042e7c3617c275b"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Thu Feb 13 18:55:11 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Feb 14 18:52:26 2014"
      },
      "message": "power: Fix brightness-adjustment histograms.\n\nAmbient-light-triggered display backlight adjustments\nweren\u0027t getting recorded at all; this was untested and\npresumably regressed at some point.\n\nThe adjustment counts were also not reset at the beginning\nof a new session (despite the metrics\u0027 names suggesting\notherwise), resulting in them instead providing a count of\nthe number of adjustments since boot.\n\nBUG\u003dnone\nTEST\u003dadded unit tests; also manually checked histograms at\n     chrome://histograms\n\nChange-Id: I34f2b3d480d8ca1b63a83c9b680857bdcb03ff7c\nReviewed-on: https://chromium-review.googlesource.com/186468\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\n"
    },
    {
      "commit": "3fee4f78546a33104531408ea042e7c3617c275b",
      "tree": "d2bbf531849ccb52fc95c2a13c155cb100750066",
      "parents": [
        "c3c1c4c44e553d355fdf8f768ad022e54951b3c9"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Wed Feb 12 23:13:55 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Feb 14 01:05:39 2014"
      },
      "message": "power: Fix histogram ranges.\n\nCorrect several problems in powerd\u0027s histogram code:\n- 0 is an invalid minimum value for non-enum histograms; use\n  1 instead.\n- Instead of capping samples to the histogram\u0027s range, let\n  out-of-bounds values end up in the underflow or overflow\n  bucket.\n\nBUG\u003dnone\nTEST\u003dupdated unit tests\n\nChange-Id: I318d38d099ec9edfb8ee319fe5acb8936a19b332\nReviewed-on: https://chromium-review.googlesource.com/186356\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "c3c1c4c44e553d355fdf8f768ad022e54951b3c9",
      "tree": "8e13910dd3224fc7a70349b6583c8ac98f162741",
      "parents": [
        "f4c8485600868e43ab5d99c756d65ea4900ee8d4"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Sat Jan 25 04:21:15 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Thu Feb 13 04:22:07 2014"
      },
      "message": "power: Fix suspend-retry metrics.\n\nThe suspend retry count was incorrectly being reset to 0\nbefore sending new samples for the Power.RetrySuspendCount\nhistogram. Fix this (and clean up some logic in Suspender)\nand switch to new histograms:\n\n  Power.SuspendAttemptsBeforeSuccess\n  Power.SuspendAttemptsBeforeCancel\n  Power.ShutdownReason\n\nBUG\u003dchromium:337508\nTEST\u003dadded tests to check that correct counts are reported;\n     also made suspend intentionally fail several times\n     before reporting success and checked that histograms\n     were reported correctly\n\nChange-Id: Id6d51666c988b0dbbea7b0d06412b5d0308bcb4d\nReviewed-on: https://chromium-review.googlesource.com/186111\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "f4c8485600868e43ab5d99c756d65ea4900ee8d4",
      "tree": "a04daa3d36a95a6f1968ad297e0967d52226042f",
      "parents": [
        "0aaf8f1b66451181c4370c41e3a1f7d925e601e7"
      ],
      "author": {
        "name": "Ben Chan",
        "email": "benchan@chromium.org",
        "time": "Wed Feb 12 04:42:40 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Wed Feb 12 19:40:17 2014"
      },
      "message": "power: Update metrics dependency to use slotted libmetrics library.\n\nBUG\u003dchromium:342866\nCQ-DEPEND\u003dCL:185187\nCQ-DEPEND\u003dCL:186026\nTEST\u003dTrybot run on paladin, release, and chromiumos-sdk builders.\n\nChange-Id: Id062f1bdf38ed3687a06cbc9a26632770498b930\nReviewed-on: https://chromium-review.googlesource.com/186100\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\nTested-by: Ben Chan \u003cbenchan@chromium.org\u003e\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Ben Chan \u003cbenchan@chromium.org\u003e\n"
    },
    {
      "commit": "0aaf8f1b66451181c4370c41e3a1f7d925e601e7",
      "tree": "8a5e47d68a9dbee32284133cc27ca1cc30612120",
      "parents": [
        "4cae59a4d47580abe8ddc99a77ab3f688893b978"
      ],
      "author": {
        "name": "Doug Anderson",
        "email": "dianders@chromium.org",
        "time": "Wed Feb 05 20:49:25 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Feb 07 04:15:19 2014"
      },
      "message": "power: collect tps65090 (tpschrome) metrics on resume and boot\n\nWe\u0027d like some metrics about how many times we needed to retry turning\non tps65090 FETs at bootup and after suspend/resume.  This will let us\nkeep a handle on the workaround and also may provide early warning if\ndevices start nearing the maximum number of retries.\n\nAt the moment we\u0027ll do our work by parsing the system log.  This may\nbe a little fragile but it has the advantage that this same code can\nbe backported even to kernel-3.4 systems and it will still work.\n\nSee \u003chttps://codereview.chromium.org/135363008/\u003e for related change to\nhistograms.xml.\n\nBUG\u003dchromium:338657\nTEST\u003dPick I35d924a2f2b0027eb49de10e5ced076c15e18a21 and see the update\nin the histogram in about://histograms after bootup and after\nsuspend/resume.\nTEST\u003dRun script with debugging on both 3.4 and 3.8 and see that it\nproperly parses both FET1 (0xf) and other FETs.\n\nChange-Id: Id3a54c518bb651261d45d7c429040ad423a9ff3b\nReviewed-on: https://chromium-review.googlesource.com/185026\nTested-by: Doug Anderson \u003cdianders@chromium.org\u003e\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Doug Anderson \u003cdianders@chromium.org\u003e\n"
    },
    {
      "commit": "4cae59a4d47580abe8ddc99a77ab3f688893b978",
      "tree": "82829c45c526b5b545f5c17f69ffa0b8f6e1e203",
      "parents": [
        "9cc3c94395ef92c9d34c00afd9c4fe692a9dfed9"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Wed Feb 05 16:55:56 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Thu Feb 06 07:09:36 2014"
      },
      "message": "power: Report brightness changes for external displays.\n\nMake ExternalBacklightController emit BrightnessChanged\nD-Bus signals when turning the display on or off. This makes\nexisting brightness-change-related logic in Chrome (e.g.\nignoring power button presses while the display is off) also\nwork on devices that lack internal displays.\n\nAlso rename MockBacklightControllerObserver to\nBacklightControllerObserverStub.\n\nBUG\u003dchromium:25504\nTEST\u003dupdated unit tests; also manually tested that\n     power button presses are ignored on stumpy after the\n     display has been turned off due to inactivity\n\nChange-Id: I1a7d9325a2e147d4d816a27d4b6dc59d4c6a9edc\nReviewed-on: https://chromium-review.googlesource.com/185021\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "9cc3c94395ef92c9d34c00afd9c4fe692a9dfed9",
      "tree": "e0a39e5d3616138428f0866dae04030c6efeaac3",
      "parents": [
        "d69f91d20dee9c749d6a27893b0f7e8ca41e31cd"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Tue Feb 04 00:51:43 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Wed Feb 05 03:20:37 2014"
      },
      "message": "power: Don\u0027t increase 0%-set backlight for volume keys.\n\nAfter the user explicitly sets the panel backlight to 0%,\navoid increasing the brightness in response to\nvolume-related key presses.\n\nBUG\u003dchromium:340470\nTEST\u003dmanual: after reducing brightness to 0%, screen stays\n     off after hitting volume and mute keys\nCQ-DEPEND\u003dIf155a0e3977b4d4d2765df4b39b35258a4c0903a\n\nChange-Id: I0e9e7ae5829710748f0a369c3a4f301eb1e32b3f\nReviewed-on: https://chromium-review.googlesource.com/184832\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "d69f91d20dee9c749d6a27893b0f7e8ca41e31cd",
      "tree": "c8d6dc4808bed38af9c2cdd4e781920bd61a1cad",
      "parents": [
        "74c2995773a9bf930a19fdeed2304e1d84ad6c89"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Fri Jan 24 17:35:37 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Tue Jan 28 13:52:05 2014"
      },
      "message": "power: Report early and late suspend cancels separately.\n\nReplace the Power.SuspendStatus histogram with separate\nPower.SuspendAttempt and Power.SuspendResult histograms.\nSuspendResult uses separate values for cancellations\noccurring before or after the write to wakeup_count.\n\nBUG\u003dchromium:337520\nTEST\u003dmanual: checked via chrome://histograms that\n     new histograms are reported correctly\n\nChange-Id: I13224b332082a055322e3c93b34a9738480cd776\nReviewed-on: https://chromium-review.googlesource.com/183814\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "74c2995773a9bf930a19fdeed2304e1d84ad6c89",
      "tree": "49033d59c9da22e840f2a940a9f86cb7d97be6ad",
      "parents": [
        "0464a157854399b0534067e100ca32728f056098"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Tue Jan 28 02:30:45 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Tue Jan 28 06:12:13 2014"
      },
      "message": "power: Log message when reporting fake VT2 user activity.\n\nLog a message just before reporting fake, periodic user\nactivity due to VT2 being active.\n\nBUG\u003dnone\nTEST\u003dnone\n\nChange-Id: Ife67fc5640c227ae95dc9e4298f85ff91ee5baee\nReviewed-on: https://chromium-review.googlesource.com/184045\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Mohammed Habibulla \u003cmoch@google.com\u003e\n"
    },
    {
      "commit": "0464a157854399b0534067e100ca32728f056098",
      "tree": "e1a8893fe211ab546563c1ee842bf5e041425dc8",
      "parents": [
        "72b4ebab7bcfa084fb53656e86c4248465638615"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Tue Jan 21 22:33:56 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Wed Jan 22 04:53:14 2014"
      },
      "message": "power: Eventually turn off external display in docked mode.\n\nMake the screen-off-due-to-inactivity state take precedence\nover docked mode. Previously, the external display would\nremain on while in docked mode.\n\nBUG\u003dchromium:336458\nTEST\u003dadded a unit test; also manually tested that docked\n     mode works as before but the external display is turned\n     off before suspending after lowering powerd timeouts\n\nChange-Id: Iaa47d1c07954ec83533703612d2d561c1ccefc37\nReviewed-on: https://chromium-review.googlesource.com/183345\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Mitsuru Oshima \u003coshima@chromium.org\u003e\n"
    },
    {
      "commit": "72b4ebab7bcfa084fb53656e86c4248465638615",
      "tree": "cf8a7bd639b8f90ecc95fd14d52bc241e242c17d",
      "parents": [
        "102efca219021bef721134ea7d1d4ca624ccb59e"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Fri Jan 17 17:45:16 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Tue Jan 21 19:42:40 2014"
      },
      "message": "power: Add Power.PowerButtonAcknowledgmentDelay metric.\n\nAdd a metric that records the number of milliseconds that\nChrome took to acknowledge the power button being pressed.\n2000 ms is reported if Chrome didn\u0027t reply before the\ntwo-second timeout.\n\nAlso delete some repetitive \"num buckets\" constants and\nclamp histogram minimums to 1 (the actual minimum value\nsupported by Chrome).\n\nBUG\u003dchromium:298983\nTEST\u003dadded unit tests; manually checked that 0 to 2-ms\n     metrics are reported during normal use, that a 2000-ms\n     sample is sent when using gdb to make chrome hang, and\n     that the sample gets reported after reboot if the power\n     button is held eight seconds to do a hard shutdown\n\nChange-Id: I7f1ad67b748ea9ac9c47b8981b838f6d3a108637\nReviewed-on: https://chromium-review.googlesource.com/183134\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\n"
    },
    {
      "commit": "102efca219021bef721134ea7d1d4ca624ccb59e",
      "tree": "1e97e51f47a6ce236588a73182f2e98cef6527dd",
      "parents": [
        "52414cd01a53bdc0ef49912249c6c21ff9e6a914"
      ],
      "author": {
        "name": "Siva Chandra",
        "email": "sivachandra@chromium.org",
        "time": "Sat Jan 11 00:07:29 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Tue Jan 14 23:01:25 2014"
      },
      "message": "Set the field which captures battery discharge rate in PowerSupplyProperties\n\nBUG\u003dchromium:333087\nTEST\u003dby building\nCQ-DEPEND\u003dCL:182226\n\nChange-Id: I8f9b1ab6c597a2268249dfea49dda632b1b4544e\nReviewed-on: https://chromium-review.googlesource.com/182189\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Siva Reddy \u003csivachandra@chromium.org\u003e\nCommit-Queue: Siva Reddy \u003csivachandra@chromium.org\u003e\n"
    },
    {
      "commit": "52414cd01a53bdc0ef49912249c6c21ff9e6a914",
      "tree": "b7fe243570cab53644c40187f4dcd4b0f0e25658",
      "parents": [
        "e9a784b38cf7432b9eeff31ec5c77280c85526ae"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Mon Jan 06 21:26:16 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Mon Jan 13 21:15:37 2014"
      },
      "message": "power: Wait for D-Bus services to start before querying.\n\nAt startup, make powerd wait until the session manager,\nCRAS, and Chrome have connected to D-Bus before making\nmethod calls to them. This avoids some (harmless) log spam.\n\nAlso make powerd query the update engine at startup to avoid\nthe somewhat unlikely possibility of suspending the system\ndue to inactivity if powerd is restarted in the middle of a\nslow update.\n\nBUG\u003dnone\nTEST\u003dmanual: powerd correctly fetches session, audio\n     playback, and update state when restarted while\n     session_manager, CRAS, and update_engine are already\n     running; no D-Bus log spam just after boot\nCQ-DEPEND\u003dCL:182243\n\nChange-Id: Ia4cdab1632889e4c7dce9660ddc2efafeb537ecb\nReviewed-on: https://chromium-review.googlesource.com/182232\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "e9a784b38cf7432b9eeff31ec5c77280c85526ae",
      "tree": "170c46bc13cf54c3ddedd590c05cfa6930da4cd8",
      "parents": [
        "cdc3eb5b4373c53a86ddd0a28e422ba517e66d81"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Fri Jan 03 19:58:20 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Sat Jan 11 17:43:44 2014"
      },
      "message": "power: Update for libchrome:242728.\n\nUpdate powerd to link against r242728 of libchrome.\n\nBUG\u003dchromium:331128\nTEST\u003dtests pass\nCQ-DEPEND\u003dIb6c567d9f92b5e24cba04d9c1bd57517ee0ee0d8\n\nChange-Id: Ic1033ce684bf9d5f6e1455d78ba3b64fe64bd206\nReviewed-on: https://chromium-review.googlesource.com/181821\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "cdc3eb5b4373c53a86ddd0a28e422ba517e66d81",
      "tree": "fdef483cfb7f16c3560bc68f612e81c8622822b0",
      "parents": [
        "8cb454a11b856a5e320d48b21252fcdc28326c8d"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Thu Jan 02 23:48:52 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Wed Jan 08 16:39:31 2014"
      },
      "message": "power: Relocate old utility code.\n\nRelocate some shared code that\u0027s no longer shared.\n\nBUG\u003dnone\nTEST\u003dunit tests pass\n\nChange-Id: Iaeb25fbaa21aa090409321e960b95f64980f8fe6\nReviewed-on: https://chromium-review.googlesource.com/181391\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "8cb454a11b856a5e320d48b21252fcdc28326c8d",
      "tree": "5cb99dab015dcd0f6df25b70041543b0c1117f22",
      "parents": [
        "d189ad313d073ce00344d4e159a0e5a29cd4436d"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Mon Jan 06 18:23:49 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Wed Jan 08 02:24:04 2014"
      },
      "message": "power: Export D-Bus methods before taking ownership of name.\n\nMake powerd export all of its D-Bus methods before taking\nownership of org.chromium.PowerManager. Otherwise, other\nclients that are watching for name ownership changes may\nmake calls to powerd before it\u0027s ready to handle them.\n\nBUG\u003dchromium:331431\nTEST\u003dmanual: ran \"restart powerd\" many times while tailing\n     /var/log/chrome/chrome; didn\u0027t see any more errors\n     about failed method calls to powerd\n\nChange-Id: I39088ae5c14fd33feeaa62d2cf765f6d5ea55a41\nReviewed-on: https://chromium-review.googlesource.com/181517\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "d189ad313d073ce00344d4e159a0e5a29cd4436d",
      "tree": "a0667e8d43b14e1712b67441547207c5689bfb21",
      "parents": [
        "0654a518a94eb5078a3949c516e6893931059bba"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Sat Jan 04 00:03:17 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Tue Jan 07 04:52:19 2014"
      },
      "message": "power: Create ShutdownReason enum.\n\nThis adds a ShutdownReason enum to replace the string that\nwas passed into Daemon::ShutDown(). Previously, there was a\nrisk that someone could inadvertently pass an untrusted\nstring into the function later (which would be bad, since\nthe string is passed to the shell).\n\nBUG\u003dnone\nTEST\u003dmanual: shutting down still works\n\nChange-Id: I21d149eeaaad4c7ae05cf5edabd8ceea1f0704f5\nReviewed-on: https://chromium-review.googlesource.com/181658\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\n"
    },
    {
      "commit": "0654a518a94eb5078a3949c516e6893931059bba",
      "tree": "2200ca93c3b8c7927627b12ae796c5641543c788",
      "parents": [
        "8a0606246923237a725f85e5166b7b3f3fa43649"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Sun Dec 22 15:31:54 2013"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Thu Dec 26 04:59:34 2013"
      },
      "message": "power: Add dependency on system_api-headers.\n\nAdd a dependency on system_api-headers to ensure that\nincludes of service_constants.h don\u0027t fail the first time\nthat platform2 is built.\n\nBUG\u003dchromium:330379\nTEST\u003ddid a build\n\nChange-Id: If8d179c1f1d7dcd5bf37ade61d3ccee9e26a17de\nReviewed-on: https://chromium-review.googlesource.com/181066\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Liam McLoughlin \u003clmcloughlin@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "8a0606246923237a725f85e5166b7b3f3fa43649",
      "tree": "329120454aa0e74dc3fcadb613862c9696ca4835",
      "parents": [
        "2060c7d6bc505e45edd4439a8b3ae766ee76e6ee"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Thu Dec 19 23:31:15 2013"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Sat Dec 21 08:39:49 2013"
      },
      "message": "power: Wait up to ten seconds for initial policy.\n\nSimilar to how the initial display mode is handled, make\npowerd wait up to ten seconds for Chrome to send the initial\npolicy at startup. This makes it less likely that powerd\nwill perform any of its default actions (e.g. shutting down\nbecause the lid is closed) at boot before Chrome gets a\nchance to send it device policies.\n\nBUG\u003dchromium:329930\nTEST\u003dadded unit tests\n\nChange-Id: I09aa2eadbdb0a6a9071fa2e73996b95bd14b5a23\nReviewed-on: https://chromium-review.googlesource.com/181004\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "2060c7d6bc505e45edd4439a8b3ae766ee76e6ee",
      "tree": "766d934c1e936fa7b7600adf5ef01dc8d68ef839",
      "parents": [
        "5c07af53ae06609d979fd4e8d513c018046d5c15"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Wed Dec 18 23:04:53 2013"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Sat Dec 21 08:36:01 2013"
      },
      "message": "power: Move common delegate code into ActionRecorder.\n\nCreate a new ActionRecorder class that test delegates can\nderive from. It just provides AppendAction() and\nGetActions() methods that match the ones that were\npreviously declared in test_util.h and duplicated across\nseveral tests, respectively.\n\nBUG\u003dnone\nTEST\u003dunit tests pass\n\nChange-Id: I79a9f87475bca8e028340910d86ff0d95239bd1b\nReviewed-on: https://chromium-review.googlesource.com/180728\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "5c07af53ae06609d979fd4e8d513c018046d5c15",
      "tree": "2103911413a3318a9532355e9c9188e07c9e6943",
      "parents": [
        "ed008e38ccff9245ed63b293a9315d920742ffe1"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Sun Dec 15 15:18:46 2013"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Sat Dec 21 01:21:09 2013"
      },
      "message": "power: Switch to platform2.\n\nAdd power_manager.gyp, remove Makefile and friends, and make\nvarious small code changes to keep things compiling.\n\nBUG\u003dchromium:328740\nTEST\u003dbuilt the package and ran tests\nCQ-DEPEND\u003dI221469094a24015b8cc5a6395aa8b972bd725c4b\nCQ-DEPEND\u003dI719558761f370c2e29996fde4aaae647c8237001\n\nChange-Id: I84437b0b949f4053f5bdf70aa938274fd3cc58a0\nReviewed-on: https://chromium-review.googlesource.com/180685\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "ed008e38ccff9245ed63b293a9315d920742ffe1",
      "tree": "3d8aa7f406e81aa12787a8acf85e2bf6108b606e",
      "parents": [
        "cbbe11952ea7c4ba34631b710fced9c6e6343e06"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Wed Dec 18 21:41:55 2013"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Thu Dec 19 01:17:56 2013"
      },
      "message": "power: Change MessageLoopForUIs to MessageLoopForIOs.\n\nUpdate a few remaining places where MessageLoopForUI was\nbeing used to instead use MessageLoopForIO.\n\nBUG\u003dchromium:320340\nTEST\u003dunit tests pass; power_supply_info and\n     get_powerd_initial_backlightLevel still work\n\nChange-Id: I584410c97705caf4c57adae49f3fa9201745b088\nReviewed-on: https://chromium-review.googlesource.com/180678\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\n"
    },
    {
      "commit": "cbbe11952ea7c4ba34631b710fced9c6e6343e06",
      "tree": "edf0724e8a1a5c501a788ab2ab87d98ff2bfd57c",
      "parents": [
        "3bfe95c1434b626b56e7fc5d6b9fee7b6f0684ac"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Thu Dec 05 22:22:13 2013"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Wed Dec 18 21:25:37 2013"
      },
      "message": "power: Switch to Chrome\u0027s D-Bus library.\n\nUpdate powerd to use Chrome\u0027s D-Bus bindings (now included\nin libchrome/libbase) instead of dbus-glib. This also\nremoves powerd\u0027s dependency on glib and libchromeos.\n\nNote that this results in some log spam about various D-Bus\nclients not yet being up when powerd first starts after\nboot. This should be harmless and can be addressed after\nlibchrome is updated (ToT permits registering callbacks to\nrun after names become owned).\n\nBUG\u003dchromium:320340\nCQ-DEPEND\u003dI99fa8df387c30bd57e258004e64a07430468f26f\nTEST\u003dmanual: checked that the following still works:\n     - lock screen delay\n     - logout idle action\n     - PowerStateChange signals on suspend/resume\n     - initial session state loaded\n     - initial audio state loaded\n     - requery state on session manager and cras restart\n     - BrightnessChanged signals\n     - session state changes\n     - update state changes\n     - audio state changes\n     - display mode changes\n     - chrome-requested screen/keyboard brightness changes\n     - power button acknowledgment\n     - chrome-requested shutdown and reboot\n     - video activity (including fullscreen)\n     - user activity\n     - policy changes on lock screen setting change\n     - display power is sent to chrome\n     - send power mode to chrome on chrome restart\n     - suspend delays are honored\n     - set_power_policy tool\n     - suspend_delay_sample tool\n     - backlight_dbus_tool tool\n     - powerd_dbus_suspend tool\n\nChange-Id: I4c7f08b38ab309e4db3e8ecf2a7a9e09de0d56d6\nReviewed-on: https://chromium-review.googlesource.com/179665\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "3bfe95c1434b626b56e7fc5d6b9fee7b6f0684ac",
      "tree": "1a44f6b35bd086becad0a4ebdce97e14bbe7301e",
      "parents": [
        "5f4ea694baee4b339d8f84d08aa282da3e7e0439"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Sat Dec 07 15:28:55 2013"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Wed Dec 18 21:25:34 2013"
      },
      "message": "power: Watch FDs with MessageLoopForIO instead of GIOChannel\n\nUse Chrome\u0027s MessageLoopForIO::FileDescriptorWatcher to\nwatch for input and udev events instead of using glib\u0027s\nGIOChannel. Also refactor duplicated udev code into its own\nclass.\n\nThis change also switches powerd from MessageLoopForUI to\nMessageLoopForIO. As such, it\u0027s dependent on a following\nchange to move powerd from dbus-glib (which depends on\nMessageLoopForUI\u0027s glib-based implementation) to Chrome\u0027s\nD-Bus library (which depends on MessageLoopForIO).\n\nBUG\u003dchromium:320340\nTEST\u003dmanual: power button and lid switch still work, input\n     device plugs and unplugs are reported in the log, and\n     the power status is updated in response to charger plug\n     and unplug actions\nCQ-DEPEND\u003dI4c7f08b38ab309e4db3e8ecf2a7a9e09de0d56d6\n\nChange-Id: I99fa8df387c30bd57e258004e64a07430468f26f\nReviewed-on: https://chromium-review.googlesource.com/179284\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "5f4ea694baee4b339d8f84d08aa282da3e7e0439",
      "tree": "82b5aee36e04405967bbb4c7d64ca05928648e9f",
      "parents": [
        "51d4104b5ca3f1182ce0d299d980abe75cf8d0cf"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Fri Dec 13 20:33:27 2013"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Sun Dec 15 20:55:14 2013"
      },
      "message": "power: Update \"not owned\" comments to \"weak\".\n\nUpdate comments used to describe weak pointers.\n\nBUG\u003dnone\nTEST\u003dnone\n\nChange-Id: Ib484ef39a0942aac12075c8133552336133eb17c\nReviewed-on: https://chromium-review.googlesource.com/180131\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "51d4104b5ca3f1182ce0d299d980abe75cf8d0cf",
      "tree": "a7ab8a5afd224d91c2408961818cb018a66bbabf",
      "parents": [
        "98f356b2fe345da3f5a81133e364d033bb3a1482"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Tue Dec 03 20:38:11 2013"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Sat Dec 14 01:27:24 2013"
      },
      "message": "power: Merge PowerInformation and PowerStatus structs.\n\nMove fields from the PowerInformation struct into\nPowerStatus. I don\u0027t think there was ever a good reason for\nthese to be split; PowerInformation just held a PowerStatus\nand a few other strings that might as well live in\nPowerStatus (along with a few more fields that were never\ninitialized).\n\nBUG\u003dnone\nTEST\u003dmanually checked that power_supply_info still works\n\nChange-Id: Ic73ca0dd1d904423053f67fcb694f7363219199c\nReviewed-on: https://chromium-review.googlesource.com/180021\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Sameer Nanda \u003csnanda@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "98f356b2fe345da3f5a81133e364d033bb3a1482",
      "tree": "3841f4f5b78567b9234ef571fdf2ec669621d5ea",
      "parents": [
        "27c5d709cf21af14a335c5742167513512f2238c"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Sun Dec 08 14:49:57 2013"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Dec 13 22:27:41 2013"
      },
      "message": "power: Make BacklightInterface return values directly.\n\nBacklightInterface\u0027s GetMaxBrightnessLevel() and\nGetCurrentBrightnessLevel() methods previously returned\nboolean success and stored the requested levels in an\nout-param. These methods return cached values, though (as\npowerd is expected to be the only process changing the\nlevels), so there\u0027s no way they can fail. Returning the\nlevels directly results in simpler code (e.g. some\nBacklightController implementations no longer need to report\nsuccess or failure).\n\nBUG\u003dnone\nTEST\u003dmanual: panel and keyboard backlight brightness is\n     still adjusted\n\nChange-Id: I69eb4eee5cf02cbc9f5850e8ebc1a2870f6900e1\nReviewed-on: https://chromium-review.googlesource.com/180022\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\n"
    },
    {
      "commit": "27c5d709cf21af14a335c5742167513512f2238c",
      "tree": "af8da0431484741c0a20c2d72dd57d5e262dc12a",
      "parents": [
        "68615af51e42fc8ccce1c38f90ad2f6b3ba87fbd"
      ],
      "author": {
        "name": "Luigi Semenzato",
        "email": "semenzato@chromium.org",
        "time": "Mon Nov 25 22:27:17 2013"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Thu Dec 12 20:53:47 2013"
      },
      "message": "Enable wakeup for bluetooth/usb devices.\n\nBUG\u003dchrome-os-partner:23975\nTEST\u003dmanually tested\n\nChange-Id: Ieebdb1bcad13f6a59fd322dd36f804bfe4ff0954\nReviewed-on: https://chromium-review.googlesource.com/177908\nTested-by: Luigi Semenzato \u003csemenzato@chromium.org\u003e\nReviewed-by: Benson Leung \u003cbleung@chromium.org\u003e\nCommit-Queue: Luigi Semenzato \u003csemenzato@chromium.org\u003e\n"
    },
    {
      "commit": "68615af51e42fc8ccce1c38f90ad2f6b3ba87fbd",
      "tree": "aa8896ef9d55138a44be23ddf0bb7dcc9f462a92",
      "parents": [
        "ef0d832c0766b79d1bf2773c996609e7daa55ee3"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Mon Nov 18 21:12:41 2013"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Thu Dec 12 20:51:29 2013"
      },
      "message": "power: Report original spring charger.\n\nMake powerd read the battery model name from sysfs and\nuse it to report original spring chargers.\n\nBUG\u003dnone\nTEST\u003dadded unit tests\nCQ-DEPEND\u003dIe2d4b04418f2ee243afe2149aa496843a6e992fb\n\nChange-Id: I754a83eb3792151e51687714fb127bc1f14a89ac\nReviewed-on: https://chromium-review.googlesource.com/178576\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "ef0d832c0766b79d1bf2773c996609e7daa55ee3",
      "tree": "ec35d1d714151e3d4d2bb32ed563789f2cc11de8",
      "parents": [
        "292cb788b8892f845fc7e87c2462003d2fc1ed29"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Sat Dec 07 17:42:02 2013"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Mon Dec 09 17:28:18 2013"
      },
      "message": "power: Avoid passing uninitialized objects into constructors\n\nWith the switch to Chrome\u0027s D-Bus library, there will be\nmore classes that need to defer initialization until other\nclasses (e.g. DBusSender) have been initialized. Passing a\nbunch of uninitialized objects into constructors makes me\nnervous; switch to passing objects to Init() methods instead\nto reduce the chance of accidentally using an uninitialized\nobject in the future.\n\nBUG\u003dchromium:320340\nTEST\u003dtests pass\n\nChange-Id: Ie8eb41a35d0cce4b5a5f9e7fa23aec873ad1a291\nReviewed-on: https://chromium-review.googlesource.com/179239\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "292cb788b8892f845fc7e87c2462003d2fc1ed29",
      "tree": "8beed416ef15e6bd210cdabe5ce33e949b1337d8",
      "parents": [
        "8e036c2b39efeb579355089002543e1264ddd780"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Fri Dec 06 19:05:43 2013"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Sat Dec 07 02:01:37 2013"
      },
      "message": "power: Move object initialization out of main().\n\nMove initialization of a bunch of objects into\nDaemon::Init(); soon, some of these objects will need access\nto D-Bus proxies that are initialized in Daemon::Init().\n\nI think that the initialization was previously in main()\njust because there were tests that passed mock\nimplementations of the objects to Daemon. (These tests were\nfragile, since they were unable to actually initialize the\nDaemon object after creating it. They have since been\ndeleted.)\n\nBUG\u003dchromium:320340\nTEST\u003dmanual: powerd works as before\n\nChange-Id: I1a33a47bf17f74c2bbd4c11ddfca2064eaeeee63\nReviewed-on: https://chromium-review.googlesource.com/179073\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\n"
    },
    {
      "commit": "8e036c2b39efeb579355089002543e1264ddd780",
      "tree": "6e695688a6957c4605012879a0be006bbfab8841",
      "parents": [
        "cb9b0ce7c3093eb1e671bcd07eeb13f33718f86e"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Fri Dec 06 22:47:28 2013"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Sat Dec 07 02:01:28 2013"
      },
      "message": "power: Add AtExitManagers and MessageLoopForUIs to tools.\n\nTools that post tasks crash if these objects aren\u0027t\ninitialized.\n\nBUG\u003dchromium:326655\nTEST\u003dmanual: power_supply_info and\n     get_powerd_initial_backlight_level both work\n\nChange-Id: I25c15c95395b458c9b52d3724d16e656b3c6dfe2\nReviewed-on: https://chromium-review.googlesource.com/179164\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\n"
    },
    {
      "commit": "cb9b0ce7c3093eb1e671bcd07eeb13f33718f86e",
      "tree": "36862e4fec8da1402550012ea90c8f4e8315320a",
      "parents": [
        "ec873916b55edcf92f0c3dabec60cbd8d1ad4eb2"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Sat Nov 16 17:52:10 2013"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Wed Dec 04 19:30:57 2013"
      },
      "message": "power: Use Chrome\u0027s message loop instead of GLib\u0027s.\n\nUpdate powerd to use the MessageLoop class from\nlibchrome/libbase. This largely involves changing code to\nuse base::OneShotTimer and base::RepeatingTimer instead of\nGLib timeouts, and to use base::FilePathWatcher instead of\nusing inotify directly.\n\nNote that powerd is still uses dbus-glib, though, which\nrequires that the underlying message loop implementation use\nGLib. As such, powerd instantiates a MessageLoopForUI\ninstead of a MessageLoopForIO (since the former is currently\nimplemented using GLib). Once powerd has been updated to use\nChrome\u0027s D-Bus library, MessageLoopForIO should be used\ninstead.\n\npowerd\u0027s Input class also continues to use GLib to watch\nfile descriptors for readiness. MessageLoopForIO provides\nthis functionality, but it cannot be used yet due to the\ndbus-glib dependency described above.\n\nBUG\u003dchromium:320340\nTEST\u003dexisting tests still pass; also did lots of manual\n     testing to check that timer and d-bus code still works:\n     - powerd queries session manager state at startup\n     - powerd notices when chrome gets restarted\n     - pref changes are observed\n     - updated prefs are written to disk\n     - backlight metrics are reported\n     - input events (power button, lid) work\n     - screen doesn\u0027t dim while VT2 is active\n     - backlight adjustments are animated\n     - keyboard backlight dims for fullscreen video\n     - backlight is adjusted for ambient light changes\n     - inactivity timeouts work\n     - suspend delays are honored\n     - failed suspends are retried\n     - power supply status is polled\n     - delayed display power state changes work\n     - suspend_delay_sample tool works\n\nChange-Id: Idddd6e413bc4c30fb2eaf1317a4816c92a89d4bd\nReviewed-on: https://chromium-review.googlesource.com/178579\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "ec873916b55edcf92f0c3dabec60cbd8d1ad4eb2",
      "tree": "cff2a69b7744e47a2544454989d260e8f9dac3eb",
      "parents": [
        "b11e151bf55e243b2794683842ea8a6e4a9873b3"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Mon Dec 02 21:22:13 2013"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Tue Dec 03 01:58:19 2013"
      },
      "message": "power: Remove usage of libchromeos D-Bus code.\n\nTo simplify powerd\u0027s dbus-glib usage before moving away from\nit entirely, remove libchromeos dependencies. Also avoid\nDBusGProxy in several places.\n\nBUG\u003dchromium:320340\nTEST\u003dmanual: checked that D-Bus code that got updated still\n     works\n\nChange-Id: Ia2115bbb545b9722e22c75889e9c029e7bc3a02f\nReviewed-on: https://chromium-review.googlesource.com/178427\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "b11e151bf55e243b2794683842ea8a6e4a9873b3",
      "tree": "7a07d7a0649b6c40837bd7d453899c557e90985d",
      "parents": [
        "58558f74fbb0e8a5ac7f876faf6d458a6062e988"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Sun Nov 24 15:55:16 2013"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Tue Nov 26 18:19:02 2013"
      },
      "message": "power: Listen for acknowledgment of power button presses.\n\nMake powerd start a timer when the power button is pressed\nand do something (currently just syncing the disks in\nanticipation of a hard shutdown) if Chrome has not\nacknowledged the event within two seconds. Previously, the\ndisks were always synced immediately when the power button\nwas pressed.\n\nBUG\u003dchromium:298983,chromium:294310\nTEST\u003dadded unit tests; also manually checked that sync is\n     deferred by looking at logs\nCQ-DEPEND\u003dCL:177872\n\nChange-Id: Ic283b88796cd20bb09496852ecc453e5efca2e2e\nReviewed-on: https://chromium-review.googlesource.com/177849\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "58558f74fbb0e8a5ac7f876faf6d458a6062e988",
      "tree": "c5d2a400afe0a6b730d345168624ee303bc365e3",
      "parents": [
        "48a079cc202e6ccd1d6bb9703299c0adfb7e3cd8"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Sun Nov 24 15:27:25 2013"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Mon Nov 25 20:26:58 2013"
      },
      "message": "power: Add paranoid battery percent check to AC shutdown.\n\nEven if the battery time-to-empty estimate is below the\nthreshold, avoid shutting down while discharging on AC power\nif the battery percentage isn\u0027t also below 5%.\n\nBUG\u003dchrome-os-partner:24140\nTEST\u003dadded unit tests\n\nChange-Id: I2aca3463ec76a98cff695659df813d664b893424\nReviewed-on: https://chromium-review.googlesource.com/177829\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Sameer Nanda \u003csnanda@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "48a079cc202e6ccd1d6bb9703299c0adfb7e3cd8",
      "tree": "fb78055a5479eee0284de103b30d53c022563ec2",
      "parents": [
        "dfb33cb1b543aaab2664cfdddc45f8c6ec18fa09"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Fri Nov 22 20:24:22 2013"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Sun Nov 24 04:40:46 2013"
      },
      "message": "powerd: Create powerd.PREVIOUS symlink.\n\nRename powerd.LATEST to powerd.PREVIOUS at startup before\ncreating the new powerd.LATEST symlink to the current log\nfile.\n\nBUG\u003dchromium:322081\nTEST\u003dmanual: check that powerd.PREVIOUS symlink exists\n\nChange-Id: Ie62638eecdd701c1753d85338c9f0391a1c489f0\nReviewed-on: https://chromium-review.googlesource.com/177629\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "dfb33cb1b543aaab2664cfdddc45f8c6ec18fa09",
      "tree": "dd6eeba9d1134f045ef9ae5fe881ad12247700d8",
      "parents": [
        "53fb0896967024fe8a4a7c69952c38f3d41c9940"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Wed Nov 20 21:52:13 2013"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Sun Nov 24 04:40:20 2013"
      },
      "message": "power: Shut down for low charge when discharging on AC.\n\nMake powerd shut the system down for low battery charge if\nthe battery is discharging while AC power is connected.\nAvoid shutting down when using a non-AC charger if the\nbattery is observed to be charging rather than discharging.\n\nAlso rename battery_current_stabilized_* prefs to\nbattery_stabilized_*.\n\nBUG\u003dchrome-os-partner:24140\nTEST\u003dadded unit tests\nCQ-DEPEND\u003dId34f59ecd74e68b5b1c277f5caa11671fa0aac8c\n\nChange-Id: I4dce74fa48ce234d022e723a47a8e9b0a1ded2ec\nReviewed-on: https://chromium-review.googlesource.com/177685\nReviewed-by: Sameer Nanda \u003csnanda@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "53fb0896967024fe8a4a7c69952c38f3d41c9940",
      "tree": "2cb10ff3ce9eef81903d1c28e8fd4947cbd8b09e",
      "parents": [
        "eaa8572551817b8cd12bae20c46f39699a8d532c"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Thu Nov 21 19:43:43 2013"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Nov 22 00:46:47 2013"
      },
      "message": "power: Make power_supply_info not print time estimates.\n\nMake power_supply_info avoid printing battery time-to-full\nand time-to-empty estimates. These estimates are inaccurate\nsince they\u0027re based on a single reading of the current and\ndon\u0027t match the estimates displayed in the UI or in powerd\u0027s\nlog; they tend to just confuse people.\n\nBUG\u003dchromium:322121\nTEST\u003dmanual: ran it\n\nChange-Id: I5d1f4a957169463d0119187f96d954faee99d3ef\nReviewed-on: https://chromium-review.googlesource.com/177640\nReviewed-by: Sameer Nanda \u003csnanda@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "eaa8572551817b8cd12bae20c46f39699a8d532c",
      "tree": "b5f81a522ff456b63394a5b44118c5658d2402c5",
      "parents": [
        "9237171bc4f6a731a611dd9eb168511d7cbdb6ce"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Fri Nov 15 03:12:31 2013"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Wed Nov 20 19:43:06 2013"
      },
      "message": "power: Shut down for power button when display is unplugged.\n\nInstead of notifying Chrome so it can potentially lock the\nscreen, shut down immediately when the power button is\npressed while no display is connected.\n\nBUG\u003dchromium:318772\nTEST\u003dadded tests; also manually tested on stumpy\n\nChange-Id: I9cc9156961e15ad5d4bfe85c2b511a5f6663a3d0\nReviewed-on: https://chromium-review.googlesource.com/177405\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "9237171bc4f6a731a611dd9eb168511d7cbdb6ce",
      "tree": "b80a3f368ce29afa1775c4b61e3910ebf8c26542",
      "parents": [
        "0f0513e2f50d36014afb334fe7dbea4114c2e295"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Tue Nov 19 22:26:56 2013"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Wed Nov 20 01:16:29 2013"
      },
      "message": "power: Fix legacy power button regression.\n\n29024505 contained a bug that resulted in powerd always\nignoring legacy power button events regardless of the\nsetting of the legacy_power_button USE flag.\n\nAlso suppress some log spam about by-id directories.\n\nBUG\u003dchromium:321313\nTEST\u003dmanual: power button on stumpy locks the device\n\nChange-Id: I4879e6ebebcfc3098722e6c32ac82c885ef039d4\nReviewed-on: https://chromium-review.googlesource.com/177356\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "0f0513e2f50d36014afb334fe7dbea4114c2e295",
      "tree": "b7ec17f292f6a434539b2b7d8e23b406fd0d0f4b",
      "parents": [
        "453f156b629eb280689f3cb18d3615b55fdcadfb"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Tue Nov 19 16:21:22 2013"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Tue Nov 19 23:16:09 2013"
      },
      "message": "power: Handle original spring charger enum value.\n\nMake a switch statement in powerd handle a new enum value.\nThe value isn\u0027t used yet.\n\nBUG\u003dnone\nTEST\u003dbuilt it\nCQ-DEPEND\u003dIe2d4b04418f2ee243afe2149aa496843a6e992fb\n\nChange-Id: Ibd1ee7c13ffad15bbaf6d4c3d53e1fddf39e067b\nReviewed-on: https://chromium-review.googlesource.com/177288\nReviewed-by: Vincent Palatin \u003cvpalatin@chromium.org\u003e\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "453f156b629eb280689f3cb18d3615b55fdcadfb",
      "tree": "e9e1954fc607375ca490d74fdabc666645817808",
      "parents": [
        "2902450568375716b022b6fb4befe2a06ceb7d58"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Sat Nov 16 22:53:06 2013"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Tue Nov 19 06:06:28 2013"
      },
      "message": "power: Clean up AsyncFileReader tests.\n\nUpdate the AsyncFileReader tests to use TestMainLoopRunner\ninstead of rolling their own polling-based harness.\n\nBUG\u003dchromium:320340\nTEST\u003dtests still pass\n\nChange-Id: I350df83587e05f20523dac7ac5626d5b2b1ed68b\nReviewed-on: https://chromium-review.googlesource.com/177131\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "2902450568375716b022b6fb4befe2a06ceb7d58",
      "tree": "c3ee16cac6f71079878087e13bf3cbae84e5ba4b",
      "parents": [
        "b00af8456d2c8807f68d2aa63cc37d074ac2ac46"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Fri Nov 15 05:36:22 2013"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Mon Nov 18 19:07:10 2013"
      },
      "message": "power: Replace #defines with prefs.\n\nAlso move config/ directory to default_prefs/ and add new\noptional_prefs/ directory.\n\nBUG\u003dchromium:319639\nTEST\u003ddid lumpy, spring, link, and stumpy builds and checked\n     configs\nCQ-DEPEND\u003dI987c6934c95e85344d3a91b41c193a6c3d31b7b7\n\nChange-Id: I6bbac71e506d1f29de5b87fbd910dd9663b0bac8\nReviewed-on: https://chromium-review.googlesource.com/176969\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "b00af8456d2c8807f68d2aa63cc37d074ac2ac46",
      "tree": "2f7b4d0a70dbe4436bd871791ec11a0c933151fa",
      "parents": [
        "e2dca6f8fcd9cc0d5454411154ee636350fb188c"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Wed Nov 13 23:36:52 2013"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Mon Nov 18 19:07:06 2013"
      },
      "message": "power: Add tests for InputController.\n\nAdd tests for the InputController class, which is soon to\nget a bit more responsibility. Move more functionality to\nInputController::Delegate so that InputController doesn\u0027t\ncall directly into difficult-to-test, interface-less\nclasses.\n\nAlso add an InputInterface interface for the Input class,\nalong with an InputStub implementation for testing.\n\nAdd a bunch of missing \u0027virtual\u0027 keywords to destructors\ntoo.\n\nBUG\u003dchromium:318772\nTEST\u003dadded new tests; existing tests still pass\n\nChange-Id: Icc42e382640326098ad1bd562e9eea010502fd02\nReviewed-on: https://chromium-review.googlesource.com/176907\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "e2dca6f8fcd9cc0d5454411154ee636350fb188c",
      "tree": "1ff1897e56d8ba2f48ef623391b58bdd7fabd22f",
      "parents": [
        "20b5a943db25b1f3d581ab5fa971516ef1497f75"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Wed Nov 13 00:42:48 2013"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Nov 15 00:36:51 2013"
      },
      "message": "power: Reset display state when Chrome restarts.\n\nMake powerd listen for Chrome acquiring its D-Bus object and\nre-send the display power state (and software dimming state,\nin the case of an external display) to it.\n\nBUG\u003dchromium:318456\nTEST\u003dadded unit tests\n\nChange-Id: I123bb35d14aab0b559aba5d9f9afa595b106efc3\nReviewed-on: https://chromium-review.googlesource.com/176600\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Mitsuru Oshima \u003coshima@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "20b5a943db25b1f3d581ab5fa971516ef1497f75",
      "tree": "89a3fbec0b760dea3beb57ff64887c9c33b689d4",
      "parents": [
        "9cff925d41df2898ca277f686c9354353e3e0e5d"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Thu Nov 14 00:10:40 2013"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Thu Nov 14 03:34:24 2013"
      },
      "message": "power: Consolidate duplicated testing functions.\n\nMove AppendAction() and JoinActions() into a new test_util\nfile that can be shared among tests.\n\nBUG\u003dnone\nTEST\u003dtests pass\n\nChange-Id: Ic9cbdb5ee5f8ddcff312bd2d1ab2981f8a0ad6d5\nReviewed-on: https://chromium-review.googlesource.com/176705\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\n"
    },
    {
      "commit": "9cff925d41df2898ca277f686c9354353e3e0e5d",
      "tree": "d6f15b164ea6dc06fabcc287562d980f7fff6c9a",
      "parents": [
        "efd2edb4789204106486887cfa78750b6078ed54"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Wed Nov 13 16:35:23 2013"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Thu Nov 14 01:42:22 2013"
      },
      "message": "power: Stop passing weird callback pointers around.\n\npowerd\u0027s AsyncFileReader class took pointers to read and\nerror callbacks, with ownership remaining with the caller.\nThere\u0027s no good reason for this; just let AsyncFileReader\nmake a copy of the callbacks instead.\n\nBUG\u003dnone\nTEST\u003dran unit tests\n\nChange-Id: I7b26ecc58e3cb4a3e0adfcc501cd7255029402b8\nReviewed-on: https://chromium-review.googlesource.com/176604\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "efd2edb4789204106486887cfa78750b6078ed54",
      "tree": "ffe7dd72d10b4aaf86fda98a36384b452441dbb1",
      "parents": [
        "1c4552f0b3cef7e701fae53e5e37551d3828c548"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Tue Nov 12 15:35:50 2013"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Tue Nov 12 21:10:34 2013"
      },
      "message": "power: Don\u0027t auto-clear resume brightness in backlight_tool.\n\nMake backlight_tool not clear the resume brightness by\ndefault.\n\nBUG\u003dchrome-os-partner:23857\nTEST\u003dmanual: use backlight-tool to set the resume\n     brightness, run again with --get_brightness, and check\n     that the resume brightness is unchanged\n\nChange-Id: I7b6df9622616b75a5286931e3e16d03cd585348d\nReviewed-on: https://chromium-review.googlesource.com/176541\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Bernie Thompson \u003cbhthompson@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "1c4552f0b3cef7e701fae53e5e37551d3828c548",
      "tree": "6844a98ae4b8e2995aa108c6a34efb5dc7a22aa5",
      "parents": [
        "cc0149808450c759f5aa129c2aacbd03e9cef2f2"
      ],
      "author": {
        "name": "Daniel Erat",
        "email": "derat@chromium.org",
        "time": "Wed Nov 06 17:39:50 2013"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Tue Nov 12 06:54:04 2013"
      },
      "message": "power: Honor brightness policies.\n\nMake powerd honor the ac_brightness_percent and\nbattery_brightness_percent fields in PowerManagementPolicy\nprotocol buffers.\n\nBUG\u003dchromium:310429\nTEST\u003dmanual using set_power_policy; also added unit tests\nCQ-DEPEND\u003dI6e6e4e897eaca0e6506c5b108d9f960f1d61a810\n\nChange-Id: If5425ae8c1aed9d95f4f3d0010bf5aa2544c2ce4\nReviewed-on: https://chromium-review.googlesource.com/175958\nReviewed-by: Bartosz Fabianowski \u003cbartfab@chromium.org\u003e\nTested-by: Daniel Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Daniel Erat \u003cderat@chromium.org\u003e\n"
    },
    {
      "commit": "cc0149808450c759f5aa129c2aacbd03e9cef2f2",
      "tree": "91185baa778e86be6048df2bfd3a9433c44e6f3a",
      "parents": [
        "b61dd45e0c5d3ea2a485099697687ca48f863ed8"
      ],
      "author": {
        "name": "Albert Chaulk",
        "email": "achaulk@chromium.org",
        "time": "Tue Oct 22 19:40:51 2013"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Oct 25 23:15:20 2013"
      },
      "message": "Copy in new common.mk\n\nBUG\u003dchromium:304400\nTEST\u003dcros_run_unit_tests for daisy-drm, lumpy \u0026 amd64-corei7\n\nChange-Id: Ib43de6b3c353561c7349819745b7ae96c17489be\nReviewed-on: https://chromium-review.googlesource.com/174049\nCommit-Queue: Albert Chaulk \u003cachaulk@chromium.org\u003e\nTested-by: Albert Chaulk \u003cachaulk@chromium.org\u003e\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    }
  ],
  "next": "b61dd45e0c5d3ea2a485099697687ca48f863ed8"
}
