Surfin' Safari

Front Page  -  Technorati

July 24, 2003


What's New

Posted at 12:40 AM

Here's what I've fixed lately.

(1) The Outlook Web Access bug with objects overlapping one another has been fixed. Turned out to be a 1-line patch to render_table.cpp. I checked this into the KDE code at the same time I landed it in Safari, so the fix should be in that tree as well.
(2) I implemented onload for iframes and frames. I think this should allow the DOM test suite to run more easily.

I'm working now on fixing selection so that it doesn't just copy text from the source HTML. I know that bug has been bothering a lot of people.

July 12, 2003


More WebCore Fixes

Posted at 2:03 PM

:before/:after content that changed dynamically didn't update properly, e.g., across alternate stylesheet switches or when printing. This is now fixed. Also, problems with text encoding in forms when going back have been fixed.

In the CSS3 department, I have an implementation of opacity working in WebCore on Panther (using new public APIs for transparency in CoreGraphics on Panther). It works like a charm except for native widgets. We used lots of clever hackery in order to get Cocoa NSViews to work properly with z-index, so we'll probably need a bit more hackery in order to get them to work properly with opacity.

CG also has a public API for shadowing, so I may end up implementing text-shadow and box-shadow in WebCore on Panther as well. It's nice having all the hard drawing code written already. All I have to do is link CSS up with it. :)

July 9, 2003


WebCore Update

Posted at 2:26 AM

So... a couple of problems that I've fixed in the last week that should hopefully cheer some people up. :)

First I have implemented a strategy for minimum font size that I think will work quite well. I have restored Safari's pref value to 9px, but I've changed the meaning of minimum font size (so that it does not match other browsers). With this new patch, the minimum font size is only applied in two cases:

(1) When the specific font size according to CSS is relative to the user agent default
(2) When the text zoom factor alone pushes the font below the minimum size

This means that you will never get tiny text as a result of changing your default font size in Safari's Preferences. The only way you will get tiny text now is if the page explicitly specifies an absolute size that is tiny, e.g., 2px. When the Web page does this, Safari will honor it, thus avoiding the layout disruptions that led to the removal of the minimum font size in the first place.

I believe that this interpretation of minimum font size will actually result in better rendering than in other browsers, since the introduction of the minimum won't disrupt page layouts that rely on absolute pixel font sizes.

The drawback of course is that minimum font size can't be used as a "permanent zoom", e.g., for someone with poor vision, like it can in other browsers, but I think a better solution for a problem like that would be a full page zoom anyway.

The second bug I fixed (just today) was the dreaded background bug. Safari 1.0 has a regression that causes backgrounds to be clipped to the height of the html element. If the html element had content that spilled out of it, then the background didn't paint in that area. Although this sizing of the html element is correct (according to the spec, even though this doesn't match other browsers), not painting the background is not correct. The problem has been corrected.

July 8, 2003


Safari on Panther

Posted at 5:45 PM

Some of the bug reports I've been seeing about Safari are Panther-specific. It's important to realize that there *are* rendering regressions in Safari on Panther that are outside Safari's domain, e.g., bugs in CG, bugs in image rendering, etc. Because of this, make sure that you mention specifically whether you're running on Jaguar or on a Panther beta when you post bugs here. If you have access to both Jaguar and Panther, check it out on Jaguar first to see if the problem is Panther-specific.

Here are some known Panther beta issues:
(1) 1px dotted borders draw as solid
(2) Fixed backgrounds treat the NSImage as unflipped, resulting in rendering errors (e.g., complexspiral on meyerweb is hosed in both its devolved and distorted variants)
(3) Thick underlines appear under links when scrolling. Detritus left behind on screen when scrolling.

So make sure you mention what version of the OS you're using from now on when you report bugs via trackbacks. Thanks.

July 3, 2003


Top Ten Lists

Posted at 3:27 PM

In order to get some good feedback about the state of WebKit (including its sub-frameworks WebCore and JavaScriptCore) and the new Foundation code, I'm inviting you to use trackback to link to your "Top Ten Problems With Safari's Web Page Display." Please leave UI out of your lists. I'm interested specifically in any problems that occur inside the Web page display area, be it networking, layout, cookies, proxies, whatever. I'm looking forward to seeing what you come up with. If there's a bug that we didn't fix that you've been clamoring for in every beta, feel free to mention it in your lists. I will read all trackbacks and look for the most popular requests.

Copyright © Dave Hyatt 2003, Design by Stéphane Curzi/ProjetsUrbain.com