Chromium Architecture Overview

We have recently created a summarized architecture overview about Chromium. Our purpose was that everyone who is interested in this topic could see how Chromium is built together and understand how it works. You can check it out here.

On behalf of the Sprocket team,

Edit Balint

SprocketMonkey - (in)finite monkey theorem about Sprocket

Testing a web browser can be approached from several different angles. One can test performance, responsiveness, correctness of page layout or even the behavior of a web site in different user interactions.

Core Sprocket - Minimal experimental browser based on Content API

This is a follow-up blogpost on our previous Sprocket intro. If you have not read it yet, you can check it out here.

Cross-compiling Servo to ARM

While Servo has been supporting Android for a while now, it turned out cross compiling to ARM devices requires some additional work. Now that most of these patches have been landed, it is much more easier to build Servo for ARM.

Sprocket - Experimental Multiplatform Browser Based on Content API

Several months ago, a simple question was raised to us: How can one build a web browser? This was an interesting question not a trivial one to be answered in one sentence. So, at the University of Szeged we started to work on this issue to come up with a handy answer. This is how Sprocket was born. However, let us start from the beginning.

How to build TyGL

This is a follow-up blog post of our announcement of TyGL - the 2D-accelerated GPU rendering port of WebKit.

We have been received lots of feedback about TyGL and we would like to thank you for all questions, suggestions and comments. As we promised lets get into some technical details.

Announcing the TyGL-WebKit port to accelerate 2D web rendering with GPU

We are proud to announce the TyGL port (link: on the top of EFL-WebKit. TyGL (pronounced as tigel) is part of WebKit and provides 2D-accelerated GPU rendering on embedded systems. The engine is purely GPU based. It has been developed on and tested against ARM-Mali GPU, but it is designed to work on any GPU conforming to OpenGL ES 2.0 or higher.

The GPU involvement on future graphics is inevitable considering the pixel growth rate of displays, but harnessing the GPU power requires a different approach than CPU-based optimizations.

Fuzzinator reloaded

It's been a while since I last (and actually first) posted about Fuzzinator. Now I think that I have enough new experiences worth sharing.

More than a year ago, when I started fuzzing, I was mostly focusing on mutation-based fuzzer technologies since they were easy to build and pretty effective. Having a nice error-prone test suite (e.g. LayoutTests) was the warrant for fresh new bugs. At least for a while.

Measuring ASM.JS performance

What is ASM.JS?

Now that mobile computers and cloud services become part of our lives, more and more developers see the potential of the web and online applications. ASM.JS, a strict subset of JavaScript, is a technology that provides a way to achieve near native speed in browsers, without the need of any plugin or extension. It is also possible to cross-compile C/C++ programs to it and running them directly in your browser.

In this post we will compare the JavaScript and ASM.JS performance in different browsers, trying out various kinds of web applications and benchmarks.

A Quick'n'Dirty Set-up of an Aarch64 Ubuntu 14.04 VM with QEMU

Lately, I came up with the idea to do some development on Aarch64. However, I couldn't get my hands on real hardware easily so I started to look for alternatives (i.e., emulators). The ARMv8 Foundation Model seemed to be the trivial solution but I've heard that QEMU is somewhat faster so I gave it a try. My goal was to set up the VM as quick as possible: reuse whatever is already "out there" and rebuild only what's utterly necessary. In the end it turned out that it's quite easy to get such a VM working ... once you know what you need.