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 developers 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+ and WPE ports of WebKit we have considerable experience creating, maintaining and optimizing ports of WebKit, as well as designing 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

The Chromium project's Way to Wayland (FOSDEM 2018)
WPE WebKit: HTML5 User Interfaces for Embedded Devices (ELC Europe 2017)
WPE, a New WebKit Port Optimised for Embedded (IBC 2017)
The Chromium/Wayland project (Web Engines Hackfest 2017)
WebRTC(s) in WebKit(s)! (Web Engines Hackfest 2017)
Media Source Extension on WebKit (GStreamer Conference 2017)
From "WebKit for Wayland" to WPE (Web Engines Hackfest 2016)
WebKit Security Updates (GUADEC 2016)
WebKit for Wayland
WebKitForWayland on Weston IVI Shell
Maximize the Performance of HTML5 Video in RPI2 (ELC 2016)
Streams API talk (Web Engines Hackfest 2015)
CSS Grid Layout from the inside out (HTML5DevConf Autumn 2015)
WebKitGTK+: Threaded Compositor
HTTPS Achievements and Challenges (Web Engines Hackfest 2015)
CSS Grid Layout is Just Around the Corner (CSSConf US 2015)
Accelerated compositing in WebKit: Now and in the future (DEVIEW 2015)
Improving Performance of a WebKit Port MIPS Platform (ELC 2014)
CSS Regions on WebKit and Blink: Improving Selection
WebKit/Blink: CSS Grid Layout
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


Michael Catanzaro 17/02/2018

On Compiling WebKit (now twice as fast!)

Are you tired of waiting for ages to build large C++ projects like WebKit? Slow headers are generally the problem. Your C++ source code file #includes a few headers, all those headers #include more, and those headers #include more, and more, and more, and...

Michael Catanzaro 16/02/2018

On Python Shebangs

So, how do you write a shebang for a Python program? Let’s first set aside the python2/python3 issue and focus on whether to use env. Which of the following is correct? #!/usr/bin/env python #!/usr/bin/python The first option seems to work in all...

Michael Catanzaro 24/01/2018

Announcing Epiphany Technology Preview

If you use macOS, the best way to use a recent development snapshot of WebKit is surely Safari Technology Preview. But until now, there’s been no good way to do so on Linux, short of running a development distribution like Fedora Rawhide. Enter...

Frédéric Wang 12/01/2018

Review of Igalia's Web Platform activities (H2 2018)

Last september, I published a first blog post to let people know a bit more about Igalia’s activities around the Web platform, with a plan to repeat such a review each semester. The present blog post focuses on the activity of the second semester of...

Gyuyoung Kim 11/01/2018

Share my experience to build Chromium with ICECC

If you’re a Chromium developer, I guess that you’ve suffered from the long build time of Chromium like me. Recently, I’ve set up the icecc build environment for Chromium in the Igalia Korea office. Although there have been some...


Changeset in webkit [228639]: [GStreamer] Crash in ...

4 edits in trunk/Source/WebCore [GStreamer] Crash in WebCore::MediaPlayerRequestInstallMissingPluginsCallback::complete ​https://bugs.webkit.org/show_bug.cgi?id=166733 Reviewed by Philippe Normand. There are a couple of issues to tackle...

Xabier Rodríguez19/02/2018

Revert "ephy-notebook: Set halign depending on notebook position"

This reverts commit 6e23db528f5e80effbf667de70085eee74a116c6. https://bugzilla.gnome.org/show_bug.cgi?id=793356

Michael Catanzaro18/02/2018

Changeset in webkit [228553]: HarfBuzzFace should operate with a FontPlatformData reference ...

5 edits in trunk/Source/WebCore HarfBuzzFace should operate with a FontPlatformData reference ​https://bugs.webkit.org/show_bug.cgi?id=182863 Reviewed by Carlos Garcia Campos. Instead of keeping a never-null pointer to...

Žan Doberšek16/02/2018

Changeset in webkit [228525]: HarfBuzzFace: rework cache entry reference holding ...

4 edits in trunk/Source/WebCore HarfBuzzFace: rework cache entry reference holding ​https://bugs.webkit.org/show_bug.cgi?id=182828 Reviewed by Michael Catanzaro. Move the FaceCacheEntry and HarfBuzzFaceCache types into the HarfBuzzFace class as...

Žan Doberšek15/02/2018

Changeset in webkit [228524]: FontPlatformData::harfBuzzFace() should return a reference ...

5 edits in trunk/Source/WebCore FontPlatformData::harfBuzzFace() should return a reference ​https://bugs.webkit.org/show_bug.cgi?id=182825 Reviewed by Carlos Garcia Campos. Have FontPlatformData::harfBuzzFace() return a reference instead of...

Žan Doberšek15/02/2018