Dolphin-CEF

Description

Dolphin Smalltalk language bindings to the Chromium Embedded Framework (CEF)

Details

Source
GitHub
Dialect
dolphin (25% confidence)
License
MIT
Stars
4
Created
Oct. 23, 2023
Updated
March 18, 2026
Topics
browser cef chromium-embedded-framework smalltalk

Categories

IDE / Dev Tools IoT / Hardware

README excerpt

[Dolphin Smalltalk](https://github.com/dolphinsmalltalk/Dolphin) language bindings to the [Chromium Embedded Framework (CEF)](https://bitbucket.org/chromiumembedded/workspace/projects/CEF). 

**Dolphin Version**: 7.2.1

**CEF Version**: [139.0.7258.139](https://cef-builds.spotifycdn.com/cef_binary_139.0.26%2Bg9d80e0d%2Bchromium-139.0.7258.139_windows32.tar.bz2)

## Why Dolphin-CEF?
For creating a custom browser on top of Chromium, or otherwise embedding web content inside of a native Windows app.

## Why not just use Microsoft Edge WebView2?

While simpler and already available in Dolphin 7, WebView has multiple limitations that make it unsuitable for anything beyond rendering web pages. The biggest one being that it only operates in windowed mode and doesn't support offscreen rendering. This subjects it to the [airspace problem](https://github.com/MicrosoftEdge/WebView2Feedback/issues/286), where it is impossible to render anything on top of a web page. And WebView being owned by Microsoft means that they can snoop on usage and hold the reins on bugfixes and feature development.

## Disclaimer
Currently, this library provides minimal support for use with Win32 widgets and Dolphin's MVP framework. Recommended usage is with [Dolphin-SDL](https://github.com/JBetz/Dolphin-SDL).

## Getting Started
* Install [Dolphin Smalltalk 7](https://github.com/dolphinsmalltalk/Dolphin)
* Install `Chromium Embedded Framework.pax` in a Dolphin image
* Copy everything inside this repo's `cef` directory into the same directory as your image, then extract the `libcef.zip` folder and move `libcef.dll` into the same directory. It needs to be compressed to get around GitHub's 100mb file limit.
* Inside the image, run `WebBrowserView example` to open a window with the Dolphin Github page

Alternatively, you can download [CEF Windows 32-bit binaries](https://cef-builds.spotifycdn.com/index.html), then copy everything inside the Release and Resources folders into the same directory as the image. The version you download will need to be the same as shown on the top of this README. You'll either need to use `cefclient.exe` from the sample application build or use `CefSubprocessRunner.exe` from this repo as the subprocess executable. From Dolphin's perspective, the only difference between them is that `CefSubprocessRunner.exe` sends additional events to the browser process for tracking events that aren't currently exposed by CEF, such as mouse over, focus, and navigation.

The source for `CefSubprocessRunner.exe` can be found in https://github.com/JBetz/CefSubprocessRunner.

## Example

```smalltalk
| shell view |
shell := ShellView new.
shell
    layoutManager: ProportionalLayout new;
    create;
    extent: 1200 @ 1000;
    show.
view := WebBrowserView new.
^view
    parentView: shell;
    arrangement: 1;
    create;
    show;
    loadUrl: 'https://github.com/dolphinsmalltalk/Dolphin';
    yourself
```
← Back to results