Back to Programs

Operating systems

Chromium

Fast, seamless, safe, and reliable web for all

c++gitjavajavascriptpython

Participation history

5 GSoC years

2025

15 projects

Official year page

Develop fwupd plugin to handle touch firmware updates

The project's main target is to start using fwupd plugins to manage and handle the firmware updates, for touch controllers in ChromeOS. Currently,...

Chrome Extension APIs

The Chrome Extensions platform is a vital part of the Chrome browser ecosystem, enabling developers to extend browser functionality. This project...

Debug WebUI For Tabstrip states

This project aims to develop a read-only WebUI page in Chromium, chrome://tab-debug, that provides a live, structured visualization of the tabstrip...

Structured DNS Error Support in Chromium's DNS Stack

When DNS queries fail due to policy-based restrictions (e.g., BLOCKED, CENSORED, FILTERED), DNS resolvers can attach Extended DNS Error (EDE) codes...

WebGPU Texel Buffers

The goal of this proposal is to provide a working prototype of texels buffers which is a new proposed extension in WebGPU API, in Dawn, Chromium's...

GSoC 2025 Proposal - Interaction to Next Paint (INP) subparts

Proposal Summary: Interaction to Next Paint (INP) Subparts Problem Statement: The recently introduced Interaction to Next Paint (INP) metric,...

Enhancing Chrome Extension APIs

The goal of this project is to improve the Chrome Extensions platform by updating existing APIs, introducing new ones, and enhancing the...

FedCM API test flakiness

This project focused on enhancing the reliability of the Federated Credential Management (FedCM) API's automated test suite. The primary objective...

Add 3rd Party Theme Support for Tab Groups - Chromium

The goal of this project is to add support for third-party themes to customize tab group colors in Chromium. Currently, users are limited to a fixed...

Enhancing INP Insights for Developers

Enhances Interaction to Next Paint (INP) analysis by breaking it into key parts—input delay, event processing time, and rendering delay. It aims to...

ChromeOS Platform Input Device Quality Monitoring

This project aims to enhance the reliability of ChromeOS input devices by improving kernel-level logging and using automated tests to validate...

Farfetchd: tracing/replay

This project enhances the farfetchd service in ChromiumOS by adding support for tracing and replaying disk I/O during application startup. The goal...

Improve Chromium Web Audio Testing

The audit.js library, a fixture in over 300 web audio test files within Chromium, has become redundant due to its overlapping functionalities with...

Improve Chromium Web Audio Testing

This project focuses on improving the testing system for web audio features in Chromium—the open-source engine behind browsers like Google Chrome,...

Virtual Printer Application

The goal of this project is to develop a fully configurable Android Virtual Printer application that simulates real printer behavior using the...

2024

15 projects

Official year page

AudioWorklets IDE

The AudioWorkletNode is the one of the most widely-used and functional nodes in the Web Audio API. Given its unique ability to allow developers to...

C++ clang static analysis: IteratorChecker

IteratorChecker is a clang plugin that detects iterator use-after-invalidation related bugs and reports them at compile time using LLVM’s...

Bring Chromium's macOS toolchain up to speed

Chromium uses LLVM’s LLD linker in its build process. This project aims to continue my previous work on the macOS version of LLD (ld64.lld) to bring...

Bookmarks Tree View-GSOC

The goal of this project is to reintroduce a tree view functionality into Chrome's bookmarks side panel, addressing user feedback and enhancing...

Side Panel Sizing

The objective of this project is to enhance user interaction with Chromium-based browsers by enabling individual customization of side panel widths,...

Enhance AudioWorklet Developer Resources

My project aims to enhance Chromium's AudioWorklet with robust test suites and developer resources for reliable real-time audio processing. I plan to...

A NIST 800-88 compliant method for safety erase for ChromiumOS devices

Currently Chromebooks encrypt all user data safely, and they get “erased” by simply erasing the vault containing the encryption key, making the data...

Chromestatus.com - tech stack unification

The project focuses on the modernization of Chromestatus.com, a critical tool for tracking feature launches in Blink. This will be achieved through...

