Kodi Community Forum

Full Version: [WIP] WebKit HTML Layout Engine / Web Browser integration into XBMC - developers only
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5
blaize Wrote:http://www.khrona.com/products/awesomium/licensing/

bottom of the page

Buzz, incompatible with GPL licensing as it places restrictions on what one can do with the code.
awesomium was licensed under the gpl some time back - until the author decided to change this.
It will probably take a lot of work too get the old code running with newer chrome revisions and I didn't try with an old chrome rv.

found this howto:

using old awesomium gpl code hosted on
What are the requirements for a browser?
Quote:Buzz, incompatible with GPL licensing as it places restrictions on what one can do with the code.
Does this means that by using awesomium code outside of its dll is affected by its license terms ?
What about Berkelium? It's an open (BSD license), cross-platform (Windows, Linux, OSX) alternative to Awesomium, which can render Flash across all platforms.

Quote:Berkelium is a BSD licensed library that provides off-screen browser rendering via Google's open source Chromium web browser.

It takes advantage of Chromium's multiprocess rendering to isolate browsers from each other and can render to any buffer in memory. The user of the library can inject input and javascript code into web pages to control them, as well as listen for events generated by the page such as navigation events, load sequence events and paint events. Berkelium provides a small API for embedding a fully functional browser into any application.
Obtaining Berkelium

The most recent documentation for Berkelium is located at its web site, http://berkelium.org . The source code can be found on GitHub at http://github.com/sirikata/berkelium

I'll have to look into whether or not BSD is compatible with GPL, but it seems like it might be a viable solution. It would be fantastic to have Flash-based video available to add-ons (leaving opinions on Flash aside.)
BSD is compatile with GPL yes

Would you be interested in trying again with Berkelium?

BTW, another advantage of using modern Chrome code is *plugin-less* Flash and PDF support (along with SVG). Vector graphics are very useful in some cases.
Sorry to bump an old thread, but in addition to Berkelium which is linked above, the people behind Second Life seem to have a similar, cross-platform WebKit-based project called LLQtWebKit that's capable of rendering Flash. It's licensed under GPL v2:

I was doing some work on this. Take a look at http://trac.xbmc.org/ticket/5984.

As I noted in the trac ticket, the best way to implement webkit browser support in XBMC is to outright support Qt (or GTK) widgets in XBMC. In XBMC's case, this requires the offscreen rendering of widgets to opengl textures. GTK will not have full support of this until 3.x, which currently leaves Qt as the toolkit to support widgets from.

Once Qt widgets are supported in XBMC, implementing a webkit browser through qtwebkit will naturally follow.

Is there an initiative to support QT or GTK widgets in XBMC? Would that contribute to a lot of overhead? especially given the recent ports to ARM...

Thanks for the update BTW.
I wonder if it wouldn't be possible to use the port to android in XBMC instead. Skia is used for rendering there and its a whole lot less overhead than GTK or Qt, as a matter of fact I'd bet Skia would be useful for alot of other stuff if we had it as a dependency.

Ofcourse that means a specific webkit lib for xbmc which would probably rule out system lib and would probably be more work.

Sorry if I misunderstood you, are you suggesting a complete fork to Android or porting some libraries from Android into Live etc to accomplish the browser integration?

I'd guess your work in the ARM side of things is very given to Android? I've been following your progress BTW, nicely done so far!
My suggestions wasn't really that deep but almost.

Basically afaict from looking at the sources and speaking with some of the webkit developers is that the webkit core uses different abstracted managers and such to do alot of the stuff platform specific. For example Qt could be used to render the pages and give controls that fits the themes. Qt could give information about network status and location and so on so forth.

So my suggestion was to mix abit from the different ports to let us not completely add a new port. And while the Qt and GTK ports are very good they do pile on dependencies like crazy. So my suggestion was to take some from android (mostly the rendering I'd guess) and then just hook up the remaining stuffs to our internals.

At the end of the day I'm not 100% its feasable but would be nice to have webkit integration without adding Qt or GTK IMO Smile

Ok yeah I see now. Having worked on migrating Apps between platforms, it's a bit of a pit fall to stray too widely from "unintended" or unconventional uses Smile. I'd think XBMC would do extremely well in Android, esp with Google TV (= CE4100) coming like a tidal wave next year. Not that there is anything wrong with the Linux/Live build, I love it myself.

That said, do you believe that Google will not sprawl dependencies for Skia on going? I also think that (sorry this is not the feature request forum... but once we are talking) that Chrome should be considered as the next Live/Linux X86 OS of choice... Skia seems to be a project there as well and, AFAIK, it will be much closer to conventional desktop Linux than Android.
Well if we ported to android we wouldn't really need to have the webbrowser, just fire of an http intent and off we go. Also in android you have the wonderful possiblity to reuse views, and especially webview would be interesting here I guess.

Skia is extremely lightweight, just a few classes and is very very fast. So I'd say its a good dependency if anything Smile
Pages: 1 2 3 4 5