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 Tue, 18 Mar 2014 23:08:21 GMT
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-android
>> >>>> >>
>> >>>> >> 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-android
>> >>>> >>>
>> >>>> >>> ?
>> >>>> >>>
>> >>>> >>>
>> >>>> >>> 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