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 Wed, 23 Apr 2014 06:31:48 GMT
Hey

A Hangout would have to happen on Friday at the earliest.  It'd be good if
we could get someone from Mozilla on the hangout as well.  I haven't gotten
MozillaView (GeckoView with Cordova methods) fully working yet.  For some
reason it's not rendering on the screen.

Ideally it'd be cool to have at least two options when this feature finally
lands.

What do other people think?

Joe
On 22 Apr 2014 20:06, "Hu, Ningxin" <ningxin.hu@intel.com> wrote:

> Joe,
>
> Thanks for your review and merge the PRs.
>
> To pluggable webview interest group:
> Are we OK to setup a hangout this week for initial introduction and
> discussion of next steps?
>
> Thanks,
> -ningxin
>
> > -----Original Message-----
> > From: Hu, Ningxin [mailto:ningxin.hu@intel.com]
> > Sent: Tuesday, April 22, 2014 4:04 PM
> > To: dev@cordova.apache.org
> > Subject: RE: [Android] Refactoring for different engines
> >
> > The PoC is great! Quite excited about the direction!
> >
> > I've sent a PR to update the cordova-crosswalk-engine to latest crosswalk
> > embedding API. It works with xwalk_core_library at 6.35.124.0.
> >
> > I've also changed the CordovaWebView interface slightly (adding
> getView() API)
> > to allow XWalkCordovaWebView to composite a XWalkView instead of
> extending
> > it. It resolves some API naming issues for XWalkView case.
> >
> > Please review them at:
> > https://github.com/infil00p/cordova-crosswalk-engine/pull/3
> > https://github.com/infil00p/cordova-android/pull/2
> >
> > Thanks,
> > -ningxin
> >
> > > -----Original Message-----
> > > From: Joe Bowser [mailto:bowserj@gmail.com]
> > > Sent: Friday, April 11, 2014 12:45 AM
> > > To: dev
> > > Subject: Re: [Android] Refactoring for different engines
> > >
> > > 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.XWalkCordo
> > > >> > > >> >>>> > va
> > > >> > > >> >>>> > Web
> > > >> > > >> >>>> > 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-cordo
> > > >> > > >> >>>> >> va
> > > >> > > >> >>>> >> -an
> > > >> > > >> >>>> >> droi
> > > >> > > >> >>>> >> d
> > > >> > > >> >>>> >>
> > > >> > > >> >>>> >> First patch they landed,
which claims to have min
> > > >> > > >> >>>> >> viable xwalk
> > > >> > > >> webview:
> > > >> > > >> >>>> >>
> > > >> > > >> >>>>
> > > >> > > >> https://github.com/crosswalk-project/crosswalk-cordova-andro
> > > >> > > >> id
> > > >> > > >> /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-cordo
> > > >> > > >> >>>> >>> va
> > > >> > > >> >>>> >>> -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_w
> > > >> > > >> eb
> > > >> > > >> vie
> > > >> > > >> 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
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message