Thanks, John!

Unfortunately, I just realized that there are more problems getting
XHR available in Core.  First, even though HTTPRequest is in package
com.google.gwt.http, HTTPRequestImpl is over in gwt.user.client.
Additionally, RequestBuilder depends on Timer, which is in user.

I'm thinking Timer could also reasonably be moved over to Core, and
that should be the last of the dependency chasing.  Thankfully, the
Window class is already in Core.

If this takes too too much longer, I'd like us to consider having
runAsync only available in User.  Maybe, though, we're getting close
to getting XHR and its transitive dependencies available in Core....


On specific notes for the patch so far:

On Fri, Jan 23, 2009 at 1:23 PM, John Tamplin <j...@google.com> wrote:
> On Fri, Jan 23, 2009 at 11:09 AM, Lex Spoon <sp...@google.com> wrote:
>>
>> Here's the latest patch.  Note that it includes an implicit test of
>> the default impl via StringBufferDefaultImplTest, due to the way the
>> patch modifies EmulSuiteUnknownAgent.gwt.xml.
>
> I didn't see any updates mentioned below so this is based on this patch.
>
> Have you considered the impact inheriting HTTP in Core for minimal client
> applications that may not have inherited it before?  Is there a way to only
> pull this in if runAsync is used?  If not, what about creating a deferred
> binding property to disable runAsync for applicaitons that don't need it and
> may not want HTTP inherited?

The running idea has been that Core gets runAsync, but that if you
don't use it then the relevant support will be removed.  So, compile
time would be affected, but not output size.

I would like to not spend too much time, though, on optimizing
Core-only applications.  It's good to keep it working, but is it worth
spending a lot of time making them work better?


> I would prefer HTTPRequestImplStd (or similar) instead of NonIE6

Changed.


> Why the replace-with in EmulSuiteUnknownAgent -- does that actually do
> anything?

Yes, that's used for testing.  It overrides any other deferred binding
for HTTPRequestImpl and gives all browser the default implementation.
There's a class StringBufferDefaultImplTest that uses this module.

It's arranged this way because the JUnit testing infrastructure pulls
in UserAgent already and thus will use browser-specific deferred
bindings for HTTPRequestImpl.  To actually test the default
implementations, these deferred bindings must be changed back.


-Lex

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

Reply via email to