cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew Grieve <agri...@chromium.org>
Subject Re: [Android] Refactoring for different engines
Date Wed, 23 Apr 2014 14:10:01 GMT
Does anyone have a contact at moz that we could invite?

On Wed, Apr 23, 2014 at 10:09 AM, Andrew Grieve <agrieve@chromium.org> wrote:
> Depends on their interest level I think. Faster we can get this out
> the door the better. If we need to delay for geckoview, then I don't
> think we should gate on it, just release it after.
>
> On Wed, Apr 23, 2014 at 3:01 AM, Tommy Williams <tommy@devgeeks.org> wrote:
>> More engines, more better...
>> On 23 Apr 2014 16:32, "Joe Bowser" <bowserj@gmail.com> wrote:
>>
>>> 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
View raw message