Keyman Third Party Package Readme: Cef4Delphi
===========================================

Name:              Cef4Delphi
Purpose:           Provides embedded Chromium browser
Source:            https://github.com/keymanapp/CEF4Delphi
Version:           06/28/2018 - CEF 3.3396.1782.gc368dbf / Chromium 67.0.3396.79
License:           Mozilla Public License 1.1 (MIT compatible)
Updated for:       N/A
Documentation:     https://www.briskbard.com/index.php?lang=en&pageid=cef
                   http://magpcss.org/ceforum/apidocs3/index.html
Download location: https://github.com/keymanapp/CEF4Delphi
Licensed For:      Unlimited developers
Include Paths:     ext/cef4delphi/source


Installation notes
------------------

Copy the source/ and packages/ folders from the CEF4Delphi repository
into the windows/src/ext/cef4delphi folder. Ensure that the
CEF4Delphi_binary repository is kept in sync with the cef4delphi source
version.

Build and notes
---------------

Cef4Delphi also requires the CEF binary distribution from
https://www.spotify.com/au/opensource/, cloned at
https://github.com/keymanapp/CEF4Delphi_binary. Build agents will
source this repository in order to build the installer for
of Keyman Developer. On a development machine, clone the
CEF4Delphi_binary repository and set the registry value
[HKEY_CURRENT_USER\Software\Keyman\Debug] Debug_CEFPath [REG_SZ] to
the root of the cloned repo in order to run Keyman Developer.

Note that some of the files in the CEF4Delphi_binary repo are larger
than 100MB, which GitHub does not handle, so they have been zipped.
/common/windows/cef-checkout.sh will extract them during a release
build, but for development use, you'll need to extract them yourself.

Debug symbols for CEF can be found at:
https://cef-builds.spotifycdn.com/index.html#windows32

Note that these symbols are too large to upload to sentry.keyman.com;
instead, it should be possible to upload them to downloads.keyman.com
using symsrv.

License - MPL 1.1
-----------------

Current uses
------------

This information was compiled during the transition of Keyman Engine and
Keyman from TEmbeddedWB to TCEF4Delphi. It may not be up to date.

cef / cefwp:
  UframeCEFHost (TframeCEFHost)
    {Kmshell, Developer, Keyman, Tsysinfo}

Kmshell
    UfrmHTML ()
    UfrmTextEditor
    UfrmWebContainer [*from global]
      UfrmBaseKeyboard
      UfrmInstallKeyboard
      UfrmInstallKeyboardFromWeb
      UfrmHint [*from global]
      UfrmKeepInTouch
      UfrmKeyboardOptions
      UfrmMain
      UfrmOnlineUpdateNewVersion
      UfrmProxyConfiguration
      UfrmSplash

Developer
    UframeTextEditor
    UfrmHelp
    UframeTouchLayoutBuilder
    UfrmProject

Keyman
    UfrmOSKFontHelper
    UfrmOSKKeyboardUsage
    UfrmVisualKeyboard [*WebHintManager from global]
    UfrmWebContainer [*from global]
      UfrmHelp
      UfrmHint [*from global]

Tsysinfo
    sysinfo_main

Global
    UfrmWebContainer [*]
      {Keyman, KMShell}
    UfrmHint [*]
      {Keyman, KMShell}
