WebKit Fixes in Safari 2.0.1

Many of you have asked for the list of WebKit bugs fixed in Safari 2.0.1.

First the disclaimers: This list does not include any changes to Safari the app, only to the open source components (WebKit/WebCore/JavaScriptCore). Also, it only includes the changes made from the 10.4.2 software update to the Safari 2.0.1 update, not any earlier fixes. And finally, we don’t necessarily promise to do this for future updates, but we might.

And here’s the list:

  • Fixed a bug where form submissions from a page with an XSLT stylesheet would get submitted to the next page you navigate to.
  • Added support for document.elementFromPoint DOM extension from IE.
  • Added support for focus and blur methods on <button> elements.
  • Fixed a bug where <select> elements sometimes would not update their size
  • Include unconfirmed inline text input (when typing Japanese for instance) when submitting a <textarea>.
  • Implemented window.showModalDialog extension from IE.
  • Support both colons and equal signs as separators for showModalDialog parameters.
  • Fix outerHTML to work on <img> elements.
  • Fix window.opener to work in windows opened via targetted links rather than window.open.
  • Fixed a bug where using an accesskey on a <button> element would cause a crash.
  • Fixed crash when clicking more than once on a particular like on the quirksmode.org innerHTML test page.
  • Added support for loading external scripts and executing inline scripts by dynamically adding <script> elements to the DOM.
  • Fixed bug where WebKit would change ” to ‘/’ in the query part of a URL.
  • Fixed bug with painting of background images when negative coordinates are included in the background-position.
  • Made return key on a checkbox submit the form instead of toggling the checkbox.
  • Made sure that remote Web Archive files are downloaded instead of displayed inline to plug a security hole.
  • Applied standard security policy to links embedded in RTF files.
  • Applied standard security policy to links embedded in PDF files.
  • Fixed a parsing problem with <script> tags that use XML-style self-closing syntax but are also followed by a close tag.
  • Fixed a bug where WebKit would mistakenly trigger a full reload when following a link in some cases.
  • Fixed a crash when calling setAttribute on elements that were removed from the document.
  • Made non-ASCII characters work in XHTML titles.
  • Fixed list-style CSS property (accidentally broke, causing problems on alistapart.com and many other sites.
  • Implemented Mozilla’s DOMParser extension (to go along with XMLSerializer and XMLHttpRequest which we already had).
  • Made importNode create HTML elements when used on an HTML document.
  • Fixed bug where progressive loaded background images would scroll down (no, that wasn’t on purpose).
  • Fixed bug where relative URL backgrounds would be wrongly shared between different pages.
  • Fixed flash of unstyled content when accessing window.innerWidth/innerHeight during the page load (e.g. on wired.com).
  • Now properly ignoring NaN values in window.open parameters.
  • Fixed a race conditionwhere frames changing the location of other frames during loading could keep the other frame from getting loaded at all.
  • Fixed a bug where early return from layout would prevent future layouts from happening (caused frames to come out blank sometimes).
  • Fixed crash when loading an XML page that contains an element named script that’s not in the xhtml namespace.
  • Fixed common crash in removeAllEventListeners on .Mac, travelocity, abercrombie and many other sites.
  • Fixed crash when ESC key is held down across a series of authentication sheets.
  • Fixed crash when an element removes itself from its own onblur handler.
  • Fixed crash when closing child windows in some cases.
  • Changed name property of the window object representing a frame to properly give precedence to name element attribute over id
  • Eliminated unnecessary horizontal scrolling when focusing a text field.
  • String.replace method now works when the regular expression uses {n, m} syntax.
  • Made dynamic modification of the text of a <title> element work.