The attached patch refactors RenderThemeGtk and tries to make the implementation consistent with the Qt and Safari ports. Some of the implementation are copied and pasted from Qt or Safari. Comments welcome.
Created attachment 16898 [details] RenderThemeGtk refactor patch
Landed in r27147 with one brace position coding style fix and some fixes to the ChangeLog entry (should use spaces, not tabs, and provide the bug URL).