<p dir="ltr">The GTK, Qt and EFL ports were originally mentioned in this thread as the ports that could share much of the POSIX- or GLib-specific code. That&#39;s as close as they come to the new Nix port which would also use this code.</p>

<p dir="ltr">The three ports are heavily tied to their respective toolkits. They could still theoretically all use the Nix port&#39;s mechanisms to display and operate with the Web content inside the toolkit widgets, but this is very unlikely to happen for either of these ports.</p>

<p dir="ltr">Cheers,<br>
Zan</p>
<div class="gmail_quote">On Sep 10, 2013 11:54 PM, &quot;Filip Pizlo&quot; &lt;<a href="mailto:fpizlo@apple.com">fpizlo@apple.com</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word">This would be pure win if Qt/Gtk/EFL switched to it - but otherwise it seems like it would add a lot of maintenance burden.<div><br></div><div>Do you also provide the appropriate scaffolding for a Gtk, Qt, or EFL user to use Nix in the same way that they would now use those native ports&#39; views?  If you did this, it would obviate the need for the other ports, leading to a simpler development experience for WebKit contributors.<br>
<div><br></div><div>-Filip</div><div><br></div><div><br><div><div>On May 17, 2013, at 5:41 AM, Luciano Wolf &lt;<a href="mailto:luciano.wolf@openbossa.org" target="_blank">luciano.wolf@openbossa.org</a>&gt; wrote:</div><br>
<blockquote type="cite"><div style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
The openBossa team at INdT Brazil is proud to announce “Nix” - a new<br>WebKit2 port based on POSIX and OpenGL. Nix stands for “WebKit for<br>unix-like platforms” and, if you consider the German meaning of the<br>word &quot;nix&quot;, it can be taken as “WebKit plus nothing”. We are looking<br>
forward to upstreaming and maintaining this port. Below you will find<br>a brief history about Nix, besides its main goals and motivation.<br><br><br>:: A little bit of history ::<br><br>The first of Nix basic ideas arose from a conversation between Kenneth<br>
Rohde Christiansen and Noam Rosenthal, who were wondering about the<br>idea of having a “platform/glib” or platform/posix”.  Other ports such<br>as EFL, GTK and Qt would then be able to develop themselves on top of<br>it, having a common source core.<br>
<br>While QtWebKit’s QQuickWebView is great for embedding web content into<br>QtQuick, a few people felt they needed more freedom to implement a<br>different WebView behavior than the one being provided by Qt. Behavior<br>
more suitable for tricky use cases like embedding web content in a 3D<br>world, for example. A private API called QRawWebView was implemented<br>to fulfil this gap.<br><br>Motivated by the 2 aforementioned concepts and by the idea of having a<br>
“lightweight” GL based port for developing some prototypes on a<br>RaspberryPi, in August 2012 Caio Oliveira and Jesus Sanchez-Palencia,<br>long term WebKit developers and former INdT employees, kick-started<br>what they called WebKitNix. They started from the EFL port, took out<br>
every EFL-specific piece of code, implemented a “raw” GL-based<br>WebView, provided a C API in the WK2 fashion and a set of<br>platform/device APIs based on the former Chromium’s Source/Platform.<br><br>We can summarize its evolutionary process as:<br>
<br>1. Initial idea: platform/posix or platform/glib (share code);<br>2. Evolved problem: we wanted to have different behaviors for<br>QQuickWebView -&gt; Qt Raw WebView<br>3. Network: QtWebKit + Soup experiment<br>4. Efl Raw WebView experiment<br>
5. Efl Without Efl :)<br>6. Nix was born.<br><br>:: What is inside it? ::<br><br>Most of Nix’s building pieces are shared with other existing ports:<br>CMake build system, GLib, libsoup and Cairo. Also, it uses Coordinated<br>
Graphics, Tiled Backing Store and existing WebKit2 C APIs. Having such<br>a tiny WebKit API means that Nix has the smallest possible footprint<br>on the rest of the WebKit project.<br><br>We take seriously the notion that the WebKit project is for a web<br>
rendering engine and nothing else, and try to develop as much of the<br>auxiliary features as possible outside the WebKit project, on top of<br>the API or in the injected bundle.<br><br>Nix is already covered by Layout Tests, API Tests (TestWebKitAPI) and<br>
Ref Tests which are run by our buildbot[1]. Perf tests are supported<br>but we don’t have a buildbot ready for them at this time. Pixel Tests<br>are on the way. Today we have around 75% of layout tests coverage.<br><br>We have been merging Nix with<span> </span><a href="http://webkit.org/" target="_blank">webkit.org</a><span> </span>three times per week so it is<br>
kept up-to-date. There is a public repository[2] with the original git<br>history and we are looking forward to upstreaming it. (Yes, we fulfill<br>all the “requirements” defined by the “Successful Port How To”<br>document[3])<br>
<br>:: Who should use it? ::<br><br>It targets whoever wants to have a hardware accelerated WebKit2 port<br>on UNIX based devices, with a minimum effort. Nix is now running on<br>x86 and ARM (Raspberry Pi[4] is a supported platform).<br>
<br>Flexibility and freedom is guaranteed: you can define your WebView<br>behavior and there’s no toolkit attached, so it may be used with EFL,<br>GTK, Qt or even no toolkit at all.<br><br>:: Who’s working on it now? ::<br>
<br>This port was made in openBossa - an open source research group in<br>Brazil. Nowadays, the team comprehends 5 WebKit committers and 4 more<br>developers. In January, several contributors from the university of<br>Szeged have joined the project as well, and are responsible for many<br>
valuable contributions like the current work to switch to libcurl.<br><br>:: Past and Future ::<br><br>- 2012 -<br>- August/September: Lab phase, lots of experiments;<br>- October/November: Branching;<br>- late November: test infrastructure running;<br>
- 2013 -<br>- January: public repository[2];<br>- May: comments/discussions/objections -&gt; upstreaming;<br>-June &amp; beyond: maintenance, expand test coverage, focus on the web<br>platform (contributing to WebCore).<br>
<br>:: Where can you find it? ::<br><br>website:<span> </span><a href="http://webkitnix.openbossa.org/" target="_blank">webkitnix.openbossa.org</a><br>buildbots:<span> </span><a href="http://webkitnix.openbossa.org/build/" target="_blank">webkitnix.openbossa.org/build/</a><br>
code:<span> </span><a href="https://github.com/WebKitNix/webkitnix" target="_blank">https://github.com/WebKitNix/webkitnix</a><br>contact:<span> </span><a href="mailto:nix@openbossa.org" target="_blank">nix@openbossa.org</a><br>
IRC: #webkitnix at freenode<br><br><br>Best regards,<br>Nix/openBossa team<br><br>[1]<span> </span><a href="http://webkitnix.openbossa.org/build/" target="_blank">http://webkitnix.openbossa.org/build/</a><br>[2]<span> </span><a href="https://github.com/WebKitNix/webkitnix" target="_blank">https://github.com/WebKitNix/webkitnix</a><br>
[3]<span> </span><a href="http://trac.webkit.org/wiki/SuccessfulPortHowTo" target="_blank">http://trac.webkit.org/wiki/SuccessfulPortHowTo</a><br>[4]<span> </span><a href="https://github.com/WebKitNix/nix-rpi-sdk" target="_blank">https://github.com/WebKitNix/nix-rpi-sdk</a><br>
_______________________________________________<br>webkit-dev mailing list<br><a href="mailto:webkit-dev@lists.webkit.org" target="_blank">webkit-dev@lists.webkit.org</a><br><a href="https://lists.webkit.org/mailman/listinfo/webkit-dev" target="_blank">https://lists.webkit.org/mailman/listinfo/webkit-dev</a></div>
</blockquote></div><br></div></div></div><br>_______________________________________________<br>
webkit-dev mailing list<br>
<a href="mailto:webkit-dev@lists.webkit.org">webkit-dev@lists.webkit.org</a><br>
<a href="https://lists.webkit.org/mailman/listinfo/webkit-dev" target="_blank">https://lists.webkit.org/mailman/listinfo/webkit-dev</a><br>
<br></blockquote></div>