Out-of-process rendering was one of Chrome’s earliest innovations, and we’ve always wanted to bring its benefits to our iOS users. Unfortunately UIWebView, the component used to render web pages on iOS, is in-process, so that’s never been possible before. The introduction of WKWebView in iOS 8 gave us that opportunity, though migrating to the new framework brought significant challenges. In Chrome 48 we’ve made the switch from UIWebView to WKWebView, leading to dramatic improvements in stability, speed, responsiveness, and web compatibility.
The biggest change is in stability: with WKWebView’s out-of-process rendering, when the web view crashes or runs out of memory, it won’t bring down all of Chrome with it. As a result, Chrome crashes 70% less with WKWebView. Even when counting the “Aw, Snap!” page shown when the renderer crashes, there’s still a big improvement.
Outside of stability, WKWebView brings many other benefits. Web compatibility is improved with support for features like IndexedDB, bringing the HTML5test score for Chrome on iOS from 391 up to 409. Switching to background tabs will cause pages to reload 25% less often. JavaScript speed on benchmarks such as Octane is an order of magnitude faster, and scrolling is smoother and more responsive.
The Chrome team is committed to improving stability and performance. We hope that you enjoy these changes and we are working hard on further improving your browsing experience on iOS.
Posted by Stuart Morgan, Software Engineer and Migratory WebView Watcher