2008-09-02:

Google Chrome - pierwsze wrażenie

chrome:easy
Coś dzisiaj szał na pisania o nowo-wydanej przeglądarce Google, więc i ja coś napiszę, a co ;>

Jak można było się spodziewać po Google, nowa przeglądarka ma dużo mniej przycisków niż jej starsze rodzeństwo, czyli Mozilla Firefox i Apple Safari (na których Chrome częściowo bazuje) - ot takie odwieczne Googlowe Keep It Simple.
Co rzuciło mi się od razu w oczy, to pełna integracja GUI z Aero, co wygląda całkiem nieźle. Druga rzecz która rzuca się w oczy, to ilość procesów "chrome.exe" w taskmgr - każda strona to jeden nowy proces + jeden dodatkowy proces na GUI, jest to moim zdaniem całkiem niezły pomysł - zmniejsza to prawdopodobieństwo wysadzenia całego Chrome przez jedną głupią stronę. Wracając do GUI, bardzo pozytywnie zaskoczyła mnie jego płynność oraz szybkość działania - mam całkiem niezłego kompa, ale Firefox nigdy nie chodził mi tak płynnie jak Chrome, ot kolejna zaleta podziału na procesy (ale to zasługa nie tylko podziału na procesy ofc).

Po pierwszym rzucie oka przyszedł czas na drugi rzut. Na początek wrzuciłem w Chrome bardzo prosty, ale i wielce irytujący javascript, który w nieskończonej pętli wyświetla alerty - jest to niestety bardzo skuteczny i bardzo stary atak na Firefoxa, którego po prostu trzeba skillować, bo inaczej tej pętli opuścić się nie uda. Ku mojemu zaskoczeniu Chrome poradził sobie śpiewająco - do drugiego alertu dodał checkboxa z pytaniem czy chce aby alerty na tej witrynie się jeszcze pojawiały. Nie chciałem, i się nie pojawiły, super.

Drugi test, po chwili buszowania po Chrome, polegał na wrzuceniu w iframe'a jakiejś wewnętrznej stronki - w moim wypadku było to view-source:http://gynvael.coldwind.pl. W iframe oczywiście nic się nie pojawiło, w Inspektorze (PPM, Zbadaj element - coś jak Firebug) również nie, natomiast ku mojemu zaskoczeniu po kliknięciu ALT+LPM na linku w inspektorze (co sam inspektor mi zasugerował) Chrome wyleciał w kosmos, i to nie tylko jeden proces, a wszystkie. Dodatkowo wyświetlił zabawny komunikat (patrz screen po prawej). Cóż, widać tej niegroźnej ścieżki devowie nie przetestowali, natomiast może to również powiedzieć coś na temat stabilności całości. Dla sprawiedliwości dodam ze przy normalnej pracy Chrome mi się ani razu nie zawiesił.

Idąc dalej z testami, postanowiłem odpalić Chrome z prawami innego usera (runas.exe /user:chromeuser) i zobaczyć czy ta cała wieloprocesowość się przy tym nie pomiesza (oczywiście user chromeuser miał zainstalowanego Chrome oddzielnie - ta potrzeba wynika z bardzo dziwnego miejsca instalacji Chrome; swoją drogą dlaczego Google wybiera za mnie ścieżkę instalacji na bądź co bądź moim kompie?). Niestety nie udało się stwierdzić czy wieloprocesowość się pomieszała czy nie, bo Chrome mimo kilkukrotnych testów nie chciał oprócz GUI pokazać niczego, nawet about:version (dodam że Firefox nie miał żadnych problemów z działaniem z tego usera).

Skoro już o about:version wspomniałem, kilka ciekawych about'ów Chrome ma. O dziwo nie doszukałem się żadnego about:config (może kiepsko szukałem?), natomiast znalazłem następujące (w chromium\src\chrome\browser\browser_about_handler.cc) about'y:

about:cache - po prostu lista cache'owanych plików/stron
about:dns - informacje i statystyki dotyczące DNSów
about:histograms - no idea, jakieś histogramy
about:objects - a to pokazuje pustą kartkę, mimo iż w źródle i binarce występuje
about:memory - bardzo fajne statystyki dotyczące pamięci poszczególnych tabów oraz wszystkich (sic!) odpalonych w danym momencie przeglądarek webowych
about:plugins - jak nazwa wskazuje, info o pluginach
about:stats - kolejne statystyki, i zabawny komunikat "Shhh! This page is secret!"
about:version - nietrudno się domyślić

Ale nie ma about:config. Ogólnie opcji konfiguracyjnych jest jakoś mało. Po za tym bardzo mi się nie podoba że Chrome korzysta z Windowsowych ustawień Proxy. Osobiście bym wolał żeby jednak pozwolił wprowadzić własne ustawienia, tak jak ma np. Firefox - utrudnia to na przykład skorzystanie z proxy Socks4 (czyli ze zwykłego dynamicznego tunelu SSH).

Z ciekawostek, dodam że np. w about:memory w podręcznym menu (PPM) "Wyświetl źródło strony" jest wyszarzone, ale Ctrl+U działa całkiem dobrze ;>

Dodam jeszcze tylko że nigdzie nie udało mi się znaleźć opcji do zapisania obecnie przeglądanej strony, cóż, dobrze że chociaż drukowanie jest. Update: OK nvm, deus mi pokazał gdzie to jest (PPM, Zapisz jako).

Podsumowując, pierwsze wrażenie jest raczej pozytywne - ładne, proste, szybko działa. Natomiast jak na mój geekowy gust, ma stanowczo za mało przycisków i opcji konfiguracyjnych ;>
Narazie nie planuje przesiadki z Firefoxa. Może kiedyś.

Update: Widziałem że na liście FD Rishi Narang aka psy.echo doszedł do tego jak wykszaczyć całego Chrome bez interakcji usera. Hehe na FD oczywiście rozgorzała dyskusja czy warto zgłaszać vulny w czymś co jest beta ;>, ale abstrahując nawet od tej dyskusji, jest to po prostu ciekawe.

Comments:

2008-09-06 07:45:43 = d0minikk
{
Jeszcze dwa ciekawe about'y po których przeglądarka się zawiesi ;>

about:hang

about:%

}
2008-09-06 10:24:36 = Gynvael Coldwind
{
O % już pisałem w update ;>

Natomiast co do hang, to fakt faktem mignęło mi to w kodzie. Anyway, w kodzie są 3 takie abouty:

about:shorthang
about:hang
about:crash

Ciekawe ;>
}

Add a comment:

Nick:
URL (optional):
Math captcha: 5 ∗ 2 + 1 =