Chrome Language and Translate

This project aims to enhance the multilingual experience in Chrome. There were two primary goals: 1) Improve Android users’ experience on Chrome by...

Linux audio capture local muting

My proposal centers on enhancing the Chrome browser's functionality on Linux systems, particularly focusing on the integration of local audio muting...

Building Performance Analysis Tool for Chrome Extensions

Web developers have access to a wide array of tools to track web performance and discover ways to optimize their programs. However, that level of...

DNR Interactive Tool for Chrome Extensions

The chrome.declarativeNetRequests API enables Chrome extensions to block or redirect network requests. As this API has a vast array of capabilities,...

Chromium - Dawn - Static Samplers

This proposal aims to implement full static sampler support for Dawn, a WebGPU implementation for Chromium. A sampler is a GPU resource that defines...

Enhance WebXR-internal page

Provide real time diagnostic information to chrome://webxr-internals/ (e.g. real-time logs), as well as high-level performance metrics (live...

Web Audio Test Suite & Rainfly: An AudioWorklet DSP Playground

The Web Audio API’s AudioWorklet (AW) is a powerful and flexible framework for browser-based synthesis and DSP. This summer, I contributed to...

2023

17 projects

Official year page

Chromium Accessibility Performance

The accessibility code in Chromium is used in Chrome and Edge to enable users of assistive technology to access the web. However, enabling it can...

Casting Local Media

The primary objective of this project is to enhance the local media casting experience within Chromium by implementing a range of improvements. These...

Improving Performance API Code Health

The primary objective of this project is to enhance the code quality, strengthen the test framework, and bolster the reliability of Chromium's...

Chrome System Audio Mirroring on macOS and Linux

Casting is a feature of Chrome that allows a tab or a screen to be mirrored to a remote Chromecast-enabled device. Currently, both audio and video...

Enhance chrome://policy page

The "chrome://policy" page is a URL in the Google Chrome browser that displays a list of policies applied to the browser. These policies determine...

Adding Codecs & Improving UI for squoosh.app

Squoosh is a Progressive Web App (PWA) focusing on image compression - reducing image sizes through numerous formats. You can try out the latest and...

Enable & Improve Multi Display Chrome Testing Capabilities

In this project, our aim is to enable the capability for testing multi-display APIs for Chromium, on Windows OS. In order to achieve this, we are...

Automate testing of stylus touch pen

This project aims to automate the testing of stylus touch pens with Chromebook using a human motion robot (HMR). Currently, stylus pens or any other...

Implement JS filesystem bridge layer for Emscripten

Emscripten is an open-source tool used to translate C/C++ code to WebAssembly, allowing web apps to run with near-native performance. WebAssembly is...

Enhancing Web Development on Chromium: Accessibility Improvement in Chromium DevTools

In an effort to improve the web development experience on Chromium, this project aims to add an efficient way to access Media panels to help debug...

Improve AR/VR experience on Web

The goal of this project is to develop a debugging page called "xr-internals" to help developers debug and optimize AR/VR web applications. The page...

Enhancing Media Privacy in Chromium's Incognito Mode

Google Chromium's Incognito Mode currently has a privacy issue where the media metadata of the browser can be displayed in operating systems' media...

Improving INP Metric by Exposing InteractionId to a Wider Range of Events

Imagine typing a cheerful "hello😁" on your keyboard, expecting a smooth and quick response, but instead, the browser stumbles, struggling to keep up...

Integrate references into ChromeStatus.com

ChromeStatus.com is a web application developed by Google to track feature launches in Blink, the browser engine that powers Chrome and many other...

Chromium GSoC Proposal: Test History for wpt.fyi

Currently, there is a good visual for the results of the current and most up to date test runs, but there is not an intuitive way to easily view the...

Migrate mv2 samples to mv3 and increase API coverage

Manifest V3 is the latest version of Chrome extensions, which focuses on security, privacy, and performance. The goal of this project is to upgrade...

Resource Initiator Reporting

The proposed project aims to enhance the Resource Timing API by incorporating initiator information to identify the resource that triggered the fetch...

