<?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>Iocane powder &#187; webkit</title>
	<atom:link href="http://blogs.gnome.org/xan/category/webkit/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.gnome.org/xan</link>
	<description>Just another GNOME Blogs weblog</description>
	<lastBuildDate>Sat, 19 May 2012 12:43:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Do Not Track support in Epiphany</title>
		<link>http://blogs.gnome.org/xan/2012/05/19/do-not-track-support-in-epiphany/</link>
		<comments>http://blogs.gnome.org/xan/2012/05/19/do-not-track-support-in-epiphany/#comments</comments>
		<pubDate>Sat, 19 May 2012 12:38:25 +0000</pubDate>
		<dc:creator>xan</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/xan/?p=504</guid>
		<description><![CDATA[Twitter&#8217;s last Privacy Policy Update helpfully informs all users that they do now support the Do Not Track (DNT) browser setting, which aims to stop the collection of information at the user&#8217;s request (a collection which Twitter is actively engaged into). Spurred by all this I sat down and added DNT support in Epiphany, which [...]]]></description>
			<content:encoded><![CDATA[<p>Twitter&#8217;s last Privacy Policy Update helpfully informs all users that <a href="https://support.twitter.com/articles/20169453">they do now support</a> the <a href="http://donottrack.us/">Do Not Track</a> (DNT) browser setting, which aims to stop the collection of information at the user&#8217;s request (a collection which <a href="http://dcurt.is/twitter-is-tracking-you-on-the-web">Twitter is actively engaged into</a>).</p>
<p>Spurred by all this I sat down and added DNT support in Epiphany, which thankfully is an extremely simple <a href="http://tools.ietf.org/id/draft-mayer-do-not-track-00.txt">spec</a> to implement. It&#8217;s now in master, so anyone willing to enable just needs to go to the Privacy tab in Preferences and click:</p>
<p><a href="http://blogs.gnome.org/xan/files/2012/05/donottrackprefs.png"><img src="http://blogs.gnome.org/xan/files/2012/05/donottrackprefs.png" alt="" width="499" height="478" class="aligncenter size-full wp-image-505" /></a></p>
<p>Now the pages that choose to respect this setting (unfortunately not everyone does; by a long shot), should be able to detect your request. We can see that things are working in the <a href="http://donottrack.us/">donottrack.us</a> page itself.</p>
<p><a href="http://blogs.gnome.org/xan/files/2012/05/forusers.png"><img src="http://blogs.gnome.org/xan/files/2012/05/forusers.png" alt="" width="382" height="136" class="aligncenter size-full wp-image-508" /></a></p>
<p>Note that the page claims our browser does not support the feature, yet it is enabled; this is because DNT being an HTTP header extension the only way for the page to tell you whether your browser supports it in theory is by having a hardcoded list of supported browsers, which does not include Epiphany. Oh well. Either way, enjoy your newly untraceable goodness, which should make its way into the next unstable release.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/xan/2012/05/19/do-not-track-support-in-epiphany/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Japan Freedom Hackers: Assemble!</title>
		<link>http://blogs.gnome.org/xan/2012/05/10/japan-freedom-hackers-assemble/</link>
		<comments>http://blogs.gnome.org/xan/2012/05/10/japan-freedom-hackers-assemble/#comments</comments>
		<pubDate>Thu, 10 May 2012 16:50:58 +0000</pubDate>
		<dc:creator>xan</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/xan/?p=495</guid>
		<description><![CDATA[Turns out I&#8217;ll get to spend the next two weeks in Tokyo, starting next Sunday. It will be third time I visit this weird and fascinating place, but I&#8217;m still excited to be there again. Some time ago, in another trip, I proposed anyone who might be reading me to meet up and talk about [...]]]></description>
			<content:encoded><![CDATA[<p>Turns out I&#8217;ll get to spend the next two weeks in Tokyo, starting next Sunday. It will be third time I visit this weird and fascinating place, but I&#8217;m still excited to be there again.</p>
<p><a href="http://www.flickr.com/photos/enggul/2528482954/lightbox/"><img class="size-full wp-image-496 aligncenter" src="http://blogs.gnome.org/xan/files/2012/05/tokyobay.jpg" alt="" width="512" height="343" /></a></p>
<p>Some time ago, in another trip, I proposed anyone who might be reading me <a href="http://blogs.gnome.org/xan/2010/04/22/a-few-days-in-lisbon/">to meet up and talk about all things GNOME or WebKit</a>. Turns out I met some interesting people that way (hi everyone from Caixa Mágica!), so let&#8217;s try again: if you are reading this, are in Tokyo, and would like me to talk to your friends/colleagues/whatever about GNOME or WebKit I&#8217;d be happy to do so. We can also improvise a hackfest or anything else we can come up with. In exchange I only ask of you to show me around (always better with a local) and an unwavering commitment to freedom and justice.</p>
<p>Drop me a line at xan AT gnome DOT org, or leave a comment in this space.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/xan/2012/05/10/japan-freedom-hackers-assemble/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web. It&#8217;s what&#8217;s for dinner.</title>
		<link>http://blogs.gnome.org/xan/2012/03/26/web-its-whats-for-dinner/</link>
		<comments>http://blogs.gnome.org/xan/2012/03/26/web-its-whats-for-dinner/#comments</comments>
		<pubDate>Mon, 26 Mar 2012 20:35:04 +0000</pubDate>
		<dc:creator>xan</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/xan/?p=451</guid>
		<description><![CDATA[GNOME 3.4 is around the corner, and with it a new version of its little web browser that could. This is for sure one of the most action packed releases in a long time, so let&#8217;s do a recap of the last 6 months of development. New UI The most obvious change at first glance [...]]]></description>
			<content:encoded><![CDATA[<p>GNOME 3.4 is around the corner, and with it a new version of its little web browser that could. This is for sure one of the most action packed releases in a long time, so let&#8217;s do a recap of the last 6 months of development.</p>
<h1>New UI</h1>
<p><a href="http://blogs.gnome.org/xan/files/2012/03/web-igalia4.png"><img class="aligncenter size-full wp-image-472" src="http://blogs.gnome.org/xan/files/2012/03/web-igalia4.png" alt="" width="465" height="103" /></a><br />
The most obvious change at first glance is the refreshed UI, which was already covered in some detail in <a href="http://blogs.gnome.org/xan/2012/01/17/epiphany-marches-on/">this blog post</a>. Thanks to the hard work of the <a href="http://live.gnome.org/Design">GNOME Design Team</a>, the GNOME platform hackers and the Epiphany team we&#8217;ve got ourselves a completely new toolbar layout with elegant widgets (I particularly like the linked-style back/forward buttons), support for the new Shell application menu, the demise of our menubar and the debut of our &#8216;super-menu&#8217; holding the less frequently used page specific actions. Not only the browser works better than ever, it now looks better than ever too.</p>
<h1>New History</h1>
<p>We have been talking about rewriting our history backend for many years now; to give just one example, as far back as 2007 we already had a Summer of Code project to try to fix some of its shortcomings, which were many. The old backend served us well for almost a decade, but it was showing its age: a difficult to understand legacy codebase, a bus factor of 1 and poorly scalable architecture that made storing more than a couple of weeks of browsing history a titanic task. Last year a crack team at <a href="http://www.igalia.com">Igalia</a> was put together to fix this once and for all. Enter the new age:</p>
<ul>
<li>Drop our XML based storage in favor of good ol&#8217; <a href="http://www.sqlite.org/">SQLite</a>. Many options were considered other than SQLite, and we could yet again change how things are done internally in the short term, but for the first step we decided to settle on a simple, trusted and performing technology.</li>
<li>Never block the UI. All actual history accesses are done in a special service thread which communicates its results when they are ready to the user interface. This way things will remain responsive and snappy, no matter how complex your queries are or how full to the brim your history is of non-stop reddit browsing.</li>
<li>Test it! User data is the most important thing the application handles, and losing your browsing history is the modern day lobotomy. Our new backend is thoroughly tested through unit tests, so your data is in good hands with us.</li>
</ul>
<p>Thanks to the new backend we can now provide infinite history storage and instantaneous non-blocking search both in the URL entry and the history window, both long awaited features. Other than that, for 3.4 we tried to keep the UI as it was: one thing at a time. For 3.6, though, now that the we are beautiful on the inside, expect some surprises in how you interact with your history data.</p>
<h1>New WebKit</h1>
<p>As with every release, on time, we ship with the all new <a href="http://www.webkitgtk.org">WebKitGTK</a>+ 1.8. As usual there are way too many thing to list and they deserves their own blog post, but you can look forward to: the debut of the <a href="http://blogs.igalia.com/carlosgc/2012/01/26/porting-devhelp-to-webkit2/">WebKit2 API</a> (still experimental but with some modules already using it, like devhelp), <a href="http://en.wikipedia.org/wiki/WebGL">WebGL</a>, <a href="https://sites.google.com/a/chromium.org/dev/developers/design-documents/gpu-accelerated-compositing-in-chrome">Accelerated Compositing</a>, <a href="http://html5demos.com/history">HTML5 History API</a>, support for the last version of <a href="http://dev.w3.org/html5/websockets/">WebSockets</a>, <a href="https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html">WebAudio</a>, a rewritten <a href="http://git.gnome.org/browse/epiphany/commit/?id=6119b95ca4c0c2d4d78b27422dfb6ba9203bab56">favicon database class</a> and loads and loads of bugfixes and improvements.</p>
<h1>Less is more</h1>
<p>A constant thought in my mind as a module maintainer is to focus our efforts in delivering the best experience we can given our available resources. I believe as a project, both GNOME and Epiphany, we are now facing the difficult choices successful software must go through at some point: stop trying to be everything for everybody, decide <em>what</em> you want to do and for <em>whom</em>, and try to do <em>that</em> really well.</p>
<p>Our new ongoing redesign is a great step in that direction, and I&#8217;m glad that we are finally focusing on what I think really matters. I believe 3.4 is our best release ever, with both cool new features and fixes for old major deficiencies, and things will only get better from here. And, a favorite pet peeve of mine, we did all that while massively cleaning up our codebase to make it cleaner and more hackable, a task without much glamour but a big payoff. Our last release, ignoring translations, icons and help files, comes with 214 modified files, 14,959 insertions and 24,341 deletions. For those keeping the score at home, that&#8217;s almost 10,000 lines less of code to maintain, read, patch and load!</p>
<p><a href="http://blogs.gnome.org/xan/files/2012/03/about-epiphany.png"><img class="aligncenter size-full wp-image-475" src="http://blogs.gnome.org/xan/files/2012/03/about-epiphany.png" alt="" width="463" height="176" /></a></p>
<h1>Thanks!</h1>
<p>Thanks to all the GNOME contributors that made possible this release, but a special thanks must go to <a href="http://www.igalia.com">Igalia</a> for its continued support for Epiphany. We are not only the best <a href="http://www.igalia.com">WebKit consultancy</a> around, but we are also putting our money where our mouth is by supporting web technologies in GNOME through its browser and beyond.</p>
<p>Work on 3.6 is <a href="http://live.gnome.org/Epiphany/Roadmap/3.6">already underway</a>, so expect a lot more from your favorite webkittens 6 months from now. Until then, you can follow us on <a href="irc://irc.gnome.org/epiphany">IRC</a>, our <a href="http://mail.gnome.org/mailman/listinfo/epiphany-list">mailing list</a>, <a href="http://identi.ca/epiphanybrowser">identi.ca</a>, <a href="https://twitter.com/#!/EpiphanyBrowser">twitter</a>, <a href="http://www.facebook.com/EpiphanyBrowser">facebook</a> or our new <a href="http://projects.gnome.org/epiphany/">project page</a> (wow!). Happy hacking!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/xan/2012/03/26/web-its-whats-for-dinner/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>Epiphany marches on</title>
		<link>http://blogs.gnome.org/xan/2012/01/17/epiphany-marches-on/</link>
		<comments>http://blogs.gnome.org/xan/2012/01/17/epiphany-marches-on/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 15:56:06 +0000</pubDate>
		<dc:creator>xan</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/xan/?p=430</guid>
		<description><![CDATA[Previously in this space we saw how the bright future of Epiphany looked like, and vague promises about incremental steps towards it were done. A month later, Epiphany 3.3.4 is out there, so let&#8217;s see how well we&#8217;ve done. There&#8217;s a lot of new stuff here, so let&#8217;s go step by step. Application menu The [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blogs.gnome.org/xan/2011/12/04/a-new-design-for-epiphany-web/">Previously in this space</a> we saw how the bright future of Epiphany looked like, and vague promises about <a href="http://live.gnome.org/Epiphany/Roadmap/3.4">incremental steps</a> towards it were done. A month later, Epiphany 3.3.4 is <a href="http://ftp.gnome.org/pub/GNOME/sources/epiphany/3.3/">out there</a>, so let&#8217;s see how well we&#8217;ve done.</p>
<p><a href="http://blogs.gnome.org/xan/files/2012/01/ephy-complete.png"><img class="aligncenter size-full wp-image-431" src="http://blogs.gnome.org/xan/files/2012/01/ephy-complete-snapshot.png" alt="" width="426" height="266" /></a></p>
<p>There&#8217;s a lot of new stuff here, so let&#8217;s go step by step.</p>
<h2>Application menu</h2>
<p><a href="http://blogs.gnome.org/xan/files/2012/01/ephy-application-menu.png"><img class="alignleft size-full wp-image-434" src="http://blogs.gnome.org/xan/files/2012/01/ephy-application-menu.png" alt="" width="240" height="439" /></a></p>
<p>The <a href="https://live.gnome.org/ThreePointThree/Features/ApplicationMenu">application menu</a>, accessible from its usual location in the Shell, holds actions that affect the entire application as opposed to the currently focused window or tab. You&#8217;ll need a fairly recent version of the Shell and gnome-settings-daemon (3.3.4 of both should do, when they are out) to get it working, otherwise the browser will fallback to a lonely &#8220;Application&#8221; entry in a now deserted menubar.</p>
<p>Also, notice that we now brand ourselves as &#8220;Web&#8221; in all user visible strings.</p>
<h2>New toolbar</h2>
<p><a href="http://blogs.gnome.org/xan/files/2012/01/ephy-toolbar.png"><img class="aligncenter size-full wp-image-437" src="http://blogs.gnome.org/xan/files/2012/01/ephy-toolbar.png" alt="" width="549" height="42" /></a></p>
<p>The bulk of the changes are here. As you can see the Back and Forward buttons have been visually merged, a fate shared by the location entry and the reload/stop button. The entire menubar is gone, being replaced by a &#8220;super menu&#8221; triggered by the funny looking button with a gear (more on this later). Everything else that used to be in the default toolbar layout is now gone, as is the ability to edit its contents, making the concept of a default layout more dramatic. Finally, we use a new style for the toolbar, making it seamlessly merge with the window decoration. We think it looks great!</p>
<h2>Super menu</h2>
<p><a href="http://blogs.gnome.org/xan/files/2012/01/ephy-page-menu.png"><img class="alignright size-full wp-image-440" src="http://blogs.gnome.org/xan/files/2012/01/ephy-page-menu.png" alt="" width="254" height="579" /></a></p>
<p>In the quest to save as much vertical space as possible in the default layout we have moved all the remaining actions of our menubar into a side &#8220;super menu&#8221;. Here will live actions related to the current page, although for the moment we have some visitors there en route to their new destination (like the Bookmarks menu, which will live in the new Overview).</p>
<h2>The devil is in the details</h2>
<p>A lot of other small tweaks and cleanups have happened, too many to mention. From a renewed floating statusbar (now shared with Nautilus), to spacing tweaks, to more thorough use of symbolic icons throughout the UI. Special thanks go to the Design Team, it&#8217;s a pleasure to work with them in both the small details and in the big picture re-designs.</p>
<p>Also, one benefit of having a renewed design focus is that it allows you to do this:</p>
<p>135 files changed, 14988 insertions(+), 26958 deletions(-)</p>
<p>Around 12,000 lines of code have been deleted since 3.3.2; the biggest chunk comes from the demise of EphyToolbarEditor and friends, but in other places we have just managed to do the same, or more, with less. This means more energy devoted to make Epiphany really good at what it should be doing, which is what every core GNOME application should aspire to do.</p>
<h2>More to come</h2>
<p>This is only the beginning, not the end. The Epiphany team will now continue full steam ahead to implement the new Overview, merge the new SQLite history backend, port our extension system to libpeas and many other exciting features, maybe including some surprise gift in the Web Application camp. Stay tuned to this space and, as usual, happy hacking!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/xan/2012/01/17/epiphany-marches-on/feed/</wfw:commentRss>
		<slash:comments>56</slash:comments>
		</item>
		<item>
		<title>The Web comes to GNOME, ready or not</title>
		<link>http://blogs.gnome.org/xan/2011/04/11/the-web-comes-to-gnome-ready-or-not/</link>
		<comments>http://blogs.gnome.org/xan/2011/04/11/the-web-comes-to-gnome-ready-or-not/#comments</comments>
		<pubDate>Mon, 11 Apr 2011 06:09:22 +0000</pubDate>
		<dc:creator>xan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/xan/?p=247</guid>
		<description><![CDATA[Last week, together with GNOME 3.0, we released Epiphany 3.0. This is the result of many months of work (our last stable release was Epiphany 2.30 in May 2010), so I think a few lines about our present and our future are in order. Epiphany 3.0 It&#8217;s always hard to summarize months or development in [...]]]></description>
			<content:encoded><![CDATA[<p>Last week, together with <a href="http://www.gnome.org/gnome-3/">GNOME 3.0</a>, we released Epiphany 3.0. This is the result of many months of work (our last stable release was <a href="http://blogs.gnome.org/xan/2010/05/22/quo-vadis-epiphany/">Epiphany 2.30</a> in May 2010), so I think a few lines about our present and our future are in order.</p>
<h1>Epiphany 3.0</h1>
<div id="attachment_248" class="wp-caption aligncenter" style="width: 310px"><a href="http://blogs.gnome.org/xan/files/2011/04/ephy30.png"><img class="size-medium wp-image-248" src="http://blogs.gnome.org/xan/files/2011/04/ephy30.png" alt="" width="300" height="187" /></a><p class="wp-caption-text">Yes, the Bluetooth/Network icons are all wrong. Sorry Jon.</p></div>
<p>It&#8217;s always hard to summarize months or development in a few lines, but one can always try:</p>
<ul>
<li>Epiphany 3.0 uses the (soon to be released) <a href="http://www.webkitgtk.org">WebKitGTK+</a> 1.4.0. I&#8217;ll write a blog post focusing on WebKit when 1.4.0 is out of the door, but some of the highligts of the release would be: GObject DOM bindings, already used by Epiphany and other GNOME apps. HTTP cache implementation, moved into libsoup later in the cycle. GTK+ 3.x support, which we laboriously kept going through all the development cycle. New APIs for plugin management, icon database and frame flattening, among others. HTML5 media support for fullscreen mode, volume management, cookies and Referer. A <strong>ton</strong> of bugfixes all across the board, from DnD, a11y, networking, and graphics performance to leak fixes, clipboard handling, history, theming and forms. WebKit 1.4.0 just works a lot better, and you&#8217;ll notice the minute you start using Epiphany 3.0.</li>
<li>UI refinements all over the place: we use a GtkInfobar to inform of session restoration, a Chrome-like floating statusbar (implemented with <a href="http://blogs.gnome.org/nacho/2011/02/26/introducing-geditoverlaygeditanimatedoverlay/">GeditOverlay</a>) instead of the pixel-eating traditional GtkStatusbar, we let the old, big and hardcoded EphySpinner go, new and nicer custom error pages, &#8230;</li>
<li>The download UI was completely rewritten to fit better in the Shell. No more status icons and floating windows, we now show ongoing download information in a unobtrusive bottom bar.</li>
<li>We took the GSettings migration as an opportunity to improve a bit our settings. In particular I think we have made the font defaults saner for the modern world, and hopefully people will be happier with how their pages look.</li>
</ul>
<p>There&#8217;s still some small details that we want to improve for 3.0, so stay tuned for 3.0.1 (and more!) soon.</p>
<h1>Epiphany 3.2</h1>
<p>But we are not resting on our laurels! We are already busy planning and working on the features you&#8217;ll see in GNOME 3.2, 6 months from now:</p>
<ul>
<li>One of the main themes of the release will be further integration of the browser with the new GNOME UI and design. We are still in the brainstorming phase, but some of the front runners are replacing our menubar with the Shell&#8217;s global app menu (more space for your web content!) or integrating our tab/window management into the Shell user experience.</li>
<li>A desktop that does not consider the Web a first class citizen in 2011 is not a modern desktop. For 3.2 we are going to bring your favorite web applications into the spotlight: hi-res launchers with custom .desktop files, separate epiphany instance per application, minimal chrome-less UI, and much more. Also, we have proposed this as one of the <a href="https://live.gnome.org/SummerOfCode2011/Ideas#Web">GSoC ideas for GNOME in 2011</a>.</li>
<li>We are also resurrecting the <a href="https://live.gnome.org/Epiphany/FeatureDesign/BookmarkHistoryIntegration/SoC2007">old idea of killing EphyNode</a> and moving our bookmarks and history storage to something like sqlite, which should give us a much more faster and responsive experience. <a href="http://blog.abandonedwig.info/">Martin</a> and I are committed to get this working before I leave the Bay Area in May, so if by that date you see me around and this is not in master or in a git branch you can punch me in the face. Really.</li>
</ul>
<h1>One more thing</h1>
<p>A year ago, almost to the day, the <a href="http://trac.webkit.org/wiki/WebKit2">WebKit2</a> initiative was <a href="https://lists.webkit.org/pipermail/webkit-dev/2010-April/012235.html">announced</a>. As the project page says,WebKit2 aims to bring the split process model popularized by Google Chrome into the WebKit framework in a way that will allow all ports to benefit from the increased responsiveness, security and stability. At <a href="http://www.igalia.com">Igalia</a> we have always been interested in bringing this new technology to our <a href="http://www.webkitgtk.org">GTK+ port</a>, and only a few days ago the last batch of patches in a long series finally landed upstream, allowing everyone to build the GTK+ version of WebKit2 directly from SVN trunk (you can read more details in Alex&#8217;s <a href="http://blogs.igalia.com/alex/2011/04/08/webkit2-minibrowser-for-the-gtk-port-running/">blog post</a>!). We believe a split process model has quickly become a must-have for modern browsers, so we want to announce our commitment to port Epiphany to WebKit2 as soon as it is ready, and make this the default and only configuration available, as in Chrome. We are aiming to have an early alpha to show at <a href="https://www.desktopsummit.org/">GUADEC</a> this year, and we&#8217;ll try to deliver a production ready version as early as GNOME 3.4, in 2012. We hope you&#8217;ll all be as excited as we are about this new stage in the history of the GNOME browser!</p>
<p>Until next time, happy hacking from your favorite band of gnome web hackers.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/xan/2011/04/11/the-web-comes-to-gnome-ready-or-not/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Igalia&#8217;s WebKit team is expanding</title>
		<link>http://blogs.gnome.org/xan/2010/12/30/igalias-webkit-team-is-expanding/</link>
		<comments>http://blogs.gnome.org/xan/2010/12/30/igalias-webkit-team-is-expanding/#comments</comments>
		<pubDate>Thu, 30 Dec 2010 21:51:45 +0000</pubDate>
		<dc:creator>xan</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/xan/?p=228</guid>
		<description><![CDATA[The WebKit team inside Igalia is looking for some fresh blood. On the technical side we work on all things WebKit, from rendering, networking and accessibility to JavaScript, multimedia and the GNOME web browser. We have a strong commitment to the GTK+ port, but we are by no means restricted to it. On the social [...]]]></description>
			<content:encoded><![CDATA[<p>The WebKit team inside <a href="http://www.igalia.com">Igalia</a> is looking for some fresh blood. On the technical side we work on all things <a href="http://www.webkit.org">WebKit</a>, from rendering, networking and accessibility to JavaScript, multimedia and the <a href="http://projects.gnome.org/epiphany/">GNOME web browser</a>. We have a strong commitment to the <a href="http://www.webkitgtk.org">GTK+ port</a>, but we are by no means restricted to it. On the social side Igalia practices <a href="http://en.wikipedia.org/wiki/Workplace_democracy">workplace democracy</a>, which in practical terms means that you&#8217;ll have, <a href="http://www.igalia.com/about-us/internal-responsibility">shortly after joining</a>, a voice and vote in how the company is run, from the short term tactical considerations (should we do this project or hire this guy?) to the long term strategic investments (I tell you, this &#8220;Web&#8221; thing is totally the future).</p>
<p>If this sounds like something you&#8217;d like to do drop me a line to any of my multiple mail addresses (I&#8217;m sure you&#8217;ll manage to find at least one of them) with any background information that you consider relevant.</p>
<p>PS: We are extremely flexible in both location (ask me about my last 9 months travelling around the world) and how you distribute your working hours, so we should be able to accommodate pretty much anyone that is both human and living on planet Earth.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/xan/2010/12/30/igalias-webkit-team-is-expanding/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>WebKitGTK+ Hackfest 2010</title>
		<link>http://blogs.gnome.org/xan/2010/12/18/webkitgtk-hackfest-2010/</link>
		<comments>http://blogs.gnome.org/xan/2010/12/18/webkitgtk-hackfest-2010/#comments</comments>
		<pubDate>Sat, 18 Dec 2010 23:57:34 +0000</pubDate>
		<dc:creator>xan</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/xan/?p=204</guid>
		<description><![CDATA[Like last year around these dates, last week some of the WebKitGTK+ hackers gathered in the Igalia offices to spend a few days hacking the good hack, eating tortilla and playing Street Fighter II. Others have already blogged about the event (Mario, Gustavo, Alex, Diego in multiple occasions &#8230; eh&#8230;) in some detail, so I&#8217;ll [...]]]></description>
			<content:encoded><![CDATA[<p>Like <a href="http://blogs.gnome.org/xan/2009/12/15/webkitgtk-hackfest-day-zero/">last</a> <a href="http://blogs.gnome.org/xan/2009/12/21/webkitgtk-hackfest-day-g_maxint/">year</a> around these dates, last week some of the <a href="http://www.webkitgtk.org">WebKitGTK</a>+ hackers gathered in the <a href="http://www.igalia.com">Igalia</a> offices to spend a few days hacking the good hack, eating <a href="http://en.wikipedia.org/wiki/Tortilla_de_patatas">tortilla</a> and playing <a href="http://en.wikipedia.org/wiki/Street_Fighter_II">Street Fighter II</a>.</p>
<p>Others have already blogged about the event (<a href="http://blogs.igalia.com/mario/2010/12/13/webkitgtk-hackfest-2010/">Mario</a>, <a href="http://blog.kov.eti.br/?p=124">Gustavo</a>, <a href="http://blogs.igalia.com/alex/2010/12/12/2010-webkitgtk-hackfest-done/">Alex</a>, <a href="http://blogs.gnome.org/diegoe/2010/12/05/webkitgtk-hackfest-day-0/">Diego</a> <a href="http://blogs.gnome.org/diegoe/2010/12/06/webkitgtk-hackfest-day-1/">in</a> <a href="http://blogs.gnome.org/diegoe/2010/12/07/webkitgtk-hackfest-day-2/">multiple</a> <a href="http://blogs.gnome.org/diegoe/2010/12/08/3rd-day-of-vebkitgtk-hackfest-live-from-the-cave/">occasions</a> <a href="http://blogs.gnome.org/diegoe/2010/12/09/webkitgtk-hackfest-day-400/">&#8230;</a> <a href="http://blogs.gnome.org/diegoe/2010/12/10/webkitgtk-hackfest-day-5/">eh&#8230;</a>) in some detail, so I&#8217;ll just try to give some extra information about some of the things that I did.</p>
<h3>JIT + Oprofile</h3>
<p>One of the few negative side effects of the not-so-recently acquired<a href="http://webkit.org/blog/214/introducing-squirrelfish-extreme/"> JIT superpowers</a> of JavaScriptCore is that JIT-generated code does not play very well with the tools we use everyday to debug and improve our code: <a href="http://www.gnu.org/software/gdb/">gdb</a> will have no idea of the name of the chunks of generated code it passes through (since they have none), and will print something unhelpful like &#8220;#9 ??&#8221;, profile tools like <a href="http://oprofile.sourceforge.net/">oprofile</a> and <a href="http://live.gnome.org/Sysprof">sysprof</a> will have exactly the same problem, so you&#8217;ll be unable to know which, if any, of the generated code is the culprit of excessive CPU usage, <a href="http://valgrind.org/">valgrind</a> does not expect executable code to modify itself at runtime, and will freak out and crash unless <a href="https://bugs.webkit.org/show_bug.cgi?id=39060">instructed to not do so</a>, etc. Fortunately some of these problems have solutions, so I spent the beginning of the hackfest reworking (to please the Reviewer gods) a <a href="https://bugs.webkit.org/show_bug.cgi?id=32561">beautiful patch</a> started some time ago by <a href="http://zecke.blogspot.com/">Holger Freyther</a> and the wizards of the <a href="http://www.u-szeged.hu/english/">University of Szeged</a> to instruct oprofile about our JIT maneuvers. With this in place the tools is able to know the context of the JIT memory chunks it goes through, and is able to go from some useless complains about anonymous memory ranges to printing something like:</p>
<pre style="background-color: #eee; padding: 1em; margin-left: 2em; margin-right: 2em; overflow-x: auto;">141       0.1910  8581.jo   &lt;jit-func&gt;:fannkuch[tests/sunspider-0.9/access-fannkuch.js:5-62]</pre>
<p>Nice!</p>
<h3>about:plugins</h3>
<p>Another topic where I spent a few days is the long struggle to resurrect &#8220;about:plugins&#8221; in <a href="http://projects.gnome.org/epiphany/">Epiphany</a>. While <a href="http://danw.mysterion.org/">Dan</a> was busy kicking libsoup into shape so that we can implement about: URLs in a non-terrible way,  I worked on adding the APIs in WebKitGTK+ that the browser will eventually use to fetch the plugin data.  A couple of patches (<a href="https://bugs.webkit.org/show_bug.cgi?id=50891">here</a> and <a href="https://bugs.webkit.org/show_bug.cgi?id=50827">here</a>) have already landed, and we can now query WebKit for all the plugins it has loaded in the session, ask information about them, and even disable and enable them at runtime. Because seeing is believing you can see a hacky implementation of the about page that I have implemented locally:</p>
<p><a href="http://blogs.gnome.org/xan/files/2010/12/about-plugins.png"><img class="aligncenter size-full wp-image-209" title="about-plugins" src="http://blogs.gnome.org/xan/files/2010/12/about-plugins.png" alt="" width="426" height="370" /></a></p>
<p>Rest assured, this will look nicer (and will have more data and features) when it finally lands upstream!</p>
<h3>Tradition</h3>
<p>It was of course great to see everyone again, both colleagues from <a href="http://www.igalia.com">Igalia</a> and all the other hackers, and I hope we&#8217;ll be able to repeat the event again next year. If we manage to do it a third time this would pretty much become an ancient tradition of the GNOME community as far as these things go. Thanks to all the contributors and sponsors (<a href="http://www.igalia.com">Igalia</a>, <a href="http://www.collabora.co.uk">Collabora</a> and the <a href="http://www.gnome.org">GNOME foundation</a>) and until next time.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/xan/2010/12/18/webkitgtk-hackfest-2010/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>DEFCON app</title>
		<link>http://blogs.gnome.org/xan/2010/07/29/defcon-app/</link>
		<comments>http://blogs.gnome.org/xan/2010/07/29/defcon-app/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 15:26:49 +0000</pubDate>
		<dc:creator>xan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[webkit]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[guadec]]></category>
		<category><![CDATA[igalia]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/xan/?p=200</guid>
		<description><![CDATA[It has come to my attention that the GNOME Foundation is interested in my DEFCON app in order to better enforce the new Speaker Guidelines in current and future GUADECs. I&#8217;m happy to announce that the app is in fact for sale, so just contact xlopez at igalia.com for details. PS: starting price is 500 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blogs.gnome.org/xan/files/2010/07/Screenshot-defcon.png"><img class="aligncenter size-medium wp-image-201" title="Screenshot-defcon" src="http://blogs.gnome.org/xan/files/2010/07/Screenshot-defcon-300x141.png" alt="" width="300" height="141" /></a></p>
<p>It has come to my attention that the GNOME Foundation is interested in my DEFCON app in order to better enforce the new Speaker Guidelines in current and future GUADECs. I&#8217;m happy to announce that the app is in fact for sale, so just contact xlopez at igalia.com for details.</p>
<p>PS: starting price is 500 EUR, it includes a tactical nuclear strike to the talk site when DEFCON 1 is hit.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/xan/2010/07/29/defcon-app/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Quo vadis, Epiphany</title>
		<link>http://blogs.gnome.org/xan/2010/05/22/quo-vadis-epiphany/</link>
		<comments>http://blogs.gnome.org/xan/2010/05/22/quo-vadis-epiphany/#comments</comments>
		<pubDate>Sat, 22 May 2010 11:59:53 +0000</pubDate>
		<dc:creator>xan</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/xan/?p=175</guid>
		<description><![CDATA[It&#8217;s time for a brief (and late!) recap of some of the most notorious things we did in Epiphany for 2.30, and a short update on what&#8217;s already happening in the road to 3.0. 2.30 For 2.30 we focused on fixing all the regressions introduced by the switch to WebKit in 2.28. Overall we did [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s time for a brief (and late!) recap of some of the most notorious things we did in Epiphany for 2.30, and a short update on what&#8217;s already happening in the road to 3.0.</p>
<p><a href="http://blogs.gnome.org/xan/files/2010/05/melmakisnotspain.jpg"><img class="aligncenter size-medium wp-image-176" title="melmakisnotspain" src="http://blogs.gnome.org/xan/files/2010/05/melmakisnotspain-198x300.jpg" alt="" width="198" height="300" /></a></p>
<h1>2.30</h1>
<p>For 2.30 we focused on fixing all the regressions introduced by the switch to WebKit in 2.28. Overall we did a pretty good job, and there&#8217;s only a few things missing to reach the no-regressions goal. Here&#8217;s everything that used to work in 2.26, didn&#8217;t work in 2.28 and that we fixed for 2.30: middle-click to open clipboard contents, <a href="https://bugzilla.gnome.org/show_bug.cgi?id=562617">bring back our old context menus</a>, <a href="https://bugzilla.gnome.org/show_bug.cgi?id=595653">up arrow functionality</a>, <a href="https://bugzilla.gnome.org/show_bug.cgi?id=603324">do a web search with the URL entry contents on Ctrl+Enter too</a>, EphyEmbedSingle::handle-content signal for external download managers, <a href="https://bugzilla.gnome.org/show_bug.cgi?id=601859">favicon support</a>, <a href="https://bugzilla.gnome.org/show_bug.cgi?id=528893">send HTTP &#8216;Accept-Language&#8217; headers with the user language preferences</a>, <a href="https://bugzilla.gnome.org/show_bug.cgi?id=580903">custom User-Agent support</a>, javascript: and mailto: URI support, <a href="https://bugzilla.gnome.org/show_bug.cgi?id=599009">close</a> and <a href="https://bugzilla.gnome.org/show_bug.cgi?id=604991">movement</a> DOM methods for window, shift+click in text areas, and, yes, f<a href="https://bugzilla.gnome.org/show_bug.cgi?id=582267">orm authentication auto-completion</a>.</p>
<p>Wew.</p>
<p>OK, so that&#8217;s a lot of stuff, but we were not happy with only bringing back old functionality, we also made some improvement here and there:</p>
<h2>GNOME Keyring storage for form auths + Infobar goodness:</h2>
<p>In 2.30 not only all your form authentication data is stored in the keyring, but we walked the extra mile to migrate the data in the gecko profile to the new format (not a particularly funny thing to do) and we now show a shiny infobar each time you are about to submit never-seen-before data:</p>
<p><a href="http://blogs.gnome.org/xan/files/2010/05/infobar.png"><img class="aligncenter size-full wp-image-188" title="infobar" src="http://blogs.gnome.org/xan/files/2010/05/infobar.png" alt="" width="394" height="18" /></a></p>
<h2>Page cache</h2>
<p>After much painful debugging we managed to make the <a href="http://webkit.org/blog/427/webkit-page-cache-i-the-basics/">Page Cache</a> support in WebKitGTK+ stable enough for widespread usage. These means that when a page passes some preconditions its whole in-memory representation will be saved for some time, making going back to it with the Back/Forward button blindingly fast. Fast is Good.</p>
<h2>Favicons in the Tab Menu:</h2>
<p>Back in 2007 I opened <a href="https://bugzilla.gnome.org/show_bug.cgi?id=405505">a bug</a> suggesting to put favicons next to the page titles in our Tabs menu, arguing that this would make it much much easier to identify a certain page when you have lots of tabs opened; having said that, I promised to attach a patch with the fix &#8220;soonish&#8221;.</p>
<p>3 years and one week later Olivier Tilloy probably got fed up of waiting and decided to just send a patch himself, making our lives (well, at least mine) much better:</p>
<p><a href="http://blogs.gnome.org/xan/files/2010/05/tabsmenu.png"><img class="aligncenter size-medium wp-image-185" title="tabsmenu" src="http://blogs.gnome.org/xan/files/2010/05/tabsmenu-300x223.png" alt="" width="300" height="223" /></a></p>
<p>Hey, can you see the bug in that screenshot? An opportunity to contribute!</p>
<h2>Disable all plugins at runtime:</h2>
<p>Back in the day all you could do in Epiphany was to disable the Java plugin, which nowadays is, to say the least, a feature of questionable usefulness. What we all want to do, surely, is to disable Flash unless we actually need to use it, right? Actually, make it all plugins in general, just in case:</p>
<p><a href="http://blogs.gnome.org/xan/files/2010/05/preferences.png"><img class="aligncenter size-full wp-image-187" title="preferences" src="http://blogs.gnome.org/xan/files/2010/05/preferences.png" alt="" width="202" height="118" /></a></p>
<h1>Now</h1>
<p>And what about the next release? We haven&#8217;t stopped working. In fact at <a href="http://www.igalia.com">Igalia</a> we are increasing our commitment with the platform, and we are growing the team: <a href="http://blogs.igalia.com/alex/">Alejandro García</a> is working on rendering performance and in reminding everyone how many years it takes to get anything done in software, always; <a href="http://blogs.igalia.com/svillar/">Sergio Villar</a> is working on libsoup, aiming to finish the disk-cache for 3.0; <a href="http://blogs.igalia.com/mario/">Mario Sánchez</a> is focused on our accessibility support, fixing bugs left and right (with the help of two of our interns, <a href="http://blogs.gnome.org/diegoe/">Diego Escalante</a> and José Millán); <a href="http://base-art.net/">Philippe keeps</a> rocking on the media front, and our most recent hiring, <a href="http://abandonedwig.info/blog/">Martin Robinson</a> is rewriting and improving our DnD support so fast that it&#8217;s hard to keep track of it! Oh, and yeah, myself I&#8217;m still working on the GObject DOM bindings, a new post about all the new features I&#8217;ve added these past weeks is way overdue.</p>
<p>And what about Epiphany? For the next release (due on Wednesday) you can expect a bunch of bugfixes and some UI improvements. One that I&#8217;m enjoying a lot is something I implemented last week; I finally got rid of our statusbar for good, and now by default we&#8217;ll show contextual messages in a Chrome-like embedded statusbar (which we already had, but that I have reimplemented and made visible by default):</p>
<p><a href="http://blogs.gnome.org/xan/files/2010/05/statusbar.png"><img class="aligncenter size-full wp-image-193" title="statusbar" src="http://blogs.gnome.org/xan/files/2010/05/statusbar.png" alt="" width="297" height="87" /></a></p>
<p>More vertical space for web content, less code!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/xan/2010/05/22/quo-vadis-epiphany/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Just the bindings, ma&#8217;am</title>
		<link>http://blogs.gnome.org/xan/2010/04/28/just-the-bindings-maam/</link>
		<comments>http://blogs.gnome.org/xan/2010/04/28/just-the-bindings-maam/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 17:57:01 +0000</pubDate>
		<dc:creator>xan</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/xan/?p=157</guid>
		<description><![CDATA[After finishing some loose ends in a remarkable place I found in Bairro Alto the GObject DOM bindings are in good enough shape to start doing some damage in this world (queue video that probably won&#8217;t appear in Planet GNOME, click into my blog to see it): No video? You&#8217;re probably reading this in a [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_158" class="wp-caption aligncenter" style="width: 310px"><a href="http://blogs.gnome.org/xan/files/2010/04/lisbon.jpg"><img class="size-medium wp-image-158" title="lisbon" src="http://blogs.gnome.org/xan/files/2010/04/lisbon-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">My goodness was that cheese good</p></div>
<p>After finishing some loose ends in a remarkable place I found in <a href="http://en.wikipedia.org/wiki/Bairro_Alto">Bairro Alto</a> the GObject DOM bindings are in good enough shape to start doing some damage in this world (queue video that probably won&#8217;t appear in Planet GNOME, click into my blog to see it):</p>
<p><video controls="true" width="356" height="268"><source type="video/ogg" src="http://blogs.gnome.org/xan/files/2010/04/woot.ogg"/>No video?  You&#8217;re probably reading this in a feed reader or a browser that doesn&#8217;t support open video.  Feel free to <a href="http://blogs.gnome.org/xan/files/2010/04/woot.ogg">watch the video directly.</a></video></p>
<p>What you just (hopefully) saw is a GTK+ button that, when clicked, gets all the links from its cousin <a href="http://webkitgtk.org/reference/webkitgtk-WebKitWebView.html">WebKitWebView</a> and makes them do a small bounce, all with the <a href="http://www.w3.org/DOM/">DOM APIs</a> you know and <span style="text-decoration: line-through;">hate</span>^Wlove exported through GObject.</p>
<p>For instance, to get all links simply call webkit_dom_document_get_links on the WebKitDOMDocument associated with the WebView, which will return a WebKitDOMHTMLCollection. Now we just iterate through the elements, get the WebKitDOMCSSStyleDeclaration associated to each one, and set the CSS properties we want on each one. Simple as that! No &#8220;evaluate this string as JavaScript&#8221;, and no using the JavaScript bindings through JavaScriptCore. In fact, since we are generating our own bindings instead of using the JavaScript ones, we can get the proper semantics for GObject toolkits instead of having to live with the decisions other people made for other languages and contexts. You can see the code snippet <a href="http://people.gnome.org/~xan/testdom.c">here</a>; I use a two-step animation instead of using the full-blown <a href="http://webkit.org/blog/324/css-animation-2/">css transitions</a> because of a small technical issue that I didn&#8217;t want to fix before pushing this post, but of course we should be doing it right in the future. In fact, we should create proper APIs for CSS animations in general, not too different from what you have in, say, <a href="http://clutter-project.org/">Clutter</a>.</p>
<p>Most of the code for this is already in Webkit trunk, and now that the initial phase of the work is done I keep improving the code incrementally and pushing the patches to <a href="https://bugs.webkit.org/show_bug.cgi?id=33590">bugzilla</a>, where my compadre <a href="http://blog.kov.eti.br/">Gustavo</a> promptly reviews them. Now if you&#8217;ll excuse me I&#8217;ll go to expose all events as glib signals on the DOM objects, watch this space (or the upstream bug) for more updates. Happy hacking!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/xan/2010/04/28/just-the-bindings-maam/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
<enclosure url="http://blogs.gnome.org/xan/files/2010/04/woot.ogg" length="184228" type="audio/ogg" />
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  blogs.gnome.org/xan/category/webkit/feed/ ) in 0.42052 seconds, on May 25th, 2012 at 7:35 pm UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on May 25th, 2012 at 8:35 pm UTC -->
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!-- Quick Cache Is Fully Functional :-) ... A Quick Cache file was just served for (  blogs.gnome.org/xan/category/webkit/feed/ ) in 0.00041 seconds, on May 25th, 2012 at 8:02 pm UTC. -->
