Google Web Toolkit bindings for Strophe, the JavaScript XMPP library, are available at https://launchpad.net/gwt-strophe. I believe it provides an almost complete API coverage, including the PubSub plugin. However, it is quite young and far from being thoroughly tested, hence comments are more than welcome. No release yet, so to get the code, proceed as follows:
bzr branch lp:gwt-strophe