detached 902c404

chore(deps): bump purego-cef to v0.14.1

v0.14.0 pinned the CEF API 15000 contract and fixed the struct ABI
corruption that made BrowserSettings.BackgroundColor land on
chrome_status_bubble (transparent windowless canvas). v0.14.1 restores
the global function bindings dropped by that regeneration
(DictionaryValueCreate, V8ContextGetCurrentContext, all *Create
factories) and fixes global factory ownership so created objects are
adopted without a leaked reference.

This makes the white-canvas fix in this branch effective: the opaque
white BrowserSettings.BackgroundColor now actually reaches libcef.
commit
902c404508da47722a324d2f14b2a4cfc04a2812
author
brice · · 2026-07-21 19:07 UTC
parent
1dc7dd4
signature
GPG VerifiedCD88F9E564E0102646FB6077A1A07C7C7C3E349D · arch-gpg Verified for the committer email
75 files · +1836 -1983
M go.mod +1 -1
@@ -6,7 +6,7 @@ require (
66 github.com/a-h/templ v0.3.1020
77 github.com/andybalholm/brotli v1.2.2
88 github.com/bnema/purego v0.11.0-bnema.4
9- github.com/bnema/purego-cef v0.13.4
9+ github.com/bnema/purego-cef v0.14.1
1010 github.com/bnema/purego-cef2gtk v0.8.5
1111 github.com/bnema/purego-pipewire v0.1.5
1212 github.com/bnema/purego-sqlite v0.1.4
@@ -6,7 +6,7 @@ require (
6 github.com/a-h/templ v0.3.10206 github.com/a-h/templ v0.3.1020
7 github.com/andybalholm/brotli v1.2.27 github.com/andybalholm/brotli v1.2.2
8 github.com/bnema/purego v0.11.0-bnema.48 github.com/bnema/purego v0.11.0-bnema.4
9- github.com/bnema/purego-cef v0.13.49+ github.com/bnema/purego-cef v0.14.1
10 github.com/bnema/purego-cef2gtk v0.8.510 github.com/bnema/purego-cef2gtk v0.8.5
11 github.com/bnema/purego-pipewire v0.1.511 github.com/bnema/purego-pipewire v0.1.5
12 github.com/bnema/purego-sqlite v0.1.412 github.com/bnema/purego-sqlite v0.1.4
M go.sum +2 -2 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_browser_gen.go +15 -2 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_command_line_gen.go +15 -2 generated file: collapsed
A vendor/github.com/bnema/purego-cef/cef/cef_component_updater_gen.go +323 -0 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_cookie_gen.go +14 -1 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_drag_data_gen.go +14 -1 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_image_gen.go +14 -1 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_media_router_gen.go +24 -41 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_menu_model_gen.go +14 -1 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_parser_gen.go +10 -4 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_preference_gen.go +14 -1 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_print_settings_gen.go +14 -1 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_process_message_gen.go +14 -1 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_request_context_gen.go +16 -3 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_request_gen.go +42 -3 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_resource_bundle_gen.go +14 -1 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_response_gen.go +14 -1 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_shared_memory_region_gen.go +3 -3 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_shared_process_message_builder_gen.go +20 -4 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_stream_gen.go +34 -5 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_task_gen.go +15 -2 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_task_manager_gen.go +14 -1 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_thread_gen.go +14 -1 generated file: collapsed
A vendor/github.com/bnema/purego-cef/cef/cef_types_component_gen.go +45 -0 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_types_content_settings_gen.go +72 -79 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_types_gen.go +59 -52 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_urlrequest_gen.go +14 -1 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_v8_gen.go +166 -19 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_values_gen.go +62 -7 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_waitable_event_gen.go +14 -1 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_xml_reader_gen.go +14 -1 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_zip_reader_gen.go +14 -1 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/test_cef_api_version_test__gen.go +86 -871 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/test_cef_test_server_gen.go +14 -1 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/test_cef_translator_test__gen.go +92 -50 generated file: collapsed
A vendor/github.com/bnema/purego-cef/cef/v8_helpers.go +19 -0 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/views_cef_browser_view_gen.go +15 -2 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/views_cef_display_gen.go +17 -4 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/views_cef_label_button_gen.go +14 -1 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/views_cef_menu_button_gen.go +14 -1 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/views_cef_panel_gen.go +14 -1 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/views_cef_scroll_view_gen.go +14 -1 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/views_cef_textfield_gen.go +14 -60 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/views_cef_window_gen.go +14 -1 generated file: collapsed
A vendor/github.com/bnema/purego-cef/internal/capi/cef_component_updater_gen.go +130 -0 generated file: collapsed
A vendor/github.com/bnema/purego-cef/internal/capi/cef_types_component_gen.go +11 -0 generated file: collapsed
M vendor/github.com/bnema/purego-cef/internal/capi/cef_types_gen.go +1 -1 generated file: collapsed
M vendor/github.com/bnema/purego-cef/internal/capi/cef_v8_gen.go +44 -0 generated file: collapsed
M vendor/github.com/bnema/purego-cef/internal/capi/register_gen.go +2 -0 generated file: collapsed
M vendor/github.com/bnema/purego-cef/internal/capi/test_cef_api_version_test__gen.go +0 -459 generated file: collapsed
M vendor/github.com/bnema/purego-cef/internal/capi/views_cef_textfield_gen.go +33 -107 generated file: collapsed
A vendor/github.com/bnema/purego-cef/internal/cefapi/contract.go +11 -0 generated file: collapsed
M vendor/github.com/bnema/purego-cef/internal/loader/loader.go +23 -18 generated file: collapsed
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_component_updater_gen.go +24 -0 generated file: collapsed
M vendor/github.com/bnema/purego-cef/internal/ports/in/cef_media_router_gen.go +2 -2 generated file: collapsed
M vendor/github.com/bnema/purego-cef/internal/ports/in/cef_shared_memory_region_gen.go +1 -5 generated file: collapsed
M vendor/github.com/bnema/purego-cef/internal/ports/in/cef_shared_process_message_builder_gen.go +1 -5 generated file: collapsed
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_types_component_gen.go +9 -0 generated file: collapsed
M vendor/github.com/bnema/purego-cef/internal/ports/in/cef_v8_gen.go +8 -1 generated file: collapsed
M vendor/github.com/bnema/purego-cef/internal/ports/in/cef_values_gen.go +1 -1 generated file: collapsed
M vendor/github.com/bnema/purego-cef/internal/ports/in/test_cef_api_version_test__gen.go +8 -63 generated file: collapsed
M vendor/github.com/bnema/purego-cef/internal/ports/in/test_cef_translator_test__gen.go +8 -4 generated file: collapsed
M vendor/github.com/bnema/purego-cef/internal/ports/in/views_cef_textfield_gen.go +0 -7 generated file: collapsed
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_component_updater_gen.go +29 -0 generated file: collapsed
M vendor/github.com/bnema/purego-cef/internal/ports/out/cef_parser_gen.go +3 -3 generated file: collapsed
M vendor/github.com/bnema/purego-cef/internal/ports/out/cef_preference_gen.go +2 -2 generated file: collapsed
M vendor/github.com/bnema/purego-cef/internal/ports/out/cef_shared_process_message_builder_gen.go +1 -1 generated file: collapsed
M vendor/github.com/bnema/purego-cef/internal/ports/out/cef_stream_gen.go +1 -1 generated file: collapsed
M vendor/github.com/bnema/purego-cef/internal/ports/out/cef_v8_gen.go +11 -2 generated file: collapsed
M vendor/github.com/bnema/purego-cef/internal/ports/out/cef_values_gen.go +1 -1 generated file: collapsed
M vendor/github.com/bnema/purego-cef/internal/ports/out/test_cef_api_version_test__gen.go +4 -51 generated file: collapsed
M vendor/github.com/bnema/purego-cef/internal/ports/out/test_cef_translator_test__gen.go +4 -4
@@ -44,14 +44,14 @@ type TranslatorTest interface {
4444 SetRefPtrLibraryAndReturn(val uintptr) uintptr
4545 SetChildRefPtrLibrary(val uintptr) uintptr
4646 SetChildRefPtrLibraryAndReturnParent(val uintptr) uintptr
47- SetRefPtrLibraryList(val uintptr, val1 uintptr, val2 uintptr) uintptr
47+ SetRefPtrLibraryList(valcount uintptr, val uintptr, val1 uintptr, val2 uintptr) uintptr
4848 GetRefPtrLibraryListByRef(valcount uintptr, val uintptr, val1 uintptr, val2 uintptr) uintptr
4949 GetRefPtrLibraryListSize() uintptr
5050 SetRefPtrClient(val uintptr) uintptr
5151 SetRefPtrClientAndReturn(val uintptr) uintptr
5252 SetChildRefPtrClient(val uintptr) uintptr
5353 SetChildRefPtrClientAndReturnParent(val uintptr) uintptr
54- SetRefPtrClientList(val uintptr, val1 uintptr, val2 uintptr) uintptr
54+ SetRefPtrClientList(valcount uintptr, val uintptr, val1 uintptr, val2 uintptr) uintptr
5555 GetRefPtrClientListByRef(valcount uintptr, val uintptr, val1 uintptr, val2 uintptr) uintptr
5656 GetRefPtrClientListSize() uintptr
5757 GetOwnPtrLibrary(val uintptr) uintptr
@@ -65,10 +65,10 @@ type TranslatorTest interface {
6565 SetChildOwnPtrClientAndReturnParent(val uintptr) uintptr
6666 SetRawPtrLibrary(val uintptr) uintptr
6767 SetChildRawPtrLibrary(val uintptr) uintptr
68- SetRawPtrLibraryList(val uintptr, val1 uintptr, val2 uintptr) uintptr
68+ SetRawPtrLibraryList(valcount uintptr, val uintptr, val1 uintptr, val2 uintptr) uintptr
6969 SetRawPtrClient(val uintptr) uintptr
7070 SetChildRawPtrClient(val uintptr) uintptr
71- SetRawPtrClientList(val uintptr, val1 uintptr, val2 uintptr) uintptr
71+ SetRawPtrClientList(valcount uintptr, val uintptr, val1 uintptr, val2 uintptr) uintptr
7272 }
7373
7474 // TranslatorTestRefPtrLibrary defines the outbound port for CEFTranslatorTestRefPtrLibraryT.
@@ -44,14 +44,14 @@ type TranslatorTest interface {
44 SetRefPtrLibraryAndReturn(val uintptr) uintptr44 SetRefPtrLibraryAndReturn(val uintptr) uintptr
45 SetChildRefPtrLibrary(val uintptr) uintptr45 SetChildRefPtrLibrary(val uintptr) uintptr
46 SetChildRefPtrLibraryAndReturnParent(val uintptr) uintptr46 SetChildRefPtrLibraryAndReturnParent(val uintptr) uintptr
47- SetRefPtrLibraryList(val uintptr, val1 uintptr, val2 uintptr) uintptr47+ SetRefPtrLibraryList(valcount uintptr, val uintptr, val1 uintptr, val2 uintptr) uintptr
48 GetRefPtrLibraryListByRef(valcount uintptr, val uintptr, val1 uintptr, val2 uintptr) uintptr48 GetRefPtrLibraryListByRef(valcount uintptr, val uintptr, val1 uintptr, val2 uintptr) uintptr
49 GetRefPtrLibraryListSize() uintptr49 GetRefPtrLibraryListSize() uintptr
50 SetRefPtrClient(val uintptr) uintptr50 SetRefPtrClient(val uintptr) uintptr
51 SetRefPtrClientAndReturn(val uintptr) uintptr51 SetRefPtrClientAndReturn(val uintptr) uintptr
52 SetChildRefPtrClient(val uintptr) uintptr52 SetChildRefPtrClient(val uintptr) uintptr
53 SetChildRefPtrClientAndReturnParent(val uintptr) uintptr53 SetChildRefPtrClientAndReturnParent(val uintptr) uintptr
54- SetRefPtrClientList(val uintptr, val1 uintptr, val2 uintptr) uintptr54+ SetRefPtrClientList(valcount uintptr, val uintptr, val1 uintptr, val2 uintptr) uintptr
55 GetRefPtrClientListByRef(valcount uintptr, val uintptr, val1 uintptr, val2 uintptr) uintptr55 GetRefPtrClientListByRef(valcount uintptr, val uintptr, val1 uintptr, val2 uintptr) uintptr
56 GetRefPtrClientListSize() uintptr56 GetRefPtrClientListSize() uintptr
57 GetOwnPtrLibrary(val uintptr) uintptr57 GetOwnPtrLibrary(val uintptr) uintptr
@@ -65,10 +65,10 @@ type TranslatorTest interface {
65 SetChildOwnPtrClientAndReturnParent(val uintptr) uintptr65 SetChildOwnPtrClientAndReturnParent(val uintptr) uintptr
66 SetRawPtrLibrary(val uintptr) uintptr66 SetRawPtrLibrary(val uintptr) uintptr
67 SetChildRawPtrLibrary(val uintptr) uintptr67 SetChildRawPtrLibrary(val uintptr) uintptr
68- SetRawPtrLibraryList(val uintptr, val1 uintptr, val2 uintptr) uintptr68+ SetRawPtrLibraryList(valcount uintptr, val uintptr, val1 uintptr, val2 uintptr) uintptr
69 SetRawPtrClient(val uintptr) uintptr69 SetRawPtrClient(val uintptr) uintptr
70 SetChildRawPtrClient(val uintptr) uintptr70 SetChildRawPtrClient(val uintptr) uintptr
71- SetRawPtrClientList(val uintptr, val1 uintptr, val2 uintptr) uintptr71+ SetRawPtrClientList(valcount uintptr, val uintptr, val1 uintptr, val2 uintptr) uintptr
72 }72 }
73 73
74 // TranslatorTestRefPtrLibrary defines the outbound port for CEFTranslatorTestRefPtrLibraryT.74 // TranslatorTestRefPtrLibrary defines the outbound port for CEFTranslatorTestRefPtrLibraryT.
M vendor/github.com/bnema/purego-cef/internal/ports/out/views_cef_textfield_gen.go +0 -7 generated file: collapsed
M vendor/modules.txt +2 -1 generated file: collapsed

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 8

Tags 42

↑↓ moveenter openesc close