This page provides instructions for building a custom version of the Chromium Embedded Framework (CEF) for use with Google software products that use the open source CEF project.
The CEF-based Google products can each be built with a different version of CEF and these versions can change with each product release. It is best to check the specific product's About box to determine the compatible version of CEF. Unexpected results can happen if the CEF version built is different than that used by the Google product.
Once built, the custom CEF binaries can simply be copied into the product's installation directory for use. The binaries must be copied in the same folder structure used by the application you are building CEF for.
Instructions for Google Employees
Google employees should see go/cef instead.
Building from the Official CEF Repository
CEF is hosted on Bitbucket at https://bitbucket.org/chromiumembedded/cef. This site provides a Wiki page containing information on building CEF. All Google products which use CEF are built from the CEF release branches. Instructions for building from a release branch can be found on the Branches and Building page. The CEF builds are based heavily on the open source Chromium project. Because of this, the system requirements to build CEF can be very high.
Google's CEF builds use a modified version of CEF's automated build Python script which applies additional source code patches. These patches are not required to build a version of CEF that is compatible with Google's CEF based products. Should you wish to build with these changes, all files used by Google to build CEF are publicly mirrored at https://third-party-mirror.googlesource.com/cef.
Using CEF's Automated Method
To build using CEF's automated build process, follow the instructions here. Remember to specify the required release branch based on the version of CEF used in the Google product you are building for.
Using Google's Patches
To build with the Google-specific patches:
- Follow the normal CEF automated build process and sync to the correct release branch's source.
- Download the mirrored patch files and add them to CEF's existing patch files under
cef/patches
. Follow the instructions in theREADME.txt
file to add the patches and their entries in the patch config file. - Build CEF using
automated_git.py
.
Including the Chrome Proprietary Codecs
CEF's default build does not enable proprietary audio and video codecs. To build CEF with Chrome's proprietary audio and video codecs enabled, add the following to the GN_DEFINES
environment variable: ffmpeg_branding=Chrome proprietary_codecs=true
Note that these additional codecs require various licensing agreements with and fees paid to the individual codec patent holders.
Using CEF Builds from the Official CEF Builds Page
The official CEF builds page is hosted by Spotify (http://opensource.spotify.com/cefbuilds/index.html). This page allows you to download the release branch build for all three platforms (Windows, Mac and Linux). The downloaded file can be extracted and copied to the Google product's installation directory.