Here is a quick summary of the changes in Awesomium.NET 1.7 RC3:
- Added support for the new, windowed web-views that render directly to
HWND. Read more in Introduction to Web-Views.
- Added the Windows Forms
WebControl. The control now wraps a windowed web-view.
IResourceInterceptor. You can assign your implementation to the
- Added the
IWebViewPresenterinterface to the Awesomium.Windows.Controls assembly, for creating custom presenters of an
IWebViewinstance, that can be added to the style of the
- The WPF
WebControlcan now wrap a windowed web-view. A predefined presenter has been added (see
WebViewHost), that is used to present a windowed web-view, taking advantage of full hardware acceleration. Read more in: Working with Windowed Web-Views.
- The WPF and Windows Forms WebControls, now handle downloads and selecting local files automatically, by showing the necessary dialogs. Custom handling is still in place and improved. Read more about custom handling, here:
- Significantly improved the powerful
DataSourceAPI that allows you to provide a custom resource loader for a set of URLs that match a certain prefix. See the API Changes section below, and read the Using Data-Sources article. All predefined DataSources are now under the new Awesomium.Core.Data namespace.
DirectoryDataSource, a predefined
DataSourcethat loads resources from a local directory. Resources can also be cached in-memory for fast response.
ResourceDataSource, a predefined
DataSourcethat loads resources from embedded or packed (Build Action: Resource) application resources. The
ResourceDataSourcecan also load resources from an external managed assembly.
- Added the base
DataSourceProvider, a WPF
DataSourceprovider that can be used in XAML.
- Added WPF DataSourceProviders under the new
Awesomium.Windows.Datanamespace, for each of the available DataSources under Awesomium.Core.Data. These can be used in XAML (see Using Data-Sources).
- Added the ability to specify one ore more
DataSourceProviderinstances to a
WebSessionProviderin XAML (see the API Changes section below).
- The WPF
WebSessionProvidercan now provide a
WebSessionthat is synchronized to disk.
- The Windows Forms
WebView, now support Data Binding. For more details, read the Handling Events - Binding to Notifications section in Introduction to Web-Views.
- Added the
IWebViewIMECompositionservice for showing your own Input Method Editor widget into offscreen web-views (useful for input of Asian languages). For more details, read the Features as a Service section in Introduction to Web-Views.
WebCore.ResourceInterceptor: Allows you to specify your
WebConfig.AdditionalOptions: Gets or sets additional command-line options for Chromium.
WebPreferences.EnableGPUAcceleration: Gets or sets if GPU accelerated compositing (experimental) should be enabled. This is only compatible with windowed
IWebViewinstances at this time (see Introduction to Web-Views).
WebSession.SetCookie: Sets a cookie for a certain URL asynchronously.
WebSession.GetDataSource: Gets the
DataSourcepreviously registered for an asset host, if any.
WebSession.DataSources: Gets a list of DataSources that have been registered with the
Utilities.GetMimeType: Gets the mime type for a specified file name, based on its extension.
Utilities.ToUri: Gets a
Uriinstance from a well formatted URI string.
IWebView.Download: Occurs when the page requests to begin downloading a certain file. Technology specific WebControls, will display a dialog.
IWebView.DownloadComplete: Occurs when a download is finished.
IWebView.DownloadProgress: Occurs when the progress of a download is updated.
IWebView.NativeWindow: Gets the actual window handle that was created by a
IWebViewinstance. This is only valid for windowed
IWebViewinstances (see Introduction to Web-Views).
IWebView.ParentView: Gets the parent view (if any) of an
IWebViewinstance (see Handling Child Web-Views).
IWebView.ParentWindow: Gets or sets the parent window for a
IWebViewinstance. This is only valid for windowed
IWebViewinstances (see Introduction to Web-Views). WebControls handle this internally.
IWebView.ProcessHandle: Get the handle for the corresponding child-process hosting a
IWebView.ProcessID: Get the unique ID for the corresponding child-process hosting a
IWebView.TerminationStatus: Gets the termination status of a
IWebView.ViewType: Gets the type of a
IWebViewinstance. This is implemented as read-write in the WPF
DataSource.AssetHosts: Gets a list of asset hosts, a
DataSourcehas been registered to handle, in a
DataSource.WebSession: Gets the
DataSourcehas been added to.
AsyncDataSource: Represents a base
DataSourcethat loads resources asynchronously. The new
ResourceDataSourceDataSources, inherit this class. See New Features above.
DataSourceRequest: Represents a request for a resource.
DataSourceResponse: Represents the response to a
WebViewHost: Represents a WPF presenter of a windowed
IWebViewinstance (read about
IWebViewPresenterin the New Features above. Also read: Introduction to Web-Views).
WebControl.ViewType: Allows you to set the type of the underlying
WebSessionProvider.DataPath: Gets or sets the disk data path of this session, if any.
WebSessionProvider.DataSources: Gets a collection of pairs of asset hosts and
DataSourceProvider: Represents the base class for WPF
Awesomium.Windows.Data: This new namespace includes predefined WPF
DataSourceproviders for each available
Awesomium.Core.Data, that can be used in XAML (see Using Data-Sources).
Awesomium.Windows.Forms (Windows Forms)
WebControl: The Windows Forms
WebControlis back! It now wraps a windowed web-view by default.
AddressBox: Represents a Windows Forms TextBox that behaves as an address-box.
ToolStripAddressBox: Represents a text box in a ToolStrip that behaves as an address-box.
LoadURLis deprecated and it will be removed in later releases of Awesomium.NET. Use the
Sourceproperty to load content to an
- The base
DataSourceand all predefined managed DataSources have been moved under the
DataSource.OnRequestnow provides a
SendResponse(Int32, UInt32, IntPtr, String)is deprecated. You should now use the new
SendRequestFailed(Int32)is deprecated. You should now use the new
- Two overloaded
WebCore.CreateWebViewhave been added that accept a parameter that specifies the type of
WebViewto create (offscreen or windowed). Read Using the WebView.
IWebView.PrintToFileaccepts the outputDirectory as a separate parameter.
WebKeyboardEventis now a structure.
- Fixed issue with
GC.Collect()called too often by the internal
- Fixed issues with setting
- Fixed exception that occurred when trying to use
IWebView.PrintToFile(see the modified API above).
- Fixed exceptions that occurred when handling
- Fixed bug that did now allow you to select content using the keyboard in the WPF
- Fixed bug with keyboard modifiers not being applied to mouse and touch events in offscreen views (like the WPF
- Fixed issues with commands not working in the WPF context menu.
Please read here, the list of bugs fixed in native Awesomium. Some of them affected Awesomium.NET.
- On Windows 8, applications that use windowed
IWebViewinstances (such as the Windows Forms
WebControl) and create popup child views (see
ShowCreatedWebViewEventArgs.IsPopup), may crash when the application exits.
- On Windows 8, WebGL is currently not supported.
- When you are using the WPF
WebFileChooserMode.OpenFolder, will not display a dialog automatically. Currently, you will have to handle such events yourself.
- When you are using the WPF or Windows Forms WebControls, drop-down (popup) menus (e.g., HTML:
<select>), are not displayed automatically. This feature will be added on the final release of v1.7. However, the new powerful API allows you to design and display these yourself, by handling the