Language:

Categories

Getting Started

General Use

WPF

Windows Forms

MonoMac

Unity

Tutorials

Changelogs

What's New in 1.7.4

.NET Language:

We are very proud to announce the release of Awesomium.NET 1.7.4. This is a major update with many new features and enhancements. It introduces an auto-update and cross-thread synchronization model, offers new samples, and fixes several critical bugs on multiple platforms.

Major New Features

With this release we are introducing many important new features. Some of them provide solutions to certain long standing limitations and may require changing the way you did things with Awesomium. Here is a short presentation of some of these features:

New Synchronization Model

Starting with Awesomium.NET v1.7.4, we have designed and applied a new, awesomium-specific synchronization model and we have utilized available .NET tools to the maximum, allowing auto-update in any scenario and cross-thread communucation with Awesomium.

For details, read: Synchronization Model

WPF Revisited

Our WPF components had some special treatment in this version; features were added, issues and potential leaks were fixed, performance was improved and WPF samples got a facelift.

For details, see:

And of course, don’t forget to download our completely revamped ClickOnce WPF demo, from here.

DataSources Redesigned

Both the ResourceRequest passed to IResourceInterceptor.OnRequest as well as DataSourceRequest, now implement the new IResourceRequest interface. Through this, DataSources now get valuable information about the request such whether it is POST or GET, information about the view that sends the request etc.

Also, the new AssetProtocol configuration setting, allows to specify a custom protocol to be used with DataSources, other than the default asset.

For details, see: Using DataSources.

Awesomium for Xamarin Mac (XamMac)

With the Awesomium SDK for Mac OSX, we now provide the Awesomium.Xamarin.Mac assembly, targeting Xamarin’s XamMac. Clients of Xamarin can use this to create applications using Awesomium that embed Mono and can be distributed to the Apple Store.

For details, read:

New Features

Core
  • Created a synchronization model with internal SynchronizationContext, ISynchronizeInvoke implementation by views, WebCore.QueueWork and WebCore.Run that allows cross-thread interaction with Awesomium.
  • Added support for creating custom (native or managed) child process.
  • Made it so unwrapped native child views are properly destroyed when ShowCreatedWebView is not handled.
  • Added the ability access the current rendering (child) Process through IWebView.RenderProcess.
  • Added support for specifying a different protocol for DataSource (other then asset).
  • You can now easily revive from Crashed by GoBack, GoForward, GoHome and Reload.
  • Applied new thread-affinity insurance model. Users can bypass with ThreadAffinityEnsuredAttribute.
  • Made it so the child process’s priority is lowered when the view is not rendering.
  • Redesigned our JSObject references model.
  • Added support for specifying a catch-all DataSource for handling requests to any asset host.
  • DataSourceRequests now implement the new IResourceRequest providing the OnRequest call with important information about the request.
  • Added support for downloading an image at specified coordinates in a page, with IWebView.SaveImageAt.
  • Added commands relevant to the new SaveImageAt, to predefined context-menus.
  • Made it so users can remove specific items from WebCore.Downloads.
  • Added support for acquiring the HTML of the currently loaded page through IWebView.HTML.
  • Added design-time support for Visual Studio 2013.
  • Significantly improved and added more, documentation.
WPF and Windows Forms
  • Made it so that the address in a WPF TextBox bound with SourceBinding or in a WinForms AddressBox, is not updated when they have keyboard focus.
  • Improved performance of the WPF WebControl by utilizing features of the new synchronization model.
  • Added the WPF WebDialogsLayer decorator for presenting JS dialogs.
  • Redesigned WPF JS dialogs.
  • Added full localization support for WPF context menus and commands.
  • Made it so SourceBinding can target any type with a Source Uri property.
  • Users can now provide custom handling of String->Uri conversion when using a SourceBinding, with a custom UriValueConverter.
  • Improved appearance of WPF WebPopupMenu.
  • Improved WebViewPresenter rendering in high DPI.
  • Added support for small and extra large icons in WPF DownloadItem.
  • Added default “awe” and “data” XAML namespace prefixes.
  • Made it so users can customize the “crashed” layer (Sad Tab) and all relevant predefined UI.
Unity
  • Updated Unity sample scripts.
