For the first time, developers have open source access to Google’s Chrome code for iOS. Google built its Chrome browser on source code from its Chromium open source project, but until now that code repository hasn’t included Chrome for iOS.
That was because to build the Chrome browser for Apple’s mobile operating system, Google needed to use two rendering engines: its own Blink engine and Apple’s WebKit engine. While WebKit has been open source since 2005, Google faced “extra complexities” in having to support both engines in its code for iOS, so the company hadn’t previously made it open source.
By contrast, Chrome for Android has been almost entirely open source since 2015. Before that, the Chromium open source project was focused mostly on the Chrome browser for desktops.
Years of Code Changes To Get Here
“Historically, the code for Chrome for iOS was kept separate from the rest of the Chromium project due to the additional complexity required for the platform,” Googler Rohit Rao wrote yesterday on the Chromium blog. “After years of careful refactoring, all of this code is rejoining Chromium and being moved into the open source repository.”
By open-sourcing the Chrome for iOS code, Google has made it possible for developers to compile that code just as easily as they can for other versions of Chrome. That will also help speed up development times for new applications built on the Chrome for iOS code. Rao noted that getting to this point has taken some time because of the fact that Chrome for iOS uses both the WebKit and Blink engines.
“That created some extra complexities which we wanted to avoid placing in the Chromium code base,” Rao said. “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.”
Browser Rendering Improvements
On Monday, Google also said that it had rolled out several changes to Chrome’s rendering pipeline over the past few months that are designed to help Web site images in the Chrome browser “load faster, run smoother, and use less power.”
Those changes mean Chrome “now more intelligently skips redundant tasks, chooses optimal rendering algorithms, and better utilizes system hardware,” Google painting professional Chris Harrelson said in a blog post.
The improvements to Chrome are designed to make it not just faster, but smarter, Harrelson noted. Previously, on a Web page with frequent Document Object Model changes, for example, Chrome would have redrawn any image tiles if some pixels had changed.
Now, Harrelson said, “If only a few pixels have changed, it’s faster to copy the entire tile from the previous frame and then update the new pixels. Chrome can now intelligently choose the redraw pipeline that will be faster, reducing tile redraw time by up to 40 [percent].”
The goal with Chrome’s rendering updates is to help Web site displays load at an optimal rate of 60 frames per second, which “feels fast and responsive to users,” Harrelson said, adding that additional improvements with that same goal are in the works. “The rendering pipeline is only one piece of the puzzle, and we’ve got a lot more coming,” he said.