Ostatnie miesiące przyniosły miłośnikom KDE wiele niespodzianek zarówno w CVS KDE jak i Mozilli. O tym, że powstaje Gecko oparte na Qt wie już cały świat, ale mało kto słyszał, że zupełnie w ukryciu i bez rozgłosu rodzi się wersja Firefoksa korzystająca z biblioteki Qt.
CVS KDE nie pozostaje w tyle i przynosi nam setki poprawek w Konquerorze od poprawek w obsłudze JavaScriptu, do implementacji niektórych klas CSS3.

Historia dawnej miłości

Romans Qt/KDE z Mozillą ma długą historię. Już KDE 2.0 wspierało wykorzystywanie silnika Gecko w Konquerorze. Od początku był to jednak bardziej proof-of-concept dla technologii xparts, niż jakaś realna alternatywa. Oczywiście działała, ale jej utrzymywanie było koszmarne. W końcu podczas zmian między KDE2 a KDE3 wprowadzono niekompatybilną zmianę w DCOP, która zepsuła xparts i już nikt wtedy nie miał chęci do poprawiania KMozilli, jednak myśl o Gecko w Konquerorze co jakiś czas powracała.
Konieczność wrócenia do mariażu Gecko z KDE pojawiła się, gdy światło dzienne ujrzał Gmail, który nie działał w Konquerorze (co poprawiono dopiero w KDE 3.3.1). Gmail stał się realnym problemem. który dotykał całego zespołu KDE, w którym owa usługa poczty stała się bardzo popularna. Jak się okazało potrzeba matką wynalazków.
Problem poruszono na corocznym zlocie twórców KDE, gdzie w ciągu paru godzin Zack Rusin (KDE) wraz z Larsem Knollem (Trolltech) przenieśli Gecko na Qt. W parę tygodni później projekt trafił do bugzilli Mozilli, a Zack otrzymał rw:

W ostatnich dniach Zack Rusin umieścił w repozytorium KDE wstępną wersję KMozilli. Można ją znaleźć w kdenonbeta/kmozilla. Do skompilowania potrzeba libqgeckoembed.so z CVS-u Mozilli, żeby ta biblioteka została zainstalowana, należy zamiast browser, jako cel budowania należy podać suite. Przypominamy, że jest to wciąż wersja pre-alfa i nadal nie jest skończona. Zrzuty kde.co.uk, 7thguard.net W każdym razie jak na dzień po pierwszym commicie, wynik nie jest najgorszy.

Lis i troll dwa bratanki

Od GFX na Qt już krótka droga do Firefoksa na Qt i tak też się stało. Po pierwszych testach zauważamy ewidentne problemy z odświeżaniem interfejsu graficznego oraz pozycjonowaniem elementów strony w Gecko. W implementacji GFX na Qt występuje również blokowanie i odblokowywanie elementów GUI co akcję, trwa to szalenie wolno i jest denerwujące (nigdy nie wiadomo, czy właściwie już się odblokowało czy nie). Nie da się tego niestety przedstawić na zrzucie ekranu.
Da się natomiast przedstawić błędy w renderowaniu stron: brakujące elementy na stronie International Herald Tribune, rozstrzelony tekst w menu na głównej stronie Firefoksa.
Także okno konfiguracji jest przeniesione na Qt (zrzut), ale niestety nie reaguje na żadne działania ze strony użytkownika. Z dodatków mamy też: menedżer tematów, edytor zakładek, podgląd źródła strony, menedżer ściągania plików, mechanizm pobierania uaktualnień oraz obsługę certyfikatów SSL
Jak widać na załączonych obrazkach, Firefox Qt ma także ogromne problemy z przystosowaniem do rozmiaru okna, do tego dochodzi fakt, że tworzenie i menedżer profili jeszcze nie działa, więc trzeba mieć jeden profil i tylko jeden, stworzony pod Firefoksem na gtk.
Nie zapominajmy jednak, że jak na projekt dopiero co stworzony, osiągnięcia są imponujące, choć bardziej to dziś proof-of-concept niż reealna przeglądarka, wszak Qt w Firefoksie ma być oficjalnie wspierane dopiero od wersji 2.0, a do niej jeszcze czas. W każdym razie szybkość powstania Firefoksa na Qt pozwala mieć nadzieję na jego równie dynamiczny rozwój.
Chętnych do testowania owej wersji Firefoksa na Qt zapraszamy:

