Surfin' Safari

Back to Basics

Posted by Adele Peterson on Monday, April 9th, 2007 at 6:30 pm

I’ve noticed that there’s been a little bit of confusion out there about WebKit. As new people come over to check out the WebKit nightly builds, it may not be exactly clear what they’re getting. So I wanted to write a quick post to clear a few things up.

A common misconception is that WebKit is another web browser, but it’s not a browser. WebKit is a browser engine. Safari is a browser which uses that engine.

So what do you get when you download a WebKit nightly build?

You get WebKit.app, a wrapper application around a shiny new copy of the WebKit OS X framework for Tiger. When you run WebKit.app, you’re actually running the shipping version of Safari with the latest version of the WebKit framework. Nothing on your system gets replaced, and you can download and run as many nightly builds as you’d like.

If you’ve downloaded a WebKit nightly, and you’re wondering whether a feature is a part of WebKit or a part of Safari, an easy way to look at it is this:


WebKit begins where the chrome ends.

Examples:
Safari features- URL field, Tabs, Bookmarks, Find
WebKit features – Anything in the webpage itself (frames, form controls, kick-ass CSS3 features, blazing page load speeds)

I hope this helps to clear things up.

If you have any questions, browse around the site and the wiki to get more information, or hop on over to our IRC channel to say hi.

