cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joe Bowser <bows...@gmail.com>
Subject Re: [Android] Refactoring for different engines
Date Thu, 10 Apr 2014 16:44:44 GMT
Yeah, I'd be cool with setting up a hangout.  Everyone should take a
look at the PoC, I've basically distilled it down to four or five
classes so far, but with some work, we may be able to get it down to
three.  Due to legacy, we're pretty stuck with the Android WebView API
calls, but these can probably be modified.

It'd be good to get Mozilla people on the call as well, since they
have their WebView as well.

On Thu, Apr 10, 2014 at 9:38 AM, Hu, Ningxin <ningxin.hu@intel.com> wrote:
> Hangout would be a good idea.
>
> FYI, I will be off next week. How about the week after next? If it works, please feel
free to schedule one and count me in.
>
> Thanks,
> -ningxin
>
>> -----Original Message-----
>> From: mmocny@google.com [mailto:mmocny@google.com] On Behalf Of Michal
>> Mocny
>> Sent: Tuesday, April 08, 2014 11:39 PM
>> To: dev
>> Subject: Re: [Android] Refactoring for different engines
>>
>> Would it be alright to set up a Hangout some time to introduce everyone?
>>
>> Joe has been leading the effort here, but there are other cordova contributors
>> for whom this is top priority.  It would be nice if we could all meet to say hello
>> and make sure we are all going in the right direction.
>>
>> Quite exciting!
>>
>> -Michal
>>
>>
>> On Tue, Apr 8, 2014 at 10:56 AM, Hu, Ningxin <ningxin.hu@intel.com> wrote:
>>
>> > Joe, thanks for this. I am very excited.
>> >
>> > FYI. Crosswalk team is working on refactoring the WebView API to
>> > support embedding usage better [1]. (Previously the layer API was not
>> > exposed as public usage).
>> >
>> > I would like to review the PoC and work with you to get Crosswalk fits
>> > into the pluggable WebView architecture.
>> >
>> > Thanks,
>> > -ningxin
>> >
>> > > -----Original Message-----
>> > > From: Joe Bowser [mailto:bowserj@gmail.com]
>> > > Sent: Wednesday, March 19, 2014 7:08 AM
>> > > To: dev
>> > > Subject: Re: [Android] Refactoring for different engines
>> > >
>> > > Hey
>> > >
>> > > After debugging, I did some minor updates to the plugin README.  It
>> > should be
>> > > easier to get this up and running, although there's still the issue
>> > > of
>> > after-install
>> > > hooks and the relative path weirdness with the Crosswalk Library itself.
>> > >
>> > > It still doesn't support the CLI at all, but it should be there with
>> > > the
>> > old flow.
>> > >
>> > > On Mon, Mar 17, 2014 at 1:14 PM, Michal Mocny <mmocny@chromium.org>
>> > > wrote:
>> > > > (Sorry Joe, Googlers are down in California and way busy.  Will be
>> > > > back in a week.  Super excited about this, though.)
>> > > >
>> > > > -Michal
>> > > >
>> > > >
>> > > > On Mon, Mar 17, 2014 at 2:53 PM, Joe Bowser <bowserj@gmail.com>
>> wrote:
>> > > >
>> > > >> Reviving this thread!
>> > > >>
>> > > >> Can other people look at this, and see if/when we should land
this?
>> > > >> I know that I have to re-write the tests still, but I would like
>> > > >> some feedback before merging it in.  Also, it'd be super awesome
>> > > >> if other people could try and make a WebView based on the
>> > > >> interfaces and recommend which methods should die.  I want to
get
>> > > >> this released in the next month or so, so any time and feedback
>> > > >> would be greatly appreciated.
>> > > >>
>> > > >> Thanks
>> > > >>
>> > > >> On Thu, Mar 13, 2014 at 3:50 PM, Joe Bowser <bowserj@gmail.com>
>> > wrote:
>> > > >> > Hey, I created the following today to track various WebView
>> > progresses:
>> > > >> > https://issues.apache.org/jira/browse/CB-6246
>> > > >> >
>> > > >> > I also have this repo created.  The licensing is ugly as
all
>> > > >> > crap, but it's a Proof-Of-Concept:
>> > > >> > https://github.com/infil00p/cordova-crosswalk-engine
>> > > >> >
>> > > >> > If I can get some help getting plugman to just load Crosswalk,
>> > > >> > it'll
>> > > >> look hawt.
>> > > >> >
>> > > >> > BTW: We should probably get this ready to go into Android
in
>> > > >> > the next two months and deprecate the setProperty methods,
>> > > >> > since all properties should be preferences in config.xml
now.
>> > > >> >
>> > > >> > On Mon, Mar 10, 2014 at 2:42 PM, Joe Bowser <bowserj@gmail.com>
>> > > wrote:
>> > > >> >> Perhaps. There would be additional benefits to this approach,
>> > > >> >> namely fixes being added to that platform more quickly.
 I'll