2022

14 projects

Official year page

Automate Drag-and-Drop Tests by Suyash Nayan

Blink, which is the rendering engine for Chromium has multiple drag-and-drop API tests that make use of a Chromium-specific automation library and...

Implement IPv4 to IPv6 address synthesis (RFC6052) to utilize the NAT64 on a IPv6 only network.

Implement IPv4 to IPv6 address synthesis (RFC6052), and Pref64://n discovery using domain name "ipv4only.arpa." (RFC7050) so packets will utilise the...

Improve Mojo IPC fuzzing

Chromium’s multi-process architecture requires a mechanism for safely communicating between its processes. This requirement is addressed by Mojo - an...

Support new IR in V8 Turbolizer

V8 is adding a new intermediate representation (IR) to the TurboFan optimizing JavaScript compiler. The new IR is called TurboShaft. For the old IR,...

VirtIO Balloon Performance Improvements

ChromeOS often uses virtualization. To share memory efficiently between VMs, it uses the VirtIO Balloon. However, ChromeOS intensifies CPU...

Expose Render Blocking Status in Resource Timing

Render blocking nature of resources is important to pre-emptively pinpoint exactly at which point content will be rendered on screen. The render...

Audio Worklet for Emscripten

Many developers are using Emscripten to port the existing C/C++ audio code to Web Assembly, but Emscripten is still using deprecated...

Improvements to the Mach-O LLD linker

Chromium is built using LLVM’s LLD linker for all platforms. This project aims to make various improvements to the LLD linker, which will ultimately...

Performance APIs spec compliance

The Performance API is a set of web APIs that implement the Performance interface of the High Resolution Time standard. The interface is exposed...

ChromeStatus Frontend Modernization and Protocol Re-Architecture

ChromeStatus.com is a website that allows web developers to track all the features in the Chrome browser, including the deprecated, current, and...

Reducing Chrome’s Presentation Latency on Windows

The current rendering configuration of Chrome on Windows can lead to substantial presentation latency. This project aims to reduce that latency by...

Aggregation Jobs Control Plane

Today, in tech, there is currently a data privacy revolution happening and with that companies and organizations must adapt to meet the future needs...

Screenshot Functionality for Support Tool

This project will add screenshot functionality to SupportTool. It can help users take screenshots when reporting the issues they encountered. Users...

Make Perfetto Perfect: Interaction to Next Paint

On Perfetto, users can get brilliant insights into the performance of applications through trace visualizations and metrics. Recently, core web...

2021

9 projects

Official year page

End-to-end tests for DLP (Data Leak Prevention)

Chrome browser and Chrome OS use Chrome Enterprise policies for added controls and configurations. There is a new Data Leak Prevention Policy for...

Sample Diagnostics App for ChromeOS

The idea is to build a sample diagnostics tool for ChromeOS using web technologies. This tool will be a combination of a Progressive Web App and a...

Hiding Issues in the Issues Panel in Chrome DevTools

The aim of this project is to augment the functionality of the Issues tab in Chrome Devtools by giving users the ability to Hide issues in the Issues...

WebStatus Developer Tooling

The project aims at making the following modifications to chromestatus.com:- Migrate WebStatus from Python 2 to Python 3 Implement a RoadMap view...

Implement ClosedTabCache

Implement a cache for closed tabs, such that reopening a recently closed tab will be instantaneous.

WebView Components UI

Android WebView is an Android framework component that is developed under the Chromium Project. WebView is embedded inside other Android apps but it...

Porting ChromeOS Power Policy End-to-End Tests

At present, integration tests for few Power Policies in ChromeOS utilize autotest for automated testing using special debugging devices (servo). The...

Automating Puppeteer’s Documentation - Tasneem Koushar

Our challenge is to finish the remaining work to move Puppeteer’s Documentation into a documentation that will update its content with any new change...

Productionize XNNPACK Machine Learning Backend for Chrome OS

Chrome OS enables fast and relatively low energy-consuming by utilizing TensorFlow Lite and hardware ML accelerators. The hardware accelerators are...