June 8th, 2007
These release notes contain the following topics:
The following section describes
the most significant changes in this release. For a comprehensive
listing of
all changes, see
http://support.icesoft.com/jive/category.jspa?categoryID=37.
ICEbrowser SDK 6.1.3 improvements
include the following:
General
ICEbrowser is now certified and optimized for JDK 1.6 and Windows Vista
New browser emulation modes have been added for Internet Explorer 7 (IE7) and Firefox 2 (FF2). Also, the IE emulation modes now dynamically generate the user agent string based on the actual system information (operating system and version) - now accurately reports when running on Vista vs. XP.
A new callback API has been added to optionally notify the application whenever the viewport scroll position changes
The following general issues have been fixed:
HTML
Added default checkbox & radiobutton focus indicator settings for JDK 1.6
Fixed the following HTML issues:
CSS
Support for STYLE page-break is has been added
The following Print-related issues have been resolved:
The following issues have been resolved:
The RenderDoneTracker used in the
HTMLtoPDF examples has been enhanced to handle
empty frames and sub-viewport loading errors resulting in improved
robustness.
The following issues in the SwingRI application have been fixed:
The following section describes
the most significant changes in this release. For a comprehensive
listing of
all changes, see
http://support.icesoft.com/jive/category.jspa?categoryID=37.
ICEbrowser SDK 6.1.2 improvements
include the following:
General
ICEbrowser has been enhanced to optionally transform unstyled XML files into an HTML Document Tree view, similar to the behavior of MSIE and FireFox. To enable the automatic conversion of XML documents to a Document Tree in the HTML4 Pilot, the following system property must be defined: "ice.pilots.html4.viewXmlAsTree=true". See "Rendering XML Documents" on pg. 77 of the ICEbrowser SDK Developer's Guide for details on this feature.
HTML
The appearence form widgets when rendering using the "swing" toolkit in headless mode has been improved. In addition, the form widgets are now colored based on the active Swing Look & Feel settings.
CSS
A problem that in some circumstances could cause styled text to appear 1 pixel lower than surrounding text on the same line has been corrected.
The "Smart Page Break"
algorithm has been enhanced to improve the performance and accuracy of
the page break calculations.
A problem that prevented table-cell background images from being rendered when printing has been corrected.
The Image Pilot has been enhanced to optionally support several additional image types, including BMP and TIFF. See "Image Pilot" on pg. 90 of the ICEbrowser SDK Developer's Guide for more information.
When requesting content for URLs containing hash characters (used to specify a target location within the target document at the URL) the hash character and text following it where not being removed as expected when running with a proxy configured. This has been corrected.
The Swing RI, Generic RI, Enhanced AWT RI, and SWT Example application have all been updated to enable viewing unstyled XML documents as a Document Tree by default. See "Rendering XML Documents" on pg. 77 of the ICEbrowser SDK Developer's Guide for details on this feature.
The following section describes
most of the changes in the v6.1.1 release. For a comprehensive listing
of
all changes, see
http://support.icesoft.com/jive/category.jspa?categoryID=37.
ICEbrowser SDK 6.1.1 improvements
include the following:
General
ICEbrowser
now fully supports ICEfacesTM
Direct-to-DOMTM HTML rendering.
A new ContentLoaderFactory has been introduced to support the specification of a custom default ContentLoader for each StormBase instance via the Settings object. This can be useful in cases where custom processing of the input-stream is required, such as decrypt encrypted content.
A regression in v6.1.0 that prevented the correct rendering of HTML documents after a non-styled XML document was viewed has been corrected.
An issue was corrected that could cause the browser to reset viewport state such as the scroll-position of the document, or the scroll position within a Select input widget when the DOM was updated dynamically via JavaScript.
A bug in the algorithm used to determine the location of the highlighted regions as used by the "Highlight All" search feature was fixed.
A bug that could prevent the last word in a document from being included in a search has been corrected.
A problem on Mac OS X platforms caused by a JVM bug that resulted in significant performance degradation when drawing focus indicators has been resolved.
A
new system property "ice.util.net.convertURLBackslashes" can be used to optionally convert
backslashes in "http:" URLs to forward-slashes in a manner
consistent
with MSIE.
HTML
Several bugs relating to the File Input widget have been corrected.
The Text Input widget
behavior in Swing toolkit mode has been changed to automatically select
any existing text in a Text when the user uses the keyboard (tab
key) to focus on it. This is in alignment with most other browsers such
as MSIE and Firefox.
Images with content-type: "image/jpg" specified in an OBJECT tag are now supported. Previously, JPEG images had to specified as "image/jpeg".
Fixed a problem that prevented the Ctrl+/- zoom in/out keys from working correctly when a text input form element has focus.
Improved support for retaining minimum representation of table cell padding and borders when displaying at less than 100% zoom levels. This prevents cell padding or borders from disappearing completely when a document is scaled below 100%.
Fixed a memory leak that could
occur on DHTML pages containing choice input form elements that
involved rapid, ongoing re-layouts of the page. This problem only
affected Swing toolkit mode.
All calculated point (pt) values are now rounded instead of truncated. This corrects some font size problems on some sites.
Support for background images on Table headers, rows, and footers has been added.
The "Smart Page Breaks" feature has been enhanced to avoid splitting a page across a line of text when the page consists of a single column table.
A problem that caused hidden iframes to be printed has been corrected.
The
ICEpdf Pilot has been removed from the ICEbrowser product bundle.
Starting with the ICEpdf v2.0 release, the ICEbrowser PDF Pilot is
provided in the ICEpdf product bundle instead. In addition, source-code
is provided for the ICEpdf v2.0 pilot to enable customization of the
pilot's capabilities. The default ICEbrowser storm file has been
changed
to refer to the new ICEpdf v2.0 PDF Pilot. If you need to use the
ICEpdf v1.x PDF Pilot with ICEbrowser v6.1.1+, you will need to use a
modified storm file. For more details, see the ICEpdf v2.0 Developer's
Guide.
The
optional ICEbrowser Windows Flash Pilot has been revised to v1.0.1. The
example "flashstorm" file has been modified to refer to the ICEpdf v2.0
PDF Pilot class, which is consistent with the default storm file in
ICEbrowser v6.1.1.
Fixed a problem that could occur when an Applet was specified via an OBJECT tag where the CODEBASE parameter of the Applet would incorrectly return the codebase parameter value from the OBJECT tag.
Removed a dependency on Cryptix packages from ICEntlm library when using JCE. Note that when using a non-JCE implementation (JDK 1.1.x) the Cryptix jars are still required.
Improved the handling of immediate refreshes when an optional URL is specified.
Corrected
a problem that enabled secure cookies to be sent over non-secure
connections.
Fixed several minor issues relating to HTTPS authentication.
The
optional ICEntlm module has been revised to v1.1 add support for
Microsoft ISA Server 2004 and correct several issues.
A new SWT (Standard Widget Set) example application has been added that illustrates using ICEbrowser with applications developed using the SWT toolkit. See the Developer's Guide for more information.
A new HTML-to-PDF example has been added that illustrates generating PDF captures of a rendered HTML document. See the Developer's Guide for more information.
A new printing example has been added that illustrates using the JDK 1.4 Print Service API (javax.print) to print a rendered HTML document to a Postscript (.ps) file. See the Developer's Guide for more information.
The following sections describe
most of the changes in the v6.1 release. For a comprehensive listing of
all changes, see
http://support.icesoft.com/jive/category.jspa?categoryID=37.
General
Rendering HTML documents in headless environments is now fully supported using the Swing toolkit mode. This is useful for web crawling, HTML to image, and HTML to PDF applications, etc.
Greatly improved rendering performance scalability when viewing very large documents or documents with very large text elements.
New convenience methods to render String content directly have been added to the StormBase class.
When using Swing toolkit mode, pages now transition cleanly from one to another without blanking to an empty white page in between.
HTML
A new content selection engine provides support for selecting images and text, greatly improved accuracy and responsiveness when selecting and scrolling with the mouse, and support for selecting content using the keyboard.
Full support for Drag & Drop. Drag selected text or anchor locations to drop targets, including other native applications. Drop text onto HTML form controls from other Java components or native applications (Swing toolkit only).
Improved text search capabilities, including support for whole word searching and highlighting all matches in the document.
Added support for the System Selection Clipboard on platforms that support it (Unix, Linux). All selected text is automatically added to the Selection Clipboard on supported platforms, and can then be pasted into editable text controls via the middle-mouse button.
Added new Content Selection PropertyChangeEvents to indicate when a content selection is defined or cleared in a viewport.
Added new Viewport Activated/Deactivated PropertyChangeEvents to indicate when a viewport becomes the active viewport.
The keyboard shortcut keys for common browser functions have been augmented and aligned with other mainstream browsers. In addition, the keyboard shortcuts now correctly support the Cmd key on the Mac instead of the Ctrl key.
The timing and sequence of DOM Mouse events emitted by the browser have been aligned with other mainstream browsers. In addition, a problem with the context menu DOM Mouse event has been fixed.
Improved focus indicator appearance and support is now consistent with mainstream browsers.
The robustness of the HTML parser has been improved to prevent the possibility of false tag identifications from occurring.
EMBED tags inside OBJECT tags are now ignored. Previously, both embedded objects would be rendered.
The content selection colors are now defined by either the system settings (AWT) or the current Swing Look and Feel (L&F) color scheme. System properties can be used to override these defaults.
HTML Form elements rendered using the Swing WinXP L&F now support CSS styling of background colors and borders correctly.
Minor issues with keyboard shortcut support in HTML form text input controls have been addressed.
The RenderingHints system properties (textAntiAliasing, etc.) are now fully dynamic and can be changed without restarting the browser.
Fixed a problem with the handling of the type attribute of OBJECT tags that prevented the correct pilot for the mime type from being used to render the OBJECT tag content.
Padding is now properly supported for embedded content, such as OBJECT tags.
Fixed a problem with incomplete repaints when using ICEbrowser in lightweight mode embedded in an SWT toolkit application.
A problem that could cause inconsistent behavior when reloading Frameset documents or documents with IFrames has been corrected.
The optional DOM 2 API support classes have been moved from the ib6extra.jar to the ib6core.jar. However, they must still be configured by the application before they can be used. See "Using the DOM" in Chapter 6 of the ICEbrowser SDK Developer's Guide for more information.
CSS
Improved CSS support for floating boxes.
Added support for a single element to have multiple class assignments.
Improved support for the CSS "content: " property.
Added optional support for hiding form input widgets when they are partially or fully occluded by a higher z-index box.
FormInputButtons now support background images (Swing toolkit only).
Improved the robustness of the CSS parser to allow pages to be viewed even when external .css files fail to load.
Improved the appearance of dotted and dashed border styles.
JavaScript
Fixed a problem that prevented Javascript nodes that were added to the DOM dynamically from being parsed and processed correctly.
Printing
Enhanced Printing, Page Setup, and Print Preview support, including complete support for selective printing of Frameset documents and printing selected content only.
Support for JDK 1.1, JDK 1.3, and JDK 1.4 printing APIs.
Improved Smart Page Breaks algorithm.
Accessibility
Enhanced the JAWS accessibility mode to optionally announce table layout and numbered and bulleted list information.
Corrected several issues with the JAWS accessibility support, such as words being truncated in some cases.
Other Pilots
ICEbrowser can now render Flash .swf content embedded in HTML documents via the optional new ICEbrowser Windows Flash Pilot.
Applets embedded in HTML documents via the EMBED tag are now supported. The Applet Pilot now supports the "application/x-java-applet" mime type.
ICEhttp v1.6.0
Support for the NTLM Authentication protocol via the optional ICEhttp NTLM Module.
Ability to specify non-proxy hosts and ports when using proxies.
Improved trace and debug logging.
Improved support for and use of persistent connections.
More accurate Cache isFresh calculation algorithm.
Now caches "Cache-Control:private" responses.
Fixed an issue that could occur when HTTPS and GZIP were used at the same time.
Fixed an issue that could occur when HTTPS was used with proxy authentication on some sites.
Fixed an issue that could occur when HTTP Responses were received without a content-length specified.
ICEssl v3.0.6
Can now specify a CertificateManager on a per connection basis.
Updated the included cacerts.crt file to remove several expired certificates and add some new ones.
Reference Implementations
and Examples
RICommon
New PrintHelper, SearchHelper, and SearchPanel reference classes makes adding robust, full-featured HTML searching capabilities to your application simple.
Improved full-featured and localized AWT and Swing Print Preview and Page Setup dialogs.
Swing RI
Support for Drag & Drop. Dropping a URL or File reference anywhere on the window causes that window to navigate to the URL/File.
Support for keyboard menu shortcuts for typical browser functions.
New non-modal "Find In Page" feature uses the RICommon SearchPanel to support complete bidirectional text searching and highlighting across frames, etc.
Uses the enhanced Page Setup and Print Preview dialogs, as well as the new RICommon PrintHelper13 class for robust, full-function printing support.
New Proxy Management dialog window available under the Options menu. Can now dynamically configure static and PAC proxies via the GUI.
The Open File dialog has been enhanced to list all file format groups typically associated with browsers.
Enhanced "Save As" capability now saves all references or embedded document resources (images, .css, .js, etc.).
Support for the JavaScript window.print() function has been added.
New support for the optional ICEhttp NTLM authentication module.
Numerous other improvements.
Generic RI
Uses new RICommon Page Setup, Print Preview, and PrintHelper classes.
Uses new RICommon SearchHelper for robust searching support, including Framesets.
The following are known issues with this release:
Due to a bug in the JDK 1.4.x printing support, when printing using the ice.ri.common.print.PrintHelper class and JDK 1.4.x, any changes the user makes to the print driver settings via the native Print dialog window will not be reflected in the actual printout. This does work correctly with JDK 1.3.x and JDK 5.0+.
When running the Swing RI using Linux J2SDK 5.0 with the GTK+ Swing Look & Feel, the Swing RI location bar may not be editable due to a bug in the Look & Feel. Using another Look & Feel will resolve the problem.
In the Swing RI, language translations for some GUI elements for non-English languages are not complete. You may alter or extend the provided language resource files to support the language translations that you require.
If you run your ICEbrowser application in a Java Web Start (JWS) environment, when you attempt to retrieve certain remote images via a URL, a SecurityException may occur from the sun.awt.image class, and the URL to the image is redirected. This problem is related to bug 4881229 in Sun's Java Developer's Bug Parade. If the system property ice.util.security.jdk12.urlImageFix is set to true, the SecurityKit sets a custom SecurityManager that should resolve this problem.
If you are using Linux with JDK
1.4.x, and an HTML page has one charset specified in the META tag and
an HTML element specifies a different charset, the default encoding
will be used and the characters may not display correctly. To prevent
this problem, set the ice.pilots.html4.defaultEncoding system
property with an appropriate default encoding for the content being
displayed. For example:
java
-Dice.pilots.html4.defaultEncoding="Shift_JIS" ice.browser.main
As of JDK 1.4, Sun includes the Java Cryptography Extension (JCE) as part of the standard distribution. In some rare circumstances, trying to establish a secure connection (HTTPS) using SSL results in a java.security.NoSuchAlgorithmException error. This is due to a conflict between the Cryptix libraries that ICEsoft supports and the libraries Sun includes with the JDK. To avoid this problem, remove the security.provider.4=com.sin.crypto.provider.SunJCE line from the JAVA_HOME/jre/lib/security/java.security file or invoke java.security.Security.removeProvider("SunJCE") before using the HTTPS protocol.
The SVG Pilot supports direct rendering of SVG documents, but access to and manipulation of the SVG document DOM via JavaScript is not supported. Attempting to configure JavaScript support for the Batik SVG library while also using the ICEbrowser JavaScript library may cause version conflicts between the RHINO JavaScript packages distributed with the ICEbrowser SDK and those distributed with the Batik SVG library.
Some Web pages, especially under the Microsoft homepage, use JavaScript to instantiate ActiveX objects. ICEbrowser does not support ActiveX components.
For help with this release please contact ICEsoft customer support at http://www.icesoft.com/support/reqsupport.html.
For more information on ICEsoft Technologies, see http://www.icesoft.com.
ICEbrowser SDK includes the following third party software:
Rhino JavaScript for Java. Portions of Rhino JavaScript for Java were initially developed by Netscape Communications Corporation and distributed under the Netscape Public License, Version 1.1. Copyright © 1997-2000, Netscape Communications Corporation. All rights reserved. Source code for Rhino JavaScript for Java, including modifications by ICEsoft (and a copy of the Netscape Public License and applicable licensing terms), is available with the ICEbrowser SDK distribution.
© Copyright ICEsoft Technologies, Inc.