January 22, 2020, CEF 79.1.31+gfc9ef34+chromium-79.0.3945.117 / Chromium 79.0.3945.117
CEF
now supports the Chromium Network Service
which brings a huge number of breaking API
changes, please make sure you read #2743 for details if you are upgrading from a version prior to 75.1.x
.
Visual C++ 2015
is required, see Notes
below for more information
- #3018 WinForms - Load/LoadHtml does nothing when called from Form/Control.OnLoad [@amaitland]
- #3016 API Change - IJavascriptObjectRepository.Register remove isAsync default param [@amaitland]
- #3009 CefSharp.Common.targets - Improve PlatformCheck error message [@amaitland]
- #2997 Dev tools shows up as an MDI window on the desktop [@amaitland]
- #2990 Remove CefSharp.WebBrowserExtensions.RegisterJsObject/RegisterAsyncJsObject [@amaitland]
- #2988 Feature Request - Add StreamResponseFilter [@amaitland]
- #2986 GetVisibleNavigationEntry always returns null [@amaitland]
- #2983 WinForms - Make CefSharp.WinForms.Internals.ControlExtensions.InvokeOnUiThreadIfRequired internal [@amaitland]
- #2973 WPF IME - Fixed last hangul letter being duplicated [@nyjin]
- #2957 Feature Request - Add RequestContext.ClearHttpAuthCredentials [@vwmberry95]
- #2955 Remove IFrame.LoadStringForUrl [@amaitland]
- #2954 Remove CefSettings.EnableNetSecurityExpiration and RequestContextSettings.EnableNetSecurityExpiration [@amaitland]
- #2946 Accessing Request/Response Headers for ReadOnly Request/Response throws NotSupportedException [@amaitland]
- #2932 IFrame.LoadRequest - Add xml doc warning [@amaitland]
- #2918 Remove IAudioHandler [@amaitland]
- #2909 JSB - Pass params to IMethodInterceptor.Intercept [@amaitland]
- #2908 JSB - Pass all params to IBinder.Bind [@amaitland]
- #2891 BrowserSubprocess - Refactor to support .Net Core [@amaitland]
- #2885 WPF - Modify CopyMemory EntryPoint to work with .Net Core [@kpreisser]
- #2873 MethodRunningQueue DeadLock when attempting to Dispose ChromiumWebBrowser [@amaitland]
- #2332 Feature Request - Add Print preview
- #2258 WPF Improve Scrollbar/Scroll Drag Usability [@mol @amaitland]
- #1721 Feature Request - Add IUrlRequest [@davidmi]
- #228 Feature Request - Add WPF TouchScroll/Multitouch Support [@GSonofNun @kkwpsv]
Notes
CefSharp
requiresVisual C++ 2015
. See #1983 for details. You can bin deploy theVC++
dependencies, read theFAQ
for more.Chromium
has removed support forWindows XP
,Windows Vista
,Windows Server 2003
andWindows Server 2008
. See https://chrome.googleblog.com/2015/11/updates-to-chrome-platform-support.html- Starting in June 2019 Google will require OAuth authentication when accessing web services that rely only Google Account Data, this includes Gmail, Drive, Docs, see https://security.googleblog.com/2019/04/better-protection-against-man-in-middle.html?m=1 for further discussion see https://groups.google.com/a/chromium.org/d/msg/embedder-dev/STyM5ZNTHMM/POj1v_cqBgAJ
- Due to licensing issues default builds do not support proprietary codecs like
H264/AAC
, sites likeNetflix/Twitter/Instagram/Facebook
won't play video/audio. See #1479 for more info.MP3
audio is supported. - Anyone new to
CefSharp
should read the General Usage Guide - This project uses
GitLink
for better debugging, you can step directly into much of the project source directly fromVisual Studio
see #1680 for details on how to enableGitLink
WPF
now has touch support which is enabled by default. Support for Stylus is not enabled by default, see #228 (comment) for further details- CEF now supports
Print Preview
see #2332 for details on how to enable it - Legacy Javascript binding registered JavaScript objects no longer get lost when navigating to another domain.
- Both the
WPF
andOffScreen
versions havedisable-gpu-compositing
set by default to workaround https://bitbucket.org/chromiumembedded/cef/issues/2833/osr-gpu-consume-cpu-and-may-not-draw and https://bitbucket.org/chromiumembedded/cef/issues/2823/osr-on-a-monitor-at-125x-scale-onpaint
Known Issues
WinForms
when running onWindows 10 Anniversary
pressing certain key combinations freezes the browser see #1822 The issue has been reportedupstream
, there are workarounds listed in #1822- Browser goes blank if used in combination with WPF TabControl see #2779
CefSettings.IgnoreCertificateErrors
no longer works, use theignore-certificate-errors
command line arg as a workaround or alternatively useOnCertificateError
to selectively allow a certificate and/or display a dialog to your users see https://stackoverflow.com/a/35564187/852806 for an example.- When loading a
WebM
file (or any mimetype that supports range headers) the request is cancelled unexpectedly and the video fails to load see https://bitbucket.org/chromiumembedded/cef/issues/2836/cefstreamreader-createforfile - A work in progress list of
CEF
issues that are likely relevant toCefSharp
is available at https://gist.github.com/amaitland/aec2d464e6dd75e5f0ff8fa8c9503b3a - See https://github.com/cefsharp/CefSharp/issues?q=is%3Aissue+is%3Aopen+label%3Aknown-issue for other known issues
Breaking Changes
- For
Network Service API
changes see #2743 - IJavascriptObjectRepository.Register removed isAsync default param, you must now specify the third method param see #3016 for details and example
- CefSharp.WinForms.Internals.ControlExtensions.InvokeOnUiThreadIfRequired is now internal, it was never intended to be part of the public API #2983
- CefSettings.EnableNetSecurityExpiration and RequestContextSettings.EnableNetSecurityExpiration were removed #2954
IFrame.LoadStringForUrl
has been removed asCEF
removedCefFrame::LoadString
see #2955CefSharp.WebBrowserExtensions.RegisterJsObject/RegisterAsyncJsObject
methods have been removed, you must now directly register your objects with theIJavascriptObjectRepository
see #2990 for details and examples for migration.IAudioHandler
has been removed asCEF
now longer supports this feature #2918 (it's likely to be re-added at some point)IMethodInterceptor.Intercept
now has the paramaters passed to allow for more advanced scenarios see #2909IBinder.Bind
now has all arguments passed instead of justIDictionary/IList
to allow for more flexible type conversion see #2908Javascript Binding
methods are now executed on theThreadPool
instead of their own dedicated thread, see 2873