Browsers and Client-side Web Technologies

Igalia leads the development of essential projects and components in the areas of web rendering and browsers. We have the most WebKit, Chromium/Blink and Firefox expertise found in the consulting business, including many reviewers and committers.

WebKit is a cross-platform, Free Software web rendering engine. It is used everywhere from major Web browsers  to embedded  platforms. Our numerous contributions to the WebKit project include more than 3500 commits and 2000 reviews since 2009 leading critical areas of the project like the GStreamer media backend, the cairo 2D graphics backend, the libsoup network backend, the ATK accessibility backend and new web technologies like CSS grid layout. Igalia is also the maintainer of the GTK+ port that provides a high quality API for embedders based on the GNOME platform.

Blink started in 2013 as a fork of WebKit. It's currently used by Chrome browser and it's being adopted by other embedders. Since the transition to Blink for a WebKit developer is quite easy and natural, Igalia currently counts with several Blink committers actively working in the project.

Our team members are not only WebKit/Blink experts, they are engineers with solid backgrounds in embedded, graphics, UI design and multimedia. They integrate WebKit in user-oriented environments like the GNOME platform, where we drive the web development effort and maintain its flagship web browser, Epiphany.

As maintainers of the GTK+ port of WebKit we have considerable experience creating, maintaining and optimizing ports of WebKit, as well as desgining high level APIs for embedders.

Our  developers are knowledgeable about all aspects of Web rendering engines including  JavaScript engine, multimedia, graphics and rendering, networking, accessibility, HTML5 and API design. We can help  you improve the use of your Web framework to maximize the power of your hardware.

Featured Media

WebKit/Blink: CSS Grid Layout
CSS Regions on WebKit and Blink: Improving Selection
Epiphany Browser: GNOME Web 3.12
WebKit2 And You (GUADEC 2013)
Web: The future is now (GUADEC 2013)
WebKitGTK+ Multimedia: HTML5 WebAudio API
Epiphany "Web" Browser: GNOME meets Chrome Store
WebKitGTK+: WebGL and Accelerated Compositing
WebKit2GTK+: The UI and the Web process
WebKit2GTK+: The Plugin process
Angry Birds web application - standalone on webkit
Example of Webkit running standalone app
Epiphany web browser
Epiphany web browser
Yelp, the help application for GNOME uses WebKit
Yelp, the help application for GNOME uses WebKit
Devhelp, the programming API browser for GNOME uses WebKit
Devhelp, the programming API browser for GNOME uses WebKit
WebKit logo
WebKit logo


Manuel Rego 28/10/2014

Presenting the Web Engines Hackfest

After the Google’s fork back in April 2013, WebKit and Blink communities have been working independently, however patches often move from one project to another. In addition, a fair amount of the source code continues to be similar. Thus, it seems...

Sergio Villar 23/09/2014

Grids everywhere!

Hi dear readers, it’s awesome to see people-really-excited (including our friends at Bloomberg) about CSS Grid Layout, specially after Rachel Andrew‘s talk in CSSConf. I really believe CSS Grid Layout will be a revolution for web designers as...

Javier Fernández 08/09/2014

Box Alignment and Grid Layout

As some of my readers already know, Igalia and Bloomberg are collaborating in the implementation of the Grid Layout specification for the Blink/Chromium and WebKit web engines. As part of this assignment, I had the opportunity to review and contirbute to...

Carlos García Campos 06/08/2014

GTK+ 3 Plugins in WebKitGTK+ and Evince Browser Plugin

The WebKit2 GTK+ API has always been GTK+ 3 only, but WebKitGTK+ still had a hard dependency on GTK+ 2 because of the plugin process. Some popular browser plugins like flash or Java use GTK+ 2 unconditionally (and it seems they are not going to be ported...

Víctor Jáquez 05/08/2014


The last Friday 25 of July, National Day of Galicia, started very early because I had to travel to Strasbourg, official seat of the European Parliament, not for any political duty, but for the GNOME Users and Developers European Conference, the GUADEC!...


Changeset [175370]: [GStreamer] Video resolution changes trigger a crash in the TextureMapper ...

6 edits in trunk/Source/WebCore [GStreamer] Video resolution changes trigger a crash in the TextureMapper ​https://bugs.webkit.org/show_bug.cgi?id=137065 Reviewed by Gustavo Noronha Silva. Switch to GstSample for buffer+caps communication between...

Philippe Normand30/10/2014

Changeset [175369]: FormDataBuilder should not use Document ...

4 edits in trunk/Source/WebCore FormDataBuilder should not use Document ​https://bugs.webkit.org/show_bug.cgi?id=138172 Reviewed by Alexey Proskuryakov. It's only used by encodingFromAcceptCharset() to fallback to document input encoding. That...

Carlos García Campos30/10/2014

Changeset [175314]: ASSERTION FAILED: growthShare > 0 in ...

3 edits2 adds in trunk ASSERTION FAILED: growthShare > 0 in WebCore::RenderGrid::distributeSpaceToTracks ​https://bugs.webkit.org/show_bug.cgi?id=137772 Reviewed by Andreas Kling. Source/WebCore: We're hitting the ASSERTION because if the number...

Sergio Villar29/10/2014

Changeset [175265]: [WebCore] Remove uses of WTF::bind() in the Media Stream module ...

7 edits in trunk/Source/WebCore [WebCore] Remove uses of WTF::bind() in the Media Stream module ​https://bugs.webkit.org/show_bug.cgi?id=138016 Reviewed by Eric Carlson. Replace uses of WTF::bind() in the Media Stream module with C++11...

Žan Doberšek28/10/2014

Move compositor_data.rs to compositor_layer.rs.

Move compositor_data.rs to compositor_layer.rs. The new name better reflects the majority of the code in the file.

Martin Robinson28/10/2014