« June 2007 | Main | March 2007 »
Tue, May 29, 2007
iCab 3.0.3 Beta 450
On Wednesday of last week Alexander published a new iCab beta version. Again, there are lots of bug fixes:
- In the error report the password could be displayed on web pages which require HTTP authentication. Now, iCab filters out all passords which are encoded in the URLs.
- If form data was submitted via JavaScript and the form result should open in a new window, it could be nevertheless displayed in the same window.
- Fixed a "Dead-Lock" which could occur in synchronous XMLHTTPRequest calls where the server sets a cookie.
- Added a workaround for buggy routers or other devices which can be configured with a web interface. It seems that many of these devices are returning totally invald HTTP responses to the browser, lacking the required HTTP header. Now iCab should be able to deal with this.
- The new build-in RSS-Reader (from Beta 447) does now also support video podcasts so that it is now possible to display the videos inline (if the required QT plugin is installed).
- Apple's "URL-Access" will now no longer be supported. Until now this was supported only in the "classic" version of iCab as alternative to OpenSSL for secure and encrypted web pages. But because the "classic" MacOS wasn't updated for years most of the certificates required for secure web access are already expired. So supporting "URLAccess" doesn't make much sense anymore. In general this shouldn't change anything because "OpenSSL" already was the default setting for years in iCab.
- Removing a seperation line from the browser toolbar could crash.
- In "data:" URLs the "charset" parameter will be supported as well, if this makes sense for the data type that is empedded this way.
- "document.styleSheets" isn't supported by InScript yet. But iCab simulates this now so JavaScript code using this property in a certain way will now work.
- Small modification added to render the totally messy HTML code of excite.com.
- If InScript called the garbage collector from within the onUnload handler, iCab could crash in certain circumstances.
Fri, May 11, 2007
Built-in UPS Support in Mac OS X
My more than a decade old UPS died a few days ago, so I bought an up-to-date replacement. When I attached the new UPS via USB to my Mac, I discovered that there's no need to install the vendor's own software (which is buggy according to some internet sources anyway). Instead, Mac OS X has built-in UPS support since 10.3.3 (I used 10.4.9 for screenshots and tests).
If an UPS is attached an active, you'll find new settings options for "UPS" ("USV" in German) in the Energy Saver preference panel:
You can shut down your computer after a certain time on battery power or if the battery has only a certain time (in minutes) or amout (in percent) of its power left. Furthermore, a new icon is shown in the menu status bar (left to the iChat icon), similar to the battery icon on mobile Macs:
Whenever the UPS runs on battery power for some seconds Mac OS X shows an alert box now (that disappears automatically if the UPS runs on line for some seconds again). This also works if no user is logged in:
Tue, May 08, 2007
iCab 3.0.3 Beta 449
Yesterday was bugfixing time again. Here is Alexander's list of fixes in the latest iCab beta:
- If web servers use a value of "text/plain" in the "Content-Type" header then iCab now uses much more detailed checks if the data is really in text format. Unfortunately many web servers are not configured correctly and use "text/plain" for a large number od non-text file formats. Previously iCab was able to recognize binary file formats even when declared as text files. Now iCab will also try to "recognize" HTML code when declared as text but when it should not be declared this way. This is not easy because HTML is also a text file.
- Fixed a new bug which could cause a crash when text was formatted as "SmallCaps".
- The color of the "ALT" text in images will be now correctly set according to the text color of the content of the image.
- Bugfix for "first-line" (CSS) when the first line contains some images.
- SVG images will be no longer recognized as XML files.
- If in the JavaScript onSubmit handler opens a new page using "location.href" and(!) tells the browser to submit the FORM normally, then iCab did open the new page and then was unable to submit the FORM (because opening the page leaves the old page). But some web pages (like www.weather.com) are doing this stupid thing and assume that the Form submit "wins". Now iCab will cancel the opening of the page (via "location.href") if the form will be submitten normally.
Thu, May 03, 2007
iCab 3.0.3 Beta 448
Today Alexander released yet another iCab beta version. Again, he fixed several bugs, among them a memory leak in my InScript code concerning regular expressions (thanks for finding and fixing this one!):
- If JavaScript code created an IFRAME element and then before the document for this IFRAME could be loaded, tried to get the JavaScript references to the not-yet-existing document, iCab did return a NULL value. Some scripts won't work anymore when this happens. Now iCab creates a JavaScript references even for not-yet-existing documents to avoid these problems.
- Fixed a bug which could result in a crash, if many documents were downloaded at the same time and the network layer of the MacOS could not deliver all the data immediately to iCab.
- If IMG elements were redefined as "table-cell" via CSS the images were not shown.
- Fixed two memory leaks in iCab
- Added a workaround for a certain memory leak of MacOSX.
Wed, May 02, 2007
iCab 3.0.3 Beta 445..447
In April, three new iCab versions were released for beta testing. They contain mostly bug fixes. However, the latest beta adds an improved RSS reader:
- iCab Beta 447 (2007-04-27)
-
- In the MacOSX version of iCab the build-in RSS-Reader is now more comfortable All topics in the RSS feed are listed in a sidebar and their content can be hidden or can be made visible. The linked artivles can be displayed inline so that the sidebar with the other items remains visible.
- RSS-Feeds are now recognized even when the server declares these feeds as HTML documents.
- Workaround for "meta refresh" elements which are not formatted correctly.
- The line numbers in the error report could be wrong in certain circumstances.
- If in the CSS property "font-family" the flag "!important" was also set, this "!important" keyword could be treated as part of a font name. This is now fixed.
- Fixed a crash which could occur if JavaScript code removed the element within an onclicked handler for which the onclicked handler was defined.
- Scrolling HTML elements without a scrollbar via JavaScript didn't work until now.
- Vendor-specific CSS properties (like the ones with the prefix "-moz-") will no longer be treated as error in the error report.
- iCab Beta 446 (2007-04-17)
-
- The default font setting was assigned to the BODY element, which could cause problems when CSS code assigns font settings to the HTML tag.
- The list of search engines in the preferences dialog can be now reordered via Drag&Drop.
- Web forms with a TARGET value of "_parent" which was submitted via JavaScript did open the result in the grandparent frame instead of the parent frame.
- Bugfix for JavaScript code that requests a list of all tags with a certain tag name. iCab did also inspect the children of the found tags, which is wrong.
- If URLs including a password (this is not allowed in HTTP URLs but which is nevertheless common in the web), the password contains the "#" character, icab didn't process the URL correctly.
- Bugfix for creating tables via JavaScript.
- Bugfix for "javascript:" URLs that are stored in the Hotlist, where the JavaScript code cotains certain characters which are not allowed in URLs.
- Bugfix for the onclick handler of a parent element of a link, which could prevent the default action of the link.
- iCab Beta 445 (2007-04-06)
-
- Bugfixes for background images in first-letter/first-line pseudo elements.
- If JS code modiefied CSS properties which would only require a screen refresh (and the layout doesn't change), if could happen that some child nodes were not updated correctly as well.
- If JS code added a node in the HTML tree in a certain location and then tries to remove this node from another (invalid) location, iCab could crash.
- Changing the "src" property in FRAME knodes via JS did not update the frame content.
- Small optimization for enabling/disabling certain stylesheets via JS. Until now, iCab has feflown the web page each time a stylesheet was enabled or disabled. Now iCab waits until the current JS call is over. Because most "Stylesheet switchers" do first disable all stylesheets and then enable one again, the new behaviour of iCab would prevent many reflows.
- Added a workaround for web pages which expect that tables will not move below floating elements when there's not enough room left next to these floating elements for the tables.
- Bugfix for negative "margins" in "floats".
- Added a workaround for HTML/XHTML documents which do introduce self-defined tags (which is not allowed) for certain tasks (probably server-related tasks), and when these self-defined tags do match extisting HTML tags, only that they are used in another context.
- Fixed the search for cookies in the cookie list. When cookies where deleted, the "find next" command could have ignored the next item in the cookies list.
- Jumping to an anchor (#xxx) in documents which were requested by a POST command could result in reloading the page from the server again.
- Modified the special treatment for empty fragment identifiers in links (href="#") so that poorly written JS code, where the return value for onclick events was not specified, would do what the author meant, and not what he has programmed.
- On Intel Macs documents encoded in UTF-16 with non-Intel byteorder were not correctly displayed when the web page declared the document with a totally wrong charset information.
- Fixed a crash which could occur if JS code openes a new document in an IFRAME and then deletes the IFRAME in the same call before it has a chance to open the new document.
- Small modification for the "classic" PDF plugin from Adobe which requires a special parameter to make sure that the PDF-toolbars are not switched off.
- Fixed a focus issue when JS code sets the focus into a form field whil iCab is in the background.
- When "downloading" Flash movies ("video/flv") from within the "Cache Browser" of iCab iCab will now set the file type and file creator of a quicktime movie for the Flash file if the MacOS does not have a suitable file type and creator code.
- iCab didn't sent onkeyup events (JavaScript) when JS code prevented the default action in onkeydown or onkeypress events.
- Workaround for invalid nesting of <Hn> and <P> tags.
- The "Accept" attribute was always reported as error, even if it was allowed.
- If more downloads were started than allowed (can be configured in the download preferences) iCab crashed when it tried to make the new download wait.
- When searching in the Hotlist or History window the fields "must contain" and "exclude" are now also available.
- If a web server of proxy asks for authentication and offers multiple methods for this, iCab did only try the first method. If this method was not supported by iCab the authentication failed. Now iCab will look for the alternate methods as well and use these if supported.
- There's a trick to create GIF images with more than 256 colors. But this trick did only work in the UB version of iCab until now. Now the PPC version for MacOSX does also support these secial GIF images.