
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Gustavo Noronha (kov) &#187; webkit</title>
	<atom:link href="http://blog.kov.eti.br/category/webkit/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.kov.eti.br</link>
	<description>tchuf tchuf; ou seria nheco nheco fum?</description>
	<lastBuildDate>Sat, 02 Mar 2013 16:37:51 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>WebKitGTK+ Debian packaging repository changes</title>
		<link>http://blog.kov.eti.br/2012/03/webkitgtk-packaging-repository-changes/</link>
		<comments>http://blog.kov.eti.br/2012/03/webkitgtk-packaging-repository-changes/#comments</comments>
		<pubDate>Sat, 10 Mar 2012 17:32:19 +0000</pubDate>
		<dc:creator>kov</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://blog.kov.eti.br/?p=273</guid>
		<description><![CDATA[For a while now the git repository used for packaging WebKitGTK+ has been broken. Broken as in nobody was able to clone it. In addition to that, the packaging workflow had been changing over time, from a track-upstream-git/patches applied one to a import-orig-only/patches-not-applied one. After spending some more time trying to unbreak the repository for [...]]]></description>
				<content:encoded><![CDATA[<p>For a while now the git repository used for packaging WebKitGTK+ has been broken. Broken as in nobody was able to clone it. In addition to that, the packaging workflow had been changing over time, from a track-upstream-git/patches applied one to a import-orig-only/patches-not-applied one.</p>
<p>After spending some more time trying to unbreak the repository for the third time I decided it might be a good time for a clean up. I created a <a href="http://anonscm.debian.org/gitweb/?p=pkg-webkit/webkit.git;a=summary">new repository</a>, imported all upstream versions for series 1.2.x (which is in squeeze), 1.6.x (unstable), and 1.7.x (experimental). I also imported packaging-related commis for those versions using git format-patch and black magic.</p>
<p>One of the good things about doing this move, and which should make hacking the WebKitGTK+ debian package more pleasant and accessible can be seen here:</p>
<p><code><br />
kov@goiaba ~/s/debian-webkit> du -sh webkit/.git webkit.old/.git<br />
27M     webkit/.git<br />
1.6G    webkit.old/.git<br />
</code></p>
<p>If you care about the old repository, it&#8217;s on git.debian.org still, named <a href="http://anonscm.debian.org/gitweb/?p=pkg-webkit/old-webkit.git;a=summary">old-webkit.git</a>. Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kov.eti.br/2012/03/webkitgtk-packaging-repository-changes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WebKitGTK+ hackfest \o/</title>
		<link>http://blog.kov.eti.br/2011/12/webkitgtk-hackfest-o/</link>
		<comments>http://blog.kov.eti.br/2011/12/webkitgtk-hackfest-o/#comments</comments>
		<pubDate>Wed, 07 Dec 2011 23:34:58 +0000</pubDate>
		<dc:creator>kov</dc:creator>
				<category><![CDATA[Collabora]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://blog.kov.eti.br/?p=223</guid>
		<description><![CDATA[It&#8217;s been a couple days since I returned from this year&#8217;s WebKitGTK+ hackfest in A Coruña, Spain. The weather was very nice, not too cold and not too rainy, we had great food, great drinks and I got to meet new people, and hang out with old friends, which is always great! I think this [...]]]></description>
				<content:encoded><![CDATA[<p>It&#8217;s been a couple days since I returned from this year&#8217;s WebKitGTK+ hackfest in A Coruña, Spain. The weather was very nice, not too cold and not too rainy, we had great food, great drinks and I got to meet new people, and hang out with old friends, which is always great!</p>
<p><div class="wp-caption alignleft" style="width: 250px"><a href="http://www.flickr.com/photos/mariosp/6461611339/sizes/l/in/set-72157628217381055/"><img alt="" src="http://farm8.staticflickr.com/7173/6461611339_d03659c168_m.jpg" title="Hackfest black board" width="240" height="160" /></a><p class="wp-caption-text">Hackfest black board, photo by Mario</p></div>I think this was a very productive hackfest, and as usual a very well organized one! Thanks to the GNOME Foundation for the travel sponsorship, to our friends at Igalia for doing an awesome job at making it happen, and to Collabora for sponsoring it and granting me the time to go there! We got a lot done, and although, as usual, our goals list had many items not crossed, we did cross a few very important ones. I took part in discussions about the new WebKit2 APIs, got to know the new design for GNOME&#8217;s Web application, which looks great, discussed about <a href="http://blog.kov.eti.br/?p=214">Accelerated Compositing</a> along with Joone, Alex, Nayan and Martin Robinson, hacked libsoup a bit to port the multipart/x-mixed-replace patch I wrote to the awesome gio-based infrastructure Dan Winship is building, and some random misc.</p>
<p>The biggest chunk of time, though, ended up being devoted to a very uninteresting (to outsiders, at least), but very important task: making it possible to more easily reproduce our test results. TL;DR? We made our bots&#8217; and development builds use jhbuild to automatically install dependencies; if you&#8217;re using tarballs, don&#8217;t worry, your usual autogen/configure/make/make install have not been touched. Now to the more verbose version!</p>
<p><strong>The need</strong></p>
<p><div id="attachment_225" class="wp-caption alignleft" style="width: 251px"><a href="http://blog.kov.eti.br/wp-content/uploads/2011/12/bots.png"><img src="http://blog.kov.eti.br/wp-content/uploads/2011/12/bots.png" alt="" title="build slaves" width="241" height="131" class="size-full wp-image-225" /></a><p class="wp-caption-text">Our three build slaves reporting a few failures</p></div>For a couple years now we have supported an increasingly complex and very demanding automated testing infrastructure. We have three buildbot slaves, one provided by Collabora (which I maintain), and two provided by Igalia (maintained by their WebKitGTK+ folks). Those bots build as many check ins as possible with 3 different configurations: <a href="http://build.webkit.org/waterfall?show=GTK%20Linux%2032-bit%20Release">32 bits release</a>, <a href="http://build.webkit.org/waterfall?show=GTK%20Linux%2064-bit%20Release">64 bits release</a>, and <a href="http://build.webkit.org/waterfall?show=GTK%20Linux%2064-bit%20Debug">64 bits debug</a>.</p>
<p>In addition to those, we have another bot called the EWS, or Early Warning System. There are two of those at this moment: one VM provided by Collabora and my desktop, provided by myself. These bots build every patch uploaded to the bugzilla, and report build <a href="https://bugs.webkit.org/show_bug.cgi?id=73960#c9">failures</a> or <a href="https://bugs.webkit.org/show_bug.cgi?id=73319">passes</a> (you can see the green bubbles). They are very important to our development process because if the patch causes a build failure for our port people can often know that before landing, and try fixes by uploading them to bugzilla instead of doing additional commits. And people are usually very receptive to waiting for EWS output and acting on it, except when they take way too long. You can have an idea of what the life of an EWS bot looks like by looking at the <a href="http://webkit-commit-queue.appspot.com/queue-status/gtk-ews">recent status</a> for the WebKitGTK+ bots.</p>
<p><a href="http://blog.kov.eti.br/wp-content/uploads/2011/12/ews.png"><img src="http://blog.kov.eti.br/wp-content/uploads/2011/12/ews.png" alt="" title="ews" class="alignnone size-full wp-image-226" /></a></p>
<p>Maintaining all of those bots is at times a rather daunting task. The tests require a very specific set of packages, fonts, themes and icons to always report the same size for objects in a render. Upgrades, for instance, had to be synchronized, and usually involve generating new baselines for a large number of tests. You can see in <a href="https://trac.webkit.org/wiki/WebKitGtkLayoutTests?version=19">these instructions</a>, for instance, how strict the environment requirements are &#8211; yes, we need specific versions of fonts, because they often cause layouts to change in size! At one point we had tests fail after a compiler upgrade, which made rounding act a bit different!</p>
<p>So stability was a very important aspect of maintaining these bots. All of them have the same version of Debian, and most of the packages are pinned to the same version. On the other hand, and in direct contradition to the stability requirement, we often require bleeding edge versions of some libraries we rely on, such as libsoup. Since we started pushing WebKitGTK+ to be libsoup-only, its own progress has been pretty much driven by WebKitGTK+&#8217;s requirements, and Dan Winship has made it possible to make our soup backend much, much simpler and way more featureful. That meant, though, requiring very recent versions of soup.</p>
<p>To top it off, for anyone not running Debian testing and tracking the exact same versions of packages as the bots it was virtually impossible to get the tests to pass, which made it very difficult for even ourselves to make sure all patches were still passing before committing something. Wow, what a mess.</p>
<p><strong>The explosion^Wsolution</strong></p>
<p>So a few weeks back Martin Robinson came up with a proposed solution, which, as he says, is the &#8220;nuclear bomb&#8221; solution. We would have a jhbuild environment which would build and install all of the dependencies necessary for reproducing the test expectations the bots have. So over the first three days of the hackfest Martin and myself hacked away in building scripts, buildmaster integration, a jhbuild configuration, a jhbuild modules file, setting up tarballs, and wiring it all in a way that makes it convenient for the contributors to get along with. You&#8217;ll notice that our buildslaves now have a step just before compiling called &#8220;updated gtk dependencies&#8221; (gtk is the name we use for our port in the context of WebKit), which runs jhbuild to install any new dependencies or version bumps we added. You can also see that those instructions I mentioned above <a href="https://trac.webkit.org/wiki/WebKitGtkLayoutTests">became a tad simpler</a>.</p>
<p>It took us way more time than we thought for the dust to settle, but it eventually began to. The great thing of doing it during the hackfest was that we could find and fix issues with weird configurations on the spot! Oh, you build with AR_FLAGS=cruT and something doesn&#8217;t like it? OK, we fix it so that the jhbuild modules are not affected by that variable. Oh, turns out we missed a dependency, no problem, we add it to the modules file or install them on the bots, and then document the dependency. I set up a very clean chroot which we could use for trying out changes so as to not disrupt the tree too much for the other hackfest participants, and I think overall we did good.</p>
<p><strong>The aftermath</strong></p>
<p>By the time we were done our colleagues who ran other distributions such as Fedora were already being able to get a substantial improvements to the number of tests passing, and so did we! Also, the ability to seamlessly upgrade all the bots with a simple commit made it possible for us to very easily land a change that required a very recent (as in unreleased) version of soup which <a href="http://trac.webkit.org/changeset/101917/trunk/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp">made our networking backend way simpler</a>. All that red looks great, doesn&#8217;t it? And we aren&#8217;t done yet, we&#8217;ll certainly be making more tweaks to this infrastructure to make it more transparent and more helpful to the users (contributors and other people interested in running the tests).</p>
<p>If you&#8217;ve been hit by the instability we caused, sorry about that, poke mrobinson or myself in the #webkitgtk+ IRC channel on FreeNode, and we&#8217;ll help you out or fix any issues. If you haven&#8217;t, we hope you enjoy all the goodness that a reproducible testing suite has to offer! That&#8217;s it for now, folks, I&#8217;ll have more to report on follow-up work started at the hackfest soon enough, hopefully =).</p>
<p><a style="float: left" href="http://foundation.gnome.org/"><img src="http://www.gnome.org/wp-content/themes/gnome-grass/images/gnome-logo.png"/></a> <a style="float: right" href="http://www.collabora.com/"><img style="width: 220" width="220" src="http://www.collabora.com/logos/collabora-logo.svg"/></a> <a href="http://www.igalia.com/"><img style="width: 150" width="150" src="http://blogs.gnome.org/xan/files/2011/12/igalia.png"/></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kov.eti.br/2011/12/webkitgtk-hackfest-o/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Accelerated Compositing in webkit-clutter</title>
		<link>http://blog.kov.eti.br/2011/11/accelerated-compositing-in-webkit-clutter/</link>
		<comments>http://blog.kov.eti.br/2011/11/accelerated-compositing-in-webkit-clutter/#comments</comments>
		<pubDate>Tue, 29 Nov 2011 17:55:03 +0000</pubDate>
		<dc:creator>kov</dc:creator>
				<category><![CDATA[Collabora]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://blog.kov.eti.br/?p=214</guid>
		<description><![CDATA[For a while now my fellow Collaboran Joone Hur has been working on implementing the Accelerated Compositing infrastructure available in WebKit in webkit-clutter, so that we can use Clutter&#8217;s powers for compositing separate layers and perform animations. This work is being done by Collabora and is sponsored by BOSCH, whom I&#8217;d like to thank! What [...]]]></description>
				<content:encoded><![CDATA[<p>For a while now my fellow Collaboran Joone Hur has been working on implementing the Accelerated Compositing infrastructure available in WebKit in webkit-clutter, so that we can use Clutter&#8217;s powers for compositing separate layers and perform animations. This work is being done by Collabora and is sponsored by BOSCH, whom I&#8217;d like to thank! What does all this mean, you ask? Let me tell me a bit about it.</p>
<p>The way animations usually work in WebKit is by repainting parts of the page every few milliseconds. What that means in technical terms is that an area of the page gets invalidated, and since the whole page is one big image, all of the pieces that are in that part of the page have to be repainted: the background, any divs, images, text that are at that part of the page.</p>
<p>What the accelerated compositing code paths allow is the creation of separate pieces to represent some of the layers, allowing the composition to happen on the GPU, removing the need to perform lots of cairo paint operations per second in many cases. So if we have a semi-transparent video moving around the page, we can have that video be a separate texture that is layered on top of the page, made transparent and animated by the GPU. In webkit-clutter&#8217;s case this is done by having separate actors for each of the layers.</p>
<p>I have been looking at this code on and off, and recently joined Joone in the implementation of some of the pieces. The accelerated compositing infrastructure was originally built by Apple and is, for that reason, works in a way that is very similar to Core Animation. The code is still a bit over the place as we work on figuring out how to best translate the concepts into clutter concepts and there are several bugs, but some cool demos are already possible! Bellow you have one of the CSS3 demos that were made by Apple to demo this new functionality running on our MxLauncher test browser.</p>
<p><video controls width="640" src="http://cafe.minaslivre.org/~kov/webkit/ac.webm"></video></p>
<p>You can also see that the non-Accelerated version is unable to represent the 3D space correctly. Also, can you guess which of the two MxLauncher instances is spending less CPU? <img src='http://blog.kov.eti.br/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  In this second video I show the debug borders being painted around the actors that were created to represent layers.</p>
<p><video controls width="640" src="http://cafe.minaslivre.org/~kov/webkit/debug-borders.webm"></video></p>
<p>The code, should you like to peek or test is available in the ac2 branch of our webkit-clutter repository: <a href="http://gitorious.org/webkit-clutter/webkit-clutter/commits/ac2">http://gitorious.org/webkit-clutter/webkit-clutter/commits/ac2</a></p>
<p>We still have plenty of work to do, so expect to hear more about it. During our annual hackfest in A Coruña we plan to discuss how this work could be integrated also in the WebKitGTK+ port, perhaps by taking advantage of clutter-gtk, which would benefit both ports, by sharing code and maintenance, and providing this great functionality to Epiphany users. Stay tuned!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kov.eti.br/2011/11/accelerated-compositing-in-webkit-clutter/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>A clutter port of WebKit</title>
		<link>http://blog.kov.eti.br/2011/02/a-clutter-port-of-webkit/</link>
		<comments>http://blog.kov.eti.br/2011/02/a-clutter-port-of-webkit/#comments</comments>
		<pubDate>Fri, 18 Feb 2011 17:23:53 +0000</pubDate>
		<dc:creator>kov</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://blog.kov.eti.br/?p=139</guid>
		<description><![CDATA[In case you missed the news on webkit-dev, Collabora has been working on developing a clutter port of WebKit. It shares the build system with EFL, and most of the backend code comes from the GTK+ port. That means networking is handled by soup, drawing by cairo, multimedia by GStreamer, and so on. If you&#8217;d [...]]]></description>
				<content:encoded><![CDATA[<p>In case you missed the news on webkit-dev, Collabora has been working on developing a clutter port of WebKit. It shares the build system with EFL, and most of the backend code comes from the GTK+ port. That means networking is handled by soup, drawing by cairo, multimedia by GStreamer, and so on.</p>
<p>If you&#8217;d like to give it a try, you can clone the repository from gitorious:</p>
<p><code>$ git clone git://gitorious.org/webkit-clutter/webkit-clutter.git</code></p>
<p>Then to build it you use cmake. From inside the source code directory do this:</p>
<p><code>$ mkdir build<br />
$ cd build<br />
$ cmake .. -DPORT=Clutter -DSHARED_CORE=1 -DBUILD_MX_LIB=1<br />
$ make<br />
</code></p>
<p>The BUILD_MX_LIB option is optional &#8211; it will build what we call the &#8220;Mx toolkit library&#8221; in addition to the vanilla one. Then you can test that the library is built and working by running the programs inside the &#8220;Programs&#8221; directory. Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kov.eti.br/2011/02/a-clutter-port-of-webkit/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>WebKitGTK+ hackfest 2010!</title>
		<link>http://blog.kov.eti.br/2010/12/webkitgtk-hackfest-2010/</link>
		<comments>http://blog.kov.eti.br/2010/12/webkitgtk-hackfest-2010/#comments</comments>
		<pubDate>Mon, 13 Dec 2010 19:18:51 +0000</pubDate>
		<dc:creator>kov</dc:creator>
				<category><![CDATA[Collabora]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://blog.kov.eti.br/?p=124</guid>
		<description><![CDATA[Last week I attended the WebKitGTK+ 2010 hackfest. It was a great opportunity to meet up with the other developers, discuss some plans for the future, hack away at WebKitGTK+. But, most importantly, play Street Figher 2 =). Thanks to Collabora and Igalia for sponsoring the hackfest, Igalia for hosting and organizing it (well done!), [...]]]></description>
				<content:encoded><![CDATA[<p>Last week I attended the WebKitGTK+ 2010 hackfest. It was a great opportunity to meet up with the other developers, discuss some plans for the future, hack away at WebKitGTK+. But, most importantly, play Street Figher 2 =). Thanks to Collabora and Igalia for sponsoring the hackfest, Igalia for hosting and organizing it (well done!), and the GNOME foundation for having sponsored my trip to Coruña!</p>
<p>Unlike last year we didn&#8217;t find any big design issues hurting our work (page cache, I&#8217;m looking at you!) on new futures. I also didn&#8217;t have any huge plans for new API, although we did manage to get some new stuff in there, like the plugins management API Xan created, and the further work done by Dan in soup. This meant, from my point of view the hackfest has been a great oportunity to look at refactorings that we could do to further simplify understanding the code, changing it, and even sharing it =). Besides pushing the debian packaging of the 1.3.x series a bit further.</p>
<p>Coruña was great as always, and I enjoyed going around, eating and hacking there, although I got a cold on the last days which kinda hindered my ability to stare at the screen for too long, some times. Now that I&#8217;m at the hot brazilian summer again I&#8217;ll hopefully get better soon =)</p>
<p>Cheers \o/</p>
<p><a href="http://blog.kov.eti.br/wp-content/uploads/2010/12/badge.png"><img class="alignnone size-full wp-image-125" title="Sponsored by the GNOME Foundation" src="http://blog.kov.eti.br/wp-content/uploads/2010/12/badge.png" alt="Sponsored by the GNOME Foundation" width="213" height="213" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kov.eti.br/2010/12/webkitgtk-hackfest-2010/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Google&#8217;s User-Agent sniffing makes one more victim</title>
		<link>http://blog.kov.eti.br/2010/08/googles-user-agent-sniffing-makes-one-more-victim/</link>
		<comments>http://blog.kov.eti.br/2010/08/googles-user-agent-sniffing-makes-one-more-victim/#comments</comments>
		<pubDate>Tue, 10 Aug 2010 20:38:15 +0000</pubDate>
		<dc:creator>kov</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Epiphany]]></category>
		<category><![CDATA[Estupidez humana]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://blog.kov.eti.br/?p=119</guid>
		<description><![CDATA[Remember when I said Epiphany worked out of the box with Youtube&#8217;s WebM? Well, Google has recently decided to deny us WebM, like it did before with Wave, the Pacman doodle, and who knows what else? \o/ Wouldn&#8217;t it be nice if Google practiced what they preach? Update: so it looks like my message went [...]]]></description>
				<content:encoded><![CDATA[<p>Remember when I said <a title="Epiphany + WebM" href="http://blog.kov.eti.br/?p=113">Epiphany worked out of the box with Youtube&#8217;s WebM</a>? Well, Google has recently decided to <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=567311#55">deny us WebM</a>, like it did before with Wave, the <a title="Pacman on Epiphany?" href="http://blog.kov.eti.br/?p=114">Pacman doodle</a>, and who knows what else? \o/</p>
<p>Wouldn&#8217;t it be nice if Google practiced what they <a title="Talk is cheap." href="http://code.google.com/p/doctype/wiki/ArticleGoogleChromeCompatFAQ#UserAgent_Detection">preach</a>?</p>
<p><strong>Update:</strong> so it looks like my message went through to the people who needed to see it, and they found a filtering error in the User Agent sniffing code that made it think Epiphany was a too old Safari &#8211; I&#8217;m told the change will land in Youtube soon, thanks for those paying attention, and working on this! User Agent sniffing keeps being a problem, of course, and there are other stuff to fix, so I will probably still push my patch to spoof the user agent to google services which are still mishandling Epiphany, but it&#8217;s good to see some progress being made!</p>
<p><strong>Update2: </strong>I started shipping a patch to send the Chrome user agent string to google domains in the Debian package for WebKitGTK+, when the &#8220;enable-site-specific-quirks&#8221; setting is enabled (which is the case for Epiphany); I already found something we were missing out on =D Google Images seems to have been greatly improved, and now faking being Chrome we are also able to enjoy it:</p>
<p style="text-align: center;"><a href="http://kov.eti.br/media/webkit/google-images.png"><img src="http://kov.eti.br/media/webkit/google-images.png" alt="Google Images improved" width="400" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kov.eti.br/2010/08/googles-user-agent-sniffing-makes-one-more-victim/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>WebKitGTK+ and the Web Inspector</title>
		<link>http://blog.kov.eti.br/2010/08/webkitgtk-and-the-web-inspector/</link>
		<comments>http://blog.kov.eti.br/2010/08/webkitgtk-and-the-web-inspector/#comments</comments>
		<pubDate>Mon, 09 Aug 2010 15:35:53 +0000</pubDate>
		<dc:creator>kov</dc:creator>
				<category><![CDATA[Collabora]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Epiphany]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://blog.kov.eti.br/?p=118</guid>
		<description><![CDATA[When I started working on WebKitGTK+ I was a web developer, writing IT applications using Python and Django, and building features for content portals running Plone (argh). Even though I was an Epiphany user ever since it was forked off Galeon, I still had to use Firefox for my work, because I couldn&#8217;t really live [...]]]></description>
				<content:encoded><![CDATA[<p>When I started working on WebKitGTK+ I was a web developer, writing IT applications using Python and Django, and building features for content portals running Plone (argh). Even though I was an Epiphany user ever since it was forked off Galeon, I still had to use Firefox for my work, because I couldn&#8217;t really live without Firebug.</p>
<p>It should come as no surprise, then, that one of my first patches to WebKitGTK+ was actually <a title="Making the inspector work for WebKitGTK+" href="http://trac.webkit.org/changeset/37982">making the awesome Web Inspector work in our port</a>. After the initial support, though, not a lot has been done to further improve it, partly because it was already good enough for many uses, partly because I somehow started doing non-web development again <img src='http://blog.kov.eti.br/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
<p>These last weeks, through my R&amp;D efforts in Collabora, I have been able to push Web Inspector features and integration a bit further. A simple change that boosts the Inspector&#8217;s usability quite a bit is having the <a title="Node highlighting in the inspector" href="http://trac.webkit.org/changeset/64567">nodes that are being hovered highlighted</a>. Along with that, the ability to <a title="Attaching the inspector to Epiphany's window" href="http://git.gnome.org/browse/epiphany/commit/?id=83f85841473bea3642e1f694f0b3c5f0d8ca07d4">attach the inspector to Epiphany&#8217;s window</a> should make it easier to use for poking the DOM.</p>
<p>The Web Inspector has a number of settings that control its behaviour. Since, for instance, enabling javascript debugging may slow down javascript performance, the inspector usually has it disabled by default, and provides a button to enable it. It also provides an option for always enabling that feature, but that does not work right now, because we are not saving/restoring the relevant settings. A solution to that is <a title="GSettings integration" href="https://bugs.webkit.org/show_bug.cgi?id=43512">in the works</a> using the GSettings infrastructure that was recently merged into glib.</p>
<p>Here&#8217;s a simple screencast, showing these improvements in action (click the video to check it out in full size):</p>
<p><a href="http://kov.eti.br/media/webkit/inspector.ogv"><video src="http://kov.eti.br/media/webkit/inspector.ogv" width="400" controls></video></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kov.eti.br/2010/08/webkitgtk-and-the-web-inspector/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
<enclosure url="http://kov.eti.br/media/webkit/inspector.ogv" length="14553912" type="video/ogg" />
		</item>
		<item>
		<title>WebKitGTK+ 1.2.2 and 1.2.3 released!</title>
		<link>http://blog.kov.eti.br/2010/07/webkitgtk-122-and-123-released/</link>
		<comments>http://blog.kov.eti.br/2010/07/webkitgtk-122-and-123-released/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 13:11:21 +0000</pubDate>
		<dc:creator>kov</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://blog.kov.eti.br/?p=116</guid>
		<description><![CDATA[Some of you may have noticed WebKitGTK+ 1.2.2 and 1.2.3 have been uploaded recently. Here&#8217;s their announcement =). A quick summary: if you&#8217;re running the 1.2.x series upgrade to 1.2.3. Here&#8217;s some information regarding 1.2.2: 1.2.2 is an update to the 1.2.x stable series; along with a lot of crash, and misc fixes the biggest [...]]]></description>
				<content:encoded><![CDATA[<p>Some of you may have noticed WebKitGTK+ 1.2.2 and 1.2.3 have been uploaded recently. Here&#8217;s their announcement =). A quick summary: if you&#8217;re running the 1.2.x series upgrade to 1.2.3.</p>
<p>Here&#8217;s some information regarding 1.2.2:</p>
<p>1.2.2 is an update to the 1.2.x stable series; along with a lot of crash, and misc fixes the biggest changes are: 1) the inclusion of a new API from the development branch (webkit_back_forward_list_clear()),<br />
because it&#8217;s simple and will help with fixing a problem in Epiphany stable, and 2) lots of drag and drop, and clipboard related work by Martin Robinson.</p>
<p>Despite not being strictly fixes, we believe the stable series has a lot to gain from this work; a couple examples should illustrate this better: the changes included fix both a crash when dragging links from WebKit into other browsers, and the annoying bug that made the cursor get stuck in a grab when dragging, sometimes.</p>
<blockquote><p><a href="http://webkitgtk.org/webkit-1.2.2.tar.gz">http://webkitgtk.org/webkit-1.2.2.tar.gz</a><br />
MD5: 40338001324a38b977c163291e8816d3</p></blockquote>
<p>Here&#8217;s some information regarding 1.2.3:</p>
<p>To some such a quick succession in releases may look like a brown paper bag was in order. Not strictly, but indeed 1.2.3 aims to fix some oversights with easy fixes. First of all, WebKit was not buildable with ICU 4.4.1, but thankfully a fix had already been checked in to trunk, so 1.2.3 includes that fix. Secondly, Debian&#8217;s Michael Gilbert has done a great job going through all CVEs released about WebKit, and including patches in the Debian package. 1.2.3 includes all of the commits from trunk to fix those, too.</p>
<blockquote><p><a href="http://webkitgtk.org/webkit-1.2.3.tar.gz">http://webkitgtk.org/webkit-1.2.3.tar.gz</a><br />
MD5: 0ab5c478a6f5b74a1ae96bf13a456662</p></blockquote>
<p>You can read some more details, including the list of CVEs that were addressed, in the NEWS file:</p>
<blockquote><p><a href="http://gitorious.org/webkitgtk/stable/blobs/master/WebKit/gtk/NEWS">http://gitorious.org/webkitgtk/stable/blobs/master/WebKit/gtk/NEWS</a></p></blockquote>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kov.eti.br/2010/07/webkitgtk-122-and-123-released/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Google&#8217;s pacman doodle in Epiphany/Midori?</title>
		<link>http://blog.kov.eti.br/2010/05/googles-pacman-doodle-in-epiphanymidori/</link>
		<comments>http://blog.kov.eti.br/2010/05/googles-pacman-doodle-in-epiphanymidori/#comments</comments>
		<pubDate>Fri, 21 May 2010 15:59:32 +0000</pubDate>
		<dc:creator>kov</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://blog.kov.eti.br/?p=114</guid>
		<description><![CDATA[Google has had a very nice idea today, to celebrate Pacman&#8217;s aniversary: they made their logo become a playable HTML5 pacman. If you&#8217;re wondering why your WebKitGTK+ browser is not being able to play the game here&#8217;s why: Google is doing User-Agent sniffing and denying you the fun, sending a static image that you can [...]]]></description>
				<content:encoded><![CDATA[<p>Google has had a very nice idea today, to celebrate Pacman&#8217;s aniversary: they made their logo become a playable <del datetime="2010-05-21T22:17:07+00:00">HTML5</del> pacman. If you&#8217;re wondering why your WebKitGTK+ browser is not being able to play the game here&#8217;s why: Google is doing User-Agent sniffing and denying you the fun, sending a static image that you can click to perform a search instead of the game.</p>
<p>If you make Epiphany or Midori identify themselves as Chrome or Firefox, the game will work. I really don&#8217;t get this User Agent sniffing bullshit coming from Google. If you go to gconf-editor, and under epiphany->general set the user_agent key to &#8220;Mozilla/5.0 (X11; U; Linux; en-gb; rv:1.9.0.2) Gecko/2008092313 Firefox/3.8&#8243; it works. I&#8217;m starting to seriously consider User Agent spoofing for *.google.com as a quirk on WebKitGTK+. Lame.</p>
<p><strong>Update: </strong> as a protest, I&#8217;m making blog.kov.eti.br and kov.eti.br say Chrome/Chromium are not supported, by doing User Agent sniffing.<br />
<strong>Update2:</strong> it&#8217;s been pointed out to me that the game is not HTML5 &#8211; it&#8217;s actually smart usage of divs, and flash *urgh* for the audio<br />
<strong>Update3:</strong> thanks to a friend who works at Google getting in touch with pacman&#8217;s designer, it looks like it now works without faking U-A &#8211; I&#8217;m happy for this, thank you! Despite this good step forward, google is still denying us the nice fade in effect, and still sees us as &#8216;unsupported&#8217; in Wave and similar products, so I&#8217;ll keep my protest for now.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kov.eti.br/2010/05/googles-pacman-doodle-in-epiphanymidori/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>WebKitGTK+ and WebM</title>
		<link>http://blog.kov.eti.br/2010/05/webkitgtk-and-webm/</link>
		<comments>http://blog.kov.eti.br/2010/05/webkitgtk-and-webm/#comments</comments>
		<pubDate>Thu, 20 May 2010 18:24:30 +0000</pubDate>
		<dc:creator>kov</dc:creator>
				<category><![CDATA[Collabora]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Epiphany]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://blog.kov.eti.br/?p=113</guid>
		<description><![CDATA[So you probably heard about WebM, right? It&#8217;s the awesome new media format being pushed by Google and a large number of partners, including Collabora, following the release of the VP8 video codec free of royalties and patents, along with a Free Software implementation. It turns out that if you are a user or developer [...]]]></description>
				<content:encoded><![CDATA[<p>So you probably heard about <a href="http://www.webmproject.org/">WebM</a>, right? It&#8217;s the awesome new media format being pushed by Google and a large number of partners, including <a href="http://www.collabora.co.uk/">Collabora</a>, following the release of the VP8 video codec free of royalties and patents, along with a Free Software implementation.</p>
<p>It turns out that if you are a user or developer of applications that use the GStreamer framework, you can start taking advantage of all that freedom right away! Collabora Multimedia has developed, along with Entropy Wave <a href="http://www.collabora.co.uk/press/2010/05/join-google-webm-project.html">GStreamer support for the new format</a>, and the code has already landed in the public repositories, and is already being packaged for some distributions.</p>
<p>I just couldn&#8217;t wait the few days it will take for the support to be properly landed in Debian unstable, so I went ahead and downloaded all of the current packages from the <a href="http://svn.debian.org/viewsvn/pkg-gstreamer/">pkg-gstreamer svn repository</a>, built everything after having the libvpx-dev package installed, and went straight to a rather unknown, small video site called Youtube with my GStreamer-powered WebKitGTK+-based browser, Epiphany!:</p>
<p><a href="http://kov.eti.br/media/webkit/webm-youtube.png"><br />
<img src="http://kov.eti.br/media/webkit/webm-youtube.small.png" alt="Youtube showing a webm video in Epiphany" /><br />
</a></p>
<p>If you&#8217;re running Debian unstable, or any of the other distributions which will be lucky to get the new codecs, and support packages soon, you should be able to get this working out of the box real soon now. Check the <a href="http://www.webmproject.org/users/">tips on WebM&#8217;s web site</a> on how to find WebM videos on youtube.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kov.eti.br/2010/05/webkitgtk-and-webm/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>
