February 4, 2013

Google Chrome Behind the Scenes

Google Chrome behind the scenes.

Google Chrome Flash Bug

A nice writeup by Ilya Grigorik on the Google Chrome architecture.

For example, how Chrome gets faster as you use it 
This feat is accomplished with the help of a singleton Predictor object, which is instantiated within the browser kernel process, and whose sole responsibility is to observe network patterns and to learn and anticipate likely user actions in the future. A few example signals processed by the Predictor include:
  • Users hovering their mouse over a link is a good indicator of a likely, upcoming navigation event, which Chrome can help accelerate by dispatching a speculative DNS lookup of the target hostname, as well as potentially starting the TCP handshake. By the time the user clicks, which takes ~200 ms on average, there is a good chance that we have already completed the DNS and TCP steps, allowing us to eliminate hundreds of milliseconds of extra latency for the navigation event.
  • Typing in the Omnibox (URL) bar triggers high-likelihood suggestions, which may similarly kick off a DNS lookup, TCP pre-connect, and can even pre-render the page in a hidden tab!
  • Each one of us has a list of favorite sites that we visit every day. Chrome can learn the subresources on these sites and speculatively pre-resolve and perhaps even pre-fetch them to accelerate the browsing experience. And the list goes on...

Chrome has held the title of the best browser for quite some time. But, recently, Chrome’s quality has been going down, perhaps due to adding more features. The latest is Chrome’s bad user experience with Flash. Instead of a nicely rendered webpage, now you see empty boxes (screenshot above) and Flash auto-enables itself.

Tags: google chrome architecture, google chrome networking architecture, google chrome details, google chrome details, google chrome flash bug, google chrome broken flash