28 Responses to “Back to Basics”

  1. Richard Parker Says:

    Is Content-Disposition handling/parsing part of WebKit or Safari? Or perhaps both (i.e. content-disposition encountered during form submission (file upload) handled by WebKit, but content-disposition during download handled by Safari)?

  2. adele Says:

    WebKit handles all of that… although there are delegate methods that WebKit apps, like Safari, can use to override some of the default behavior in WebKit.

  3. Stuart Langridge Says:

    Something that would be really massively enormously handy would be a document somewhere describing which versions of WebKit went into each shipped version of Safari, so people (like, say, me) who are getting and building a WebKit browser in order to test against Safari without having a Mac can know which revision to check out. I’ve just downloaded and built (and documented (!)) the latest WebKit on Linux to do precisely that, but have since been informed that SVN WebKit is a pretty long way ahead of where shipped versions of Safari are. Now, that’s not surprising, and it’s a good thing, but I don’t know how to find out which revision of WebKit shipped in Tiger, Panther, etc. Downloadable tarballs of those versions might be even nicer :-)

  4. maciej Says:

    @Stuart Langridge:

    http://developer.apple.com/internet/safari/uamatrix.html

  5. gelosilente Says:

    can i replace the tiger webkit framework with the one shipped with nightly builds?

  6. Mark Rowe Says:

    @gelosilente:
    You should *never* replace any frameworks in /System/Library/Frameworks with updated versions, and this includes the WebKit frameworks. The contents of /System is for Apple-provided software only, and should not be messed with. Doing so can easily break your system in unexpected ways.

    @Stuart Langridge:
    The Linux ports of WebKit are all based on “trunk” and were created some time after the various versions of WebKit used in Safari 2.0 releases. It is not possible to build, for example, a Qt build corresponding to the latest WebKit on 10.4.9 as the Qt port did not exist at that point in time in the codebase that the released version of WebKit uses.

  7. Stuart Langridge Says:

    Mark Rowe: is the Qt port tied closely enough into the renderer that it’s not easy to build a Qt version of older WebKits? I figured that the Qt stuff was just a wrapper for a WebCore widget, and the widget did its own rendering. I take it that that’s not the case, then/

  8. David Smith Says:

    @Stuart:
    A fairly significant amount of code in trunk has been rewritten from ObjC++ in WebKit to C++ in WebCore to aid in porting.

  9. yoavcs Says:

    Not entirely related, but since the name Web Kit was brought up here, then maybe the devs can once and for all answer the question:

    Is is “Web Kit” (with a space, like most of Apple’s frameworks), or “WebKit” with no space, and if so, why?

    Thanks,

  10. pauldwaite Says:

    So: Web Kit is to Safari as Gecko is to (e.g.) Firefox?

    And as Trident is to Internet Explorer?

    Presto to Opera?

    (Tasman was to Mac IE 5?)

  11. huxley Says:

    Is is “Web Kit” (with a space, like most of Apple’s frameworks), or “WebKit” with no space, and if so, why?

    It’s WebKit with no space. I believe it’s a throwback to the NEXTSTEP days when many of the OOP frameworks (or toolkits) had -Kit added camelcase to the name: DBKit, DriverKit, AppKit, 3DKit, IndexingKit, PhoneKit.

    I’m pretty sure that Kit being used without camelcasing is a post-merger thing, the only two examples off the top of my head are PDF Kit and I/O Kit, both of which are initialisms.

  12. maciej Says:

    @yoavcs

    Just as you can say AppKit informally or “The Application Kit” more formally, for the system framework you can say “WebKit” informally or “The Web Kit” more formally. For the open source project in general, we always use the short version.

    @pauldwaite

    That’s exactly right. Except for the space. ;-)

  13. Jeby Says:

    I Love WebKit… is there a web badge to show my love for WebKit? :D

    I have only one problem: most of Safari plugin doesn’t work, or doesn’t work at all. For example i need find as you type, flash block, ad block etc… and the Safari Stand sidebar!!

  14. Jeby Says:

    how can i add a custom css to only one site? I need SafariStand. And SafariStand works, but not the site alteration!

  15. Pingback from /home/liquidat Running WebKit on Linux «:

    [...] ffects in KDE 4, btw. Speaking about KDE 4, I would like to point out something: WebKit is not a browser – that is important if you want to understand what all the fuzz is about. It is an engin [...]

  16. Particle Man Says:

    I have literally downloaded my first copy of WebKit and have to say based just on the speed of opening and the ability to view svg sites I am impressed.

    What would be great would be a ‘Show Off’ page. i.e. a page that you could direct people to who have downloaded the WebKit to show off the amazing CSS3 and SVG possibly. Something that could show what the future of web design might be.

  17. Pingback from Fun With WebKit | Ghosts Of My Life Productions:

    [...] ped you other Macoids as well. But WebKit nightlys are available for download which offer a Safari experience with a gold-embossed icon. Faster, more responsive, and: not crashy. It’s [...]

  18. Pingback from Nightly Webkit Safari builds « Seize the Moment of Excited Curiosity for the Acquisition of Knowledge:

    [...] , but it only gets pushed into official Safari releases very infrequently. This blog entry explains about nightly builds, while the actual depot for the nightly disk images is here. If you want [...]

  19. Pingback from Neuer Webeditor verfgbar: Coda - Seite 6 - Apfeltalk:

    [...] enen Safari an beliebigen Ort installiert. Der so genannt Nightly Build von WebKit lsst bestehende Installationen unberhrt und bietet spannende Ausblicke auf CSS3 und andere [...]

  20. driftkop Says:

    The Search Google contextual menu is disabled in WebKit, but not in the regular Safari. How can I re-enable it?

  21. Pingback from Webkit the better Safari » Pictures and Code:

    [...] ’s settings, just because it loads Safari just with another rendering engine. In the Webkit blog they try to solve the confusions about Webkit really is So what to do now without Safarib [...]

  22. hedrick Says:

    I’m responsible for implementing Sakai, an open-source course management system at Rutgers. We can’t fully support the macintosh because of a combination of problems with Safari and support for Firefox. Sakai uses FCK. FCK doesn’t work with Safari. We can tell people to use Firefox, but Firefox doesn’t work with Java, and we use Java for equation editing. (Specifically, we use WebEQ.) Of course Firefox claims to support Java, but the MRJ hack is just too unstable for real use.

    We need both problems fixed: whatever things FCK and other web editors need to work in Safari, and whatever work needs to be done with Apple’s Java so that Firefox and other browsers can have reliable Java support.

    At this point we have to tell users that the Mac is not a fully supported OS, even though all the staff in my area have Macs and prefer Mac OS to Windows.

  23. Mark Rowe Says:

    hedrick, I would strongly recommend that you file bug reports with Apple . Making them aware via official channels of the specific compatibility problems you are seeing will lead to them being addressed.

    It’s worth pointing out that many of the web-based rich text editors work to a good extent in nightly builds of WebKit. It may be worth evaluating how well the nightly builds support your use as a guide for what you may see in future Safari releases, and filing specific bug reports about areas in which you would like to see improvement.

  24. CW Says:

    Excuse a complete novice (and an old one) at this, but …

    Got into WebKit because it solved a prob of Safari crashing within Yahoo! Answers following an update to their site and/or possibly installing the latest PPC security update to OS X, although I discount the latter, as the problem exhibited on my iMac G5, which had been updated, and an my MacBook Pro Intel, which hadn’t been updated, at the same time.

    WebKit solved the problem, but introduced some others, such as WebKit crashing on launch with a Style Sheet selected, clicking on a link in Mail apparently launching an iteration of Safari, and some links not acting like links, etc. I’ve looked through the Bug reports, and found workarounds for those probs, but darned if I can figure out if I should file a bug report on them or not, and I don’t know that I have time to get into that, even if I should.

    But, the most disconcerting thing is, from my viewpoint I’m running Safari, but, evidently, from my Mac’s and other app’s viewpoint, I’m running WebKit. I use a Kensington Expert Mouse, and I’ve had to duplicate Safari’s setup into a “Webkit” setup, in its preferences, to get it to work the way I want it to in what certainly looks like Safari to me. It says it’s Safari right up there in the Menu Bar.

    I’m sure there’s good reason for it, but to a novice it looks like the cart is before the horse.

    I feel like I’m in way over my head. Is there some FAQ, discussion, or forum for these kinds of questions, or is this blog the place?

  25. David Smith Says:

    CW:

    WebKit (the application) is a bit of a sneaky application. It actually starts up Safari, but substitutes a fresh copy of the WebKit (the framework) instead of the system one.

    Really though, feel free to stop by irc and ask questions. It’s one of the nicer channels I’ve been in.

  26. C W Says:

    > feel free to stop by irc and ask questions

    Tried, but, clicking on the “IRC channel” link, above, gets the following error:

    “Safari can’t open “irc://irc.freenode.org/#webkit” because Mac OS X doesn’t recognize Internet addresses starting with “irc:”.”

    &, isn’t IRC a “chat” medium with no online accessible history?

    Are you saying there is no menu bar “Help”, no FAQ, no discussion, no forum, no documentation, other than bug reporting, which is daunting to say the least, readily accessible to the “newbie”, to aid in understanding and running WebKit? IOW, the readily accessible knowledge base here is zero?

    If that’s the case, there’s little wonder why I was able to solve the initial problem with Camino, in about 1/10th the time & effort doing the same with WebKit took. And, little wonder so many are using Camino rather than WebKit.

    C W

  27. Pingback from The Macalope » Blog Archive » Pre-Keynote Rumor Roundup:

    [...] a browser? Seems to the horny one that most of the hot action in the browser goes on in WebKit, not Safari. Meanwhile, Firefox has already established itself as the “not IE” browser for Windows [...]

  28. Pingback from Pre-Keynote Rumor Roundup:

    [...] a browser? Seems to the horny one that most of the hot action in the browser goes on in WebKit, not Safari. Meanwhile, Firefox has already established itself as the “not IE” browser for Windows [...]