16 Posts
New Features:
- Added support of ContextMenuProviderExt interface that allows receiving notifications when popup menu is required;
- Added NewWindowEventHandlerExt2 that allows receiving information (url, target name, features) about popup window before it is opened;
- Added DisposeListener for receiving events when WebBrowser is disposed.
Improvements:
Resolved Issues:
- 'Call is rejected by Callee' error on print or preview of a page;
- 'Call is rejected by Callee' error on launching Find (Ctrl+F);
- WebBrowser.setContent() method fails when PDF document is already loaded;
- Document returns wrong maximum scroll values after setting "zoom" property;
- Cannot open Gmail and Google Reader applications in JExplorer;
- Several HTMLDialog can't be opened in sequence;
java.awt.Robot prevents closing WebBrowser instance;- Page content isn't resized correctly;
- The BrowserWindowListener.onWindowResize event doesn't get fired when browser is resized from JavaScript;
- JVM doesn't exit when the
DefaultCloseOperation for JFrame is set to DISPOSE_ON_CLOSE; - HttpSecurityHandler doesn't work on Internet Explorer 6;
- Handling AuthenticationHandler.onAuthenticate() on Vista generates access-violation error;
- Browser.getScreenShot() returns cropped image;
- Browser component steals focus when web page is loaded or refreshed;
- Browser.getCookies and Browser.setCookies methods don't work with session cookies;
- Java crashes on Browser.close().
New Features:
- Added functionality that allows processing any HTTP security problems such as "Invalid Certificate error", "Invalid Certificate Name", "Invalid Certificate Date", "Moving from a non-SSL to an SSL connection" and other (sample)
- Added the
HtmlDialogListener that allows receiving events when the HTML modal dialog is opened through window.showModalDialog and window.showModelessDialog JavaScript functions (sample)
Improvements:
- The
OnBeforeUnload event is not fired in JExplorer when the browser is closing - Added the "Button number" property support in the
EventObject class - Now each
WebBrowser instance is running in JExplorer32.exe process instead of rundll32.exe
Resolved Issues:
- Adding and removing Browser component into JPanel caused blinking
- It was possible to use
WebBrowser instance even after disposing it using window.close JavaScript function - Two
IEAutomation instances were open instead of a single one on Windows Vista with Internet Explorer 7 - Opening the http://google.com/ig web page caused unexpected JavaScript error
- By default it was impossible to set the
WebBrowser instance as a target window - There was Stack overflow / Out of memory JavaScript error in Ajax applications
- It was impossible to resize the Browser component embedded in
JSplitPane - Flash Player 10 didn't work
- The "Can't find bundle for base name com.jniwrapper.win32.ie.colors" error occured when invoke the
HTMLElement.setBorder method - Selecting multiple options in drop down box caused repainting issue (blank drop down box)
Improvements:
- Added the
WebBrowser.getDialogEventHandler() and WebBrowser.getAuthenticationHandler() methods - Added ability to print out the license diagnostic information using
-Dteamdev.license.info=true VM parameter
Fixes:
- Proxy settings now always work correctly in the WebBrowser instance
- JavaScript execution work smoothly for IFRAME on a web page
- Creation of an instance of
com.jniwrapper.win32.ie.scripting.Robot class is now enabled - Fixed the issue with crash on exit caused by the Adobe Reader 9 plug-in on Windows XP
New Features:
- Now each WebBrowser instance is running in a separate native process
- Added the WebBrowser.getContent(boolean) method that allows receiving original HTML or the actual HTML of a currently loaded document
- Added the HTMLDocument.getCharset() method that allows receiving charset for the HTML document
Improvements:
- Improved the WebBrowser.setContent() method, so now it doesn't require enabling JavaScript and it fires the NavigationEventListener.entireDocumentCompleted event when the new content is loaded completely into the WebBrowser document
- Improved memory management. Now the memory required for work of the WebBrowser is allocated in a separate native process and does not dramatically affect Java application process.
Fixes:
- Fixed the problem with capturing web page
- Fixed the issue with Print and PrintPreview functionality
- Fixed the issue with KeyFilter functionality
- Fixed the issue when the Browser.setEnable() method causes an error
- Fixed the issue when the WebBrowser.getScreenshot() method doesn't work with 16-bit color depth mode
- Fixed the issue when Java Applets fail if they are loaded to JExplorer browser
- Fixed the issue when the 'Call was Rejected By Callee' and 'The requested resource is in use' errors occur on WebBrowser.navigate() method
- Fixed the issue when the Browser component that placed on JInternalFrame cannot be activated using mouse properly under JDK 6.0
- Fixed the issue when the WebBrowser.setContent() method throws 'Access is denied' error
New Features:
- Added new BrowserWindowListener listener to the Browser class that allows receiving events such as onWindowResize, onWindowResizable, onFullScreen and onVisible.
- Added ability to get all input parameters for pop-up window according to the parameters in the window.open() JavaScript function.
Improvements:
- ContextMenuProvider class enables to receive the original HTML element on right click action.
- The Cookie class is made serializable.
Fixes:
- Fixed the issue when opening a new pop-up window causes displaying two pop-up windows.
- Fixed the issue when the CookieManager.setCookie() method causes LastErrorException.
- Fixed the issue when silent mode doesn't work for Alert and Confirmation JavaScript dialog boxes.
- Fixed the issue when the WebBrowser.waitReady() method causes NullPointerException exception in some cases.
- Fixed the issue when JExplorer fails on the pages with GWT/AJAX components.
- Fixed the issue with a memory leak in Browser.getScreenShot() method.
- Fixed the issue when IEApplicationEventListener.onQuit() event is not fired on Internet Explorer instance closing.
- Fixed the issue when Browser component had been shown outside of application window.
Demo:
- Set the limit for tab width in JExplorer Demo.
- Fixed the issue with NullPointerException exception when closing a tab in JExplorer Demo.
- Fixed the issue when tab caption in JExplorer Demo is outside the limits.
- Fixed the issues with ClassCastException exception occurs in JExplorer Demo when clicking on the Evaluate Now button.
Documentation:
- Added PopupWindowSample example that shows how to configure pop-up window according to the parameters that were passed into window.open JavaScript function.
- Added the chapter Pop-up windows Management in JExplorer Programmer's Guide.
New Features: - Added the ability to clear the Internet Explorer browser cache (temporary files, URL history or cookies). See the
com.jniwrapper.win32.ie.Browsers.clearCache() method. - Added functionality allowing maintaining global and current process proxy settings, including the ability to set Proxy URL exceptions.
See the com.jniwrapper.win32.ie.proxy.ProxyManager class. - Added the
CookieManager class for working with existing browser cookies. - Added support for the
Node.isEqualNode() method. - Added the feature for setting an
IWebBrowser2 instance to the IEAutomation control.
Improvements:
- Added the ability to keep main thread execution until any
IEAutomation instance is alive. - Added escaping control chars in a JavaScript string during the
WebBrowser.executeScript() method execution.
Fixes:
- Fixed the issue where pressing of the Alt+F6 key combination makes the Browser component hang for some time.
- Fixed the issue where the HTML body element becomes non-scrollable if the page uses
<!DOCTYPE> directive. - Fixed the issue where an occasional exception occurs when the
Browser.getScreenShot() method is called. - Fixed the issue where during destroying of the
com.jniwrapper.win32.ie.Browser component, the application hangs. - Fixed the issue with distribution of key actions (backspace, Alt + → or Alt + ←) on several Browser components at the same time.
- Fixed the issue where JExplorer freezes if the user navigates to the page.
- Fixed the issue where it is impossible to disable Java applets and Running ActiveX control (in Windows Vista).
- Fixed the issue where the
IAutomation.executeScript method doesn't work. - Fixed the issue where the pop-up dialogs are opened using a target open behind the active window.
- Fixed the issue where the
IEAutomation.waitReady() method hangs if the Internet Explorer instance is closed. - Fixed the issue where the 'RPC server is unavailable' error occurs if the
IEAutomation instance is closed. - Fixed the internal issue: License guard system still uses "Cp1252" charset, instead of "UTF-8".
- Fixed the issue where a program that creates a
HeadlessBrowser instance does not terminate.
Demo:
- Web page thumbnail is displayed in a tooltip for each tab.
- Added the "Proxy Settings" dialog for configuring proxy settings.
- Display of the site's favorite icon on tabs near the page title.
- Fixed problem with Ctrl+T not opening a new tab if focus is inside the page
Documentation:
- Added
ClearCacheSample. - Added
UpdateProxySettingsSample that shows how to change global and process proxy settings. - Added
CookieManagerSample that demonstrates how to use the CookieManager class. - Added the chapter 'Working with Proxy Settings' in JExplorer Programmer's Guide.
- Added information about using JExplorer in applets in JExplorer Programmer's Guide.
New Features: - Added the
InternetFeatures class the Browser component that provides the ability to block popups, enable or disable a native XMLHttpRequest object and more. - Added the ability to get a screen shot for the HeadlessBrowser component.
- Added processing of the mouse (keyboard) focus event for the Browser component.
- Set the child window title to its document title.
Improvements:
- Added new settings to the
WebBrowser.Properties class. - Added the Expires, LastUpdated and LastVisited time (in milliseconds) to the
BrowserHistory.Entry class. - Implemented the
MouseEventImpl.initEvent() method.
Fixes:
- Fixed the issue with memory leaks on form submission.
- Fixed the issue where clicking F5 causes deadlock in Internet Explorer 7.0.
- Fixed the issue where the
Browser.getContent() method causes memory leaks. - Fixed the issue where a parent window is listening to backspace key events of a child window.
- Fixed the issue where the
Browser.stop() method doesn't notify Browser.waitReady() of the page download completion. - Fixed the exception that occurs when calling several browser.
executeScript() methods that should return the IDispatch value. - Fixed the issue where the Internet Explorer window handle is lost (Windows 2000).
- Fixed StackOverflowError that occurs when the
Browser.addNotify() method is called iteratively. - Fixed the exception that occurs when removing the Browser component during a navigation operation.
- Fixed the issue where JExplorer loses focus after hiding an alert message box.
- Fixed a JavaScript error when a new window of the default size is opened despite the preset size.
- Fixed the issue where the
HeadlessBrowser.getScreenShot(true) method increases the result image size. - Fixed the issue where the browser blinks when moving the cursor to the link on a web page.
Changes since version 1.6: - The
EventObject class extended with new properties like 'button', 'ctrlLeft' etc. - Added the ability to capture the screenshot of a Browser component.
- Added the ability to print browser component contents.
- Added the ability to retrieve and set Internet Explorer proxy settings.
- Added
IEAutomation class, allowing to automate Internet Explorer application without embedding into Swing UI. - Added support for
onFullScreen event in StatusEventListener interface. - Added the ability to enable/disable refreshing of current page after changing browser properties.
- Added support of mouse events in the Browser component.
UrlMonFunctions class exteded with createURLMoniker(), createAsyncBindCtx() and registerBindStatusCallback() methods.- Implemented the
IDocHostUIHandler::GetOptionKeyPath method. - Added support of
IAuthenticate COM interface, allowing JExplorer to perform authentication/login programmatically, using user-defined credentials. - newWindow3 action problem under Windows XP Service Pack 1.
- Stability improvements.
- Improved JavaDocs.
Fixes:
- Fixed endless loop with rendering <select>/<option> html controls.
- Fixed problem with
DialogEventHandler not handling dialogs exceeding 255 characters. - Fixed exception thrown when handling multiple child browsers.
- Fixed the problem with using ' and " symbols in the
WebBrowser.executeScript() method. - Fixed the problem with Browser child window not closing after
window.close(). - Fixed the problem with losing target frame after opening a new window using JavaScript
window.open() method. - Fixed exception thrown in
Browser.navigate() method when creating the Browser instance. - Fixed ClassCastException thrown when trying to get list of TableCell items from
TableRow.getCells() method. - Fixed the problem when showing several Browser instances at the same time.
- Improved document event listeners registration mechanism.
- Fixed the problem with repainting of Browser component in a Swing container (after add/remove operation).
- Added compatibility of the product with the Windows XP SP1 and Windows 2000.
Changes since version 1.5: - Added the ability to specify 'TargetFrameName' parameter in the
WebBrowser.navigate() method. - Added the ability to suppress "Internet Explorer Script Error" dialog and use
DialogEventHandler instead. - Added support of XP style for the Browser component, so all native controls will have XP L&F.
- Extended
KeyFilter class to enable filtering of system keys such as Left, Right and so on. - Provided support for
DWebBrowserEvents::newWindow3 events. - Added the ability to check whether the version of Internet Explorer is supported.
- Added submit/reset functionality to
HTMLFormElement. - Added the ability to set custom AWT cursors in the Browser component.
- Added a special event to
NavigationEventListener. It fires only when the whole HTML document is loaded. - Added the
mainDocumentComplete event when the document is loaded to the main browser.
Fixes:
- Fixed memory leaks.
- Fixed the problem with closing a Swing menu when clicking on the WebBrowser component.
- Fixed
DisableDownload functionality. Now if the beforeFileDownload() method (of the WebBrowserEventsHandler interface) returns false, downloads are disabled and vice versa. - Fixed the problem with HTC files remaining locked when WebBrowser is closed.
- Fixed the problem in
WebBrowser.navigate(String location, String postData) method. - Fixed incorrect handling of navigation events in popup windows.
- Fixed the problem with
WebBrowser.setSilet(boolean) method. - Fixed the problem with closing the browser that contains an XML document.
- Fixed access violations after loading a corrupted XML page.
- Fixed the problem with the custom KeyFilters assigned to WebBrowser.
- Fixed the problem when ComboBox drop-down list immediately hides, after click on it
- If <SELECT> contains <OPTGROUP> elements, E_INVALIDARG is thrown on attempt to select an option.
- Fixed implementation of the
Cookie.create() method. - Fixed the problem with multiple calls of the
browser.getContent() method resulting in access violation.
JExplorer Demo:
- Fixed the problem with failing to open a child window in the demo.
- Fixed the deadlock problem with closing child windows in the browser.
- Fixed the problem with closing child popup windows in the demo.
Changes since version 1.4: - Added new methods for setting (
WebBrowser.setCookie(String url, Cookie cookie) method) and getting (WebBrowser.getCookies(String url) method) cookies for the specified URL; - Added support of extended browser's properties (
WebBrowser.getProperties() function), such as: - ShowScrollBars - property that allows to show or hide the browser's scroll bars;
- Show3DBorder - property that allows to show or hide the 3D border around the browser control;
- AllowImages - property that allows or disallows images;
- AllowVideos - property that allows or disallows videos;
- AllowSounds - property that allows or disallows sounds;
- AllowScripts - property that allows or disallows the executing of scripts;
- AllowJavaApplets - property that allows or disallows the loading and executing of Java Applets;
- AllowDownloadActiveX - property that allows or disallows the downloading of the ActiveX controls;
- AllowRunActiveX - property that allows or disallows the executing of the ActiveX controls;
- AllowContextMenu - property that enables or disables the context menu;
- Improved performance of DOM adapters;
- Improved memory management in DOM adapters;
Fixes:
- Fixed critical memory leaks in the DOM arapters;
- Fixed the problem with searching (using, for example the
getElementById() method) of the embedded IFRAME elemtents; - Fixed the problem in the implementation of the
StatUrl structure, which caused incorrect functioning of the BrowserHistory class; - Other minor bugfixes;