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 Thu, 13 Mar 2014 22:50:26 GMT
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