Recent WebKit Features
Posted by Maciej Stachowiak on Saturday, August 12th, 2006 at 11:18 pmThere have been a lot of exciting new engine-level features that have been added to WebKit over the last few months, and not all of them have received their own blog entries. Since we featured some of these in Safari/WebKit WWDC presentations, now seems like a good time to mention some of the highlights of the cool new things you can find in WebKit nightlies:
- JavaScript getters and setters - pretty much the same as getters and setters in Mozilla.
- DOM class prototypes - now you can get direct access to the prototype objects for DOM classes, e.g. HTMLElement.prototype, to do the same kind of prototype hacking you can do in Mozilla.
- Undetectable document.all, for compatibility with web pages that use it without checking.
- Much improved support for HTML editing, including execCommand support for InsertOrderedList, InsertUnorderedList, Indent, Outdent, HiliteColor, RemoveFormat, FormatBlock, FindString, InsertHorizontalRule, InsertImage, InsertHTML, Unlink and CreateLink.
- Significant JavaScript speed improvements, adding up to 20-30% improvements on benchmarks such as the JavaScript iBench and the 24fun BenchJS.
- Significant DOM XPath support including some of the Mozilla and IE extensions.
- Mozilla’s XSLTProcessor extension.
- CSS3 Media Queries
- New CSS3 properties including resize, background-size, border-radius (now complete), overflow-x and overflow-y.
- Continued progress on styleable form controls - textarea and pop-up menu select (but not the list box kind) are now styleable.
This is just a sampling of some of the great new web content features that WebKit supports. If you would like to see these and more in action, try a nightly build or check out the code.
August 13th, 2006 at 12:43 am
Hurray! border-radius works for elements that have a border now. Unfortunately if the element’s dimensions are less than the border diameter it is completely ignored. I recommend proportionally decreasing the radius if the width and height match and unproportionally decreasing the size if they do not.
The new styleable controls are nice, please make the password boxes styleable too!
The javascript speed-up is awesome, on some tests more than a 20x improvement over Safari, which makes browsing javascript-intensive sites like digg much more bearable (try viewing the comments on a digg story with > 150 comments, it hangs for 15 seconds at times in Safari).
I look forward to these improvements in Safari 3.0, thanks for all the hard work!
August 13th, 2006 at 7:57 am
Is anything wrong with the nightly builds? Border-radius doesn’t work at all; it’s completely ignored.
August 13th, 2006 at 9:32 am
border-radius isn’t working for me as well (Just compiled from SVN)
So far, digg does see a bit faster, getters and setters rock, and i haven’t had a chance to try out the other stuff.
And the new style-able form controls, well now DeviantART has a odd login textbox (dark green text on a lighter green background), no idea if that was what they were aiming for though.
August 13th, 2006 at 10:02 am
[...]
Satunnainen Björklund 13.8.2006 Safari kehittyy Surfin’ Safari: Recent WebKit Features. Ennen ja jälkeen « Battlestar Galactica Xbox Livessä [...]
August 13th, 2006 at 1:28 pm
I really like what I see. How long does it usually take for Safari to pick up these improvements?
August 13th, 2006 at 3:17 pm
about border-radius not working, try using -webkit-border-radius
August 13th, 2006 at 7:49 pm
[...] edit Recent WebKit Features Posted by Jon Baer Mon, 14 Aug 2006 02:49:00 GMT Recent WebKit Features: ”There have been a lot of exciting new engine-level features that have been [...]
August 14th, 2006 at 7:51 am
InsertHTML for exeCommand — that’s interesting. Anything update about Range object? Are all new updates for OSX10.5?
Please release them to current OS.
August 15th, 2006 at 1:00 am
“significant” DOM Xpath support. What does it support?
If I use SafariGuide, an xpath query like “//dl/dt/following-sibling::dd” works fine, but in Safari nightly it does not.
Where can we find out what Safari will/does support in the nightlies? For a testcase, see http://bugzilla.opendarwin.org/show_bug.cgi?id=5576
August 15th, 2006 at 11:28 am
Does anyone have a guess or an idea of when these wysiwyg features will ship in Safari? Are we really going to have to wait for the Leopard version of OS X to come out?
August 15th, 2006 at 4:59 pm
[...] Aug15 Holy crap! The WebKit JS engine has matured by leaps and bounds since the last Safari release. I knew about XPath s [...]
August 15th, 2006 at 5:42 pm
[...] erge windows into tabs, and bookmark all your tabs Other anticipated Safari improvements are faster javascript (essential for reading digg), better DOM support and CSS3 support. Other than that, [...]
August 17th, 2006 at 8:37 pm
Is there a way that non-developers can contribute bug reports? There’s been a problem with Safari since day one that I hope can be fixed. If you take tablized data and copy it from Safari and past it, you get the contents of each sell in a row down the page with line breaks. This is bad. If you copy the same info from Opera, Firefox, or God forbid IE, you get the desired result: tab delimited data. This is important for those of us who copy data from a web application and paste it into a spreadsheet or text file. Try it yourself here: http://www.x-rates.com/
August 18th, 2006 at 9:49 pm
bbock, check out the reporting bugs link in the sidebar on the left.
August 21st, 2006 at 10:25 pm
Hot diggity for the getters and setters! Thanks so much for this, Webkit team!
August 29th, 2006 at 8:02 am
D’oh! Thanks for pointing out what should have been obvious. Sorry! Thanks for not biting.
September 11th, 2006 at 12:50 am
[...] Vielleicht erklärt dir das da warum das alles NOCH nicht mit dem normalen Safari geht!
__________________ Früher ko [...]
January 20th, 2007 at 3:41 pm
[...] 0.5 Leopard. Other enhancements to be included in the release with the coming OS include: JavaScript getters and setters, DOM class prototypes, New CSS3 properties including resize, background-size, border-radi [...]