detached ef0e401

chore: pin released purego upstream modules

commit
ef0e4016be7594dd9670ba85feaf59f0b3517eb3
author
brice · · 2026-07-15 05:52 UTC
parent
7efcb53
signature
GPG VerifiedCD88F9E564E0102646FB6077A1A07C7C7C3E349D · arch-gpg Verified for the committer email
68 files · +540 -531
M go.mod +8 -10
@@ -6,12 +6,12 @@ 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-0.20260714140305-f0b7414af67e
10- github.com/bnema/purego-cef2gtk v0.8.4-0.20260714160309-bbd397409ebe
11- github.com/bnema/purego-pipewire v0.1.5-0.20260714124450-6504b9cdf02a
12- github.com/bnema/purego-sqlite v0.1.4-0.20260714131321-3614fe683b9c
13- github.com/bnema/purego-webp v0.2.1-0.20260714152238-7bc9c402fdf6
14- github.com/bnema/puregotk v0.7.1-0.20260714200603-7370c78950ef
9+ github.com/bnema/purego-cef v0.13.4-0.20260715054414-19b947c13132
10+ github.com/bnema/purego-cef2gtk v0.8.5
11+ github.com/bnema/purego-pipewire v0.1.5
12+ github.com/bnema/purego-sqlite v0.1.4
13+ github.com/bnema/purego-webp v0.2.1
14+ github.com/bnema/puregotk v0.7.1
1515 github.com/charmbracelet/bubbles v1.0.0
1616 github.com/charmbracelet/bubbletea v1.3.10
1717 github.com/charmbracelet/lipgloss v1.1.0
@@ -43,11 +43,10 @@ require (
4343 github.com/clipperhouse/displaywidth v0.11.0 // indirect
4444 github.com/clipperhouse/uax29/v2 v2.7.0 // indirect
4545 github.com/cpuguy83/go-md2man/v2 v2.0.7 // indirect
46- github.com/davecgh/go-spew v1.1.1 // indirect
46+ github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
4747 github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect
4848 github.com/fatih/color v1.19.0 // indirect
4949 github.com/go-viper/mapstructure/v2 v2.5.0 // indirect
50- github.com/google/go-cmp v0.7.0 // indirect
5150 github.com/inconshreveable/mousetrap v1.1.0 // indirect
5251 github.com/lucasb-eyer/go-colorful v1.4.0 // indirect
5352 github.com/mattn/go-colorable v0.1.14 // indirect
@@ -59,7 +58,7 @@ require (
5958 github.com/muesli/cancelreader v0.2.2 // indirect
6059 github.com/muesli/termenv v0.16.0 // indirect
6160 github.com/natefinch/atomic v1.0.1 // indirect
62- github.com/pmezard/go-difflib v1.0.0 // indirect
61+ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
6362 github.com/rivo/uniseg v0.4.7 // indirect
6463 github.com/rogpeppe/go-internal v1.14.1 // indirect
6564 github.com/russross/blackfriday/v2 v2.1.0 // indirect
@@ -81,7 +80,6 @@ require (
8180 golang.org/x/text v0.40.0 // indirect
8281 golang.org/x/tools v0.47.0 // indirect
8382 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
84- mvdan.cc/gofumpt v0.9.2 // indirect
8583 )
8684
8785 tool github.com/a-h/templ/cmd/templ
@@ -6,12 +6,12 @@ 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.4-0.20260714140305-f0b7414af67e9+ github.com/bnema/purego-cef v0.13.4-0.20260715054414-19b947c13132
10- github.com/bnema/purego-cef2gtk v0.8.4-0.20260714160309-bbd397409ebe10+ github.com/bnema/purego-cef2gtk v0.8.5
11- github.com/bnema/purego-pipewire v0.1.5-0.20260714124450-6504b9cdf02a11+ github.com/bnema/purego-pipewire v0.1.5
12- github.com/bnema/purego-sqlite v0.1.4-0.20260714131321-3614fe683b9c12+ github.com/bnema/purego-sqlite v0.1.4
13- github.com/bnema/purego-webp v0.2.1-0.20260714152238-7bc9c402fdf613+ github.com/bnema/purego-webp v0.2.1
14- github.com/bnema/puregotk v0.7.1-0.20260714200603-7370c78950ef14+ github.com/bnema/puregotk v0.7.1
15 github.com/charmbracelet/bubbles v1.0.015 github.com/charmbracelet/bubbles v1.0.0
16 github.com/charmbracelet/bubbletea v1.3.1016 github.com/charmbracelet/bubbletea v1.3.10
17 github.com/charmbracelet/lipgloss v1.1.017 github.com/charmbracelet/lipgloss v1.1.0
@@ -43,11 +43,10 @@ require (
43 github.com/clipperhouse/displaywidth v0.11.0 // indirect43 github.com/clipperhouse/displaywidth v0.11.0 // indirect
44 github.com/clipperhouse/uax29/v2 v2.7.0 // indirect44 github.com/clipperhouse/uax29/v2 v2.7.0 // indirect
45 github.com/cpuguy83/go-md2man/v2 v2.0.7 // indirect45 github.com/cpuguy83/go-md2man/v2 v2.0.7 // indirect
46- github.com/davecgh/go-spew v1.1.1 // indirect46+ github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
47 github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect47 github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect
48 github.com/fatih/color v1.19.0 // indirect48 github.com/fatih/color v1.19.0 // indirect
49 github.com/go-viper/mapstructure/v2 v2.5.0 // indirect49 github.com/go-viper/mapstructure/v2 v2.5.0 // indirect
50- github.com/google/go-cmp v0.7.0 // indirect
51 github.com/inconshreveable/mousetrap v1.1.0 // indirect50 github.com/inconshreveable/mousetrap v1.1.0 // indirect
52 github.com/lucasb-eyer/go-colorful v1.4.0 // indirect51 github.com/lucasb-eyer/go-colorful v1.4.0 // indirect
53 github.com/mattn/go-colorable v0.1.14 // indirect52 github.com/mattn/go-colorable v0.1.14 // indirect
@@ -59,7 +58,7 @@ require (
59 github.com/muesli/cancelreader v0.2.2 // indirect58 github.com/muesli/cancelreader v0.2.2 // indirect
60 github.com/muesli/termenv v0.16.0 // indirect59 github.com/muesli/termenv v0.16.0 // indirect
61 github.com/natefinch/atomic v1.0.1 // indirect60 github.com/natefinch/atomic v1.0.1 // indirect
62- github.com/pmezard/go-difflib v1.0.0 // indirect61+ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
63 github.com/rivo/uniseg v0.4.7 // indirect62 github.com/rivo/uniseg v0.4.7 // indirect
64 github.com/rogpeppe/go-internal v1.14.1 // indirect63 github.com/rogpeppe/go-internal v1.14.1 // indirect
65 github.com/russross/blackfriday/v2 v2.1.0 // indirect64 github.com/russross/blackfriday/v2 v2.1.0 // indirect
@@ -81,7 +80,6 @@ require (
81 golang.org/x/text v0.40.0 // indirect80 golang.org/x/text v0.40.0 // indirect
82 golang.org/x/tools v0.47.0 // indirect81 golang.org/x/tools v0.47.0 // indirect
83 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect82 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
84- mvdan.cc/gofumpt v0.9.2 // indirect
85 )83 )
86 84
87 tool github.com/a-h/templ/cmd/templ85 tool github.com/a-h/templ/cmd/templ
M go.sum +16 -18 generated file: collapsed
M internal/logging/first_presentation_collector_test.go +3 -3
@@ -144,9 +144,9 @@ func TestFirstPresentationCollectorSanitizesMachineLocalValues(t *testing.T) {
144144 }
145145 for _, required := range []string{
146146 `"measured_source_revision"`,
147- `"version": "v0.8.4-0.20260714160309-bbd397409ebe"`,
148- `"tag": "v0.8.4"`,
149- `"revision": "bbd397409ebed75a5979c1e4566a2ef319f6a484"`,
147+ `"version": "v0.8.5"`,
148+ `"tag": "v0.8.5"`,
149+ `"revision": "b9fb46ef5c04ca0993943c5ca4b6f0fe83583304"`,
150150 } {
151151 require.Contains(t, artifacts.String(), required)
152152 }
@@ -144,9 +144,9 @@ func TestFirstPresentationCollectorSanitizesMachineLocalValues(t *testing.T) {
144 }144 }
145 for _, required := range []string{145 for _, required := range []string{
146 `"measured_source_revision"`,146 `"measured_source_revision"`,
147- `"version": "v0.8.4-0.20260714160309-bbd397409ebe"`,147+ `"version": "v0.8.5"`,
148- `"tag": "v0.8.4"`,148+ `"tag": "v0.8.5"`,
149- `"revision": "bbd397409ebed75a5979c1e4566a2ef319f6a484"`,149+ `"revision": "b9fb46ef5c04ca0993943c5ca4b6f0fe83583304"`,
150 } {150 } {
151 require.Contains(t, artifacts.String(), required)151 require.Contains(t, artifacts.String(), required)
152 }152 }
M scripts/collect_first_presentation.sh +18 -10
@@ -38,7 +38,7 @@ readonly upstream_module="github.com/bnema/purego-cef2gtk"
3838 resolve_upstream_provenance() {
3939 local selected_metadata selected_version downloaded_metadata
4040
41- selected_metadata="$(go list -m -json "$upstream_module" 2>/dev/null)" || {
41+ selected_metadata="$(GOFLAGS=-mod=mod go list -m -json "$upstream_module" 2>/dev/null)" || {
4242 echo "first-presentation: immutable module provenance is unavailable" >&2
4343 exit 2
4444 }
@@ -75,9 +75,11 @@ try:
7575 fail()
7676 if downloaded.get("Version") != version:
7777 fail()
78- # A selected pseudo-version is an exact immutable selector, never a branch.
79- match = re.fullmatch(r"(v\d+\.\d+\.\d+)-0\.\d{14}-([0-9a-f]{12})", version)
80- if not match:
78+ # A pseudo-version identifies an immutable commit; a released semver tag is
79+ # accepted only when Go records that exact tag and its immutable hash.
80+ pseudo_match = re.fullmatch(r"(v\d+\.\d+\.\d+)-0\.\d{14}-([0-9a-f]{12})", version)
81+ tag_match = re.fullmatch(r"v\d+\.\d+\.\d+", version)
82+ if not pseudo_match and not tag_match:
8183 fail()
8284 info_path = downloaded.get("Info")
8385 if not isinstance(info_path, str) or not info_path:
@@ -92,15 +94,21 @@ try:
9294 fail()
9395 if not isinstance(revision, str) or not re.fullmatch(r"[0-9a-f]{40}", revision):
9496 fail()
95- if not revision.startswith(match.group(2)):
96- fail()
97- # A named ref can move. Only the immutable hash itself is acceptable.
98- if origin.get("Ref") not in (None, "", revision):
99- fail()
97+ if pseudo_match:
98+ if not revision.startswith(pseudo_match.group(2)):
99+ fail()
100+ # A named ref can move. Only the immutable hash itself is acceptable.
101+ if origin.get("Ref") not in (None, "", revision):
102+ fail()
103+ tag = pseudo_match.group(1)
104+ else:
105+ if origin.get("Ref") != "refs/tags/" + version:
106+ fail()
107+ tag = version
100108 except (AttributeError, KeyError, OSError, TypeError, ValueError, json.JSONDecodeError):
101109 fail()
102110
103-print("\t".join((version, match.group(1), revision)))
111+print("\t".join((version, tag, revision)))
104112 PY
105113 }
106114
@@ -38,7 +38,7 @@ readonly upstream_module="github.com/bnema/purego-cef2gtk"
38 resolve_upstream_provenance() {38 resolve_upstream_provenance() {
39 local selected_metadata selected_version downloaded_metadata39 local selected_metadata selected_version downloaded_metadata
40 40
41- selected_metadata="$(go list -m -json "$upstream_module" 2>/dev/null)" || {41+ selected_metadata="$(GOFLAGS=-mod=mod go list -m -json "$upstream_module" 2>/dev/null)" || {
42 echo "first-presentation: immutable module provenance is unavailable" >&242 echo "first-presentation: immutable module provenance is unavailable" >&2
43 exit 243 exit 2
44 }44 }
@@ -75,9 +75,11 @@ try:
75 fail()75 fail()
76 if downloaded.get("Version") != version:76 if downloaded.get("Version") != version:
77 fail()77 fail()
78- # A selected pseudo-version is an exact immutable selector, never a branch.78+ # A pseudo-version identifies an immutable commit; a released semver tag is
79- match = re.fullmatch(r"(v\d+\.\d+\.\d+)-0\.\d{14}-([0-9a-f]{12})", version)79+ # accepted only when Go records that exact tag and its immutable hash.
80- if not match:80+ pseudo_match = re.fullmatch(r"(v\d+\.\d+\.\d+)-0\.\d{14}-([0-9a-f]{12})", version)
81+ tag_match = re.fullmatch(r"v\d+\.\d+\.\d+", version)
82+ if not pseudo_match and not tag_match:
81 fail()83 fail()
82 info_path = downloaded.get("Info")84 info_path = downloaded.get("Info")
83 if not isinstance(info_path, str) or not info_path:85 if not isinstance(info_path, str) or not info_path:
@@ -92,15 +94,21 @@ try:
92 fail()94 fail()
93 if not isinstance(revision, str) or not re.fullmatch(r"[0-9a-f]{40}", revision):95 if not isinstance(revision, str) or not re.fullmatch(r"[0-9a-f]{40}", revision):
94 fail()96 fail()
95- if not revision.startswith(match.group(2)):97+ if pseudo_match:
96- fail()98+ if not revision.startswith(pseudo_match.group(2)):
97- # A named ref can move. Only the immutable hash itself is acceptable.99+ fail()
98- if origin.get("Ref") not in (None, "", revision):100+ # A named ref can move. Only the immutable hash itself is acceptable.
99- fail()101+ if origin.get("Ref") not in (None, "", revision):
102+ fail()
103+ tag = pseudo_match.group(1)
104+ else:
105+ if origin.get("Ref") != "refs/tags/" + version:
106+ fail()
107+ tag = version
100 except (AttributeError, KeyError, OSError, TypeError, ValueError, json.JSONDecodeError):108 except (AttributeError, KeyError, OSError, TypeError, ValueError, json.JSONDecodeError):
101 fail()109 fail()
102 110
103-print("\t".join((version, match.group(1), revision)))111+print("\t".join((version, tag, revision)))
104 PY112 PY
105 }113 }
106 114
M vendor/github.com/bnema/purego-cef/cef/bridge.go +9 -0 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_accessibility_handler_gen.go +2 -2 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_app_gen.go +2 -2 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_audio_handler_gen.go +5 -5 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_browser_gen.go +2 -2 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_browser_process_handler_gen.go +3 -3 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_client_gen.go +3 -3 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_command_handler_gen.go +3 -3 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_context_menu_handler_gen.go +21 -21 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_devtools_message_observer_gen.go +5 -5 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_dialog_handler_gen.go +2 -2 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_display_handler_gen.go +14 -14 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_dom_gen.go +1 -1 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_download_handler_gen.go +7 -7 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_drag_handler_gen.go +4 -4 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_find_handler_gen.go +1 -1 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_focus_handler_gen.go +3 -3 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_frame_handler_gen.go +11 -11 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_jsdialog_handler_gen.go +6 -6 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_keyboard_handler_gen.go +2 -2 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_life_span_handler_gen.go +11 -11 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_load_handler_gen.go +7 -7 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_media_router_gen.go +7 -7 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_menu_model_delegate_gen.go +7 -7 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_permission_handler_gen.go +6 -6 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_print_handler_gen.go +9 -9 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_render_handler_gen.go +17 -17 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_render_process_handler_gen.go +20 -20 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_request_context_handler_gen.go +4 -4 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_request_handler_gen.go +23 -23 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_resource_handler_gen.go +8 -8 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_resource_request_handler_gen.go +36 -36
@@ -37,9 +37,9 @@ func resourceRequestHandlerGetCookieAccessFilterCEFCallback() uintptr {
3737 if !ownerOK {
3838 return 0
3939 }
40- browser := wrapBrowser(unsafe.Pointer(arg0))
41- frame := wrapFrame(unsafe.Pointer(arg1))
42- request := wrapRequest(unsafe.Pointer(arg2))
40+ browser := wrapBrowser(cefCallbackPointer(arg0))
41+ frame := wrapFrame(cefCallbackPointer(arg1))
42+ request := wrapRequest(cefCallbackPointer(arg2))
4343 result := impl.GetCookieAccessFilter(browser, frame, request)
4444 if result == nil {
4545 return 0
@@ -59,10 +59,10 @@ func resourceRequestHandlerOnBeforeResourceLoadCEFCallback() uintptr {
5959 if !ownerOK {
6060 return 0
6161 }
62- browser := wrapBrowser(unsafe.Pointer(arg0))
63- frame := wrapFrame(unsafe.Pointer(arg1))
64- request := wrapRequest(unsafe.Pointer(arg2))
65- callback := wrapCallback(unsafe.Pointer(arg3))
62+ browser := wrapBrowser(cefCallbackPointer(arg0))
63+ frame := wrapFrame(cefCallbackPointer(arg1))
64+ request := wrapRequest(cefCallbackPointer(arg2))
65+ callback := wrapCallback(cefCallbackPointer(arg3))
6666 return uintptr(impl.OnBeforeResourceLoad(browser, frame, request, callback))
6767 })
6868 }
@@ -76,9 +76,9 @@ func resourceRequestHandlerGetResourceHandlerCEFCallback() uintptr {
7676 if !ownerOK {
7777 return 0
7878 }
79- browser := wrapBrowser(unsafe.Pointer(arg0))
80- frame := wrapFrame(unsafe.Pointer(arg1))
81- request := wrapRequest(unsafe.Pointer(arg2))
79+ browser := wrapBrowser(cefCallbackPointer(arg0))
80+ frame := wrapFrame(cefCallbackPointer(arg1))
81+ request := wrapRequest(cefCallbackPointer(arg2))
8282 result := impl.GetResourceHandler(browser, frame, request)
8383 if result == nil {
8484 return 0
@@ -98,10 +98,10 @@ func resourceRequestHandlerOnResourceRedirectCEFCallback() uintptr {
9898 if !ownerOK {
9999 return
100100 }
101- browser := wrapBrowser(unsafe.Pointer(arg0))
102- frame := wrapFrame(unsafe.Pointer(arg1))
103- request := wrapRequest(unsafe.Pointer(arg2))
104- response := wrapResponse(unsafe.Pointer(arg3))
101+ browser := wrapBrowser(cefCallbackPointer(arg0))
102+ frame := wrapFrame(cefCallbackPointer(arg1))
103+ request := wrapRequest(cefCallbackPointer(arg2))
104+ response := wrapResponse(cefCallbackPointer(arg3))
105105 newURL := uintptr(arg4)
106106 impl.OnResourceRedirect(browser, frame, request, response, newURL)
107107 })
@@ -116,10 +116,10 @@ func resourceRequestHandlerOnResourceResponseCEFCallback() uintptr {
116116 if !ownerOK {
117117 return 0
118118 }
119- browser := wrapBrowser(unsafe.Pointer(arg0))
120- frame := wrapFrame(unsafe.Pointer(arg1))
121- request := wrapRequest(unsafe.Pointer(arg2))
122- response := wrapResponse(unsafe.Pointer(arg3))
119+ browser := wrapBrowser(cefCallbackPointer(arg0))
120+ frame := wrapFrame(cefCallbackPointer(arg1))
121+ request := wrapRequest(cefCallbackPointer(arg2))
122+ response := wrapResponse(cefCallbackPointer(arg3))
123123 return uintptr(impl.OnResourceResponse(browser, frame, request, response))
124124 })
125125 }
@@ -133,10 +133,10 @@ func resourceRequestHandlerGetResourceResponseFilterCEFCallback() uintptr {
133133 if !ownerOK {
134134 return 0
135135 }
136- browser := wrapBrowser(unsafe.Pointer(arg0))
137- frame := wrapFrame(unsafe.Pointer(arg1))
138- request := wrapRequest(unsafe.Pointer(arg2))
139- response := wrapResponse(unsafe.Pointer(arg3))
136+ browser := wrapBrowser(cefCallbackPointer(arg0))
137+ frame := wrapFrame(cefCallbackPointer(arg1))
138+ request := wrapRequest(cefCallbackPointer(arg2))
139+ response := wrapResponse(cefCallbackPointer(arg3))
140140 result := impl.GetResourceResponseFilter(browser, frame, request, response)
141141 if result == nil {
142142 return 0
@@ -156,10 +156,10 @@ func resourceRequestHandlerOnResourceLoadCompleteCEFCallback() uintptr {
156156 if !ownerOK {
157157 return
158158 }
159- browser := wrapBrowser(unsafe.Pointer(arg0))
160- frame := wrapFrame(unsafe.Pointer(arg1))
161- request := wrapRequest(unsafe.Pointer(arg2))
162- response := wrapResponse(unsafe.Pointer(arg3))
159+ browser := wrapBrowser(cefCallbackPointer(arg0))
160+ frame := wrapFrame(cefCallbackPointer(arg1))
161+ request := wrapRequest(cefCallbackPointer(arg2))
162+ response := wrapResponse(cefCallbackPointer(arg3))
163163 status := UrlrequestStatus(arg4)
164164 receivedContentLength := arg5
165165 impl.OnResourceLoadComplete(browser, frame, request, response, status, receivedContentLength)
@@ -175,9 +175,9 @@ func resourceRequestHandlerOnProtocolExecutionCEFCallback() uintptr {
175175 if !ownerOK {
176176 return
177177 }
178- browser := wrapBrowser(unsafe.Pointer(arg0))
179- frame := wrapFrame(unsafe.Pointer(arg1))
180- request := wrapRequest(unsafe.Pointer(arg2))
178+ browser := wrapBrowser(cefCallbackPointer(arg0))
179+ frame := wrapFrame(cefCallbackPointer(arg1))
180+ request := wrapRequest(cefCallbackPointer(arg2))
181181 allowOsExecution := (*int32)(unsafe.Pointer(arg3))
182182 impl.OnProtocolExecution(browser, frame, request, allowOsExecution)
183183 })
@@ -356,9 +356,9 @@ func cookieAccessFilterCanSendCookieCEFCallback() uintptr {
356356 if !ownerOK {
357357 return 0
358358 }
359- browser := wrapBrowser(unsafe.Pointer(arg0))
360- frame := wrapFrame(unsafe.Pointer(arg1))
361- request := wrapRequest(unsafe.Pointer(arg2))
359+ browser := wrapBrowser(cefCallbackPointer(arg0))
360+ frame := wrapFrame(cefCallbackPointer(arg1))
361+ request := wrapRequest(cefCallbackPointer(arg2))
362362 cookie := (*Cookie)(unsafe.Pointer(arg3))
363363 if impl.CanSendCookie(browser, frame, request, cookie) {
364364 return 1
@@ -376,10 +376,10 @@ func cookieAccessFilterCanSaveCookieCEFCallback() uintptr {
376376 if !ownerOK {
377377 return 0
378378 }
379- browser := wrapBrowser(unsafe.Pointer(arg0))
380- frame := wrapFrame(unsafe.Pointer(arg1))
381- request := wrapRequest(unsafe.Pointer(arg2))
382- response := wrapResponse(unsafe.Pointer(arg3))
379+ browser := wrapBrowser(cefCallbackPointer(arg0))
380+ frame := wrapFrame(cefCallbackPointer(arg1))
381+ request := wrapRequest(cefCallbackPointer(arg2))
382+ response := wrapResponse(cefCallbackPointer(arg3))
383383 cookie := (*Cookie)(unsafe.Pointer(arg4))
384384 if impl.CanSaveCookie(browser, frame, request, response, cookie) {
385385 return 1
@@ -37,9 +37,9 @@ func resourceRequestHandlerGetCookieAccessFilterCEFCallback() uintptr {
37 if !ownerOK {37 if !ownerOK {
38 return 038 return 0
39 }39 }
40- browser := wrapBrowser(unsafe.Pointer(arg0))40+ browser := wrapBrowser(cefCallbackPointer(arg0))
41- frame := wrapFrame(unsafe.Pointer(arg1))41+ frame := wrapFrame(cefCallbackPointer(arg1))
42- request := wrapRequest(unsafe.Pointer(arg2))42+ request := wrapRequest(cefCallbackPointer(arg2))
43 result := impl.GetCookieAccessFilter(browser, frame, request)43 result := impl.GetCookieAccessFilter(browser, frame, request)
44 if result == nil {44 if result == nil {
45 return 045 return 0
@@ -59,10 +59,10 @@ func resourceRequestHandlerOnBeforeResourceLoadCEFCallback() uintptr {
59 if !ownerOK {59 if !ownerOK {
60 return 060 return 0
61 }61 }
62- browser := wrapBrowser(unsafe.Pointer(arg0))62+ browser := wrapBrowser(cefCallbackPointer(arg0))
63- frame := wrapFrame(unsafe.Pointer(arg1))63+ frame := wrapFrame(cefCallbackPointer(arg1))
64- request := wrapRequest(unsafe.Pointer(arg2))64+ request := wrapRequest(cefCallbackPointer(arg2))
65- callback := wrapCallback(unsafe.Pointer(arg3))65+ callback := wrapCallback(cefCallbackPointer(arg3))
66 return uintptr(impl.OnBeforeResourceLoad(browser, frame, request, callback))66 return uintptr(impl.OnBeforeResourceLoad(browser, frame, request, callback))
67 })67 })
68 }68 }
@@ -76,9 +76,9 @@ func resourceRequestHandlerGetResourceHandlerCEFCallback() uintptr {
76 if !ownerOK {76 if !ownerOK {
77 return 077 return 0
78 }78 }
79- browser := wrapBrowser(unsafe.Pointer(arg0))79+ browser := wrapBrowser(cefCallbackPointer(arg0))
80- frame := wrapFrame(unsafe.Pointer(arg1))80+ frame := wrapFrame(cefCallbackPointer(arg1))
81- request := wrapRequest(unsafe.Pointer(arg2))81+ request := wrapRequest(cefCallbackPointer(arg2))
82 result := impl.GetResourceHandler(browser, frame, request)82 result := impl.GetResourceHandler(browser, frame, request)
83 if result == nil {83 if result == nil {
84 return 084 return 0
@@ -98,10 +98,10 @@ func resourceRequestHandlerOnResourceRedirectCEFCallback() uintptr {
98 if !ownerOK {98 if !ownerOK {
99 return99 return
100 }100 }
101- browser := wrapBrowser(unsafe.Pointer(arg0))101+ browser := wrapBrowser(cefCallbackPointer(arg0))
102- frame := wrapFrame(unsafe.Pointer(arg1))102+ frame := wrapFrame(cefCallbackPointer(arg1))
103- request := wrapRequest(unsafe.Pointer(arg2))103+ request := wrapRequest(cefCallbackPointer(arg2))
104- response := wrapResponse(unsafe.Pointer(arg3))104+ response := wrapResponse(cefCallbackPointer(arg3))
105 newURL := uintptr(arg4)105 newURL := uintptr(arg4)
106 impl.OnResourceRedirect(browser, frame, request, response, newURL)106 impl.OnResourceRedirect(browser, frame, request, response, newURL)
107 })107 })
@@ -116,10 +116,10 @@ func resourceRequestHandlerOnResourceResponseCEFCallback() uintptr {
116 if !ownerOK {116 if !ownerOK {
117 return 0117 return 0
118 }118 }
119- browser := wrapBrowser(unsafe.Pointer(arg0))119+ browser := wrapBrowser(cefCallbackPointer(arg0))
120- frame := wrapFrame(unsafe.Pointer(arg1))120+ frame := wrapFrame(cefCallbackPointer(arg1))
121- request := wrapRequest(unsafe.Pointer(arg2))121+ request := wrapRequest(cefCallbackPointer(arg2))
122- response := wrapResponse(unsafe.Pointer(arg3))122+ response := wrapResponse(cefCallbackPointer(arg3))
123 return uintptr(impl.OnResourceResponse(browser, frame, request, response))123 return uintptr(impl.OnResourceResponse(browser, frame, request, response))
124 })124 })
125 }125 }
@@ -133,10 +133,10 @@ func resourceRequestHandlerGetResourceResponseFilterCEFCallback() uintptr {
133 if !ownerOK {133 if !ownerOK {
134 return 0134 return 0
135 }135 }
136- browser := wrapBrowser(unsafe.Pointer(arg0))136+ browser := wrapBrowser(cefCallbackPointer(arg0))
137- frame := wrapFrame(unsafe.Pointer(arg1))137+ frame := wrapFrame(cefCallbackPointer(arg1))
138- request := wrapRequest(unsafe.Pointer(arg2))138+ request := wrapRequest(cefCallbackPointer(arg2))
139- response := wrapResponse(unsafe.Pointer(arg3))139+ response := wrapResponse(cefCallbackPointer(arg3))
140 result := impl.GetResourceResponseFilter(browser, frame, request, response)140 result := impl.GetResourceResponseFilter(browser, frame, request, response)
141 if result == nil {141 if result == nil {
142 return 0142 return 0
@@ -156,10 +156,10 @@ func resourceRequestHandlerOnResourceLoadCompleteCEFCallback() uintptr {
156 if !ownerOK {156 if !ownerOK {
157 return157 return
158 }158 }
159- browser := wrapBrowser(unsafe.Pointer(arg0))159+ browser := wrapBrowser(cefCallbackPointer(arg0))
160- frame := wrapFrame(unsafe.Pointer(arg1))160+ frame := wrapFrame(cefCallbackPointer(arg1))
161- request := wrapRequest(unsafe.Pointer(arg2))161+ request := wrapRequest(cefCallbackPointer(arg2))
162- response := wrapResponse(unsafe.Pointer(arg3))162+ response := wrapResponse(cefCallbackPointer(arg3))
163 status := UrlrequestStatus(arg4)163 status := UrlrequestStatus(arg4)
164 receivedContentLength := arg5164 receivedContentLength := arg5
165 impl.OnResourceLoadComplete(browser, frame, request, response, status, receivedContentLength)165 impl.OnResourceLoadComplete(browser, frame, request, response, status, receivedContentLength)
@@ -175,9 +175,9 @@ func resourceRequestHandlerOnProtocolExecutionCEFCallback() uintptr {
175 if !ownerOK {175 if !ownerOK {
176 return176 return
177 }177 }
178- browser := wrapBrowser(unsafe.Pointer(arg0))178+ browser := wrapBrowser(cefCallbackPointer(arg0))
179- frame := wrapFrame(unsafe.Pointer(arg1))179+ frame := wrapFrame(cefCallbackPointer(arg1))
180- request := wrapRequest(unsafe.Pointer(arg2))180+ request := wrapRequest(cefCallbackPointer(arg2))
181 allowOsExecution := (*int32)(unsafe.Pointer(arg3))181 allowOsExecution := (*int32)(unsafe.Pointer(arg3))
182 impl.OnProtocolExecution(browser, frame, request, allowOsExecution)182 impl.OnProtocolExecution(browser, frame, request, allowOsExecution)
183 })183 })
@@ -356,9 +356,9 @@ func cookieAccessFilterCanSendCookieCEFCallback() uintptr {
356 if !ownerOK {356 if !ownerOK {
357 return 0357 return 0
358 }358 }
359- browser := wrapBrowser(unsafe.Pointer(arg0))359+ browser := wrapBrowser(cefCallbackPointer(arg0))
360- frame := wrapFrame(unsafe.Pointer(arg1))360+ frame := wrapFrame(cefCallbackPointer(arg1))
361- request := wrapRequest(unsafe.Pointer(arg2))361+ request := wrapRequest(cefCallbackPointer(arg2))
362 cookie := (*Cookie)(unsafe.Pointer(arg3))362 cookie := (*Cookie)(unsafe.Pointer(arg3))
363 if impl.CanSendCookie(browser, frame, request, cookie) {363 if impl.CanSendCookie(browser, frame, request, cookie) {
364 return 1364 return 1
@@ -376,10 +376,10 @@ func cookieAccessFilterCanSaveCookieCEFCallback() uintptr {
376 if !ownerOK {376 if !ownerOK {
377 return 0377 return 0
378 }378 }
379- browser := wrapBrowser(unsafe.Pointer(arg0))379+ browser := wrapBrowser(cefCallbackPointer(arg0))
380- frame := wrapFrame(unsafe.Pointer(arg1))380+ frame := wrapFrame(cefCallbackPointer(arg1))
381- request := wrapRequest(unsafe.Pointer(arg2))381+ request := wrapRequest(cefCallbackPointer(arg2))
382- response := wrapResponse(unsafe.Pointer(arg3))382+ response := wrapResponse(cefCallbackPointer(arg3))
383 cookie := (*Cookie)(unsafe.Pointer(arg4))383 cookie := (*Cookie)(unsafe.Pointer(arg4))
384 if impl.CanSaveCookie(browser, frame, request, response, cookie) {384 if impl.CanSaveCookie(browser, frame, request, response, cookie) {
385 return 1385 return 1
M vendor/github.com/bnema/purego-cef/cef/cef_scheme_gen.go +3 -3 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_server_gen.go +11 -11 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_urlrequest_gen.go +5 -5 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/cef_v8_gen.go +16 -16 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/mocks/mock_app.go +2 -2 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/mocks/mock_browser.go +5 -5 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/mocks/mock_browser_process_handler.go +4 -4 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/mocks/mock_client.go +1 -1 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/mocks/mock_context_menu_handler.go +7 -7 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/mocks/mock_dialog_handler.go +1 -1 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/mocks/mock_display_handler.go +13 -13 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/mocks/mock_focus_handler.go +3 -3 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/mocks/mock_frame.go +8 -8 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/mocks/mock_keyboard_handler.go +2 -2 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/mocks/mock_life_span_handler.go +6 -6 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/mocks/mock_load_handler.go +4 -4 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/mocks/mock_raw_client.go +1 -1 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/mocks/mock_raw_life_span_handler.go +6 -6 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/mocks/mock_render_handler.go +16 -16 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/mocks/mock_render_process_handler.go +7 -7 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/mocks/mock_request.go +11 -11 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/mocks/mock_request_context.go +16 -16 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/mocks/mock_request_handler.go +11 -11 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/mocks/mock_response.go +10 -10 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/test_cef_test_server_gen.go +3 -3 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/views_cef_browser_view_delegate_gen.go +13 -13 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/views_cef_button_delegate_gen.go +2 -2 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/views_cef_menu_button_delegate_gen.go +2 -2 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/views_cef_textfield_delegate_gen.go +2 -2 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/views_cef_view_delegate_gen.go +13 -13 generated file: collapsed
M vendor/github.com/bnema/purego-cef/cef/views_cef_window_delegate_gen.go +22 -22 generated file: collapsed
M vendor/modules.txt +8 -12 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