Files
cef/tests
Marshall Greenblatt df31007ab6 osr: Fix file chooser crash due to null native view
Guard the owning-window lookup in FileSelectHelper::RunFileChooserOnUIThread.

Add ceftests DialogTest.FileInputOSR test for triggering and canceling a file
input in OSR mode.
2026-08-19 13:37:28 -04:00
..

CEF Test Applications

This directory contains sample applications and test suites demonstrating the Chromium Embedded Framework (CEF).

Sample Applications

cefsimple

Minimal C++ browser application - the recommended starting point for learning CEF.

  • Purpose: Learning CEF basics
  • Complexity: ~10 source files
  • Best for: Understanding CEF architecture and fundamental APIs
  • Tutorial: CEF Tutorial provides detailed walkthrough

cefsimple_capi

Pure C implementation of cefsimple using the CEF C API.

  • Purpose: C API reference implementation
  • Language: Pure C (C11), no C++
  • Best for: Embedding CEF in C projects or when C++ is unavailable
  • Documentation: Using the CAPI

cefclient

Comprehensive sample application demonstrating advanced CEF features.

  • Purpose: Feature demonstration and manual testing
  • Complexity: ~100+ source files
  • Features: Full CEF API coverage, built-in test framework, multiple UI modes
  • Best for: Reference implementation, exploring advanced features

Test Suite

ceftests

Automated unit test suite for CEF API validation.

  • Purpose: Automated regression testing
  • Framework: Google Test (gtest)
  • Coverage: Comprehensive CEF API testing across all platforms
  • Best for: CI/CD integration, validating CEF releases

Shared Code

shared

Common utilities and helpers used by cefclient and ceftests.

  • Delegate pattern framework for application customization
  • Message loop implementations (standard, external pump, multi-threaded)
  • Cross-platform resource loading and file utilities
  • Not used by cefsimple or cefsimple_capi (self-contained examples)

Learning Path

New to CEF? Follow this recommended path:

  1. Start with cefsimple and the CEF Tutorial to understand CEF architecture
  2. Explore cefclient to see advanced features and integration patterns
  3. Review ceftests to understand API usage and testing patterns
  4. Study shared code for reusable patterns and best practices

For C API development, substitute cefsimple_capi for cefsimple and consult Using the CAPI.

References