01

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 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

Web Engines Hackfest 2016 - From "WebKit for Wayland" to WPE
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

Updates

Manuel Rego 16/03/2017

CSS Grid Layout is Here to Stay

It’s been a long journey but finally CSS Grid Layout is here!

Jacobo Aragunde 27/02/2017

GENIVI-fying Chromium, part 2

In the previous blog post, we introduced the work to port Chromium to the GENIVI Development Platform (GDP). We have continued working to improve the integration, and make everything easier to build. In first place, we are now using the … Continue...

Carlos García Campos 10/02/2017

Accelerated compositing in WebKitGTK+ 2.14.4

WebKitGTK+ 2.14 release was very exciting for us, it finally introduced the threaded compositor to drastically improve the accelerated compositing performance. However, the threaded compositor imposed the accelerated compositing to be always enabled, even...

Michael Catanzaro 08/02/2017

An Update on WebKit Security Updates

One year ago, I wrote a blog post about WebKit security updates that attracted a fair amount of attention at the time. For a full understanding of the situation, you really have to read the whole thing, but the most important point was that, while...

Michael Catanzaro 08/02/2017

On Epiphany Security Updates and Stable Branches

One of the advantages of maintaining a web browser based on WebKit, like Epiphany, is that the vast majority of complexity is contained within WebKit. Epiphany itself doesn’t have any code for HTML parsing or rendering, multimedia playback, or...

Commits

Do not include x11 files in case of Ozone builds

Do not include x11 files in case of Ozone builds This only fails when no X11 headers are present on the system and use_ozone = true ozone_platform_wayland = true ozone_platform_x11 = false use_sysroot = false BUG=295089 Review-Url:...

Antonio Gomes23/05/2017

Changeset in webkit [217228]: -Wreturn-type warning triggered by WKPage.cpp:2277 ...

2 edits in trunk/Source/WebKit2 -Wreturn-type warning triggered by WKPage.cpp:2277 ​https://bugs.webkit.org/show_bug.cgi?id=171866 Reviewed by Žan Doberšek. UIProcess/API/C/WKPage.cpp: (WKPageSetPageUIClient):

Michael Catanzaro22/05/2017

Changeset in webkit [217226]: -Wreturn-type warning triggered by WebAutomationSession.cpp:851 ...

2 edits in trunk/Source/WebKit2 -Wreturn-type warning triggered by WebAutomationSession.cpp:851 ​https://bugs.webkit.org/show_bug.cgi?id=171867 Reviewed by Žan...

Michael Catanzaro22/05/2017

Changeset in webkit [217220]: NavigatorEME: null RefPtr dereference due to different calling ...

2 edits in trunk/Source/WebCore NavigatorEME: null RefPtr dereference due to different calling conventions ​https://bugs.webkit.org/show_bug.cgi?id=172352 Reviewed by Carlos Garcia...

Žan Doberšek22/05/2017

Changeset in webkit [217219]: Add even more input validation in Connection::processMessage() ...

2 edits in trunk/Source/WebKit2 Add even more input validation in Connection::processMessage() ​https://bugs.webkit.org/show_bug.cgi?id=171682 Reviewed by Carlos Garcia Campos. Verify that the size of the out-of-line message body matches the size...

Michael Catanzaro22/05/2017