Basic Service Worker Support Lands in Servo

The last few weeks were exciting. With helpful guidance from Josh and awesome people at Servo I finally have a rudimentary implementation of Service Workers (hereby mentioned as SW) in Servo capable enough to monitor network requests made from different origins and optionally send back custom responses on a registered origin with basic lifecyle events (statechange, activate, install) supported. Currently, Service Workers are gated behind a dom.serviceworker.enabled flag. To make them available in the DOM, Servo needs to be launched with ./mach run --release http://your-url-here.com --pref dom.serviceworker.enabled=true. »

Author image Rahul Sharma

Post community bonding period with Servo Team gsoc'16

My previous post, gave a brief introduction about service workers. This post will be a brief intro to Servo’s architectural design in order to provide a context for my next post which will discuss about the initial support for Service Workers that needed to be implemented. Servo Browser Engine, is a project started by the motivation for exploiting parellelism at every level of rendering and layout, and to leverage the growing no of CPU cores we have available today; which current existing browsers are not easily able to exploit, because it would require a re-thought on their large legacy codebase. »

Author image Rahul Sharma

Introduction to the Service Workers

This post discusses about a web platform specification, that aims to provide a programmatic control over web pages, by providing a user driven api, which can be used for many purposes like; to cache data for offline usage, control outgoing network requests, provide a platform for implementing push notifcations, and for making a progressive web app. Currently, I am working with Mozilla Research, on implementing the foundations for the service worker specification in Servo Browser engine as part of my Gsoc project (mentored by Josh). »

Author image Rahul Sharma

So it begins with Servo: GSOC'16

So far learning rust has been really rewarding and i found it really interesting in the domain of system’s programming; given that we don’t have much choices apart from C/C++ for something close to metal. I have started a couple of personal projects of mine in Rust, meltdown and silica. I hope to polish them as i learn more. Also, I really wanted to start contributing to some open source projects related to Rust, and among them I found one called Servo, a project that is building on modern practices of safe systems programming. »

Author image Rahul Sharma

Using Trait objects in Rust

This, post aims to give, a very gentle introduction to traits objects in rust, aimed at people who already are familiar with Traits in Rust. If you don’t know about traits well, a good read is here. A trait is the specification of an interface. That interface can contain functions (both member, and non-member), types and constants. In rust world, they are pretty much everything underlying the constructs we use like operators, functions, loops, and also can serve as identities for marking entities as being thread safe (the Send and Sync). »

Author image Rahul Sharma