Reviewers: amitmanjhi,

Description:
There's a TODO(amitmanjhi) in HtmlUnitSessionHandler to refactor
SessionHandler, and the current situation makes it impossible for me to
implement OOPHM in Adobe AIR (well, unless I write a full-fledged OOPHM
client).

So here's a patch that factors out a SessionHandlerClient from
HtmlUnitSessionHandler (breaking all references between
BrowserChannelClient and HtmlUnit), and pushing down a bunch of methods
from SessionHandler into a new SessionHandlerServer (all those methods
that were implemented in HtmlUnitSessionHandler as throwing an
UnsupportedOperationException).

This patch does not do any tidying of no-op or "silly" methods
(sendFreeValues is a no-op, as javaObjectsToFree is always empty; and
invokeSpecial should never be called on the client side), it's just
straightforward refactoring, thanks to Eclipse (extract superclass, pull
up, push down).

I've renamed HtmlUnitSessionHandler's getHtmlPage to
getSynchronizationObject, 'cause it really doesn't matter which type of
object it is, getHtmlPage() was only used as the synchronization object
for synchronized blocks.

I checked that it compiles OK and both BrowserChannelTest and
BrowserChannelServerTest are green.

Please review this at http://gwt-code-reviews.appspot.com/114801

Affected files:
   dev/core/src/com/google/gwt/dev/shell/BrowserChannel.java
   dev/core/src/com/google/gwt/dev/shell/BrowserChannelClient.java
   dev/core/src/com/google/gwt/dev/shell/BrowserChannelServer.java
   dev/core/src/com/google/gwt/dev/shell/BrowserListener.java
   dev/core/src/com/google/gwt/dev/shell/HtmlUnitSessionHandler.java
   dev/core/src/com/google/gwt/dev/shell/JavaObject.java
   dev/core/src/com/google/gwt/dev/shell/OophmSessionHandler.java
   dev/core/src/com/google/gwt/dev/shell/ServerMethods.java
   dev/core/test/com/google/gwt/dev/shell/BrowserChannelServerTest.java


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to