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

Servo and GStreamer (GStreamer Conference 2018)
Encrypted Media Extensions with GStreamer in WebKit (GStreamer Conference 2018)
WPE - The Adaptable Web Engine Product for Embedding (IBC 2018)
The pathway to Chromium on Wayland (Web Engines Hackfest 2018)
WPE. Current Status and Future (Web Engines Hackfest 2018)
The Chromium/Wayland Project (Lightning Talk) (BlinkOn 9)
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


Philippe Normand 08/12/2018

Web overlay in GStreamer with WPEWebKit

After a year or two of hiatus I attended the GStreamer conference which happened in beautiful Edinburgh. It was great to meet the friends from the community again and learn about what’s going on in the multimedia world. The quality of the talks was...

Michael Catanzaro 12/11/2018

The GNOME (and WebKitGTK+) Networking Stack

WebKit currently has four network backends: CoreFoundation (used by macOS and iOS, and thus Safari) CFNet (used by iTunes on Windows… I think only iTunes?) cURL (used by most Windows applications, also PlayStation) libsoup (used by WebKitGTK+ and...

Javier Fernández 07/11/2018

CSS Grid on LayoutNG: a Web Engines Hackfest story

I had the pleasure to attend the Web Engines Hackfest last week, hosted and organized by Igalia in its HQ in A Coruña. I’m really proud of what we are achieving with this event, thank so much to everybody involved in the organization but,...

Michael Catanzaro 07/11/2018

Mesa Update Breaks WebKitGTK+ in Fedora 29

If you’re using Fedora and discovered that WebKitGTK+ is displaying blank pages, the cause is a bad mesa update, mesa-18.2.3-1.fc29. This in turn was caused by a GCC bug that resulted in miscompilation of mesa. To avoid this bug, downgrade...

Michael Catanzaro 03/11/2018

WebKitGTK+ 2.22.2 and 2.22.3, Media Source Extensions, and YouTube

Last month, I attended the Web Engines Hackfest (hosted by Igalia in A Coruña, Spain) and also the WebKit Contributors Meeting (hosted by Apple in San Jose, California). These are easily the two biggest WebKit development events of the year, and...


Changeset in webkit [239028]: [WPE][GTK] run-minibrowser improperly creates webkit-flatpak ...

2 edits in trunk/Tools [WPE][GTK] run-minibrowser improperly creates webkit-flatpak environment ​https://bugs.webkit.org/show_bug.cgi?id=190241 Reviewed by Carlos Garcia Campos. run-minibrowser calls into webkit-flatpak to check if a flatpak...

Michael Catanzaro10/12/2018

Changeset in webkit [239027]: [GTK] Don't use the slice allocator ...

2 edits in trunk/Tools [GTK] Don't use the slice allocator ​https://bugs.webkit.org/show_bug.cgi?id=192360 Reviewed by Carlos Garcia Campos. MiniBrowser/gtk/main.c: (aboutDataRequestFree): (aboutDataRequestNew):

Michael Catanzaro10/12/2018

Changeset in webkit [239004]: Merge r235253 - [CMake] Have checks are not getting set inside CMake ...

4 edits in releases/WebKitGTK/webkit-2.22 Merge r235253 - [CMake] Have checks are not getting set inside CMake properly ​https://bugs.webkit.org/show_bug.cgi?id=188901 Reviewed by Michael Catanzaro. .: Make sure the variable's value is sent to...

Michael Catanzaro08/12/2018

Changeset in webkit [239003]: Merge r237491 - Make VIDEO enabled if ENCRYPTED_MEDIA is enabled. ...

2 edits in releases/WebKitGTK/webkit-2.22 Merge r237491 - Make VIDEO enabled if ENCRYPTED_MEDIA is enabled. ​https://bugs.webkit.org/show_bug.cgi?id=190983 Unreviewed build update. Source/cmake/WebKitFeatures.cmake:

Michael Catanzaro08/12/2018

Changeset in webkit [239002]: Merge r238082 - [GTK] Silence ATK_XY_PARENT warnings ...

4 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore Merge r238082 - [GTK] Silence ATK_XY_PARENT warnings ​https://bugs.webkit.org/show_bug.cgi?id=191504 Reviewed by Carlos Garcia...

Michael Catanzaro08/12/2018