Google’s Chrome browser on desktop has been open source almost since its inception — in 2008, the Mountain View, California-based company released a large portion of Chrome’s underlying code as an open-source project called Chromium, which it permitted third-party developers to study and use as they saw fit.
But that wasn’t the case for Chrome for iOS, which Google kept separate from the rest of the Chromium project due to “the additional complexity required for the platform.” On Tuesday, though, Google announced that the Chrome for iOS’s underlying code will be rejoining Chromium and will move into the open-source repository.
The challenge, apparently, involved working around the limitations of Apple’s iOS operating system. “Due to constraints of the iOS platform, all browsers must be built on top of the WebKit rendering engine,” Google’s Rohit Rao wrote. “For Chromium, this means supporting both WebKit as well as Blink, Chrome’s rendering engine for other platforms. That created some extra complexities which we wanted to avoid placing in the Chromium code base.”
Rao didn’t elaborate, but part of the problem likely stemmed from Apple’s restrictive policy regarding third-party browsers. The first iterations of Chrome for iOS were required to use the iOS WebKit framework and WebKit JavaScript — Safari’s rendering engine — instead of the Google’s desktop rendering engine. And they were forced to use a slow JavaScript engine while only Safari could use a faster JavaScript engine — Apple’s new Nitro JavaScript engine.
That policy changed mid-2014, though, when Apple began allowing browsers like Chrome to tap the Nitro JavaScript engine. Google quickly took advantage, adding the ability for iOS users to link directly to other iOS app when search queries yield a specific app as a result.
And earlier this year, it introduced a new version of Chrome for iOS with an improved rendering engine that crashes 70 percent less than the previous version and handles JavaScript code just as fast as Safari.
The open-source move is also the result of multi-year changes Google has made to the Chrome development process. “[Developers] can compile the iOS version of Chromium like they can for other versions of Chromium,” Rao wrote. “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.”
The open-source code is available on Google Source, an open-source repository.