Google has uploaded its Chrome for iOS code into the open source Chromium repository. In other words, Chrome for iOS has now been open-sourced like Chrome for other platforms, letting anyone examine, modify, and compile the project.
Chromium is the open source web browser project that shares much of the same code as Google Chrome, and new features are often added there first. Google intended for Chromium to be the name of the open source project while the final product name would be Chrome, but developers have taken the code and released versions under the Chromium name. Eventually, many browser makers started using it as a starting point; Opera, for example, switched its browser base to Chromium in 2013.
Since its inception, Chromium was a desktop-only affair. That changed in May 2015 with the open-sourcing of Chrome for Android. Chrome for iOS took even longer, as its code was kept separate from the rest of the Chromium project because Apple requires that all browsers for iOS must be built on top of the WebKit rendering engine.
Supporting both WebKit as well as Chrome’s rendering engine Blink adds extra complexities that Google “wanted to avoid placing in the Chromium code base.” It took years of “careful refactoring” before the Chrome team was comfortable moving the code into the Chromium open source repository.
Here is the team’s explanation:
Given Chrome’s commitment to open-source code, we’ve spent a lot of time over the past several years making the changes required to upstream the code for Chrome for iOS into Chromium. Today, that upstreaming is complete, and developers can compile the iOS version of Chromium like they can for other versions of Chromium. Development speed is also faster now that all of the tests for Chrome for iOS are available to the entire Chromium community and automatically run any time that code is checked in.
Developers interested in building an iOS browser now have a new starting point. This announcement means you can expect to see improved, as well as completely new, iOS browsers from third-party developers.