Hacker News new | ask | show | jobs
by travisjeffery 5087 days ago
> Google Chrome is nothing more than a UIWebView skin on iOS

Mobile Chrome's networking stack is the same as Desktop Chrome, providing SPDY, prefetching, etc.

2 comments

"Chrome for iOS has some pretty major technical restrictions imposed by the App Store, such as the requirement to use the built-in UIWebView for rendering, no V8, and a single-process model. As a result it’s been challenging to re-use critical Chromium infrastructure components.

That said, there is a lot of code we do leverage, such as the network layer, the sync and bookmarks infrastructure, omnibox, metrics and crash reporting, and a growing portion of content."

https://groups.google.com/a/chromium.org/forum/?fromgroups#!...

Just wanted to say, great job on the Chrome app.

Only 2 things I don't like about it:

1) Getting at bookmarks requires too many clicks.

2) Sometimes my bookmarks get rearranged on the desktop after I use them in iOS.

Otherwise, great job. Syncing my browser history/bookmarks/passwords is great. And it feels more snappy than Safari, which I didn't think was even technically possible.

Yes, great job. Besides the fast networking part it also feels snappy because of the page snapshot feature. It is also a cool feedback to see reduced colors, when the content has not refreshed yet.
How would you handle the UIWebView networking yourself? THe UIWebView is really opaque, doing everything by itself.

I guess you could download the HTML externally and get it into the view through loadHTMLString:baseURL: , but that would still make the UIWebView load all images etc.

You can replace the global NSURLCache with a custom implementation, and trap all the connections in there. We use it to replace online resources with resources we've prepackaged in the bundle when possible.
You can register a NSURLProtocol to handle networking requests for UIWebView. Some applications use this to provide transparently decrypted local files to a UIWebView.