Here's what I think...

What's the purpose of RawWebSocketImpl vs. WebSocket? that you could
do a new WebSocket() instead of WebSocket.newInstance() ? (I don't
dispute the interface+implementation, which is more-than-useful for
mockability).
Different browsers might have a slightly different WebSocket object
implementation, so it seems to be necessary to be able to inject
different implementations for different browsers. The other thing is
that it feels much more natural to instantiate a java objet using syntax
like new WebSocket() compared to WebSocket.newInstance(). Third, it adds
to the testability.

When you look at the WebSocketTest, it actually doesn't test anything
really useful, only that a 'short' state is correctly converted into a
'State' enum value, and that the generic
event-name+EventListener+event-handler-as-Object is correctly mapped
to/from
event-specific-method+event-specific-handler+HandlerRegistration
(actually, it doesn't even test the HandlerRegistration behavior).
I reckon more test will be added. This is not a final implementation.
(Up in the thread it says that this is not ready to submit yet, this is
a work in progrss. Right, John?)

What this dichotomy buys us? a cleaner API? why couldn't it be built
at the interface level (currently named RawWebSocket)?
RawWebSocket is the contract that each RawWebSocket implementation needs
to adhere to. I'm not sure what you would put here...



http://gwt-code-reviews.appspot.com/646803/show

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

Reply via email to