GSoC/GCI Archive
Google Summer of Code 2010


Web Page:

Mailing List:

Chromium is the open-source project behind Google Chrome. It’s an effort to help build a safer, faster, and more stable way for all Internet users to experience the web, and to create a powerful platform for developing a new generation of web applications.

Our project code repository for 2010 is here:



  • A mind mapping tool for Chromium OS Mind mapping tool is a piece of software that allows the user hierarchical diagrams centered around a single word or concept. They can be used for taking notes on a lecture, outlining project ideas or just organizing one's thoughts. I propose a simple HTML5-based editor with a minimal interface, focused on speed of creation of useful mind maps. It would more likely be used for a quick brainstorming session than to prepare visuals for company's next big keynote.
  • Adapting Sputnik tests to ECMAScript 5 Sputnik is a JavaScript conformance test suite containing over 5000 tests. There are two steps to getting a fully comprehensive ECMAScript 5 conformance test runner. 1) Adapting the existing Sputnik tests to the ES5 spec where there are differences. 2) Creating a harness that is able to run the ES5 adapted Sputnik tests along with Microsoft's es5conform tests The goal of my proposal is to finnish the first step that can also be split into two steps:
  • Applescript support in Chrome Applescript is a widely used scripting language on the mac platform. It is used for IPC (inter process communication). This enables users who have no idea of programming to create workflows and perform repetitive tasks. By allowing chrome to be scriptable and exposing its API's it enables end-users to seamlessly integrate chrome into their workflows and provides a consistent interface for chrome to communicate with other applications.
  • Extension for Creating Custom Stylesheets A Chromium extension that will allow users who know nothing about CSS to be able to customize the way webpages look easily and quickly. This will improve accessibility and adaptability of the web. Users will be able to incrementally build a custom stylesheet for Chromium as well as save site-specific custom CSS. This extension will also make the workflow for customizing the web simpler for the advanced, CSS familiar users.
  • Integrate NaCl debugger with Chrome/Webkit Developer Tools Native Client enables performance-sensitive code, written in C++ or other low-level languages, to be safely called from JavaScript. Applications can be written in a combination of JavaScript and native code. The goal of this project is to simplify and unify the debugging experience for this kind of hybrid application. Developers could use the Chrome developer tools window to step through NaCl code and view symbols.
  • Making Chromium OS Work Better in More Environments Users and developers should be able to build and use Chromium OS in as many ways as possible. They should be able to run it in their favorite virtualization platform, boot it with PXE, or boot it as a thin client. The process to do these things should be as easy as possible. This project proposes to add improved virtualization support, make the process of booting over PXE easy, and explore the various technologies that would allow Chromium OS to work in one or more thin client environments.
  • Porting Pencil through Native Client for Chromium OS The high level difference between a web app and a native app is pretty simple. A web app does its computation in the server where a native app does it in the client machine. A web app uses HTML, CSS and JavaScript for rendering user interface and interacting with user where a native app uses client machines windowing API. The Native Client project targets to pull these two breeds closer and Pencil is a specimen application to show how it can be done.
  • SSH client for NaCl NaCl is going to be an extremely important part of Chromium OS. It is absolutely required to have client connectivity options such as SSH, VNC or Remote Desktop on Chromium OS. This proposal aims to fill the easiest part: SSH.