Chromium Embedded Framework (CEF). A simple framework for embedding Chromium-based browsers in other applications.
Go to file
Marshall Greenblatt 236d419d9d Improvements to automate-git.py
- Remove support for SVN checkouts (issue #1577).
- Use new Bitbucket cef.git repo for Git checkouts (issue #1577).
- Windows: Set DEPOT_TOOLS_WIN_TOOLCHAIN=0 to avoid errors while
  running Chromium hooks (issue #1533).
- Fix create/restore of out_<branch> directories.
2015-03-14 23:27:12 -04:00
include Implement improvements for request handling (issue #1327). 2015-03-11 18:44:11 +00:00
libcef Implement improvements for request handling (issue #1327). 2015-03-11 18:44:11 +00:00
libcef_dll Implement improvements for request handling (issue #1327). 2015-03-11 18:44:11 +00:00
patch Implement improvements for request handling (issue #1327). 2015-03-11 18:44:11 +00:00
tests Implement improvements for request handling (issue #1327). 2015-03-11 18:44:11 +00:00
tools Improvements to automate-git.py 2015-03-14 23:27:12 -04:00
AUTHORS.txt Implement improvements for request handling (issue #1327). 2015-03-11 18:44:11 +00:00
CHROMIUM_BUILD_COMPATIBILITY.txt Update to Chromium revision 47fb4821 (#318735). 2015-03-04 01:00:13 +00:00
CMakeLists.txt.in Move natives_blob.bin and snapshot_blob.bin files to the build configuration directory in the binary distribution (issue #1554). 2015-03-10 17:46:53 +00:00
DEPS Branch CEF3 files from /branches/cef3 to /trunk/cef3 (issue #564). 2012-04-03 01:34:16 +00:00
LICENSE.txt Update LICENSE.txt copyright date. 2014-10-10 18:57:47 +00:00
README.md README.md edited online with Bitbucket 2015-03-14 15:44:49 +00:00
VERSION - Add about:version, about:credits and about:license internal URLs (issue #731). 2012-10-08 17:47:37 +00:00
cef.gyp Update to Chromium revision 47fb4821 (#318735). 2015-03-04 01:00:13 +00:00
cef.gypi Update to Chromium revision beafd8cb (#314338). 2015-02-04 18:10:14 +00:00
cef_create_projects.bat Update to Chromium revision 248478. 2014-02-05 20:35:45 +00:00
cef_create_projects.sh Branch CEF3 files from /branches/cef3 to /trunk/cef3 (issue #564). 2012-04-03 01:34:16 +00:00
cef_paths.gypi Add support for complete isolation of storage and permissions (cache, cookies, localStorage, access grants, etc) on a per-request-context basis (issue #1044). 2015-03-02 20:25:14 +00:00
cef_paths2.gypi Fix issues related to request and context object lifespan (issue #1037, issue #1044). 2015-02-13 23:17:08 +00:00
macros.cmake.in cefclient: Organize source files into directories by target process (browser, renderer, common) (issue #1500). 2015-01-31 00:55:56 +00:00

README.md

Note: This project is currently in the process of moving from Google Code to Bitbucket. The original project page is here. Additional details about the move are available here.

Introduction

The Chromium Embedded Framework (CEF) is a simple framework for embedding Chromium-based browsers in other applications. It is a BSD-licensed open source project founded by Marshall Greenblatt in 2008 and based on the Google Chromium project. Unlike the Chromium project itself, which focuses mainly on Google Chrome application development, CEF focuses on facilitating embedded browser use cases in third-party applications. CEF insulates the user from the underlying Chromium and Blink code complexity by offering production-quality stable APIs, release branches tracking specific Chromium releases, and binary distributions. Most features in CEF have default implementations that provide rich functionality while requiring little or no integration work from the user. There are currently over 100 million installed instances of CEF around the world embedded in products from a wide range of companies and industries. A partial list of companies and products using CEF is available on the CEF Wikipedia page. Some use cases for CEF include:

  • Embedding an HTML5-compliant Web browser control in an existing native application.
  • Creating a light-weight native “shell” application that hosts a user interface developed primarily using Web technologies.
  • Rendering Web content “off-screen” in applications that have their own custom drawing frameworks.
  • Acting as a host for automated testing of existing Web properties and applications.

CEF supports a wide range of programming languages and operating systems and can be easily integrated into both new and existing applications. It was designed from the ground up with both performance and ease of use in mind. The base framework includes C and C++ programming interfaces exposed via native libraries that insulate the host application from Chromium and Blink implementation details. It provides close integration between the browser and the host application including support for custom plugins, protocols, JavaScript objects and JavaScript extensions. The host application can optionally control resource loading, navigation, context menus, printing and more, while taking advantage of the same performance and HTML5 technologies available in the Google Chrome Web browser.

Users new to CEF development should start by reading the Tutorial Wiki page for an overview of CEF usage and then proceed to the GeneralUsage Wiki page for a more in-depth discussion or architectural and usage issues. Complete API documentation is available here. CEF support and related discussion is available on the CEF Forum.

Numerous individuals and organizations contribute time and resources to support CEF development, but more involvement from the community is always welcome. This includes support for both the core CEF project and external projects that integrate CEF with additional programming languages and frameworks (see the "External Projects" section below). If you are interested in donating time to help with CEF development please see the "Helping Out" section below. If you are interested in donating money to support general CEF development and infrastructure efforts please visit the CEF Donations page.

Binary Distributions

Binary distributions, which include all files necessary to build a CEF-based application, are available on the Downloads page. Automated nightly builds, available from http://cefbuilds.com, include the newest changes but may not be fully tested. Binary distributions are stand-alone and do not require the download of CEF or Chromium source code. Symbol files for debugging binary distributions of libcef can also be downloaded from the above links.

Release notes for past and current CEF binary distributions are available here.

Source Distributions

The CEF project is an extension of the Chromium project. CEF maintains development and release branches that track Chromium branches. CEF source code can be downloaded, built and packaged manually or with automated tools. Visit the BranchesAndBuilding Wiki page for more information.

External Projects

The base CEF framework includes support for the C and C++ programming languages. Thanks to the hard work of external maintainers CEF can integrate with a number of other programming languages and frameworks. These external projects are not maintained by CEF so please contact the respective project maintainer if you have any questions or issues.

If you're the maintainer of a project not listed above and would like your project listed here please either post to the CEF Forum or contact Marshall directly.