incubator-callback-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Simon MacDonald <simon.macdon...@gmail.com>
Subject Re: [Android] loadUrl, input methods and making the web a thread-safe place
Date Fri, 27 Jul 2012 02:56:34 GMT
Okay, I'm working off 4 hours of sleep so if what I say is not coherent
bear with me. I looked over the code you posted up and it looks like if you
are in a text field the request to loadUrl is lost. Does it make sense to
queue up these requests and process them once the user is outside of the
text field?

Simon Mac Donald
http://hi.im/simonmacdonald


On Thu, Jul 26, 2012 at 6:44 PM, Joe Bowser <bowserj@gmail.com> wrote:

> Hey
>
> So, on ICS and greater, it turns out that the routing table is
> fragile, so fragile in fact that you can't connect to localhost if you
> don't have an internet connection of some sort.  This is a problem for
> us on Android because we need to connect to localhost to use the
> bridge and communicate with the Callback Server so that we can get the
> callbacks.  In my opinion, this is the straw that broke the camel's
> back, and this bug is far worse than the reason we moved to the
> CallbackServer to begin with.
>
> First, some history:
>
> Back in OSCON 2010, we talked to Justin at Google about how they could
> help PhoneGap, and he mentioned that we shouldn't be using loadUrl for
> sending Javascript over because it is linked to the Handler and can
> interrupt the UI thread.  He suggested a callback server, which Bryce
> implemented.  The callback server and sending commands over the prompt
> happened at roughly the same six months, when Gingerbread was being
> rolled out.
>
> Now, in 2012, we are starting to have issues with the Callback Server
> approach, and we should examine why we did this in the first place.
> The test case for it is simple:
>
> 1. Put an input field on the accelerometer page on Mobile-Spec
> 2. Turn on Accelerometer
> 3. Try to type something
>
> What it will do is it will update the accelerometer values as you type
> text. This is awesome, but I'm wondering if anyone is actually going
> to use this use case, and if it's OK to break this functionality in
> exchange for performance and stability.  We currently have the ability
> to use loadUrl("javascript:foo()") again by checking whether we have
> focus on a text field, which we can use with HitTestResult, which
> inspect's webkit's cursor.  This would fix the bug that I call
> "Airplane, Airplane Crash" where you can crash our bridge by switching
> your phone in and out of airplane mode over and over again.  I have a
> test repository here, and it passes most of Mobile Spec.  It would be
> nice to be able to have this as a configurable option to start.
>
> https://github.com/infil00p/callback-android/tree/testbridge
>
> Any thoughts?
>
> Joe
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message