Before you go through the changes in Awesomium.NET, take a look at the major changes in native Awesomium:
Here is a summary of changes in Awesomium.NET:
- Added protections that prevent JS interoperation methods being called on an
- Added protections that prevent the use of JS-related API, when
JSObjectno longer inherits
DynamicObject. It now provides advanced low level dynamic API support through .NET’s
- Added protections that prevent the use of synchronous JS API calls, when the context is synchronous (from within a synchronous custom method handler).
- Implemented internal downloads management and added the
DownloadItemclasses that allow you to easily monitor and bind your MVVM application to download operations.
- Added support for Zoom setting to views and the ability to retrieve settings for specific hosts from WebSession.
- Made it so the WPF/WinForms WebSessionProviders provide a previously created WebSession with the same DataPath, instead of attempting to create a new one.
- Made it so the IsManipulationEnabled of WPF presenters is bound to the WebControl (this will propagate the ManipulationDelta routed event to the WebControl).
- Added design-time support for WebPreferences (available through WebSessionProviders).
- All properties and event args that accept or return a Uri, are now ready to silently respond to malformed URIs.
- Removed the ResourceInterceptor class. IResourceInterceptor interface remains.
- Added support for handling Certificate errors and obtaining page’s security related information.
- Added the ability cancel/handle navigations asynchronously, through the new INavigationInterceptor service. The service also supports white/blacklisting.
- Added default dialog for selecting a folder at Print requests, SelectLocalFiles and design-time, to the WPF WebControl and design-time support.
- Added default drop-down (popup) menu to WPF WebControl (see WebPopupMenu and WebPopupMenuBase).
- Added default WPF certificate error dialog.
- Added default WPF web page info cpntrol and popup. (see WebPageInfoPopup and WebPageInfoControl).
- Added the ability to handle all user input (including system and control keyboard events) through the WPF WebControl’s Preview events.
- Added default ContextMenu to the Windows Forms WebControl.
- Extended design-time support for the WPF WebControl.
- Added design-time support for the Windows Forms WebControl.
WebCore.Configuration: Returns the configuration settings used to initialize the core.
WebSession.ClearCookies: Clears all cookies for this session, asynchronously.
WebSession.GetZoomForURL: Gets the zoom setting for a particular host.
WebSessionCollection.Item: Indexer to access sessions by data path.
WebSessionCollection.Contains: Overload that gets if a
WebSessionsynchronizing to the specified dataPath, currently exists.
NativeViewModel: Split from
ViewModel. Separates disposal logic from MVVM logic so that
ViewModelcan be used by non-disposable types.
NetErrorenumeration: Provides description for the error code reported during a
CertError: Certificate errors enumeration.
DownloadItem: MVVM friendly info for a dowanload operation.
DownloadCollection: A collection of maintained download operations.
WebCore.DownloadBegin: Fired before a download starts; provides the DownloadItem just added to Downloads.
WebCore.Downloads: List of active, complete or canceled download operations.
INavigationInterceptor: Service available on IWebView instances. Allows you to handle navigation requests or add filtering ruls - whitelist, blacklist.
IWebView.WindowClose: Event fired when
JSDialogFlags: Used with
IWebView.InitializeView: Event fired right before the underlying web-view of a technology specfic WebControl, is instantiated.
IWebView.NativeViewInitialized: Event fired right after the underlying web-view of a technology specfic WebControl, is instantiated.
IWebView.SynchronousMessageTimout: Sets the maximum amount of time to wait for a response from a synchronous IPC message dispatched to the view’s renderer process.
IWebView.Zoom: Sets zoom level.
IWebView.ZoomIn: Zooms in by 20%.
IWebView.ZoomOut: Zooms out by 20%.
IWebView.ResetZoom: Resets to 100%.
IWebView.Printing: Event for when a printing operation starts.
IWebView.IsPrinting: Property reflecting printing operation status.
IWebView.RequestPageInfo: Requests page’s security related information.
IWebView.ShowPageInfo: Event fired in response to
WebPageInfo: Available through
IWebView.CertificateError: Event fired on certificate errors. Allows you to ignore errors.
IWebView.Identifier: Unique, global web-view identifier.
WebViewCollection.Contains: Overload for seeking by unique identifier (see
UrlEventArgs.HasErrors: Indicates that the original URI provided, is malformed.
UrlEventArgs.OriginalString: The original URI string.
window.opencall, including size and positioning, if any. Available at
CoreShutdownEventArgs.Exception: Gets the unhandled exception that has caused an unwanted
WebPopupMenu: Default drop-down, popup menu.
ComponentResourceKeyfor the default popup menu.
MarkupExtension; binds a WPF
WebControl.Sourceand provides features to make it act as an address-box.
WeakEventManagerthat allows to use the “weak event pattern” for
UIElementuser input events; used by the
InputEventType: Used with
WeakEventManagerthat allows to use the “weak event pattern” for
Awesomium.Windows.Forms (Windows Forms)
WebControl.ViewType: Property that tells the Windows Forms WebControl to optionally wrap an offscreen web-view. Also allows the use of transparency.
WebControl.IsTransparent: See above.
WebSessionProvider: Component; equivalent to the WPF
WebSessionProvider, allows you to assign a
WebSessionto a Windows Forms
DataSourceProvider: Base class for Windows Forms
DataSourceproviders. Used with
DataSourceProviderCollection: Collection of
DataSourceProviderinstances maintaineded by a
- All API members’ names with an ID suffix, have been renamed to have an Id suffix (eg,
IWebView.ProcessId). These would be too many to list here.
- Changed all event triggers to not accept a sender (having a sender was a wrong pattern).
IWebView.BeginNavigation(replaced with advanced
Awesomium.Core. Now all views can have a presenter assigned (see
IWebView.Presenter) to handle major UI-related events (still implemented by WPF presenters).
- Fixed issue with
ResourceDataSourcethat would not allow requests with queries.
- Fixed issue in designer of the Windows Forms and WPF
WebControl, that would cause the core to attempt to make p/invoke calls to the Awesomium library at design-time.
- Fixed bug that would prevent escaped URIs from being properly passed to servers.
- Fixed bug that would cause the internal
SurfaceFactoryto throw an exception, when destroying a
- Fixed bug in default implementation of dialog callbacks in
WebView. Events are now properly canceled.
- Removed all useless production-time
- Made it so default navigation of new child views, is properly cancelled until the view is wrapped.
- Removed useless protection from
ProcessCreated. This is no longer a requirement.
- Fixed bug that would cause an exception be thrown at user input, when using the WPF
- Fixed issues with setting the
NativeViewproperty on the WPF
- Fixed false
LoadingFrameFailedevents occuring before downloads.
- Fixed bug that would prevent setting the
Sourceproperty to the WPF
WebControl, at runtime.
- Fixed bug that would prevent the
Sourceproperty of the WPF
WebControl, to reflect the currently loaded page URL.
- Fixed bug introduced in RC3 that would prevent tranparency to the WPF
AddressChangedevent not being fired on WPF
- Fixed issues with Unicode strings not being properly passed to and from native Awesomium.
- Fixed issues with the
IsCrashedproperty not reflecting the actual status of the view, and issues with the
Crashedevent not being fired.
- Fixed exception that could occur when attempting to
Shutdownthe core during internal update.
- Fixed bug that could occassionally cause a
ViewTypeon the WPF
- Fixed issue in WPF
WebControlthat caused the right side to be cropped when DPI was set to any value other than the default.
- Fixed view crash when
falseon the view’s
- Fixed bug causing a WPF
WebControlto crash when repeatedly opening/closing a
- Fixed “Width and Height must be positive” exceptions on the WPF
- Fixed focusing editable content issues on the WPF
Please read here, the list of bugs fixed in native Awesomium. Some of them affected Awesomium.NET.
- On Windows 8, WebGL is currently not supported.
- On some Windows XP installations, you may get a DllNotFoundException when trying to execute an application that uses Awesomium (native or .NET bindings). This indicates you need to install the latest update of Direct X, available here: DirectX End-User Runtimes (June 2010). Note: If you are using the Windows Installer to deploy the Awesomium SDK, the setup package takes care of this.
- When you are using the Windows Forms WebControl, drop-down (popup) menus (e.g., HTML:
<select>), are not displayed automatically. Predefined drop-down (popup) menus have been added to the WPF WebControl but not to the Windows Forms WebControl yet. However, the new powerful API allows you to design and display these yourself, by handling the