<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.3" -->
<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/"
	>

<channel>
	<title>Pierre-Luc Beaudoin &#187; WebKit</title>
	<link>http://blog.squidy.info</link>
	<description>Métro, boulot, amigos est mon crédo</description>
	<pubDate>Tue, 22 Jul 2008 01:17:22 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
	<language>en</language>
			<item>
		<title>The cost of a bug fix</title>
		<link>http://blog.squidy.info/2008/06/12/the-cost-of-a-bug-fix/en/</link>
		<comments>http://blog.squidy.info/2008/06/12/the-cost-of-a-bug-fix/en/#comments</comments>
		<pubDate>Thu, 12 Jun 2008 19:41:59 +0000</pubDate>
		<dc:creator>Pierre-Luc Beaudoin</dc:creator>
		
		<category><![CDATA[Technologie]]></category>

		<category><![CDATA[WebKit]]></category>

		<guid isPermaLink="false">http://blog.squidy.info/2008/06/12/the-cost-of-a-bug-fix/fr/</guid>
		<description><![CDATA[Every fix doesn&#8217;t call for a blog post, but this one deserves it.  It all started when Jonathon Jongsma found a way to make text disappear in QtWebKit on May 27th.  So he raised a bug.  He and I started working on fixing it.  We rapidly found that WebKitGtk was also affected, but it was [...]]]></description>
			<content:encoded><![CDATA[<p>Every fix doesn&#8217;t call for a blog post, but this one deserves it.  It all started when <a href="http://blogs.gnome.org/jjongsma/">Jonathon Jongsma</a> found a way to make text disappear in QtWebKit on May 27th.  So he raised a <a href="https://bugs.webkit.org/show_bug.cgi?id=19279">bug</a>.  He and I started working on fixing it.  We rapidly found that WebKitGtk was also affected, but it was unreproducible on the Mac port.</p>
<p>We dove into the code: &#8220;grep selection&#8221;, GraphicsContext::drawText(), Font::drawText()&#8230; but nothing was really different (there) in the Qt or Gtk port which could explain why the text wasn&#8217;t being redrawn when changing the selection.</p>
<p>That&#8217;s when I discovered git bisect.  Since we had established that the bug wasn&#8217;t there when QtWebKit was snapshot for Qt 4.4.0, I had a good place to start.  So after recompiling QtWebKit some 15 times (yes, it took around 3 work days!), it pointed me to this <a href="http://trac.webkit.org/changeset/32660">changeset</a>.  Lucky for us, it was related to the bug (text rendering).</p>
<p>After some digging into the patch, I contacted the author, Dan Bernstein at Apple, and we looked at it together.  In little time, he was able to find how to reproduce it on the Mac too.  This was now a WebKit wide bug!  Some back traces later and some trials: we came up with this <a href="http://trac.webkit.org/changeset/34414">fix</a>. Pretty simple, isn&#8217;t it?  barely 16 chars.  Yet, these 16 chars cost around 1200$* in direct labour time and 3 engineers were involved.</p>
<p>Some will say this could have been prevented with proper tests.  It happens that it was a special case on the Mac, but all other ports always went through it.  Dan now added a pixel test.</p>
<p>The morals of the story are:</p>
<ul>
<li> bug fixing is costly (haven&#8217;t we heard that in school?)</li>
<li>you never know when someone will hunt you back about your patch</li>
<li>git is a cool beast (in fact, it just convinced me to use it)</li>
</ul>
<p>One question lasts: how come it took over a month and a half before someone found it? <img src='http://blog.squidy.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>* This number is based on market mean hourly rate since exact rates are unknown</p>
<h3>Side note on the WebKit party</h3>
<p>It was really cool to get to San Francisco and finally meet IRL other WebKit devs.   Kudos for the <a href="http://webkit.org/blog/187/third-annual-webkit-open-source-party/">event</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.squidy.info/2008/06/12/the-cost-of-a-bug-fix/en/feed/en/</wfw:commentRss>
		</item>
		<item>
		<title>Fixing Text Input Support</title>
		<link>http://blog.squidy.info/2008/02/08/fixing-text-input/en/</link>
		<comments>http://blog.squidy.info/2008/02/08/fixing-text-input/en/#comments</comments>
		<pubDate>Fri, 08 Feb 2008 17:31:47 +0000</pubDate>
		<dc:creator>Pierre-Luc Beaudoin</dc:creator>
		
		<category><![CDATA[Technologie]]></category>

		<category><![CDATA[WebKit]]></category>

		<guid isPermaLink="false">http://blog.squidy.info/?p=440&amp;language=en</guid>
		<description><![CDATA[I am surprised I didn&#8217;t encounter this bug myself since I use a keyboard layout with dead keys (French Canadian): until yesterday, it was possible (but with no good results) to input complex or some case of simple text in a web page with WebKit/Gtk+.  For example, if you don&#8217;t have a &#8216;à&#8217; key [...]]]></description>
			<content:encoded><![CDATA[<p>I am surprised I didn&#8217;t encounter this <a href="http://bugs.webkit.org/show_bug.cgi?id=17009">bug</a> myself since I use a keyboard layout with dead keys (French Canadian): until yesterday, it was possible (but with no good results) to input complex or some case of simple text in a web page with WebKit/Gtk+.  For example, if you don&#8217;t have a &#8216;à&#8217; key on your keyboard, you have to use a dead key &#8216;`&#8217; first, then press &#8216;a&#8217;, well WebKit/Gtk+ would simply flush that &#8216;`&#8217; you first entered.  A  20 line patch completed the work started by <a href="http://www.atoker.com/blog/">Alp Toker</a> and <a href="http://software.twotoasts.de/" title="toastware: Open Source software for GTK+ 2 on Linux and Unix">Christian Dywan</a> among others to get Input Method Context supported.</p>
<p>I didn&#8217;t know dead keys were processed by the input method.   It did require some searches to finally find how this works (I have to say, the <a href="http://library.gnome.org/devel/gtk/stable/GtkIMContext.html">GtkIMContext</a> documentation is minimalistic or lacks an overview).</p>
<p>Now, the news is that not only can you enter accentuated characters like &#8216;à&#8217;, but you can now also use the other exotic (to me anyway <img src='http://blog.squidy.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ) Input Methods and they&#8217;ll actually work.  With the upcoming fix on Asian fonts, we&#8217;re going to have a fully working world class web rendering platform.</p>
<p><strong>Update:</strong>  There seems to be some quirks left with Japanese for example, but I can&#8217;t be blamed, unfortunately I don&#8217;t understand it.  I couldn&#8217;t know it wasn&#8217;t completely working. <img src='http://blog.squidy.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.squidy.info/2008/02/08/fixing-text-input/en/feed/en/</wfw:commentRss>
		</item>
		<item>
		<title>Ogg Vorbis/Theora Language Removed From HTML5 Spec</title>
		<link>http://blog.squidy.info/2007/12/11/ogg-vorbis-theora-language-removed-from-html5-spec/en/</link>
		<comments>http://blog.squidy.info/2007/12/11/ogg-vorbis-theora-language-removed-from-html5-spec/en/#comments</comments>
		<pubDate>Tue, 11 Dec 2007 18:17:07 +0000</pubDate>
		<dc:creator>Pierre-Luc Beaudoin</dc:creator>
		
		<category><![CDATA[Maemo]]></category>

		<category><![CDATA[Technologie]]></category>

		<category><![CDATA[WebKit]]></category>

		<guid isPermaLink="false">http://blog.squidy.info/?p=417</guid>
		<description><![CDATA[Sad news for HTML5, while Ogg Vorgis/Theora were not necessary to make HTML5 work, a standard codec is needed to make some part of HTML5 usefull - the part I worked on for WebKit/Gtk+.  This point has been repeated over and over: all browsers implemented HTML5 needs to have a common codec.
While there is [...]]]></description>
			<content:encoded><![CDATA[<p>Sad news for HTML5, while Ogg <a href="http://www.vorbis.com/" hreflang="en">Vorgis</a>/<a href="http://www.theora.org/" hreflang="en">Theora</a> were not necessary to make HTML5 work, a standard codec is needed to make some part of HTML5 usefull - the part I worked on for <a href="http://live.gnome.org/WebKitGtk" hreflang="en">WebKit/Gtk+</a>.  This point has been repeated over and over: all browsers implemented HTML5 needs to have a common codec.</p>
<p>While there is no default image format in the HTML* spec, we were lucky nobody ever used their patents against JPEG.  In fact, it is most probably because of said patents that Apple and Nokia were reluctant to include Vorbis/Theora on their OS or their phones.</p>
<p>Someone has to fix that patent system!</p>
<ul>
<li><a href="http://yro.slashdot.org/yro/07/12/11/1339251.shtml">Slashdot - Ogg Vorbis/Theora Language Removed From HTML5 Spec</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.squidy.info/2007/12/11/ogg-vorbis-theora-language-removed-from-html5-spec/en/feed/en/</wfw:commentRss>
		</item>
		<item>
		<title>HTML5 media tags in WebKit/GTK+</title>
		<link>http://blog.squidy.info/2007/12/10/html5-media-tags-in-webkit-gtk/en/</link>
		<comments>http://blog.squidy.info/2007/12/10/html5-media-tags-in-webkit-gtk/en/#comments</comments>
		<pubDate>Mon, 10 Dec 2007 13:25:43 +0000</pubDate>
		<dc:creator>Pierre-Luc Beaudoin</dc:creator>
		
		<category><![CDATA[Maemo]]></category>

		<category><![CDATA[Technologie]]></category>

		<category><![CDATA[WebKit]]></category>

		<guid isPermaLink="false">http://blog.squidy.info/?p=415</guid>
		<description><![CDATA[I&#8217;ve been working on bringing support for media tags in WebKit/Gtk+ in the past weeks.  Based on Antti Koivisto&#8217;s work on the general WebKit support for the tags and his QuickTime implementation, I was able to provide the basics for this to work.
Sure there are sharp corners right now, it&#8217;s a good start.  [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working on bringing support for media tags in <a href="http://live.gnome.org/WebKitGtk">WebKit/Gtk+</a> in the past weeks.  Based on Antti Koivisto&#8217;s work on the general WebKit support for the tags and his QuickTime implementation, I was able to provide the basics for this to work.</p>
<p>Sure there are sharp corners right now, it&#8217;s a good start.  While I did the backend part, connecting WebKit and GStreamer, Alp Toker did a GStreamer sink for Cairo that completes the work.  You can see the <a href="http://www.atoker.com/blog/2007/12/08/html5-media-support-with-gstreamer/">screenshot</a> on his blog.</p>
<p><a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/section-video.html">Media tags</a> will enable web developer to integrate video in a page as easily as it is for an image nowadays.  You could eventually implement a complete media player within a HTML file.  With all the major browsers publicly announcing their progress on the matter (<a href="http://webkit.org/blog/140/html5-media-support/">Safari</a>, WebKit/Gtk, <a href="http://www.bluishcoder.co.nz/2007/08/svg-video-demo.html">Firefox</a>, Opera), we can sure hope we&#8217;ll see less flash and more pure video in the next years.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.squidy.info/2007/12/10/html5-media-tags-in-webkit-gtk/en/feed/en/</wfw:commentRss>
		</item>
	</channel>
</rss>
