cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hu, Ningxin" <ningxin...@intel.com>
Subject RE: [Android] Refactoring for different engines
Date Tue, 08 Apr 2014 14:56:01 GMT
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
View raw message