)]}'
{
  "commit": "9e9f48dabb8423a6285bddfb21e69f0751060459",
  "tree": "c82f093d1ba8aca307b3b20cdc7ed341e2c34a76",
  "parents": [
    "80082ac4d39bb72350b133c46e7fbf6ca8b6ac23"
  ],
  "author": {
    "name": "Justin McCandless",
    "email": "justinjmccandless@gmail.com",
    "time": "Fri Mar 08 12:22:43 2019 -0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Mar 08 12:22:43 2019 -0800"
  },
  "message": "Fix TextField height issues (#27205)\n\n* Create new TextField attribute to control maxLength behaviour\r\n\r\n* Create test case for maxLinesIncrementalHeight\r\n\r\n* fix maxLinesIncrementalHeight set method\r\n\r\n* fix editable_test.dart\r\n\r\n* Just introducing some proposed API additions, renaming to expands\r\n\r\n* Pass minLines and expands through to child widgets and validate\r\n\r\n* minLines can\u0027t be null, and expands can\u0027t be true when maxLines is 1\r\n\r\n* Implement minLines and maxLines height sizing logic\r\n\r\n* Simplify minLines validation logic\r\n\r\n* expands parameter proof of concept\r\n\r\n* min/max mixup bug fix, and tests work with expands false\r\n\r\n* Test expands\u003dtrue cases, and fix textPainter.height being out of date\r\n\r\n* Test all behavior matrix cases\r\n\r\n* min/max assertion more strict, can\u0027t be equal\r\n\r\n* Tests work that were missing expands serialization\r\n\r\n* Action sheet tests no longer fail due to rounding error\r\n\r\n* TextFieldFocus test no longer mysteriously fails\r\n\r\n* TODOs for making expands nullable. Will depend on how Expanded wrapping works\r\n\r\n* Expanded growth happens when expanded is true and maxLines is null\r\n\r\n* Test Expanded wrapper\r\n\r\n* No more overflow when wrapped in Expanded\r\n\r\n* Docs improvements\r\n\r\n* expands can be null\r\n\r\n* Simplify error cases to support existing behavior\r\n\r\n* Docs examples and other docs cleanup\r\n\r\n* Expansion up to perfectly meet the parent size\r\n\r\n* Fix analyze null error\r\n\r\n* Fix test after move to nullable expands\r\n\r\n* minLines defaults to null\r\n\r\n* expands is now exclusively for expanding to parent height and not growth between min and max\r\n\r\n* _layout rewritten to handle max height. Need to fix prefix tests and\r\nreenable expands\r\n\r\n* Tests for textfield overflowing parent\r\n\r\n* layoutLineBox is documented and private\r\n\r\n* expands works in new _layout\r\n\r\n* _layout return numbers seem to perfectly match original _layout\r\n\r\n* inputWidth comment after trying it out and failing tests\r\n\r\n* Fix analyze errors\r\n\r\n* WIP prefix/suffix do affect height\r\n\r\n* Prefix/suffix and icons affect height, tests pass, but I\u0027m still visually verifying identical to original\r\n\r\n* Tall prefix test that verifies pixel perfect layout\r\n\r\n* Fix overflowing edge case and test it\r\n\r\n* Clean up comments, old code, and todos\r\n\r\n* Changing _expands causes relayout. Wasnt able to figure out how to test though...\r\n\r\n* Clean up code review comments\r\n\r\n* Fix misalignment when tall prefix and border, and clean up related test\r\n\r\n* Simple code review cleanup\r\n\r\n* Bring back inputWidth to _layout method\r\n\r\n* Fix rounding errors showing up in mac tests\r\n\r\n* Fix flake by reordering tests. Without this, the dreaded intrinsicwidth flake is reproducible 50% of the time on my machine.\r\n\r\n* Fix more rounding error mac tests\r\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "580d4568d7f1ac2346a0e895f1e9710d983fb272",
      "old_mode": 33188,
      "old_path": "packages/flutter/lib/src/material/input_decorator.dart",
      "new_id": "9c0935e27983c0bd8fdeced1a6e56b425bbc99a7",
      "new_mode": 33188,
      "new_path": "packages/flutter/lib/src/material/input_decorator.dart"
    },
    {
      "type": "modify",
      "old_id": "9b8b141e9d25d04f2a6675a3b330b7caa8f0f8f4",
      "old_mode": 33188,
      "old_path": "packages/flutter/lib/src/material/text_field.dart",
      "new_id": "639948884cb6b663aa077bd873391f7e6b48543b",
      "new_mode": 33188,
      "new_path": "packages/flutter/lib/src/material/text_field.dart"
    },
    {
      "type": "modify",
      "old_id": "eb4d494c1d1b10fc6757d7d4d9d1cf8506bcdbd5",
      "old_mode": 33188,
      "old_path": "packages/flutter/lib/src/rendering/box.dart",
      "new_id": "283d734b9bd30c9f0054c5f232c543d27abda032",
      "new_mode": 33188,
      "new_path": "packages/flutter/lib/src/rendering/box.dart"
    },
    {
      "type": "modify",
      "old_id": "adbbc63f793e39d758b4f109e6639485266ebe51",
      "old_mode": 33188,
      "old_path": "packages/flutter/lib/src/rendering/editable.dart",
      "new_id": "27b5f6b9d25cd4256fe96d9a64f49c4a1926144c",
      "new_mode": 33188,
      "new_path": "packages/flutter/lib/src/rendering/editable.dart"
    },
    {
      "type": "modify",
      "old_id": "1012034c327758b7fe0eff2bbe113405b9d58cd5",
      "old_mode": 33188,
      "old_path": "packages/flutter/lib/src/widgets/editable_text.dart",
      "new_id": "d6a0b049ed7134dc7560b84e4562dbfe9d0dcc86",
      "new_mode": 33188,
      "new_path": "packages/flutter/lib/src/widgets/editable_text.dart"
    },
    {
      "type": "modify",
      "old_id": "101a1eb459fbaa19f542763eac1b2d320a3d03e0",
      "old_mode": 33188,
      "old_path": "packages/flutter/test/material/input_decorator_test.dart",
      "new_id": "8e8cba894053eed0df52125aa73478ea5d275806",
      "new_mode": 33188,
      "new_path": "packages/flutter/test/material/input_decorator_test.dart"
    },
    {
      "type": "modify",
      "old_id": "67039eaf693497ac5a9867d68e9a75c43cdf4a10",
      "old_mode": 33188,
      "old_path": "packages/flutter/test/material/text_field_focus_test.dart",
      "new_id": "f7044ee36425e0f237222c2246016124d9e172ea",
      "new_mode": 33188,
      "new_path": "packages/flutter/test/material/text_field_focus_test.dart"
    },
    {
      "type": "modify",
      "old_id": "d51e41c6a01fa118cf3a28d9d2fc50c93e6ca1c6",
      "old_mode": 33188,
      "old_path": "packages/flutter/test/material/text_field_test.dart",
      "new_id": "2d22bb70c2e74e649642fd261dcea5a252031ed2",
      "new_mode": 33188,
      "new_path": "packages/flutter/test/material/text_field_test.dart"
    },
    {
      "type": "modify",
      "old_id": "1e0e36fb4f74fb8dcdf74480cf1b33a9802ccd7b",
      "old_mode": 33188,
      "old_path": "packages/flutter/test/rendering/editable_test.dart",
      "new_id": "6bf76b7dab1d44884ed7a27a67b5f60fb956e44c",
      "new_mode": 33188,
      "new_path": "packages/flutter/test/rendering/editable_test.dart"
    }
  ]
}
