)]}'
{
  "commit": "5109b2040464699119eb6888ad74511c4e9f3be1",
  "tree": "368d6ef41f88ea13fab09441370abde1b0ac7758",
  "parents": [
    "66ec2926f1fbae7f361b6b88f755c55912fc725e"
  ],
  "author": {
    "name": "Alex Vakulenko",
    "email": "avakulenko@chromium.org",
    "time": "Fri Jun 20 14:49:41 2014 -0700"
  },
  "committer": {
    "name": "chrome-internal-fetch",
    "email": "chrome-internal-fetch@google.com",
    "time": "Tue Jun 24 20:08:21 2014 +0000"
  },
  "message": "buffet: Cleanup GCD command definition type system.\n\nMoved a lot of duplicated code for different parameter types\ninto base classes. Split ParamType::FromJson into three separate\nfunction (FromJson, ObjectSchemaFromJson, ConstraintsFromJson)\nwhich allows more fine-grained control of deserializing various\npieces of schema amongst the members of type class hierarchy.\nThis way, \"enum\" constraint (applicable to all types) can be\nhandled in a base class while concrete type-specific properties\nwill be read in respective top-level classes.\n\nAdded error checking for invalid/unexpected object schema\nproperties when parsing type definition. This allows correct\nreporting of unrecognized properties, as well as nice errors\nwhen incompatible properties are specified (e.g. both \"enum\" and\n\"min/max\" constraints at the same time).\n\nBUG\u003dchromium:374860\nTEST\u003dAll unit tests pass.\n\nChange-Id: I18b94338680b9b859ba964fd63b65273ca2521f6\nReviewed-on: https://chromium-review.googlesource.com/204971\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0312735db917b63089bfc9fbb9a9fcee9b54a1b7",
      "old_mode": 33188,
      "old_path": "buffet/commands/object_schema.cc",
      "new_id": "b978ec9fb030bae474fe8a66b01113e09c010bac",
      "new_mode": 33188,
      "new_path": "buffet/commands/object_schema.cc"
    },
    {
      "type": "modify",
      "old_id": "be9307387cfb1cdf095869b618836a3ad743baa4",
      "old_mode": 33188,
      "old_path": "buffet/commands/object_schema_unittest.cc",
      "new_id": "64f4600878f1431325c51c633677eaa59452c36b",
      "new_mode": 33188,
      "new_path": "buffet/commands/object_schema_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "3b71a56056f0acd83f119c557ffb01e8a13201a2",
      "old_mode": 33188,
      "old_path": "buffet/commands/prop_types.cc",
      "new_id": "9644eac2ee1eb99d20b11735484499608e7de672",
      "new_mode": 33188,
      "new_path": "buffet/commands/prop_types.cc"
    },
    {
      "type": "modify",
      "old_id": "e39b356d1d9df837788d3e0c087b28c5bad2a91e",
      "old_mode": 33188,
      "old_path": "buffet/commands/prop_types.h",
      "new_id": "016d2d5a02ab4ee030c2acf7999b28234b8b980d",
      "new_mode": 33188,
      "new_path": "buffet/commands/prop_types.h"
    }
  ]
}
