Sunday 1 June 2008

Epiphany WebKit I.

Because Epiphany is my favourite browser I am interested a lot in it's switch to WebKit backend in next release (2.24). So I decided to give it a go a watch how it improves along the road. First let me say, that the WebKit-gtk package available in repos is way too old to test cool new stuff, second it's still not in a state to be used as primary browser.

So I rebuild the WebKit-gtk rpms quite regularly when new release of WebKit snapshot happens. If anyone is interested, I can upload it to my fedora people page... Also from time to time I rebuild a local copy of epiphany - it does not have so fast development like WebKit, but I also want to keep my epiphany with gecko backend working...

And why I decided to blog about it? There are several reasons:


  • To draw attention to WebKit and epiphany development

  • It's cool

  • Recently there were some radical improvements



So, what are the improvements I talk about? Mozilla plugins work now in WebKit as well which is cool. I can browse youtube videos without the need for gecko based browser with swfdec. It has one drawback though. Seems like epiphany keeps crashing when trying to load gcj web plugin, so I temporarily removed it, since I really don't need it ATM.

Another radical improvment (from user point of view) is fixed focus behaviour. Not so long ago, filling an entry on webpage, switching focus from web content to adress bar, creating new tabs or switching between tabs was sort of pain in the ass. Not any longer. Now it works just as expected.

Under the hood, they improved java script. People say it's about 4x faster than the older code and tests show that its also faster then Firefox's java script code. Kudos for that!

Last, but not least, I noticed that zoom function has been implemented. Finally, I can zoom text on pages (although, I don't use that function)...

And what are the currently most painful bugs/shortcomings of WebKit? For me it's those


  • Broken font fallback (when font is supposed to be from sans-serif family, CJK glyphs are not displayed)

  • Missing/Not working open in new window/tab actions

  • Missing mimetype handling (i.e. unable to directly download anything)

  • Missing features for ftp browsing (only some sort of unformated ls is showed)

  • Does not remember passwords/unable to login when page uses pop-up window for authentication



With that said, I think WebKit is really powerful backend and when the gtk port, together with new epiphany version, is finished it will be great competitor for firefox, which does not seem to fit well into linux (from every POV I try to look at it, it always seem like windows oriented app), in the *nix field... Aaah, cannot wait for the time when I would be finally able remove gecko from my Fedora :-D

I hope to post more or less regularly about the improvements in Ephy-WebKit, so stay in touch :-)

BTW: this post was written from epiphany using webkit backend ;-)

Oh, and I just noticed that I can manage my blog when using webkit while gecko always thinks I am signed out. Hillarious. :-D

9 comments:

Unknown said...

100% True

Firefox sucks.. and it always had.

Webkit shows what possible performancewise

Anonymous said...

"If anyone is interested, I can upload it to my fedora people page..."

Until I learn to build things myself, I would be interested in it. Maybe this is a good time for me to learn.

Landon

Martin said...

Ok, here are the packages:
http://mso.fedorapeople.org/packages/RPMS/i386/

I'll upload new version once in a while...

Peter Lemenkov said...

> Mozilla plugins work now in WebKit as well which is cool.

Amazing!

Anonymous said...

Agh... You will not be so easily escaping from the gecko trap.
Many many applications are using it for its html rendering, like:
evolution-rss (im my opinion they should use web-kit one day when it is ready, like its on Mail in OSX)
Miro (to render the Miro webpage as well to render the videos lists and the navigation bar)
Liferea - to render the feed text and the web pages internally
The list probably goes on and on, its just some of the apps using the gecko rendering.
So, do you think the developers, who have invested so much time making the software working with the gecko back-end will spend even more time to make it work with TWO back-ends?
I don't think so... which is sad:)
Still I think gecko is not that bad, it's just firefox with its non-native interface (let's say now they draw the buttons and text entries natively, still the menus are NOT drawn as the GTK theme requires. let alone they are not really GTK widgets and cannot be really controlled that way, for example they can never work with the mac menu patched GTK) which alienates the users.
At least that's what I think.
And one of the things I would really really like to see implemented in epiphany is greasemonkey. Should the webkit support something similar?
Flash blocker would also be nice:)

Martin said...

True, but IIRC evolution is planning to switch to WebKit in the future as well, liferea already has WebKit experimental support and other gnome apps will imho follow. WebKit-gtk is IIRC an approved external dependency for gnome and having regular 6 months release schedule and more stable api than gecko, I can guess that there are more pros than cons for switching to webkit in gnome applications. The only question is when ;-)

As far as greasmonkey or flash-blocker goes, we need to wait until new epiphany is stabilised enough, so that people can port/write new epiphany extensions...

Anonymous said...

Martin, Thank you for the package.

Anonymous said...

Martin, thank you for the package.

am2605 said...

Hi Martin,

Nice post. I am interested in building epiphany myself also. Are you able to perhaps give some details about what you did to build it (ie. how you removed the gcj plugin?)

Andrew