Вобще приложение изначально затачивалось под firefox. Но решили чтобы работало везде(идентичность внешнего вида не нужна). В IE заработало без особых проблем, а вот с safari пришлось помучиться:
ТРАБЛ РАЗ. Авторизация в приложении построена через авторизацию на сервере приложений(glassfish), по средствам формы(j_security_check,...). Так вот, если авторизация прошла успешно, возвращалась пустая строка, иначе строка "error"(вот так вот незамысловато:)). Safari утверждал, что строка не пустая. Я ее вывел и вроде как на первый взгляд она был пустой, после чего поставил ограничители на строку(вывел перед строкой символ 'B', а после 'E'). В итоге я получил строку " \n", чем был сильно удивлен. Проблема была решена простым методом trim().
ТРАБЛ ДВА. Отказалась работать History. В onHistoryChanged() вывел token, и увидел что все символы - служебные, т.е. вместо нормального ?Company=Roga, я получал набор из символов %XX. После чего был применен на токен статический метод URL.encode(), после чего я получил почти нормальную строку(символы '?' и '=' все равно остались служебными). Окончательно помогло URL.encodeComponent(). Видимо это тривиальные грабли на которые я наступил по неопытности в web программирование.
Кстати в safari увидел разницу между размерами компонентов, оказывается это из за того что при использовании gwt не рекомендуется задавать размеры в цсс, а задавать их надо в коде(setWidth()/setHeight()/...).
Теперь приложение успешно работает на Firefox 1.x, Firefox2.x, Safari 2, Safari 3, IE6, IE7. К сожалению на опере это чудо пока не совсем работает(хотя большинство функционала работает), но было сказано не тратить время по пустякам

За неименеем Мака брал safari отсюда:
http://www.apple.com/safari/download/