Change Log: Awesomium.NET v1.6.6 - Apr 14 2012 API Major Changes: - [Added] IWebView.Repaint - [Modified] (WPF) Utilities.CopyToBitmap: Now accepts a tranformation Matrix used to calculate DPI setting. Bug Fixes: - [Bugfix] Fixed incorrect rendering and input processing in WPF, on systems with different DPI settings. - [Bugfix] Fixed Zoom not working after reset to default value (100) in WPF WebControl. - [Bugfix] Fixed bug introduced in v1.6.4 that prevented WebControls from processing keyboard events in certain scenarios. - [Bugfix] Fixed shortcuts processing (CTRL+C etc.), in WPF WebControl. - [BugFix] Fixed issues with WPF Demo on Windows XP. ------------------------------------------------------------------------------ Awesomium v1.6.5 [r232] - Feb 16 2012 Bug Fixes: - [Bugfix] Fixed issue that caused IsDirty to continuously return 'true' after a dropdown is closed. - [Bugfix] Fixed crash issue that occurred when a WebView was destroyed with dropdowns active. - [Bugfix] Made it so no external protocol requests (such as mailto: or itms: links) are attempted to be handled. Users can handle these schemes within OnBeginNavigation. - [Bugfix] Made it so there are no outbound HTTP requests initiated upon WebCore startup (Chromium made some useless checks for intranet redirection among other things, we disabled these for faster startup in low-connectivity situations). Awesomium.NET v1.6.5 - Mar 12 2012 API Major Changes: - [Added] WebCoreConfig.IsCacheUsed - [Added] IWebView.IsLive - [Added] CoreStartingEventArgs.Configuration - [Added] ChangeTooltipEventArgs.Handled - [Removed] WebView.IsEnabled - [Added] IWebView : IDisposable - [Added] (WPF) Utilities.GetKeyboardEvent - [Added] (Mono) PlatformDetection - [Added] (Mono) Awesomium.Mono.Forms assembly - [Added] (Mono) Awesomium.Mono.Gtk assembly - [Added] (Gtk#) WebControl - [Added] (Gtk#) Utilities - [Added] (Gtk#) MacMenu Core Changes: - [Feature] WebCore internally monitors for multiple applications using the same cache and cookies, when SaveCacheAndCookies is enabled. Static WebCoreConfig.IsCacheUsed can be used to know if the cache specified by UserDataPath, is currently used by another appication. - [Feature] IWebView now implements IDisposable. This means that IDisposable is now implemented by the WPF WebControl as well. In 1.7, all Close methods will be substituted by a publically exposed Dispose (in WPF also). - [Modified] The behavior of the enabled status of technology specific WebControls has changed. Enabled (IsEnabled in WPF, Sensitive in Gtk etc.) now only affects internal asynchronous rendering. IWebView.IsLive is now publicly implemented by all WebControls and the WebView, allowing you to monitor the status of the underlying Awesomium web-view. (Read the documentation of: IsLive, IsRendering, SelfUpdate) - [Feature] WebCore.Starting event now allows you to edit the initial configuration of the WebCore before initialization, through the new: CoreStartingEventArgs.Configuration - [Modified] Keyboard input processing improved in both the WPF and WinForms WebControls. - [Feature] Windows Forms WebControl allows customization of the tooltip. - [Feature] WPF WebControl users can now modally handle JS dialog events. Bug Fixes: - [Bugfix] Fixed Alt key handling in all WebControls. - [Bugfix] Fixed bug that did not allow WPF WebControl users, handle JS dialog events using their own WebControlJSDialogLayer. - [Bugfix] Issues with Single Process Mode on Windows XP partially fixed by simply checking the OS version and falling back to multi-process mode. (ForceSingleProcess currently not supported with managed applications on Windows XP). - [Bugfix] Fixed bug that did not allow Windows Forms WebControl users manipulate the control's tooltip. - [Bugfix] Fixed various keyboard focus issues in both the Windows Forms and WPF WebControls. - [Bugfix] Fixed broken LoadHTML bug accidentally introduced in v1.6.4. - [Bugfix] Fixed Flash full screen window appearing behind the application. (Fix with limitations: Windows Only, Managed Child Process Only). - [Bugfix] Fixed all issues with drop-down lists in all WebControls. - [Bugfix] Many stability fixes. Samples Major Changes: - [Added] C++ Sample of creating an unmanaged custom child process. - [Modified] Modified WinForms WebControlSample to demonstrate initialization of the WebCore in the application's entry point (similar to WPF sample behavior). - [Added] Single instance support for the WinForms WebControlSample. - [Modified] Modified simple WinFormsSample to support Mono applications. - [Modified] Modified VBWebControlSample demonstrating basic WebKit scrollbar customization. - [Modified] TabbedWPFSample now uses a custom unmanaged child process on Windows XP. - [Modified] All samples modified to demonstrate the changes with IsLive and WebControls' enabled status. - [Added] Added demonstration of defining custom headers, to the TabbedWPFSample. - [Added] WinFormsSample for Mono with MonoDevelop, for use with Mono on all platforms. - [Added] AwesomiumGtk: Simple tabbed Gtk# Browser sample for Mono with MonoDevelop, for use with Mono on all platforms. ------------------------------------------------------------------------------ Awesomium v1.6.4 [r225] - Jan 19 2012 Bug Fixes: - [Bugfix] Fixed redraw issue that occurred with multiple dropdowns. - [Bugfix] Fixed crash issue involving new YouTube CSS template. - [Bugfix] Made it so the user-data-dir and log-dir defaults to User Profile/AppData/Awesomium on Windows - [Bugfix] Fixed issue with WebCoreConfig.setProxyServer("auto"). Now correctly detects system proxy settings; this is now the default proxy mode. Awesomium.NET v1.6.4 - Jan 19 2012 API Major Changes: - [Added] UpdateTimer - [Added] RenderOperations - [Added] WebCore.Starting - [Added] WebCore.Started - [Added] WebCore.ShuttingDown - [Added] WebCore.CreatedView - [Added] WebCoreConfig.SystemSupportsManagedChildProcess - [Added] WebView. / WebControl.SelfUpdate - [Added] WebView. / WebControl.IsRendering - [Added] WebView. / WebControl.SelfUpdate - [Added] (WPF) WebControlLayer - [Added] (WPF) WebControlDialogLayer - [Added] (WPF) WebControlJSDialogLayer - [Added] (WinForms) AddressBox - [Added] (WinForms) ToolStripAddressBox Core Changes: - [Feature] Added independent auto-update feature for every WebView or WebControl, activated through SelfUpdate. On by default in the WPF WebControl. - [Feature] Exposed WPF WebControl layers such as the WebControlJSDialogLayer that can be used from code. - [Modified] WinForms WebControl now considered stable. - [Feature] WinForms AddressBox and ToolStripAddressBox that can interact with a WebControl. Auto-complete and suggest/append included, using the core's History. - [Modified] Rendering logic improved in both WPF and WinForms WebControls. RenderOperation allows you to choose from methods of rendering the RebderBuffer. - [Modified] Keyboard input processing improved in both the WPF and WinForms WebControls. - [Feature] WPF WebControl allows customization of the tooltip. - [Feature] WebControls can switch parent containers at runtime. Allows use in docking managers. - [Modified] Ensured background transparency during initial loading. Bug Fixes: - [Bugfix] WinForms WebControl correctly processes mouse-button pressed. - [Bugfix] CTRL key and shortcuts correctly processed by the WPF WebControl. - [Bugfix] Fixed issue with SelectLocalFiles freezing the the view when the upload is cancelled. - [Bugfix] Fixed exceptions thrown when a crashed WebControl was being re-created. - [Bugfix] Fixed issues with custom child processes (including "self") in XP. - [Bugfix] Mouse is properly captured when scrolling. - [Bugfix] WinForms WebControl design-time issues fixed. - [Bugfix] IsTransparent and FlushAlpha property setting issues, resolved. - [Bugfix] Fixed Awesomium.Mono strong-name signing. - [Bugfix] Many stability fixed. - [Misc] Awesomium.NET links to the original (unpacked) libraries to resolve delay issues with linking to the packed libraries. Packed build of Awesomium.NET available in separate folder. Samples Major Changes: - [Modified] WebControlSample: Windows Forms samples is modified to feature advanced use of the new WinForms WebControl in a Tabbed application. - [Modified] WinFormsSample: Synchronized with the latest API changes. Improved performance. - [Added] BasicVBSample: Basic console application using Awesomium, in VB.NET. - [Modified] TabbedWPFSample: Minor UI improvments. Available as standalone when you install Awesomium SDK v1.6.4 (look for WPF Demo) - [Added] WebControlSample: Windows Forms major sample is available as standalone when you install Awesomium SDK v1.6.4 (look for Windows Forms Demo) ------------------------------------------------------------------------------ Awesomium v1.6.3 [r210] - Nov 3 2011 API Changes: - [Added] WebCoreConfig.setPackagePath - [Added] WebCoreConfig.setLocalePath - [Modified] WebCore.setCookie: returns void instead of bool - [Added] WebCore.queryHistory - [Added] class HistoryQueryResult - [Added] class HistoryEntry - [Added] WebView.copyImageAt - [Added] WebView.isTransparent - [Added] WebView.login - [Added] WebView.cancelLogin - [Added] WebView.closeJavascriptDialog - [Added] enum MediaType - [Added] enum MediaState - [Added] enum CanEditFlags - [Added] enum DialogFlags - [Added] WebViewListener.onShowContextMenu - [Added] WebViewListener.onRequestLogin - [Added] WebViewListener.onChangeHistory - [Added] WebViewListener.onFinishResize - [Added] WebViewListener.onShowJavascriptDialog Core Changes: - [Feature] Added History API so that embedders can query the on-disk history database for past visits. - [Feature] Rewrote the way we handle config paths, now embedders can specify a "packagePath" that will be used to resolve all relative config paths. Embedders can now also specify a "localePath" for the location of en-US.dll on Windows and chrome.pak on Linux. - [Feature] Added support for Context Menus. Whenever a user clicks the right mouse-button, the page will fire a request to show the context menu. It is the embedder's responsibility to handle the event, display the menu, and handle any action the user selects. - [Feature] Added support for Login/Authentication Dialogs. It is the embedder's responsibility to handle the event, display the dialog, and then, once the user has chosen an action, call WebView.login or WebView.cancelLogin. - [Feature] Added support for Javascript Dialogs (eg, alert, confirm, and prompt). It is the embedder's responsibility to handle the event, display the proper dialog, and then, once the user has chosen an action, call WebView.closeJavascriptDialog. Bug Fixes: - [Bugfix] Fixed crash/deadlock that occured occasionally when calling WebCore.clearCookies, clearCache, setCookie, getCookies, and deleteCookie. - [Bugfix] Fixed bug where clearing cookies caused databases folder to be created. - [Bugfix] Fixed rare crash at startup with debug build involving extension preference blacklist parsing. - [Bugfix] Fixed rare crash at shutdown due to the internal WebCore instance being destroyed on the wrong thread. - [Bugfix] Fixed issue with Mac build printing log output directly to the console. - [Bugfix] Fixed issue with WebView.loadHTML not correctly resolving relative URLs against the base directory. - [Bugfix] Improved compatibility with many websites by forcing the default user-agent to display a proper Chrome version string (Chrome/12.0.702.0). Also embedded Awesomium version inside the user-agent. - [Bugfix] Added a potential fix for issue whereby Mono exceptions on POSIX platforms caused a bus error and/or SIGTERM. - [Misc.] Made a proper shared-library on Linux. You should install libawesomium-1.6.3.so and other files inside its own directory in /usr/lib or similar path and add it to ldconfig. Awesomium.NET v1.6.3 - Nov 3 2011 API Major Changes: - [Added] WebViewCollection - [Added] IWebView - [Added] IWebViewJavaScript - [Added] WinForms WebControl - [Added] CopyDependencies.targets (for /linkresource) - [Added] Public Keys for Strong Naming - [Added] AwesomiumNETResolver - [Modified] JSObject: MarshalByRefObject - [Modified] JSValue: MarshalByRefObject - [Added] HistoryEntry - [Added] HistoryQueryResult - [Added] WebCore.Culture - [Added] WebCore.Views - [Added] WebCore.IsChildProcess - [Added] WebCore.ChildProcessMain - [Added] WebCore.PackagePath - [Added] WebCore.QueryHistory - [Modified] WebCore: Improved Update - [Modified] WebCore: Made Lazy Initialization the default - [Added] WebCoreConfig.ChildProcessPath - [Added] WebCoreConfig.LocalePath - [Modified] WebCoreConfig: Improved logic and documentation - [Added] WebView.IsNavigating - [Added] WebView. / WebControl.IsTransparent - [Added] WebView. / WebControl.InputController - [Added] WebView. / WebControl.DeferInput - [Added] WebView. / WebControl.CopyImageAt - [Added] WebView. / WebControl.NavigationInfo - [Added] WebView. / WebControl.SaveToPNG - [Added] WebView. / WebControl.SaveToJPEG - [Modified] WebView: Synchronized functionality with WebControl controls - [Modified] WebCore, WebView and WebControls members that used optional parameters, have been converted to overloaded members. - [Added] New documentation (Awesomium.NET.chm) Core Changes: - [Feature] Separated project to 3, technology related, assemblies: - Awesomium.Core (Windowsless Core) - Awesomium.Windows.Controls (WPF Support) - Awesomium.Windows.Forms (Windows Forms Support) - [Feature] Created independent Windows Forms control equivalent to WPF WebControl, available through the new Awesomium.Windows.Forms assembly (Experimental) - [Feature] Added support for custom ChildProcess. Executing application can also act as child process - [Feature] Native dependencies automatically deployed to Output Directory (/linkresource) - [Feature] Added support for installing in GAC. Native dependencies included - [Feature] Strong Name signing. Ability to import C API through the Strong Name of Awesomium.Core (when installed in GAC) - [Feature] Added support for accessing History contents. Results exposed as IEnumerable - [Feature] Rendering logic has been redesigned resulting in dramatic improvement of performance - [Feature] Low level bridge wrapping the WebView C API was added that acts as a common access point to the native view. Also serves as a common place of callbacks mapping. Significantly reduces the memory used by views. - [Feature] InputController exposed by all views allows full control over the input that is being processed by a web view or web control. - [Feature] Added native support for Authentication in the WPF WebControl - [Modified] Improved the WPF WebControl context menus - [Modified] Improved events handling in WPF WebControl. - [Modified] Awesomium.Mono: Moved to a separate project (still sharing Awesomium.Core source files) Better tested and improved for use with MonoDevelop in all platforms Bug Fixes: - [Bugfix] Blank screen or hang when a container window was minimized while a page was loading. - [Bugfix] IsTransparent - FlushAlpha incompatibility. - [Bugfix] Fixed broken download sample in TabbedWPFSample. - [Bugfix] Fixed issues with support of Touch input in WPF WebControl - [Misc.] Improved input handling and support of HTML5 editable contents - [Misc.] Removed unsafe code Samples Major Changes: - [Added] WebControlSampe: Windows Forms application sample in both C# and VB.NET, demonstrating the new Windows Forms WebControl. - [Modified] WinFormsSample: Synchronized with the latest API changes. Improved performance. Added VB.NET version - [Modified] Multiple samples demostrate the support of custom child process - [Added] CustomProcess project demostrating the creation of a custom child process in .NET - [Added] TabbedWPFSample: Minor fixes and improvments. Fully documented. Available as standalone when you install Awesomium SDK v1.6.3 (look for WPF Demo) ------------------------------------------------------------------------------ Awesomium v1.6.2 [r169] - Aug 2 2011 API Changes: - [Added] WebCoreConfig - [Added] WebCoreConfig.setEnableDatabases - [Added] WebCoreConfig.setForceSingleProcess - [Added] WebCoreConfig.setChildProcessPath - [Added] WebCoreConfig.setEnableAutoDetectEncoding - [Added] WebCoreConfig.setAcceptLanguageOverride - [Added] WebCoreConfig.setDefaultCharsetOverride - [Added] WebCoreConfig.setAuthServerWhitelist - [Added] WebCoreConfig.setDisableWinMessagePump - [Modified] WebCore.createWebView: new parameter "viewSource" - [Added] Awesomium::isChildProcess - [Added] Awesomium::ChildProcessMain - [Added] WebView.getURL - [Added] WebView.getHistoryBackCount - [Added] WebView.getHistoryForwardCount - [Added] WebView.getZoom - [Added] WebView.getZoomForHost - [Added] WebView.find - [Added] WebView.stopFind - [Added] WebView.translatePage - [Added] WebView.activateIME - [Added] WebView.setIMEComposition - [Added] WebView.confirmIMEComposition - [Added] WebView.cancelIMEComposition - [Added] RenderBuffer.flushAlpha - [Modified] RenderBuffer.copyTo: new parameter "flipY" - [Added] ResourceRequest.cancel - [Added] enum IMEState - [Added] WebViewListener.onGetFindResults - [Added] WebViewListener.onUpdateIME Core Changes: - [Feature] Added support for single-process mode. Only works on Windows platform, Flash is disabled in this mode. - [Feature] Added ability to use own application to host the renderer child-process for Awesomium (that way you can bypass AwesomiumProcess.exe and use your own). - [Feature] Added IME-integration support, you can now integrate your own IME Widget to allow input of Asian languages. - [Feature] Added in-page find. - [Feature] Added in-page translation (via Google Translate API). - [Feature] Added View HTML Source mode. - [Feature] Added config option "authServerWhitelist" to allow proper NTLM authentication without prompting the user for credentials. Bug Fixes: - [Bugfix] Resolved issue with plugin mouse input not working correctly when Zoom is active - [Bugfix] Fixed the crash that occurs when a config path is specified that has spaces - [Bugfix] Fixed the hang at shutdown with Mono wrapper / Unity3D - [Bugfix] Fixed resource interceptor threading issue (all calls to OnResourceRequest and OnResourceResponse are now made on the main thread). - [Bugfix] Fixed flaw in awe_webkeyboard_event (modifiers field should be int). Thanks Eric Lengyel. - [Bugfix] Fixed issue with awe_webview_get_dirty_bounds returning an empty rect. - [Bugfix] Fixed a rather critical bug that caused certain batches of queued events to be invoked in reverse. This caused adjacent series of Javascript Callbacks to be invoked out-of-order. - [Bugfix] Fixed crash that occurs if the ResourceInterceptor is active and you attempt to upload a file. - [Bugfix] Fixed rare crash at shutdown that occurs due to internal ResourceInterceptor not being unhooked on the right thread. - [Bugfix] Fixed issue where invalid URLs/requests were triggering events as a download request. - [Bugfix] No longer creates Safe Browsing Bloom files - [Bugfix] No longer creates Dictionaries folder/files - [Bugfix] No longer creates Databases folder by default (must enable local databases via config option now) - [Bugfix] No longer creates awesomium.log file LogNone is set - [Bugfix] Improved capture of external links (now works with Gmail) - [Misc.] Made logging more verbose and relevant AwesomiumSharp (.NET) v1.6.2 - Aug 2 2011 API Major Changes: - [Added] WebCoreConfig - [Added] WebCoreConfig.AutoUpdatePeriod - [Added] WebCoreConfig.HomeURL - [Added] WebCoreConfig.EnableVisualStyles - [Added] WebControl (WPF Control) - [Added] WebSourceControl (WPF Source Code Control) - [Added] WebControlCommands (Routed Commmands for WebControl) - [Added] WebControl.GoToHome - [Added] WebView. / WebControl.FindNext - [Added] WebView. / WebControl.FlushBuffer - [Added] WebView. / WebControl.IsNavigating - [Added] WebView. / WebControl.Selection - [Added] WebView. / WebControl.HasSelection - [Added] WebView. / WebControl.HasTargetURL - [Added] WebView. / WebControl.HistoryBackCount - [Added] WebView. / WebControl.HistoryForwardCount - [Added] WebView. / WebControl.CopyHTML - [Added] WebView. / WebControl.SelectionChanged - [Added] Selection (Selection range info) - [Added] Ultilities (WinForms Utilities) - [Added] Independent Event Handlers and Event Arguments - [Modified] WebCore: Added Properties, Many changes with respect to .NET Guidelines and Naming Convensions - [Modified] WebCore: New Auto-Update Logic - [Added] WebCore.IsRunning - [Added] WebCore.IsShuttingDown - [Added] WebCore.IsAutoUpdateEnabled - [Added] WebCore.AutoUpdatePeriod - [Added] WebCore.HomeURL - [Modified] WebView: Added Properties, Many changes with respect to .NET Guidelines and Naming Convensions - [Added] Complete Documentation (Also included in HtmlHelp format in the SDK and Online: http://awesomium.com/docs/1_6_2/sharp_api/) Core Changes: - [Feature] Added Auto-Update logic for UI thread processes with thread affinity ensured. - [Feature] Added lazy initialization of the WebCore. - [Feature] Simplified Find logic for WebView & WebControl. - [Feature] Added information for the current page selection range in WebView & WebControl. - [Feature] Extensive support for WPF applications through the new WebControl (Dependency Properties, Routed Commands etc). - [Feature] Stylable & Customizable ContextMenu for WebControl. - [Feature] WebControl supports re-creation of the underlying view, when this is crashed. - [Feature] WebControl supports safe design-time configuration. - [Feature] Friendly UI for reporting errors and crashes for WebControl, using layers. - [Feature] Localization Support for UI elements. Bug Fixes: - [Bugfix] Fixed memory leak issues when disposing a WebView or WebControl. - [Bugfix] Fixed TAB, HOME & END keys not properly handled in WPF. - [Bugfix] Fixed unexepected shutdown of the core when closing a WebControl (No longer handles MainWindow.Closing). - [Misc.] Improved rendering in WPF. No longer rendering on an Image. The new WPF WebControl is a FrameworkElement. Samples Major Changes: - [Added] VBWPFSample: WPF application sample in VB.NET, demonstrating the major features of the new WebControl. - [Modified] BasicSample: Documented each step, Improved logic, Added simple scrollbars customization example. - [Modified] WinFormsSample: Synchronized with the latest API changes, Demonstrates the use of the Utilities class, Added simple file upload example. - [Modified] VBWinFormsSample: Synchronized with the latest API changes, Demonstrates the use of the Utilities class, Added simple file upload example. - [Added] TabbedWPFSample: Complete WPF browser sample in C# with commented code, demonstrating most of the features of the new WebControl. Compiled executable also available online: http://www.awesomium.com/download/ ------------------------------------------------------------------------------ Awesomium v1.6.1 [r130] - May 27 2011 API Changes: - None Bug Fixes: - [Bugfix] Resolved issue with ResourceInterceptor callbacks being invoked on WebViews queued for destruction. - [Bufgix] Resolved issue with ResourceInterceptor callbacks being invoked during WebCore shutdown. - [Bufgix] Resolved issue with WebViewListener events being invoked on WebViews queued for destruction. - [Bugfix] Resolved potential buffer overflow in awe_string methods