Kommand and Konquer

Między Konquerorem w KDE 3.3.1, a tym z 3.3.2, mamy różnicę mniej więcej taką, jaka jest między IE4 na Windows, a IE5 na MacOS. Jest tak dzięki temu, że wiele zmian z Konquerora w wersji 3.3.89 (linia KDE 3.4.0, wersja alpha ukaże się w ciągu nie więcej niż dwóch tygodni) zostało przeniesionych do wersji stabilnej KDE. Wymienię tylko najważniejsze zmiany z linii 3.4.0:

poprawki w obsłudze CSS2
  • wsparcie dla position: absolute/relative dla body, poprawki w obliczaniu pozycjonowania przy position: static
  • wsparcie dla page-break i z-order w listach i polach tekstowych
  • poprawki w obsłudze display: compact, visibility: hidden
  • naprawienie błędów w obliczaniu min,max-height, marginesów dla H1-H6
  • definicje rozmiaru czcionek dostosowane do CSS 2.1, a w trybie identyfikacji jako IE, do IE (błąd 91228)

  • wsparcie dla pseudo klasy :lang,
  • wsparcie dla hiragany, katakany, alfabetu armeńskiego, gruzińskiego, liczb arabskich oraz perskich oraz obsługa decimal-leading-zero w listach, a także bonus, implementacja z CSS3 własności: -khtml-arabic-indic, -khtml-persian, -khtml-upper-greek, -khtml-diamond
  • ignorowanie position: relative wewnątrz tabel (nie definiowane przez CSS2.1 ale w ten sposób obsługiwane przez wszystkie przeglądarki)
  • obsługa text-shadow z Safari
  • wsparcie dla klasy :target
obsługa CSS3
  • obsługa elementu box-sizing tak by odpowiadała wersji z Opery/Mozilli
  • obsługa selektora '~’
  • obsługa pseudo klas: :nth-child, :nth-last-child and :first-of-type, :last-of-type, :only-of-type, :nth-of-type, :checked, :indeterminate, :value, :contains, :nth-last-of-type,
poprawki strukturalne
  • ulepszona obsługa bidi i poprawki w renderowaniu tabel uzyskane głównie dzięki wprowadzaniu zmian z Safari Webcore wersja /125 i /146
  • unikanie ponownego rysowania całości strony przed zakończeniem pierwszego ładowania
  • na dniach zostanie dodany incremental repaint, tzn. częściowe przerysowywanie niektórych elementów strony, których zmiany są sygnalizowane, zamiast jak to dzisiaj ma miejsce, przerysowywania całości, co jest przyczyną spowalniania m.in. strony radia tokfm i z pewnością wpłynie pozytywnie na szybkość działania JavaScriptu w Konquerorze
  • asynchroniczne ładowanie danych z kwallet, co sprawi, że w końcu dane to autouzupełnień formularzy i hasła będą dostępne od razu po ich użyciu w formularzu a nie dopiero po restarcie kwallet
  • możliwość limitowania liczby cookies z danego adresu, użyteczne np. przy serwisach floodujących ciasteczkami
  • unikanie znaków nie do zakodowania w kodowaniu strony poprzez dodanie ich z ampersandu
  • zmiana wartości nagłówka Accept przy odbieraniu od serwera obrazków; z listy wszystkich wspieranych przez kimagepart typów MIME na png/JPEG/MNG/gif (o dziwo poprawia wiele stron)
  • nowy algorytm wykrywania typu dokumentu, gdy nie jest zadeklarowany, znacznie ulepszona wersja algorytmu z Safari
  • ulepszony algorytm wykrywania kodowania strony gdy nie zostało zadeklarowane, wzięty z Safari
JavaScript, wtyczki netscape i poprawki dla rozmaitych stron internetowych
  • dostęp do interfejsu liveconnect spod apletów Javy
  • wsparcie dla tworzenia obiektów TextEvent via JavaScript
  • poprawiono obsługę gmail.com, globeandmail.com, conit.com, www.riibe.com,
  • wsparcie dla lat wykraczających poza granicę kalendarza gregoriańskie w funkcjach JS dotyczących dat
  • wprowadzenie klasy TokenizerString z Safari dający 40% przyspieszenie na stronach obładowanych JS, np. internetowych forach

Archiwalny news dodany przez użytkownika: djurban.
Kliknij tutaj by zobaczyć archiwalne komentarze.

Share →