Nice work! As this going into GWT proper, you should probably send out an proposed API message as well. I assume the new default style sheet has some default styling for this?
Here are a few nitpicks...
It would be nice if the class comment explained why this code was necessary to make CSS work correctly.
DEFAULT_ROW_STYLES:
As we use style name elsewhere, DEFAULT_ROW_STYLENAMES seems more appropriate (if longer)
----------------------------
Why is createTR package protected?
---------------------------------
Why do we let users change the top/middle/bottom names in the constructor? Traditionally child style names cannot be changed.
Also, we might eventually want to use a rendered string table/cloning nodes for efficiently reasons (if, for instance, people start adding rounded corners to everything, and that makes it more difficult to optimize.
------------------------------------
Should we expose the tbody? To solve a bug or allow faster creation, we might end up switching out the implementation, so I'm not sure we should guarantee we are going to always have a table.
-------------------------------------
Nice test code.
:-)
Emily
--
"There are only 10 types of people in the world: Those who understand binary, and those who don't"