MonoMac/Xamarin
  • Created the Awesomium.Xamarin.Mac assembly, targeting XamMac, to be used by Xamarin clients for producing applications that can be distributed to the Apple Store.
  • Created OsmMonoMac assembly (our build of MonoMac). This replaces the previous Awesomium.MonoMac assembly (with ambiguous name).

API Changes

New API:

Awesomium.Core
Awesomium.Windows.Controls (WPF)

Modified API:

Awesomium.Core

Obsolete API:

Awesomium.Core

Bug Fixes

Native Awesomium
  • Fixed issue that would cause a crash when WebPreferences.Javascript was set to false. (#12)
  • Fixed issue with about:blank being added to history at beginning of view’s lifetime. (#30)
  • Fixed issue with PDF files not being downloaded when Adobe Reader is installed. (#11)
  • Fixed crash that occurs when JSObject.Invoke fails on executing a callback with invalid JavaScript.
  • Fixed crash issue with requestQuota.
  • Fixed crash when users hit CTRL+LEFT at beginning of line.
Awesomium.Core
  • Fixed occasional NullReferenceException in WebCore’s static constructor which causes a TypeInitializationException and crash. (#33)
  • Fixed issues in JIF that would cause IWebView.Selection to not update. (#24)
  • Made it so IWebView.Selection contents are cleared upon navigation. (#34)
  • Fixed issues with reviving from Crashed.
  • Fixed issue that would cause requests from views with invalid/special identifier (0), be canceled. This affected login procedure in certain sites. #38
  • Fixed issue that would cause a JSObject instance be prematurely released.
  • Fixed issue that would cause ResourceDataSource not be able to access resources when there are numbers in the path. (#23)
  • Fixed some bugs in DirectoryDataSource (#39)
  • Made it so DocumentReady is fired on window.open child views (#25)
  • Made it so full-screen Flash windows, do not appear to the background of the application when using Offscreen views. (#37)
  • Fixed issue with Zoom not being applied to newly created views navigating to a zoomed host.
Awesomium.Windows.Controls (WPF)
  • Fixed incorrect rendering when scrolling iFrames with managed Offscreen views. (#22)
  • Fixed issue with WebControlCommands handling keyboard shortcuts already handled by native Awesomium.
  • WebControl no longer scrolls when a drop-down (popup) menu is open.
  • Made it so WebViewHost (windowed WebControls) properly handles Modifier + Key. (#29)
  • Made it so tool-tips and drop-down (popup) menus in WPF WebControl, close when the container Window is moved. (#36)
  • Made it so that text in WPF WebControl tool-tips, is properly wrapped. (#20)
  • Few fixes and improvements that prevent memory leaks on WPF.
  • Made it so that buttons in WPF dialogs properly handle mouse clicks.
Awesomium.Windows.Forms (Windows Forms)
  • Fixed incorrect rendering when scrolling iFrames with managed Offscreen views. (#22)
  • Made it so users can handle key-related events and override default handling, on WinForms Offscreen WebControl. (#35)
Awesomium.Mono.Mac (MonoMac/Xamarin)
  • Fixed issues that would cause a crash when a new OSMWebView is created, with newer versions of MonoMac and XamMac.

Changes in Samples

  • Fixed issue with UpdateFavicon code in samples, that would cause a WebCore shutdown.
  • Added new BasicAsyncSample that demonstrates all features of the new synchronization model.
  • Redesigned BasicSample to use the new synchronization model.
  • Added Awesomium (C++) sample; a custom native child process.
  • Added CustomProcess (C#) sample; a custom managed child process.
  • Upgraded Awesomium.Unity sample project to Unity 4.3.x.
  • Updated all WPF samples to reflect changes and new features.
  • Completely redesigned the TabbedWPFSample using fresh Metro look and feel.
  • Added a C# and VB.NET WPF StarterSample.
  • Removed Microsoft.Widows.Shell dependency from WPF samples.
  • Added XamMac (equivalent to the MonoMac) samples, for use by Xamarin clients.

Known Issues

  • On Windows 8, WebGL is currently not supported.

Under production:

  • When you are using the OSX OSMWebView, drop-down (popup) menus (e.g., HTML: <select>), are not displayed automatically. Predefined drop-down (popup) menus have been added to the WPF WebControl and the Windows Forms WebControl but not to the MonoMac OSMWebView yet. However, the new powerful API allows you to design and display these yourself, by handling the ShowPopupMenu event.

Older Changelogs

You can find this and previous Changelogs, under the Changelogs category.