)]}'
{
  "commit": "71e01a1ef6d5742d9f2821bd60e3eb4d6de905cf",
  "tree": "a0b9ce24545b4c11762f4bfadc3c62ca01d155fb",
  "parents": [
    "fe7c529937df8b97edd7f5f85f9fd5561048017c"
  ],
  "author": {
    "name": "pengzhuang@google.com",
    "email": "pengzhuang@google.com@8db76d5a-ed1c-0410-87a9-c151d255dfc7",
    "time": "Thu Oct 06 19:18:02 2011 +0000"
  },
  "committer": {
    "name": "pengzhuang@google.com",
    "email": "pengzhuang@google.com@8db76d5a-ed1c-0410-87a9-c151d255dfc7",
    "time": "Thu Oct 06 19:18:02 2011 +0000"
  },
  "message": "In IE, AbstractCellTable replaces a table section by first removing existing tr\nelements, and then adding new tr elements one by one. This could really slow\ndown rendering performance especially if there are many rows to remove and many\nrows to add (e.g., 500 rows in one table page, and go to next page).\n\nThis change introduces a faster rendering approach where the new html is set to a new\nDIV element (that\u0027s not attached to the body). Next the entire table section is\nswapped with the existing table section. A new interface\nTableSectionChangeHandler is introduced so that the subclasses (e.g., CellTable,\nDataGrid) can respond to the section swapping event and update their internal\nreference to the sections. This is critical since they\u0027re usually responsible\nfor returning the reference for AbstractCellTable to locate the correct table\nsections.\n\nWhen tested in IE9 with IE7 emulate mode, the time to replace 100 rows with 400\nnew rows in a 30 columns table reduced from 1.4s to 200ms. Tests in other IE\nversions return similar results.\n\nReview by: jlabanca@google.com\n\ngit-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@10690 8db76d5a-ed1c-0410-87a9-c151d255dfc7\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4804345f1cbb6e40bcd5a3256410254388794867",
      "old_mode": 33188,
      "old_path": "user/src/com/google/gwt/user/cellview/client/AbstractCellTable.java",
      "new_id": "58dbc9d3082309c46c351427f3f8c3990c3db6bc",
      "new_mode": 33188,
      "new_path": "user/src/com/google/gwt/user/cellview/client/AbstractCellTable.java"
    },
    {
      "type": "modify",
      "old_id": "c9dc19ed7ee0820dc9ec38a65f4708da36e28c30",
      "old_mode": 33188,
      "old_path": "user/src/com/google/gwt/user/cellview/client/CellTable.java",
      "new_id": "12b3db2f0ee79ad333799369cd9a4803affc7a06",
      "new_mode": 33188,
      "new_path": "user/src/com/google/gwt/user/cellview/client/CellTable.java"
    },
    {
      "type": "modify",
      "old_id": "d771ce77b3e612b2679153a6201c3f92259fed47",
      "old_mode": 33188,
      "old_path": "user/src/com/google/gwt/user/cellview/client/DataGrid.java",
      "new_id": "dc28b39e54aa6913b9e7782d5184692e7de0ea8d",
      "new_mode": 33188,
      "new_path": "user/src/com/google/gwt/user/cellview/client/DataGrid.java"
    }
  ]
}