>> > > >> >> probably take a look at that once I have Crosswalk finalized.
>> > > >> >>
>> > > >> >> On Mon, Mar 10, 2014 at 9:49 AM, Brian LeRoux <b@brian.io>
wrote:
>> > > >> >>> this is great stuff
>> > > >> >>>
>> > > >> >>> do we think it may be possible to bring in amazon
fireos
>> > > >> >>> stuff
>> > > >> eventually
>> > > >> >>> too?
>> > > >> >>>
>> > > >> >>>
>> > > >> >>> On Fri, Mar 7, 2014 at 3:22 PM, Joe Bowser
>> > > >> >>> <bowserj@gmail.com>
>> > wrote:
>> > > >> >>>
>> > > >> >>>> BTW: I committed it in my repo, not the main
Apache one.
>> > > >> >>>>
>> > > >> >>>> On Fri, Mar 7, 2014 at 3:21 PM, Joe Bowser
>> > > >> >>>> <bowserj@gmail.com>
>> > > wrote:
>> > > >> >>>> > Hey
>> > > >> >>>> >
>> > > >> >>>> > I just committed some code based on their
WebView
>> > > >> >>>> > modifications that allows you to choose
your renderer in
>> > > >> >>>> > the
>> > config file
>> > > with this:
>> > > >> >>>> >
>> > > >> >>>> >     <preference name="webView"
>> > > >> >>>> > value="org.apache.cordova.engine.crosswalk.XWalkCordovaWeb
>> > > >> >>>> > View
>> > > >> >>>> > " />
>> > > >> >>>> >
>> > > >> >>>> > You currently have to copy over the *.pak
file and the
>> > > >> >>>> > jsapi from a Crosswalk Example project to
get this to
>> > > >> >>>> > work.  The next thing that I'm going to
do is figure out
>> > > >> >>>> > how to write this as a plugin and have it
install on a default project.
>> > > >> >>>> > Also, right now the bridge doesn't seem
to work, and I
>> > > >> >>>> > don't know why exactly.  That being said,
the
>> > > >> fact
>> > > >> >>>> > that I can choose which version of Chrome/Chromium
I'm
>> > > >> >>>> > running with
>> > > >> a
>> > > >> >>>> > single XML preference is HUGE.
>> > > >> >>>> >
>> > > >> >>>> > There's definitely a lot more work that
needs to be done,
>> > > >> >>>> > but as
>> > > >> long
>> > > >> >>>> > as we have something that we can fit into
the interface,
>> > > >> >>>> > we should
>> > > >> be
>> > > >> >>>> > able to put in things like GeckoView or
other third party
>> > renderers.
>> > > >> >>>> > The nightmare of being stuck with bullshit
WebView bugs
>> > > >> >>>> > may soon be over.
>> > > >> >>>> >
>> > > >> >>>> > On Wed, Mar 5, 2014 at 8:59 PM, Michal Mocny
>> > > >> >>>> > <mmocny@chromium.org>
>> > > >> >>>> wrote:
>> > > >> >>>> >> https://github.com/crosswalk-project/crosswalk-cordova-an
>> > > >> >>>> >> droi
>> > > >> >>>> >> d
>> > > >> >>>> >>
>> > > >> >>>> >> First patch they landed, which claims
to have min viable
>> > > >> >>>> >> xwalk
>> > > >> webview:
>> > > >> >>>> >>
>> > > >> >>>>
>> > > >> https://github.com/crosswalk-project/crosswalk-cordova-android/co
>> > > >> mmit
>> > > >> /a04dedeb0204e7542d190312c6ae70c795a26e04
>> > > >> >>>> >>
>> > > >> >>>> >>
>> > > >> >>>> >> On Wed, Mar 5, 2014 at 11:37 PM, Michal
Mocny
>> > > >> >>>> >> <mmocny@chromium.org
>> > > >> >
>> > > >> >>>> wrote:
>> > > >> >>>> >>
>> > > >> >>>> >>> I haven't looked yet, but did you
see:
>> > > >> >>>> >>> https://crosswalk-project.org/#wiki/crosswalk-cordova-an
>> > > >> >>>> >>> droi
>> > > >> >>>> >>> d
>> > > >> >>>> >>>
>> > > >> >>>> >>> ?
>> > > >> >>>> >>>
>> > > >> >>>> >>>
>> > > >> >>>> >>> On Wed, Mar 5, 2014 at 10:20 PM,
Andrew Grieve <
>> > > >> agrieve@chromium.org
>> > > >> >>>> >wrote:
>> > > >> >>>> >>>
>> > > >> >>>> >>>> First - very excited that you're
working on this!
>> > > >> >>>> >>>>
>> > > >> >>>> >>>> Had a quick look. Not sure there's
much to be gleaned yet.
>> > > >> >>>> >>>> Once
>> > > >> you
>> > > >> >>>> start
>> > > >> >>>> >>>> in on hooking up x-walk's webview
I think it will
>> > > >> >>>> >>>> become more
>> > > >> obvious
>> > > >> >>>> what
>> > > >> >>>> >>>> the interface should look like.
E.g., does x-walk even
>> > > >> >>>> >>>> have the
>> > > >> >>>> concept of
>> > > >> >>>> >>>> ChromeClient vs WebViewClient
vs WebView? Also unsure
>> > > >> >>>> >>>> whether the
>> > > >> >>>> class
>> > > >> >>>> >>>> should extend android.View as
well as implement our
>> > interface.
>> > > >> E.g.
>> > > >> >>>> >>>> alternative is to have a "getView()"
method on the
>> > interface.
>> > > >> Might
>> > > >> >>>> help
>> > > >> >>>> >>>> to
>> > > >> >>>> >>>> cut down on file sizes, and
API surface, but again, I'm
>> > > >> >>>> >>>> not too
>> > > >> sure.
>> > > >> >>>> >>>>
>> > > >> >>>> >>>> I've been pretty hesitant to
touch existing exposed
>> > > >> >>>> >>>> members
>> > > >> (e.g. the
>> > > >> >>>> >>>> public fields you were referring
to) since touching
>> > > >> >>>> >>>> anything
>> > > >> public
>> > > >> >>>> could
>> > > >> >>>> >>>> break plugins. That said, maybe
now is a good time to
>> > > >> >>>> >>>> @deprecate
>> > > >> a
>> > > >> >>>> bunch
>> > > >> >>>> >>>> of
>> > > >> >>>> >>>> them and either replace them
with getters, or just
>> > > >> >>>> >>>> declare them
>> > > >> to be
>> > > >> >>>> not
>> > > >> >>>> >>>> exposed to plugins.
>> > > >> >>>> >>>>
>> > > >> >>>> >>>>
>> > > >> >>>> >>>> On Wed, Mar 5, 2014 at 6:57
PM, Joe Bowser
>> > > >> >>>> >>>> <bowserj@gmail.com>
>> > > >> wrote:
>> > > >> >>>> >>>>
>> > > >> >>>> >>>> > So, after looking at the
Crosswalk code again, I've
>> > > >> >>>> >>>> > decided to
>> > > >> take
>> > > >> >>>> a
>> > > >> >>>> >>>> > quick stab at making things
pluggable.  I don't have
>> > > >> >>>> >>>> > a lot to
>> > > >> show
>> > > >> >>>> for
>> > > >> >>>> >>>> > it, but with the help of
Eclipse (which is why the
>> > > >> >>>> >>>> > generated interfaces look
so screwed up), I managed
>> > > >> >>>> >>>> > to create some
>> > > >> interfaces
>> > > >> >>>> so
>> > > >> >>>> >>>> > we can start shoehorning
in other browser renderers.
>> > > >> >>>> >>>> >
>> > > >> >>>> >>>> >
>> > > >> https://github.com/infil00p/cordova-android/tree/pluggable_webvie
>> > > >> w
>> > > >> >>>> >>>> >
>> > > >> >>>> >>>> > I'm going to probably start
with Crosswalk, because
>> > > >> >>>> >>>> > it's
>> > > >> probably
>> > > >> >>>> the
>> > > >> >>>> >>>> > most mature primary candidate
in the Android
>> > > >> >>>> >>>> > Third-Party
>> > > >> WebView
>> > > >> >>>> >>>> > thing, and I'm pretty sure
the GeckoView will be
>> > > >> >>>> >>>> > happening
>> > > >> shortly
>> > > >> >>>> >>>> > after.
>> > > >> >>>> >>>> >
>> > > >> >>>> >>>> > I don't know how this would
work w.r.t. the CLI or
>> > > >> >>>> >>>> > our
>> > > >> workflow at
>> > > >> >>>> >>>> > all, but at the moment,
I really just want to at
>> > > >> >>>> >>>> > least start
>> > > >> to have
>> > > >> >>>> >>>> > some headway towards 4.x
and PhoneGap day.
>> > > >> >>>> >>>> >
>> > > >> >>>> >>>> > What do people think of
this so far? I'm going to try
>> > > >> >>>> >>>> > to clean
>> > > >> >>>> things
>> > > >> >>>> >>>> > up a bit, since we've definitely
done a lot of things
>> > > >> >>>> >>>> > that
>> > > >> would
>> > > >> >>>> make
>> > > >> >>>> >>>> > first year CS profs freak
the hell out (i.e. public
>> > > >> >>>> >>>> > members in
>> > > >> >>>> public
>> > > >> >>>> >>>> > objects w.r.t. PluginManager).
>> > > >> >>>> >>>> >
>> > > >> >>>> >>>> > Thoughts?
>> > > >> >>>> >>>> >
>> > > >> >>>> >>>> > Joe
>> > > >> >>>> >>>> >
>> > > >> >>>> >>>>
>> > > >> >>>> >>>
>> > > >> >>>> >>>
>> > > >> >>>>
>> > > >>
>> >

Mime
View raw message