cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michal Mocny <mmo...@chromium.org>
Subject Re: [Android] Refactoring for different engines
Date Tue, 08 Apr 2014 15:38:45 GMT
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.XWalkCordovaWebView
> > >> >>>> > " />
> > >> >>>> >
> > >> >>>> > 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-androi
> > >> >>>> >> d
> > >> >>>> >>
> > >> >>>> >> First patch they landed, which claims to have
min viable
> > >> >>>> >> xwalk
> > >> webview:
> > >> >>>> >>
> > >> >>>>
> > >> https://github.com/crosswalk-project/crosswalk-cordova-android/commit
> > >> /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-androi
> > >> >>>> >>> 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_webview
> > >> >>>> >>>> >
> > >> >>>> >>>> > 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
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message