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-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 <mmo...@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 <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 >>>> >>>> > >>>> >>>> >>>> >>> >>>> >>> >>>>