2008-09-02:

Google Chrome - first impression

chrome:easy
Today's the day that almost everyone writes about the newly released Google web browser. Guess I'll write something too ;>

As one could expect from Google, the new browser has fewer buttons then it's older siblings - Mozilla Firefox and Apple Safari (on which Chrome is partly based) - it's the everlasting Google's Keep It Simple strategy.
The first thing that drew my attention, was the full GUI integration with Aero, which looks pretty good. The second thing was the number of processes called "chrome.exe" in the taskmgr - each website has it's own process, plus there is another one for the GUI. In my opionion, this is a rather good idea - it decreases the probability of Chrome getting blown up by one single stupid site. Back to the GUI, I was pleasantly surprised with how smoothly and fast it worked - I have a decent PC, but Firefox was never so smooth as Chrome is.. yet another advantage of the process separation (but not only process separation of course).

After the first sight, there came time for the second one. At first, I put a very simple, yet deadly for some browsers (Firefox) javascript, that displayed alerts in an infinite loop - it's an old but still working attack on Firefox - one has to kill the browser to get out of the loop. But with a surprise, I found out that Chrome did pretty well - it added a checkbox to the second alert, with a question about displaying the next alerts on this site. I didn't want it to display them, and it didn't. Good.

The second test, after looking around in Chrome for a while, consisted of throwing some internal address into iframe - in my case it was the view-source:http://gynvael.coldwind.pl. Nothing showed up in the iframe, as expected. So I've checked the Inspector (RMB, Inspect Element - it's something like Firebug), and nothing showed up here either, but to my surprise, when I clicked ALT+LPM on the link in the inspector (it suggested me to do it itself), the Chrome came down with a full scale crash - all the processes stopped working, and additionally a funny error message came up (unfortunately, the screenshot on the right is in Polish; the error message is something like "Oh my gosh! Google Chrome crashed! Run again?"). Well, I guess this path the devs didn't check, and I think it can say something about the stability. However to be honest I must say that during normal work Chrome hasn't crashed even once.

Continuing with the tests, I tried running Chrome within the context of a different user (runas.exe /user:chromeuser) and see if that whole multiprocess thing won't go bananas (of course the chromeuser had Chrome installed independently - it is required due to the Chrome strange installation path; btw, how come Google revokes me of the right to choose where apps are installed on my PC?). However, I couldn't check the if it went bananas, because Chrome wouldn't show anything (any page) except the GUI, even about:version (I'll add that Firefox didn't have any problems running on that user).

Speaking about "about", I've found a few interesting abouts in Chrome. Even if I didn't find about:config (maybe I didn't search enough?), I found a few others (in chromium\src\chrome\browser\browser_about_handler.cc):

about:cache - a list of cached files/sites
about:dns - information and statistics regarding DNS
about:histograms - some histograms, beats me
about:objects - a blank page (it's supported in the sources and binary.. what gives?)
about:memory - very cool statistics about the memory usage by each tab, and all (sic!) currently running browsers on the system
about:plugins - like the name says, plugin info
about:stats - some more statistics with a funny message "Shhh! This page is secret!"
about:version - easy to figure out what this is ;>

But there is no about:config. Well all in all there aren't to many configuration options. And I can't say I like that Chrome uses Windows proxy settings. I would prefer it to have it's own setting, just like Firefox has - the lack of these settings make using Socks4 harder (and socks4 is the standard dynamic SSH tunnel).

Another interesting thing - in about:memory in the popup menu (RMB) "Show source" is disabled, but Ctrl+U works just fine ;>

Hmm, and I couldn't find the option to save the current page. A good thing is that there is an option to print the current page. Update: OK nvm, deus showed me where it is (RMB, Save as...).

Summing up, the first impression is rather positive - it's pretty, fast, and simple. However as far as my geekness goes, I think there are to little buttons and configuration options ;>
Currently I'm not planing to move from Firefox to Chrome. But maybe someday ;>

Update: I've just saw on the FD list that Rishi Narang aka psy.echo discovered how to crash Chrome without user interaction. Of course this started an argument on FD whether vulns in Beta apps should be reported (please note that everything is beta in Google), but regardless of this, I think that that bug is just interesting.

Add a comment:

Nick:
URL (optional):
Math captcha: 7 ∗ 1 + 10 =