- Add new CefSettings.external_message_pump option and
CefBrowserProcessHandler::OnScheduleMessagePumpWork() callback.
- Improve documentation related to CefDoMessageLoopWork().
- Pass `--external-message-pump` command-line flag to cefclient or
cef_unittests to test the new mode.
- Remove |accept_lang| parameter from CefJSDialogHandler::OnJSDialog
and CefFormatUrlForSecurityDisplay (see https://crbug.com/336973#c36).
- Remove remaining NPAPI-related code including functions from
cef_web_plugin.h (see https://crbug.com/493212#c55).
- Mac: 10.7+ deployment target is now required for client applications.
- Mac: Remove CefBrowserHost::SetWindowVisibility (issue #1375). No
replacement is required for windowed rendering. Use WasHidden for
off-screen rendering.
- Windows: Visual Studio 2015 Update 2 is now required when building
CEF/Chromium.
- Add Views header files in a new include/views directory.
- Add initial top-level window (CefWindow), control (CefBrowserView,
CefLabelButton, CefMenuButton, CefPanel, CefScrollView,
CefTextfield) and layout (CefBoxLayout, CefFlowLayout) support.
See libcef/browser/views/view_impl.h comments for implementation
details.
- Add Views example usage in cefclient and cefsimple and Views unit
tests in cef_unittests. Pass the `--use-views` command-line flag to
cefclient, cefsimple and cef_unittests to run using the Views
framework instead of platform APIs. For cefclient and cefsimple
this will create the browser window and all related functionality
using the Views framework. For cef_unittests this will run all
tests (except OSR tests) in a Views-based browser window. Views-
specific unit tests (`--gtest_filter=Views*`) will be run even if
the the `--use-views` flag is not specified.
- Pass the `--hide-frame` command-line flag to cefclient to demo a
frameless Views-based browser window.
- Pass the `--hide-controls` command-line flag to cefclient to demo a
browser window without top controls. This also works in non-Views
mode.
- Pass the `--enable-high-dpi-support` command-line flag to
cef_unittests on Windows to test high-DPI support on a display
that supports it.
- Add CefImage for reading/writing image file formats.
- Add CefBrowser::DownloadImage() for downloading image URLs as a
CefImage representation. This is primarily for loading favicons.
- Add CefMenuModel::CreateMenuModel() and CefMenuModelDelegate for
creating custom menus. This is primarily for use with
CefMenuButton.
- Add CefBrowser::TryCloseBrowser() helper for closing a browser.
Also improve related documentation in cef_life_span_handler.h.
- Rename cef_page_range_t to cef_range_t. It is now also used by
CefTextfield.
- Remove CefLifeSpanHandler::RunModal() which is never called.
- Add draggable regions example to cefclient.
- Delete include/cef_runnable.h (issue #1336).
- Build the cef_unittests target using all Chromium headers. Add a
USING_CHROMIUM_INCLUDES define and libcef_dll_wrapper_unittests
target to support this. This change avoids compile errors due to
the divergence of CEF and Chromium base/ header implementations.
The libcef_dll_wrapper sources must now compile successfully with
both CEF and Chromium base/ headers (issue #1632).
- The onbeforeunload message specified via JavaScript is no longer
passed to the client (see http://crbug.com/587940).
- Building on Windows now requires the Windows 10.0.10586 SDK.
- Remove CefParseCSSColor which was implemented using Blink code in the
browser process. This is longer advisable now that the Oilpan GC is enabled.
- Avoid potential renderer process crashes by disabling script actions
on the CefV8Context passed to CefRenderProcessHandler::OnContextReleased.
- Provide access to the full certificate issuer chain (issue #1530)
- Add several missing certificate error codes to cef_errorcode_t (issue #1784)
- Provide the full certificate status bitmask (issue #1790)
POST data includes elements that are not represented (issue #1761).
- Add CefRequest::SetReferrer and CefRequest::GetReferrer[URL|Policy]. The
Referer value will no longer be stored in the header map.
- Move request-related conversion logic to CefRequestImpl and standardize the
implementation.
- Introduce native/ and osr/ folders for native (non-platform-agnostic) and
osr (windowless) code respectively.
- Introduce CefBrowserPlatformDelegate for abstracting platform-specific
implementations of browser host functionality.
- Move dialog and menu code to separate manager and platform-specific runner
implementations exposed via CefBrowserPlatformDelegate.
- Standardize focus-handling behavior between windowed and windowless
implementations. CefFocusHandler::OnSetFocus() will now also be called for
osr focus changes.
- Support multiple simultaneous popups (issue #1289).
- Improve ordering of CefLoadHandler callbacks. OnLoadingStateChange will
be called before and after all calls to OnLoadStart and OnLoadEnd.
OnLoadStart/OnLoadEnd calls will occur as matching pairs
(see http://crbug.com/539952#c2).
- Remove the |requesting_url| argument to CefGeolocationHandler::
OnCancelGeolocationPermission. Clients can use the |request_id| argument
to track this information themselves.
- Fix a crash when loading the PDF extension in multiple browsers with a
custom CefRequestContext (issue #1757).
- Persist modified user preferences including per-host zoom settings when a
cache_path value is specified and persist_user_preferences is set to true
via CefSettings or CefRequestContextSettings.
- Avoid the need to duplicate files from chrome/ by having CefBrowserContext
extend Chrome's Profile class.
- Implement CefRequestHandler::OnBeforeBrowse using NavigationThrottle
instead of ResourceThrottle (see http://crbug.com/537634). The CefRequest
object passed to OnBeforeBrowse will no longer have an associated request
identifier.
- Mac: Remove additional helper apps which are no longer required (see
http://crbug.com/520680)
- Remove the UR_FLAG_REPORT_RAW_HEADERS flag which is no longer supported (see
http://crbug.com/517114)
- Remove the CefBrowserSettings.java parameter. Java is an NPAPI plugin and
NPAPI plugins are no longer supported (see http://crbug.com/470301#c11)
- Add CefFormatUrlForSecurityDisplay function in cef_parser.h
- Fix crash when passing `--disable-extensions` command-line flag (issue #1721)
- Linux: Fix NSS handler loading (issue #1727)
- Preferences are now associated with a CefRequestContext instead of
being stored globally.
- Add methods to CefRequestContext for getting/setting preferences.
- Default plugin loading policy can be specified using the new
`--plugin-policy=[allow|block|detect]` command-line flag.
- Move CefRequestHandler::OnBeforePluginLoad to
CefRequestContextHandler and add a new policy argument that
supports different actions (allow, block, detect, disable) on a
per-plugin-instance basis.
- Add CefContextMenuHandler::RunContextMenu for providing a custom
context menu implementation.
- Add CefResourceBundleHandler::GetDataResourceForScale for
returning scaled resources (issue #1272).
- Add CefResourceBundle for retrieving resources from the resource
bundle (*.pak) files loaded by CEF during startup or via the
CefResourceBundleHandler.
- Linux: Fix Debug build IO access warning with CefGetMimeType.
- cef_unittests: Move the refcounting implementation from TestHandler
to subclasses in order to support interface inheritance from
subclasses.
- Windows/Mac: Use `--enable-widevine-cdm` command-line flag to
enable download of CDM binaries via the component updater.
- Linux: Use `--widevide-cdm-path` and `--widevine-cdm-version`
command-line flags to load CDM binaries that already exist on
the system.
- A cache-path value is usually required when CDM is enabled.
- Mac: 10.10 SDK is now required for building (see http://crbug.com/463170#c63).
Older SDKs can be used for a short time by setting mac_sdk_min via GYP_DEFINES.