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:bows...@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 <mmo...@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 <bows...@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 <bows...@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 <bows...@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 <bows...@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 <bows...@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 > >> >>>> > <mmo...@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 > >> >>>> >> <mmo...@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 < > >> agri...@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 > >> >>>> >>>> <bows...@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 > >> >>>> >>>> > > >> >>>> >>>> > >> >>>> >>> > >> >>>> >>> > >> >>>> > >>