detached 08629e9

Merge pull request #358 from bnema/fix/cef-canvas-background

fix(cef): keep browser canvas white, move anti-flash to presentation layer
commit
08629e9db8c0d3927d6b60bbac71329688bebd29
author
bnema · · 2026-07-22 05:43 UTC
committer
GitHub · · 2026-07-22 05:43 UTC
merge of
3b318d2 + 902c404 · diff against the first parent
signature
GPG UnverifiedB5690EEEBB952194 The key is unknown
80 files · +1985 -2004
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
A internal/infrastructure/cef/background_guard.go +106 -0
@@ -0,0 +1,106 @@
1+package cef
2+
3+import (
4+ "fmt"
5+
6+ "github.com/bnema/puregotk/v4/gdk"
7+ "github.com/bnema/puregotk/v4/gtk"
8+)
9+
10+// opaqueWhiteBackground is Chromium's standard windowless canvas fallback. It is
11+// baked into every BrowserSettings.BackgroundColor so pages that paint nothing
12+// get an opaque white canvas (never a theme-dark one). A zero value must not be
13+// used: in windowless/OSR mode a zero-alpha background enables transparent
14+// painting, which this engine does not want.
15+const opaqueWhiteBackground uint32 = 0xFFFFFFFF
16+
17+// flashGuardCSSClassPrefix scopes each WebView's transient background provider to
18+// its own render widget so guards from different tabs never collide.
19+const flashGuardCSSClassPrefix = "dumber-cef-flash-guard-"
20+
21+// colorByteMask isolates a single 8-bit channel from a packed ARGB value.
22+const colorByteMask = 0xFF
23+
24+// applyBackgroundFlashGuard paints the theme background color behind the CEF
25+// render widget until the first frame is presented. It is the presentation-layer
26+// replacement for the former dark BrowserSettings.BackgroundColor: Chromium's
27+// canvas is now always opaque white, so the anti-white-flash lives here instead.
28+// The bridge widget (a GtkPicture/GtkGLArea) renders its CSS background until an
29+// opaque frame texture covers it, at which point markFirstFramePainted tears the
30+// guard down. Must run on the GTK main thread.
31+func (wv *WebView) applyBackgroundFlashGuard(widget *gtk.Widget) {
32+ if wv == nil || widget == nil {
33+ return
34+ }
35+ argb := wv.backgroundColor
36+ if argb == 0 {
37+ return // No theme color configured; nothing to guard against.
38+ }
39+ display := gdk.DisplayGetDefault()
40+ if display == nil {
41+ return
42+ }
43+
44+ a := float64((argb>>24)&colorByteMask) / colorScale
45+ r := (argb >> 16) & colorByteMask
46+ g := (argb >> 8) & colorByteMask
47+ b := argb & colorByteMask
48+ class := fmt.Sprintf("%s%d", flashGuardCSSClassPrefix, uint64(wv.id))
49+ css := fmt.Sprintf(".%s { background-color: rgba(%d, %d, %d, %.4f); }", class, r, g, b, a)
50+
51+ provider := gtk.NewCssProvider()
52+ if provider == nil {
53+ return
54+ }
55+ provider.LoadFromString(css)
56+
57+ wv.bgGuardMu.Lock()
58+ defer wv.bgGuardMu.Unlock()
59+ if wv.firstFramePainted.Load() {
60+ return // First frame already arrived before the guard could be installed.
61+ }
62+ widget.AddCssClass(class)
63+ gtk.StyleContextAddProviderForDisplay(display, provider, uint(gtk.STYLE_PROVIDER_PRIORITY_APPLICATION))
64+ wv.bgGuardProvider = provider
65+ wv.bgGuardWidget = widget
66+ wv.bgGuardClass = class
67+}
68+
69+// markFirstFramePainted records that the first CEF frame has been presented and
70+// schedules teardown of the background flash guard so later frames render
71+// normally. Safe to call from any thread and idempotent.
72+func (wv *WebView) markFirstFramePainted() {
73+ if wv == nil || !wv.firstFramePainted.CompareAndSwap(false, true) {
74+ return
75+ }
76+ wv.runOnGTK(func() {
77+ wv.removeBackgroundFlashGuard()
78+ })
79+}
80+
81+// removeBackgroundFlashGuard detaches the transient theme-background provider and
82+// clears the render widget's guard class. Must run on the GTK main thread. It is
83+// safe to call when no guard is installed.
84+func (wv *WebView) removeBackgroundFlashGuard() {
85+ if wv == nil {
86+ return
87+ }
88+ wv.bgGuardMu.Lock()
89+ provider := wv.bgGuardProvider
90+ widget := wv.bgGuardWidget
91+ class := wv.bgGuardClass
92+ wv.bgGuardProvider = nil
93+ wv.bgGuardWidget = nil
94+ wv.bgGuardClass = ""
95+ wv.bgGuardMu.Unlock()
96+
97+ if provider == nil {
98+ return
99+ }
100+ if widget != nil && class != "" {
101+ widget.RemoveCssClass(class)
102+ }
103+ if display := gdk.DisplayGetDefault(); display != nil {
104+ gtk.StyleContextRemoveProviderForDisplay(display, provider)
105+ }
106+}
@@ -0,0 +1,106 @@
1+package cef
2+
3+import (
4+ "fmt"
5+
6+ "github.com/bnema/puregotk/v4/gdk"
7+ "github.com/bnema/puregotk/v4/gtk"
8+)
9+
10+// opaqueWhiteBackground is Chromium's standard windowless canvas fallback. It is
11+// baked into every BrowserSettings.BackgroundColor so pages that paint nothing
12+// get an opaque white canvas (never a theme-dark one). A zero value must not be
13+// used: in windowless/OSR mode a zero-alpha background enables transparent
14+// painting, which this engine does not want.
15+const opaqueWhiteBackground uint32 = 0xFFFFFFFF
16+
17+// flashGuardCSSClassPrefix scopes each WebView's transient background provider to
18+// its own render widget so guards from different tabs never collide.
19+const flashGuardCSSClassPrefix = "dumber-cef-flash-guard-"
20+
21+// colorByteMask isolates a single 8-bit channel from a packed ARGB value.
22+const colorByteMask = 0xFF
23+
24+// applyBackgroundFlashGuard paints the theme background color behind the CEF
25+// render widget until the first frame is presented. It is the presentation-layer
26+// replacement for the former dark BrowserSettings.BackgroundColor: Chromium's
27+// canvas is now always opaque white, so the anti-white-flash lives here instead.
28+// The bridge widget (a GtkPicture/GtkGLArea) renders its CSS background until an
29+// opaque frame texture covers it, at which point markFirstFramePainted tears the
30+// guard down. Must run on the GTK main thread.
31+func (wv *WebView) applyBackgroundFlashGuard(widget *gtk.Widget) {
32+ if wv == nil || widget == nil {
33+ return
34+ }
35+ argb := wv.backgroundColor
36+ if argb == 0 {
37+ return // No theme color configured; nothing to guard against.
38+ }
39+ display := gdk.DisplayGetDefault()
40+ if display == nil {
41+ return
42+ }
43+
44+ a := float64((argb>>24)&colorByteMask) / colorScale
45+ r := (argb >> 16) & colorByteMask
46+ g := (argb >> 8) & colorByteMask
47+ b := argb & colorByteMask
48+ class := fmt.Sprintf("%s%d", flashGuardCSSClassPrefix, uint64(wv.id))
49+ css := fmt.Sprintf(".%s { background-color: rgba(%d, %d, %d, %.4f); }", class, r, g, b, a)
50+
51+ provider := gtk.NewCssProvider()
52+ if provider == nil {
53+ return
54+ }
55+ provider.LoadFromString(css)
56+
57+ wv.bgGuardMu.Lock()
58+ defer wv.bgGuardMu.Unlock()
59+ if wv.firstFramePainted.Load() {
60+ return // First frame already arrived before the guard could be installed.
61+ }
62+ widget.AddCssClass(class)
63+ gtk.StyleContextAddProviderForDisplay(display, provider, uint(gtk.STYLE_PROVIDER_PRIORITY_APPLICATION))
64+ wv.bgGuardProvider = provider
65+ wv.bgGuardWidget = widget
66+ wv.bgGuardClass = class
67+}
68+
69+// markFirstFramePainted records that the first CEF frame has been presented and
70+// schedules teardown of the background flash guard so later frames render
71+// normally. Safe to call from any thread and idempotent.
72+func (wv *WebView) markFirstFramePainted() {
73+ if wv == nil || !wv.firstFramePainted.CompareAndSwap(false, true) {
74+ return
75+ }
76+ wv.runOnGTK(func() {
77+ wv.removeBackgroundFlashGuard()
78+ })
79+}
80+
81+// removeBackgroundFlashGuard detaches the transient theme-background provider and
82+// clears the render widget's guard class. Must run on the GTK main thread. It is
83+// safe to call when no guard is installed.
84+func (wv *WebView) removeBackgroundFlashGuard() {
85+ if wv == nil {
86+ return
87+ }
88+ wv.bgGuardMu.Lock()
89+ provider := wv.bgGuardProvider
90+ widget := wv.bgGuardWidget
91+ class := wv.bgGuardClass
92+ wv.bgGuardProvider = nil
93+ wv.bgGuardWidget = nil
94+ wv.bgGuardClass = ""
95+ wv.bgGuardMu.Unlock()
96+
97+ if provider == nil {
98+ return
99+ }
100+ if widget != nil && class != "" {
101+ widget.RemoveCssClass(class)
102+ }
103+ if display := gdk.DisplayGetDefault(); display != nil {
104+ gtk.StyleContextRemoveProviderForDisplay(display, provider)
105+ }
106+}
M internal/infrastructure/cef/factory.go +12 -8
@@ -27,7 +27,7 @@ type WebViewFactory struct {
2727 windowlessFrameRate int32
2828 windowlessFrameRateMax int32
2929 inputConfig RuntimeInputConfig
30- bgColor atomic.Uint32 // packed ARGB for BrowserSettings.BackgroundColor
30+ bgColor atomic.Uint32 // packed ARGB theme color for the presentation-layer flash guard
3131 audioOutputFactory port.AudioOutputFactory
3232 }
3333
@@ -69,7 +69,9 @@ func newWebViewFactory(engine *Engine, opts webViewFactoryOptions) *WebViewFacto
6969 }
7070 }
7171
72-// setDefaultBackgroundColor stores a packed ARGB color for new browser creation.
72+// setDefaultBackgroundColor stores the packed ARGB theme color used by the
73+// presentation-layer flash guard on newly-created WebViews. It no longer feeds
74+// BrowserSettings.BackgroundColor, which is always opaque white.
7375 func (f *WebViewFactory) setDefaultBackgroundColor(r, g, b, a float64) {
7476 const s = colorScale
7577 argb := uint32(a*s)<<24 | uint32(r*s)<<16 | uint32(g*s)<<8 | uint32(b*s)
@@ -96,9 +98,9 @@ func (f *WebViewFactory) Create(ctx context.Context) (port.WebView, error) {
9698 settings := purecef.NewBrowserSettings()
9799 cef2gtk.ConfigureBrowserSettings(&settings, cef2gtk.BrowserSettingsOptions{WindowlessFrameRate: f.windowlessFrameRate})
98100 settings.LocalStorage = 1 // CEF_STATE_ENABLED
99- if bg := f.bgColor.Load(); bg != 0 {
100- settings.BackgroundColor = bg
101- }
101+ // Always opaque white: Chromium's standard canvas fallback. The theme
102+ // background is applied at the presentation layer as a flash guard instead.
103+ settings.BackgroundColor = opaqueWhiteBackground
102104
103105 // Defer browser creation until the bridge view has a non-zero size.
104106 // CEF requires GetViewRect to return a non-empty rect, but the GL area
@@ -142,6 +144,8 @@ func (f *WebViewFactory) newWebView(ctx context.Context) (*WebView, error) {
142144 wv.nativeWidget = popupRoot
143145 }
144146 }
147+ // Guard the render widget with the theme background until the first frame.
148+ wv.applyBackgroundFlashGuard(nativeWidget)
145149 })
146150 if !result.Completed() {
147151 wv.destroyViewBridgeOnGTKAsync()
@@ -383,9 +387,9 @@ func (f *WebViewFactory) CreateRelated(ctx context.Context, parentID port.WebVie
383387 settings := purecef.NewBrowserSettings()
384388 cef2gtk.ConfigureBrowserSettings(&settings, cef2gtk.BrowserSettingsOptions{WindowlessFrameRate: f.windowlessFrameRate})
385389 settings.LocalStorage = 1 // CEF_STATE_ENABLED
386- if bg := f.bgColor.Load(); bg != 0 {
387- settings.BackgroundColor = bg
388- }
390+ // Always opaque white: the theme background is applied as a presentation-layer
391+ // flash guard, not baked into Chromium's canvas.
392+ settings.BackgroundColor = opaqueWhiteBackground
389393
390394 if err := f.configureInitialBrowserCreation(ctx, popupWV, popupWV.client, &windowInfo, &settings, func(w, h int32) {
391395 f.handlePopupShellInitialResize(ctx, popupWV, func(w, h int32) {
@@ -27,7 +27,7 @@ type WebViewFactory struct {
27 windowlessFrameRate int3227 windowlessFrameRate int32
28 windowlessFrameRateMax int3228 windowlessFrameRateMax int32
29 inputConfig RuntimeInputConfig29 inputConfig RuntimeInputConfig
30- bgColor atomic.Uint32 // packed ARGB for BrowserSettings.BackgroundColor30+ bgColor atomic.Uint32 // packed ARGB theme color for the presentation-layer flash guard
31 audioOutputFactory port.AudioOutputFactory31 audioOutputFactory port.AudioOutputFactory
32 }32 }
33 33
@@ -69,7 +69,9 @@ func newWebViewFactory(engine *Engine, opts webViewFactoryOptions) *WebViewFacto
69 }69 }
70 }70 }
71 71
72-// setDefaultBackgroundColor stores a packed ARGB color for new browser creation.72+// setDefaultBackgroundColor stores the packed ARGB theme color used by the
73+// presentation-layer flash guard on newly-created WebViews. It no longer feeds
74+// BrowserSettings.BackgroundColor, which is always opaque white.
73 func (f *WebViewFactory) setDefaultBackgroundColor(r, g, b, a float64) {75 func (f *WebViewFactory) setDefaultBackgroundColor(r, g, b, a float64) {
74 const s = colorScale76 const s = colorScale
75 argb := uint32(a*s)<<24 | uint32(r*s)<<16 | uint32(g*s)<<8 | uint32(b*s)77 argb := uint32(a*s)<<24 | uint32(r*s)<<16 | uint32(g*s)<<8 | uint32(b*s)
@@ -96,9 +98,9 @@ func (f *WebViewFactory) Create(ctx context.Context) (port.WebView, error) {
96 settings := purecef.NewBrowserSettings()98 settings := purecef.NewBrowserSettings()
97 cef2gtk.ConfigureBrowserSettings(&settings, cef2gtk.BrowserSettingsOptions{WindowlessFrameRate: f.windowlessFrameRate})99 cef2gtk.ConfigureBrowserSettings(&settings, cef2gtk.BrowserSettingsOptions{WindowlessFrameRate: f.windowlessFrameRate})
98 settings.LocalStorage = 1 // CEF_STATE_ENABLED100 settings.LocalStorage = 1 // CEF_STATE_ENABLED
99- if bg := f.bgColor.Load(); bg != 0 {101+ // Always opaque white: Chromium's standard canvas fallback. The theme
100- settings.BackgroundColor = bg102+ // background is applied at the presentation layer as a flash guard instead.
101- }103+ settings.BackgroundColor = opaqueWhiteBackground
102 104
103 // Defer browser creation until the bridge view has a non-zero size.105 // Defer browser creation until the bridge view has a non-zero size.
104 // CEF requires GetViewRect to return a non-empty rect, but the GL area106 // CEF requires GetViewRect to return a non-empty rect, but the GL area
@@ -142,6 +144,8 @@ func (f *WebViewFactory) newWebView(ctx context.Context) (*WebView, error) {
142 wv.nativeWidget = popupRoot144 wv.nativeWidget = popupRoot
143 }145 }
144 }146 }
147+ // Guard the render widget with the theme background until the first frame.
148+ wv.applyBackgroundFlashGuard(nativeWidget)
145 })149 })
146 if !result.Completed() {150 if !result.Completed() {
147 wv.destroyViewBridgeOnGTKAsync()151 wv.destroyViewBridgeOnGTKAsync()
@@ -383,9 +387,9 @@ func (f *WebViewFactory) CreateRelated(ctx context.Context, parentID port.WebVie
383 settings := purecef.NewBrowserSettings()387 settings := purecef.NewBrowserSettings()
384 cef2gtk.ConfigureBrowserSettings(&settings, cef2gtk.BrowserSettingsOptions{WindowlessFrameRate: f.windowlessFrameRate})388 cef2gtk.ConfigureBrowserSettings(&settings, cef2gtk.BrowserSettingsOptions{WindowlessFrameRate: f.windowlessFrameRate})
385 settings.LocalStorage = 1 // CEF_STATE_ENABLED389 settings.LocalStorage = 1 // CEF_STATE_ENABLED
386- if bg := f.bgColor.Load(); bg != 0 {390+ // Always opaque white: the theme background is applied as a presentation-layer
387- settings.BackgroundColor = bg391+ // flash guard, not baked into Chromium's canvas.
388- }392+ settings.BackgroundColor = opaqueWhiteBackground
389 393
390 if err := f.configureInitialBrowserCreation(ctx, popupWV, popupWV.client, &windowInfo, &settings, func(w, h int32) {394 if err := f.configureInitialBrowserCreation(ctx, popupWV, popupWV.client, &windowInfo, &settings, func(w, h int32) {
391 f.handlePopupShellInitialResize(ctx, popupWV, func(w, h int32) {395 f.handlePopupShellInitialResize(ctx, popupWV, func(w, h int32) {
M internal/infrastructure/cef/render_handler_adapter.go +9 -0
@@ -51,6 +51,15 @@ func newDumberRenderHandler(wv *WebView) purecef.RenderHandler {
5151
5252 var unsupportedPaintOnce sync.Once
5353 hooks := startupPresentationHooks(activeStartupTrace())
54+ // Tear down the theme background flash guard once the first frame is
55+ // presented, without dropping the startup trace mark the bridge already set.
56+ firstAcceleratedPaint := hooks.OnFirstAcceleratedPaint
57+ hooks.OnFirstAcceleratedPaint = func() {
58+ if firstAcceleratedPaint != nil {
59+ firstAcceleratedPaint()
60+ }
61+ wv.markFirstFramePainted()
62+ }
5463 hooks.OnUnsupportedPaint = func() {
5564 unsupportedPaintOnce.Do(func() {
5665 if wv.ctx != nil {
@@ -51,6 +51,15 @@ func newDumberRenderHandler(wv *WebView) purecef.RenderHandler {
51 51
52 var unsupportedPaintOnce sync.Once52 var unsupportedPaintOnce sync.Once
53 hooks := startupPresentationHooks(activeStartupTrace())53 hooks := startupPresentationHooks(activeStartupTrace())
54+ // Tear down the theme background flash guard once the first frame is
55+ // presented, without dropping the startup trace mark the bridge already set.
56+ firstAcceleratedPaint := hooks.OnFirstAcceleratedPaint
57+ hooks.OnFirstAcceleratedPaint = func() {
58+ if firstAcceleratedPaint != nil {
59+ firstAcceleratedPaint()
60+ }
61+ wv.markFirstFramePainted()
62+ }
54 hooks.OnUnsupportedPaint = func() {63 hooks.OnUnsupportedPaint = func() {
55 unsupportedPaintOnce.Do(func() {64 unsupportedPaintOnce.Do(func() {
56 if wv.ctx != nil {65 if wv.ctx != nil {
M internal/infrastructure/cef/webview.go +20 -11
@@ -239,6 +239,18 @@ type WebView struct {
239239 backgroundColor uint32
240240 inputConfig RuntimeInputConfig
241241
242+ // Background flash guard: a theme-colored CSS provider painted behind the
243+ // render widget until the first CEF frame is presented. It replaces the
244+ // former dark BrowserSettings.BackgroundColor anti-white-flash, whose canvas
245+ // is now always opaque white. State is guarded by bgGuardMu; firstFramePainted
246+ // gates the one-shot teardown and resets naturally when a fresh WebView is
247+ // created after a browser recreation.
248+ firstFramePainted atomic.Bool
249+ bgGuardMu sync.Mutex
250+ bgGuardProvider *gtk.CssProvider
251+ bgGuardWidget *gtk.Widget
252+ bgGuardClass string
253+
242254 // Touchpad input diagnostics are debounced to avoid flooding logs while
243255 // debugging continuous scroll streams.
244256 touchpadNavigation *touchpadNavigationRecognizer
@@ -992,7 +1004,7 @@ func (wv *WebView) prepareNativePopup(
9921004 prep.parent.trackPendingNativePopup(popupID, wv)
9931005 }
9941006
995- configureNativePopupWindow(windowInfo, settings, prep.frameRate, prep.backgroundColor)
1007+ configureNativePopupWindow(windowInfo, settings, prep.frameRate)
9961008 clientSlot.Set(client)
9971009 return true
9981010 }
@@ -1007,9 +1019,8 @@ func (wv *WebView) nativePopupPreparationSnapshot() (nativePopupPreparation, boo
10071019 return nativePopupPreparation{}, false
10081020 }
10091021 return nativePopupPreparation{
1010- parent: wv.nativePopupParent,
1011- frameRate: wv.windowlessFrameRate,
1012- backgroundColor: wv.backgroundColor,
1022+ parent: wv.nativePopupParent,
1023+ frameRate: wv.windowlessFrameRate,
10131024 }, true
10141025 }
10151026
@@ -1045,7 +1056,6 @@ func configureNativePopupWindow(
10451056 windowInfo *purecef.WindowInfo,
10461057 settings *purecef.BrowserSettings,
10471058 frameRate int32,
1048- backgroundColor uint32,
10491059 ) {
10501060 cef2gtk.ConfigureWindowInfo(windowInfo, cef2gtk.WindowInfoOptions{})
10511061 if externalBeginFrameEnabled() {
@@ -1056,15 +1066,13 @@ func configureNativePopupWindow(
10561066 }
10571067 cef2gtk.ConfigureBrowserSettings(settings, cef2gtk.BrowserSettingsOptions{WindowlessFrameRate: frameRate})
10581068 settings.LocalStorage = 1
1059- if backgroundColor != 0 {
1060- settings.BackgroundColor = backgroundColor
1061- }
1069+ // Always opaque white; the popup shell WebView carries the theme flash guard.
1070+ settings.BackgroundColor = opaqueWhiteBackground
10621071 }
10631072
10641073 type nativePopupPreparation struct {
1065- parent *WebView
1066- frameRate int32
1067- backgroundColor uint32
1074+ parent *WebView
1075+ frameRate int32
10681076 }
10691077
10701078 func (wv *WebView) handleNativePopupAborted() {
@@ -1244,6 +1252,7 @@ func (wv *WebView) destroyViewBridgeOnGTKThread() {
12441252 if wv == nil || wv.viewBridge == nil {
12451253 return
12461254 }
1255+ wv.removeBackgroundFlashGuard()
12471256 if wv.removeSizeObserver != nil {
12481257 wv.removeSizeObserver()
12491258 wv.removeSizeObserver = nil
@@ -239,6 +239,18 @@ type WebView struct {
239 backgroundColor uint32239 backgroundColor uint32
240 inputConfig RuntimeInputConfig240 inputConfig RuntimeInputConfig
241 241
242+ // Background flash guard: a theme-colored CSS provider painted behind the
243+ // render widget until the first CEF frame is presented. It replaces the
244+ // former dark BrowserSettings.BackgroundColor anti-white-flash, whose canvas
245+ // is now always opaque white. State is guarded by bgGuardMu; firstFramePainted
246+ // gates the one-shot teardown and resets naturally when a fresh WebView is
247+ // created after a browser recreation.
248+ firstFramePainted atomic.Bool
249+ bgGuardMu sync.Mutex
250+ bgGuardProvider *gtk.CssProvider
251+ bgGuardWidget *gtk.Widget
252+ bgGuardClass string
253+
242 // Touchpad input diagnostics are debounced to avoid flooding logs while254 // Touchpad input diagnostics are debounced to avoid flooding logs while
243 // debugging continuous scroll streams.255 // debugging continuous scroll streams.
244 touchpadNavigation *touchpadNavigationRecognizer256 touchpadNavigation *touchpadNavigationRecognizer
@@ -992,7 +1004,7 @@ func (wv *WebView) prepareNativePopup(
992 prep.parent.trackPendingNativePopup(popupID, wv)1004 prep.parent.trackPendingNativePopup(popupID, wv)
993 }1005 }
994 1006
995- configureNativePopupWindow(windowInfo, settings, prep.frameRate, prep.backgroundColor)1007+ configureNativePopupWindow(windowInfo, settings, prep.frameRate)
996 clientSlot.Set(client)1008 clientSlot.Set(client)
997 return true1009 return true
998 }1010 }
@@ -1007,9 +1019,8 @@ func (wv *WebView) nativePopupPreparationSnapshot() (nativePopupPreparation, boo
1007 return nativePopupPreparation{}, false1019 return nativePopupPreparation{}, false
1008 }1020 }
1009 return nativePopupPreparation{1021 return nativePopupPreparation{
1010- parent: wv.nativePopupParent,1022+ parent: wv.nativePopupParent,
1011- frameRate: wv.windowlessFrameRate,1023+ frameRate: wv.windowlessFrameRate,
1012- backgroundColor: wv.backgroundColor,
1013 }, true1024 }, true
1014 }1025 }
1015 1026
@@ -1045,7 +1056,6 @@ func configureNativePopupWindow(
1045 windowInfo *purecef.WindowInfo,1056 windowInfo *purecef.WindowInfo,
1046 settings *purecef.BrowserSettings,1057 settings *purecef.BrowserSettings,
1047 frameRate int32,1058 frameRate int32,
1048- backgroundColor uint32,
1049 ) {1059 ) {
1050 cef2gtk.ConfigureWindowInfo(windowInfo, cef2gtk.WindowInfoOptions{})1060 cef2gtk.ConfigureWindowInfo(windowInfo, cef2gtk.WindowInfoOptions{})
1051 if externalBeginFrameEnabled() {1061 if externalBeginFrameEnabled() {
@@ -1056,15 +1066,13 @@ func configureNativePopupWindow(
1056 }1066 }
1057 cef2gtk.ConfigureBrowserSettings(settings, cef2gtk.BrowserSettingsOptions{WindowlessFrameRate: frameRate})1067 cef2gtk.ConfigureBrowserSettings(settings, cef2gtk.BrowserSettingsOptions{WindowlessFrameRate: frameRate})
1058 settings.LocalStorage = 11068 settings.LocalStorage = 1
1059- if backgroundColor != 0 {1069+ // Always opaque white; the popup shell WebView carries the theme flash guard.
1060- settings.BackgroundColor = backgroundColor1070+ settings.BackgroundColor = opaqueWhiteBackground
1061- }
1062 }1071 }
1063 1072
1064 type nativePopupPreparation struct {1073 type nativePopupPreparation struct {
1065- parent *WebView1074+ parent *WebView
1066- frameRate int321075+ frameRate int32
1067- backgroundColor uint32
1068 }1076 }
1069 1077
1070 func (wv *WebView) handleNativePopupAborted() {1078 func (wv *WebView) handleNativePopupAborted() {
@@ -1244,6 +1252,7 @@ func (wv *WebView) destroyViewBridgeOnGTKThread() {
1244 if wv == nil || wv.viewBridge == nil {1252 if wv == nil || wv.viewBridge == nil {
1245 return1253 return
1246 }1254 }
1255+ wv.removeBackgroundFlashGuard()
1247 if wv.removeSizeObserver != nil {1256 if wv.removeSizeObserver != nil {
1248 wv.removeSizeObserver()1257 wv.removeSizeObserver()
1249 wv.removeSizeObserver = nil1258 wv.removeSizeObserver = nil
M internal/infrastructure/cef/webview_handlers_test.go +2 -2
@@ -380,14 +380,14 @@ func TestConfigureNativePopupWindow_UsesSharedTextureWindowlessDefaults(t *testi
380380 windowInfo := purecef.NewWindowInfo()
381381 settings := purecef.NewBrowserSettings()
382382
383- configureNativePopupWindow(&windowInfo, &settings, 72, 0xFF112233)
383+ configureNativePopupWindow(&windowInfo, &settings, 72)
384384
385385 require.Equal(t, purecef.WindowHandle(0), windowInfo.ParentWindow)
386386 require.Equal(t, int32(1), windowInfo.WindowlessRenderingEnabled)
387387 require.Equal(t, int32(1), windowInfo.SharedTextureEnabled)
388388 require.Equal(t, int32(72), settings.WindowlessFrameRate)
389389 require.Equal(t, int32(1), settings.LocalStorage)
390- require.Equal(t, uint32(0xFF112233), settings.BackgroundColor)
390+ require.Equal(t, opaqueWhiteBackground, settings.BackgroundColor)
391391 }
392392
393393 func TestOnLoadStartFiresCommittedAndUpdatesURI(t *testing.T) {
@@ -380,14 +380,14 @@ func TestConfigureNativePopupWindow_UsesSharedTextureWindowlessDefaults(t *testi
380 windowInfo := purecef.NewWindowInfo()380 windowInfo := purecef.NewWindowInfo()
381 settings := purecef.NewBrowserSettings()381 settings := purecef.NewBrowserSettings()
382 382
383- configureNativePopupWindow(&windowInfo, &settings, 72, 0xFF112233)383+ configureNativePopupWindow(&windowInfo, &settings, 72)
384 384
385 require.Equal(t, purecef.WindowHandle(0), windowInfo.ParentWindow)385 require.Equal(t, purecef.WindowHandle(0), windowInfo.ParentWindow)
386 require.Equal(t, int32(1), windowInfo.WindowlessRenderingEnabled)386 require.Equal(t, int32(1), windowInfo.WindowlessRenderingEnabled)
387 require.Equal(t, int32(1), windowInfo.SharedTextureEnabled)387 require.Equal(t, int32(1), windowInfo.SharedTextureEnabled)
388 require.Equal(t, int32(72), settings.WindowlessFrameRate)388 require.Equal(t, int32(72), settings.WindowlessFrameRate)
389 require.Equal(t, int32(1), settings.LocalStorage)389 require.Equal(t, int32(1), settings.LocalStorage)
390- require.Equal(t, uint32(0xFF112233), settings.BackgroundColor)390+ require.Equal(t, opaqueWhiteBackground, settings.BackgroundColor)
391 }391 }
392 392
393 func TestOnLoadStartFiresCommittedAndUpdatesURI(t *testing.T) {393 func TestOnLoadStartFiresCommittedAndUpdatesURI(t *testing.T) {
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
@@ -22,9 +22,7 @@ type CEFApiVersionTestT struct {
2222 GetRefPtrLibraryListSize uintptr
2323 SetRefPtrClient uintptr
2424 SetRefPtrClientAndReturn uintptr
25- SetChildRefPtrClient uintptr
2625 SetChildRefPtrClientRemoved uintptr
27- SetChildRefPtrClientAndReturnParent uintptr
2826 SetChildRefPtrClientAndReturnParentRemoved uintptr
2927 SetRefPtrClientList uintptr
3028 GetRefPtrClientListByRef uintptr
@@ -36,15 +34,12 @@ type CEFApiVersionTestT struct {
3634 SetChildOwnPtrLibraryAndReturnParent uintptr
3735 SetOwnPtrClient uintptr
3836 SetOwnPtrClientAndReturn uintptr
39- SetChildOwnPtrClient uintptr
4037 SetChildOwnPtrClientRemoved uintptr
41- SetChildOwnPtrClientAndReturnParent uintptr
4238 SetChildOwnPtrClientAndReturnParentRemoved uintptr
4339 SetRawPtrLibrary uintptr
4440 SetChildRawPtrLibrary uintptr
4541 SetRawPtrLibraryList uintptr
4642 SetRawPtrClient uintptr
47- SetChildRawPtrClient uintptr
4843 SetChildRawPtrClientRemoved uintptr
4944 SetRawPtrClientList uintptr
5045 SetChildRefPtrClientV2 uintptr
@@ -164,28 +159,6 @@ func (v *CEFApiVersionTestT) CallSetRefPtrClientAndReturn(args ...uintptr) uintp
164159 return r1
165160 }
166161
167-func (v *CEFApiVersionTestT) OverrideSetChildRefPtrClient(fn uintptr) { v.SetChildRefPtrClient = fn }
168-
169-func (v *CEFApiVersionTestT) CallSetChildRefPtrClient(args ...uintptr) uintptr {
170- if v.SetChildRefPtrClient == 0 {
171- return 0
172- }
173- r1, _, _ := purego.SyscallN(v.SetChildRefPtrClient, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
174- return r1
175-}
176-
177-func (v *CEFApiVersionTestT) OverrideSetChildRefPtrClientAndReturnParent(fn uintptr) {
178- v.SetChildRefPtrClientAndReturnParent = fn
179-}
180-
181-func (v *CEFApiVersionTestT) CallSetChildRefPtrClientAndReturnParent(args ...uintptr) uintptr {
182- if v.SetChildRefPtrClientAndReturnParent == 0 {
183- return 0
184- }
185- r1, _, _ := purego.SyscallN(v.SetChildRefPtrClientAndReturnParent, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
186- return r1
187-}
188-
189162 func (v *CEFApiVersionTestT) OverrideSetRefPtrClientList(fn uintptr) { v.SetRefPtrClientList = fn }
190163
191164 func (v *CEFApiVersionTestT) CallSetRefPtrClientList(args ...uintptr) uintptr {
@@ -296,28 +269,6 @@ func (v *CEFApiVersionTestT) CallSetOwnPtrClientAndReturn(args ...uintptr) uintp
296269 return r1
297270 }
298271
299-func (v *CEFApiVersionTestT) OverrideSetChildOwnPtrClient(fn uintptr) { v.SetChildOwnPtrClient = fn }
300-
301-func (v *CEFApiVersionTestT) CallSetChildOwnPtrClient(args ...uintptr) uintptr {
302- if v.SetChildOwnPtrClient == 0 {
303- return 0
304- }
305- r1, _, _ := purego.SyscallN(v.SetChildOwnPtrClient, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
306- return r1
307-}
308-
309-func (v *CEFApiVersionTestT) OverrideSetChildOwnPtrClientAndReturnParent(fn uintptr) {
310- v.SetChildOwnPtrClientAndReturnParent = fn
311-}
312-
313-func (v *CEFApiVersionTestT) CallSetChildOwnPtrClientAndReturnParent(args ...uintptr) uintptr {
314- if v.SetChildOwnPtrClientAndReturnParent == 0 {
315- return 0
316- }
317- r1, _, _ := purego.SyscallN(v.SetChildOwnPtrClientAndReturnParent, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
318- return r1
319-}
320-
321272 func (v *CEFApiVersionTestT) OverrideSetRawPtrLibrary(fn uintptr) { v.SetRawPtrLibrary = fn }
322273
323274 func (v *CEFApiVersionTestT) CallSetRawPtrLibrary(args ...uintptr) uintptr {
@@ -358,16 +309,6 @@ func (v *CEFApiVersionTestT) CallSetRawPtrClient(args ...uintptr) uintptr {
358309 return r1
359310 }
360311
361-func (v *CEFApiVersionTestT) OverrideSetChildRawPtrClient(fn uintptr) { v.SetChildRawPtrClient = fn }
362-
363-func (v *CEFApiVersionTestT) CallSetChildRawPtrClient(args ...uintptr) uintptr {
364- if v.SetChildRawPtrClient == 0 {
365- return 0
366- }
367- r1, _, _ := purego.SyscallN(v.SetChildRawPtrClient, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
368- return r1
369-}
370-
371312 func (v *CEFApiVersionTestT) OverrideSetRawPtrClientList(fn uintptr) { v.SetRawPtrClientList = fn }
372313
373314 func (v *CEFApiVersionTestT) CallSetRawPtrClientList(args ...uintptr) uintptr {
@@ -443,18 +384,12 @@ type CEFApiVersionTestRefPtrLibraryT struct {
443384 Base CEFBaseRefCountedT
444385 GetValueLegacy uintptr
445386 SetValueLegacy uintptr
446- GetValue uintptr
447387 GetValueRemoved uintptr
448- SetValue uintptr
449388 SetValueRemoved uintptr
450- GetValueV1 uintptr
451389 GetValueV1Removed uintptr
452- SetValueV1 uintptr
453390 SetValueV1Removed uintptr
454391 GetValueV2 uintptr
455392 SetValueV2 uintptr
456- GetValueExp uintptr
457- SetValueExp uintptr
458393 }
459394
460395 func (v *CEFApiVersionTestRefPtrLibraryT) OverrideGetValueLegacy(fn uintptr) { v.GetValueLegacy = fn }
@@ -477,46 +412,6 @@ func (v *CEFApiVersionTestRefPtrLibraryT) CallSetValueLegacy(args ...uintptr) ui
477412 return r1
478413 }
479414
480-func (v *CEFApiVersionTestRefPtrLibraryT) OverrideGetValue(fn uintptr) { v.GetValue = fn }
481-
482-func (v *CEFApiVersionTestRefPtrLibraryT) CallGetValue(args ...uintptr) uintptr {
483- if v.GetValue == 0 {
484- return 0
485- }
486- r1, _, _ := purego.SyscallN(v.GetValue, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
487- return r1
488-}
489-
490-func (v *CEFApiVersionTestRefPtrLibraryT) OverrideSetValue(fn uintptr) { v.SetValue = fn }
491-
492-func (v *CEFApiVersionTestRefPtrLibraryT) CallSetValue(args ...uintptr) uintptr {
493- if v.SetValue == 0 {
494- return 0
495- }
496- r1, _, _ := purego.SyscallN(v.SetValue, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
497- return r1
498-}
499-
500-func (v *CEFApiVersionTestRefPtrLibraryT) OverrideGetValueV1(fn uintptr) { v.GetValueV1 = fn }
501-
502-func (v *CEFApiVersionTestRefPtrLibraryT) CallGetValueV1(args ...uintptr) uintptr {
503- if v.GetValueV1 == 0 {
504- return 0
505- }
506- r1, _, _ := purego.SyscallN(v.GetValueV1, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
507- return r1
508-}
509-
510-func (v *CEFApiVersionTestRefPtrLibraryT) OverrideSetValueV1(fn uintptr) { v.SetValueV1 = fn }
511-
512-func (v *CEFApiVersionTestRefPtrLibraryT) CallSetValueV1(args ...uintptr) uintptr {
513- if v.SetValueV1 == 0 {
514- return 0
515- }
516- r1, _, _ := purego.SyscallN(v.SetValueV1, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
517- return r1
518-}
519-
520415 func (v *CEFApiVersionTestRefPtrLibraryT) OverrideGetValueV2(fn uintptr) { v.GetValueV2 = fn }
521416
522417 func (v *CEFApiVersionTestRefPtrLibraryT) CallGetValueV2(args ...uintptr) uintptr {
@@ -537,26 +432,6 @@ func (v *CEFApiVersionTestRefPtrLibraryT) CallSetValueV2(args ...uintptr) uintpt
537432 return r1
538433 }
539434
540-func (v *CEFApiVersionTestRefPtrLibraryT) OverrideGetValueExp(fn uintptr) { v.GetValueExp = fn }
541-
542-func (v *CEFApiVersionTestRefPtrLibraryT) CallGetValueExp(args ...uintptr) uintptr {
543- if v.GetValueExp == 0 {
544- return 0
545- }
546- r1, _, _ := purego.SyscallN(v.GetValueExp, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
547- return r1
548-}
549-
550-func (v *CEFApiVersionTestRefPtrLibraryT) OverrideSetValueExp(fn uintptr) { v.SetValueExp = fn }
551-
552-func (v *CEFApiVersionTestRefPtrLibraryT) CallSetValueExp(args ...uintptr) uintptr {
553- if v.SetValueExp == 0 {
554- return 0
555- }
556- r1, _, _ := purego.SyscallN(v.SetValueExp, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
557- return r1
558-}
559-
560435 type CEFApiVersionTestRefPtrLibraryChildT struct {
561436 _ structs.HostLayout
562437 Base CEFApiVersionTestRefPtrLibraryT
@@ -588,68 +463,6 @@ func (v *CEFApiVersionTestRefPtrLibraryChildT) CallSetOtherValue(args ...uintptr
588463 return r1
589464 }
590465
591-type CEFApiVersionTestRefPtrLibraryChildChildT struct {
592- _ structs.HostLayout
593- Base CEFApiVersionTestRefPtrLibraryChildT
594- GetOtherOtherValue uintptr
595- SetOtherOtherValue uintptr
596-}
597-
598-func (v *CEFApiVersionTestRefPtrLibraryChildChildT) OverrideGetOtherOtherValue(fn uintptr) {
599- v.GetOtherOtherValue = fn
600-}
601-
602-func (v *CEFApiVersionTestRefPtrLibraryChildChildT) CallGetOtherOtherValue(args ...uintptr) uintptr {
603- if v.GetOtherOtherValue == 0 {
604- return 0
605- }
606- r1, _, _ := purego.SyscallN(v.GetOtherOtherValue, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
607- return r1
608-}
609-
610-func (v *CEFApiVersionTestRefPtrLibraryChildChildT) OverrideSetOtherOtherValue(fn uintptr) {
611- v.SetOtherOtherValue = fn
612-}
613-
614-func (v *CEFApiVersionTestRefPtrLibraryChildChildT) CallSetOtherOtherValue(args ...uintptr) uintptr {
615- if v.SetOtherOtherValue == 0 {
616- return 0
617- }
618- r1, _, _ := purego.SyscallN(v.SetOtherOtherValue, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
619- return r1
620-}
621-
622-type CEFApiVersionTestRefPtrLibraryChildChildV1T struct {
623- _ structs.HostLayout
624- Base CEFApiVersionTestRefPtrLibraryChildT
625- GetOtherOtherValue uintptr
626- SetOtherOtherValue uintptr
627-}
628-
629-func (v *CEFApiVersionTestRefPtrLibraryChildChildV1T) OverrideGetOtherOtherValue(fn uintptr) {
630- v.GetOtherOtherValue = fn
631-}
632-
633-func (v *CEFApiVersionTestRefPtrLibraryChildChildV1T) CallGetOtherOtherValue(args ...uintptr) uintptr {
634- if v.GetOtherOtherValue == 0 {
635- return 0
636- }
637- r1, _, _ := purego.SyscallN(v.GetOtherOtherValue, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
638- return r1
639-}
640-
641-func (v *CEFApiVersionTestRefPtrLibraryChildChildV1T) OverrideSetOtherOtherValue(fn uintptr) {
642- v.SetOtherOtherValue = fn
643-}
644-
645-func (v *CEFApiVersionTestRefPtrLibraryChildChildV1T) CallSetOtherOtherValue(args ...uintptr) uintptr {
646- if v.SetOtherOtherValue == 0 {
647- return 0
648- }
649- r1, _, _ := purego.SyscallN(v.SetOtherOtherValue, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
650- return r1
651-}
652-
653466 type CEFApiVersionTestRefPtrLibraryChildChildV2T struct {
654467 _ structs.HostLayout
655468 Base CEFApiVersionTestRefPtrLibraryChildT
@@ -685,12 +498,9 @@ type CEFApiVersionTestRefPtrClientT struct {
685498 _ structs.HostLayout
686499 Base CEFBaseRefCountedT
687500 GetValueLegacy uintptr
688- GetValue uintptr
689501 GetValueRemoved uintptr
690- GetValueV1 uintptr
691502 GetValueV1Removed uintptr
692503 GetValueV2 uintptr
693- GetValueExp uintptr
694504 }
695505
696506 func (v *CEFApiVersionTestRefPtrClientT) OverrideGetValueLegacy(fn uintptr) { v.GetValueLegacy = fn }
@@ -703,26 +513,6 @@ func (v *CEFApiVersionTestRefPtrClientT) CallGetValueLegacy(args ...uintptr) uin
703513 return r1
704514 }
705515
706-func (v *CEFApiVersionTestRefPtrClientT) OverrideGetValue(fn uintptr) { v.GetValue = fn }
707-
708-func (v *CEFApiVersionTestRefPtrClientT) CallGetValue(args ...uintptr) uintptr {
709- if v.GetValue == 0 {
710- return 0
711- }
712- r1, _, _ := purego.SyscallN(v.GetValue, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
713- return r1
714-}
715-
716-func (v *CEFApiVersionTestRefPtrClientT) OverrideGetValueV1(fn uintptr) { v.GetValueV1 = fn }
717-
718-func (v *CEFApiVersionTestRefPtrClientT) CallGetValueV1(args ...uintptr) uintptr {
719- if v.GetValueV1 == 0 {
720- return 0
721- }
722- r1, _, _ := purego.SyscallN(v.GetValueV1, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
723- return r1
724-}
725-
726516 func (v *CEFApiVersionTestRefPtrClientT) OverrideGetValueV2(fn uintptr) { v.GetValueV2 = fn }
727517
728518 func (v *CEFApiVersionTestRefPtrClientT) CallGetValueV2(args ...uintptr) uintptr {
@@ -733,46 +523,6 @@ func (v *CEFApiVersionTestRefPtrClientT) CallGetValueV2(args ...uintptr) uintptr
733523 return r1
734524 }
735525
736-func (v *CEFApiVersionTestRefPtrClientT) OverrideGetValueExp(fn uintptr) { v.GetValueExp = fn }
737-
738-func (v *CEFApiVersionTestRefPtrClientT) CallGetValueExp(args ...uintptr) uintptr {
739- if v.GetValueExp == 0 {
740- return 0
741- }
742- r1, _, _ := purego.SyscallN(v.GetValueExp, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
743- return r1
744-}
745-
746-type CEFApiVersionTestRefPtrClientChildT struct {
747- _ structs.HostLayout
748- Base CEFApiVersionTestRefPtrClientT
749- GetOtherValue uintptr
750- GetOtherValueRemoved uintptr
751- GetOtherValueV1 uintptr
752-}
753-
754-func (v *CEFApiVersionTestRefPtrClientChildT) OverrideGetOtherValue(fn uintptr) { v.GetOtherValue = fn }
755-
756-func (v *CEFApiVersionTestRefPtrClientChildT) CallGetOtherValue(args ...uintptr) uintptr {
757- if v.GetOtherValue == 0 {
758- return 0
759- }
760- r1, _, _ := purego.SyscallN(v.GetOtherValue, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
761- return r1
762-}
763-
764-func (v *CEFApiVersionTestRefPtrClientChildT) OverrideGetOtherValueV1(fn uintptr) {
765- v.GetOtherValueV1 = fn
766-}
767-
768-func (v *CEFApiVersionTestRefPtrClientChildT) CallGetOtherValueV1(args ...uintptr) uintptr {
769- if v.GetOtherValueV1 == 0 {
770- return 0
771- }
772- r1, _, _ := purego.SyscallN(v.GetOtherValueV1, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
773- return r1
774-}
775-
776526 type CEFApiVersionTestRefPtrClientChildV2T struct {
777527 _ structs.HostLayout
778528 Base CEFApiVersionTestRefPtrClientT
@@ -809,18 +559,12 @@ type CEFApiVersionTestScopedLibraryT struct {
809559 Base CEFBaseScopedT
810560 GetValueLegacy uintptr
811561 SetValueLegacy uintptr
812- GetValue uintptr
813562 GetValueRemoved uintptr
814- SetValue uintptr
815563 SetValueRemoved uintptr
816- GetValueV1 uintptr
817564 GetValueV1Removed uintptr
818- SetValueV1 uintptr
819565 SetValueV1Removed uintptr
820566 GetValueV2 uintptr
821567 SetValueV2 uintptr
822- GetValueExp uintptr
823- SetValueExp uintptr
824568 }
825569
826570 func (v *CEFApiVersionTestScopedLibraryT) OverrideGetValueLegacy(fn uintptr) { v.GetValueLegacy = fn }
@@ -843,46 +587,6 @@ func (v *CEFApiVersionTestScopedLibraryT) CallSetValueLegacy(args ...uintptr) ui
843587 return r1
844588 }
845589
846-func (v *CEFApiVersionTestScopedLibraryT) OverrideGetValue(fn uintptr) { v.GetValue = fn }
847-
848-func (v *CEFApiVersionTestScopedLibraryT) CallGetValue(args ...uintptr) uintptr {
849- if v.GetValue == 0 {
850- return 0
851- }
852- r1, _, _ := purego.SyscallN(v.GetValue, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
853- return r1
854-}
855-
856-func (v *CEFApiVersionTestScopedLibraryT) OverrideSetValue(fn uintptr) { v.SetValue = fn }
857-
858-func (v *CEFApiVersionTestScopedLibraryT) CallSetValue(args ...uintptr) uintptr {
859- if v.SetValue == 0 {
860- return 0
861- }
862- r1, _, _ := purego.SyscallN(v.SetValue, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
863- return r1
864-}
865-
866-func (v *CEFApiVersionTestScopedLibraryT) OverrideGetValueV1(fn uintptr) { v.GetValueV1 = fn }
867-
868-func (v *CEFApiVersionTestScopedLibraryT) CallGetValueV1(args ...uintptr) uintptr {
869- if v.GetValueV1 == 0 {
870- return 0
871- }
872- r1, _, _ := purego.SyscallN(v.GetValueV1, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
873- return r1
874-}
875-
876-func (v *CEFApiVersionTestScopedLibraryT) OverrideSetValueV1(fn uintptr) { v.SetValueV1 = fn }
877-
878-func (v *CEFApiVersionTestScopedLibraryT) CallSetValueV1(args ...uintptr) uintptr {
879- if v.SetValueV1 == 0 {
880- return 0
881- }
882- r1, _, _ := purego.SyscallN(v.SetValueV1, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
883- return r1
884-}
885-
886590 func (v *CEFApiVersionTestScopedLibraryT) OverrideGetValueV2(fn uintptr) { v.GetValueV2 = fn }
887591
888592 func (v *CEFApiVersionTestScopedLibraryT) CallGetValueV2(args ...uintptr) uintptr {
@@ -903,26 +607,6 @@ func (v *CEFApiVersionTestScopedLibraryT) CallSetValueV2(args ...uintptr) uintpt
903607 return r1
904608 }
905609
906-func (v *CEFApiVersionTestScopedLibraryT) OverrideGetValueExp(fn uintptr) { v.GetValueExp = fn }
907-
908-func (v *CEFApiVersionTestScopedLibraryT) CallGetValueExp(args ...uintptr) uintptr {
909- if v.GetValueExp == 0 {
910- return 0
911- }
912- r1, _, _ := purego.SyscallN(v.GetValueExp, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
913- return r1
914-}
915-
916-func (v *CEFApiVersionTestScopedLibraryT) OverrideSetValueExp(fn uintptr) { v.SetValueExp = fn }
917-
918-func (v *CEFApiVersionTestScopedLibraryT) CallSetValueExp(args ...uintptr) uintptr {
919- if v.SetValueExp == 0 {
920- return 0
921- }
922- r1, _, _ := purego.SyscallN(v.SetValueExp, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
923- return r1
924-}
925-
926610 type CEFApiVersionTestScopedLibraryChildT struct {
927611 _ structs.HostLayout
928612 Base CEFApiVersionTestScopedLibraryT
@@ -954,68 +638,6 @@ func (v *CEFApiVersionTestScopedLibraryChildT) CallSetOtherValue(args ...uintptr
954638 return r1
955639 }
956640
957-type CEFApiVersionTestScopedLibraryChildChildT struct {
958- _ structs.HostLayout
959- Base CEFApiVersionTestScopedLibraryChildT
960- GetOtherOtherValue uintptr
961- SetOtherOtherValue uintptr
962-}
963-
964-func (v *CEFApiVersionTestScopedLibraryChildChildT) OverrideGetOtherOtherValue(fn uintptr) {
965- v.GetOtherOtherValue = fn
966-}
967-
968-func (v *CEFApiVersionTestScopedLibraryChildChildT) CallGetOtherOtherValue(args ...uintptr) uintptr {
969- if v.GetOtherOtherValue == 0 {
970- return 0
971- }
972- r1, _, _ := purego.SyscallN(v.GetOtherOtherValue, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
973- return r1
974-}
975-
976-func (v *CEFApiVersionTestScopedLibraryChildChildT) OverrideSetOtherOtherValue(fn uintptr) {
977- v.SetOtherOtherValue = fn
978-}
979-
980-func (v *CEFApiVersionTestScopedLibraryChildChildT) CallSetOtherOtherValue(args ...uintptr) uintptr {
981- if v.SetOtherOtherValue == 0 {
982- return 0
983- }
984- r1, _, _ := purego.SyscallN(v.SetOtherOtherValue, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
985- return r1
986-}
987-
988-type CEFApiVersionTestScopedLibraryChildChildV1T struct {
989- _ structs.HostLayout
990- Base CEFApiVersionTestScopedLibraryChildT
991- GetOtherOtherValue uintptr
992- SetOtherOtherValue uintptr
993-}
994-
995-func (v *CEFApiVersionTestScopedLibraryChildChildV1T) OverrideGetOtherOtherValue(fn uintptr) {
996- v.GetOtherOtherValue = fn
997-}
998-
999-func (v *CEFApiVersionTestScopedLibraryChildChildV1T) CallGetOtherOtherValue(args ...uintptr) uintptr {
1000- if v.GetOtherOtherValue == 0 {
1001- return 0
1002- }
1003- r1, _, _ := purego.SyscallN(v.GetOtherOtherValue, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
1004- return r1
1005-}
1006-
1007-func (v *CEFApiVersionTestScopedLibraryChildChildV1T) OverrideSetOtherOtherValue(fn uintptr) {
1008- v.SetOtherOtherValue = fn
1009-}
1010-
1011-func (v *CEFApiVersionTestScopedLibraryChildChildV1T) CallSetOtherOtherValue(args ...uintptr) uintptr {
1012- if v.SetOtherOtherValue == 0 {
1013- return 0
1014- }
1015- r1, _, _ := purego.SyscallN(v.SetOtherOtherValue, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
1016- return r1
1017-}
1018-
1019641 type CEFApiVersionTestScopedLibraryChildChildV2T struct {
1020642 _ structs.HostLayout
1021643 Base CEFApiVersionTestScopedLibraryChildT
@@ -1051,12 +673,9 @@ type CEFApiVersionTestScopedClientT struct {
1051673 _ structs.HostLayout
1052674 Base CEFBaseScopedT
1053675 GetValueLegacy uintptr
1054- GetValue uintptr
1055676 GetValueRemoved uintptr
1056- GetValueV1 uintptr
1057677 GetValueV1Removed uintptr
1058678 GetValueV2 uintptr
1059- GetValueExp uintptr
1060679 }
1061680
1062681 func (v *CEFApiVersionTestScopedClientT) OverrideGetValueLegacy(fn uintptr) { v.GetValueLegacy = fn }
@@ -1069,26 +688,6 @@ func (v *CEFApiVersionTestScopedClientT) CallGetValueLegacy(args ...uintptr) uin
1069688 return r1
1070689 }
1071690
1072-func (v *CEFApiVersionTestScopedClientT) OverrideGetValue(fn uintptr) { v.GetValue = fn }
1073-
1074-func (v *CEFApiVersionTestScopedClientT) CallGetValue(args ...uintptr) uintptr {
1075- if v.GetValue == 0 {
1076- return 0
1077- }
1078- r1, _, _ := purego.SyscallN(v.GetValue, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
1079- return r1
1080-}
1081-
1082-func (v *CEFApiVersionTestScopedClientT) OverrideGetValueV1(fn uintptr) { v.GetValueV1 = fn }
1083-
1084-func (v *CEFApiVersionTestScopedClientT) CallGetValueV1(args ...uintptr) uintptr {
1085- if v.GetValueV1 == 0 {
1086- return 0
1087- }
1088- r1, _, _ := purego.SyscallN(v.GetValueV1, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
1089- return r1
1090-}
1091-
1092691 func (v *CEFApiVersionTestScopedClientT) OverrideGetValueV2(fn uintptr) { v.GetValueV2 = fn }
1093692
1094693 func (v *CEFApiVersionTestScopedClientT) CallGetValueV2(args ...uintptr) uintptr {
@@ -1099,46 +698,6 @@ func (v *CEFApiVersionTestScopedClientT) CallGetValueV2(args ...uintptr) uintptr
1099698 return r1
1100699 }
1101700
1102-func (v *CEFApiVersionTestScopedClientT) OverrideGetValueExp(fn uintptr) { v.GetValueExp = fn }
1103-
1104-func (v *CEFApiVersionTestScopedClientT) CallGetValueExp(args ...uintptr) uintptr {
1105- if v.GetValueExp == 0 {
1106- return 0
1107- }
1108- r1, _, _ := purego.SyscallN(v.GetValueExp, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
1109- return r1
1110-}
1111-
1112-type CEFApiVersionTestScopedClientChildT struct {
1113- _ structs.HostLayout
1114- Base CEFApiVersionTestScopedClientT
1115- GetOtherValue uintptr
1116- GetOtherValueRemoved uintptr
1117- GetOtherValueV1 uintptr
1118-}
1119-
1120-func (v *CEFApiVersionTestScopedClientChildT) OverrideGetOtherValue(fn uintptr) { v.GetOtherValue = fn }
1121-
1122-func (v *CEFApiVersionTestScopedClientChildT) CallGetOtherValue(args ...uintptr) uintptr {
1123- if v.GetOtherValue == 0 {
1124- return 0
1125- }
1126- r1, _, _ := purego.SyscallN(v.GetOtherValue, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
1127- return r1
1128-}
1129-
1130-func (v *CEFApiVersionTestScopedClientChildT) OverrideGetOtherValueV1(fn uintptr) {
1131- v.GetOtherValueV1 = fn
1132-}
1133-
1134-func (v *CEFApiVersionTestScopedClientChildT) CallGetOtherValueV1(args ...uintptr) uintptr {
1135- if v.GetOtherValueV1 == 0 {
1136- return 0
1137- }
1138- r1, _, _ := purego.SyscallN(v.GetOtherValueV1, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
1139- return r1
1140-}
1141-
1142701 type CEFApiVersionTestScopedClientChildV2T struct {
1143702 _ structs.HostLayout
1144703 Base CEFApiVersionTestScopedClientT
@@ -1180,12 +739,6 @@ var CEFApiVersionTestRefPtrLibraryChildCreate func() unsafe.Pointer
1180739
1181740 var CEFApiVersionTestRefPtrLibraryChildCreateWithDefault func(Value int32, OtherValue int32) unsafe.Pointer
1182741
1183-var CEFApiVersionTestRefPtrLibraryChildChildCreate func() unsafe.Pointer
1184-
1185-var CEFApiVersionTestRefPtrLibraryChildChildV1Create func() unsafe.Pointer
1186-
1187-var CEFApiVersionTestRefPtrLibraryChildChildV1CreateWithDefault func(Value int32, OtherValue int32, OtherOtherValue int32) unsafe.Pointer
1188-
1189742 var CEFApiVersionTestRefPtrLibraryChildChildV2Create func() unsafe.Pointer
1190743
1191744 var CEFApiVersionTestRefPtrLibraryChildChildV2CreateWithDefault func(Value int32, OtherValue int32, OtherOtherValue int32) unsafe.Pointer
@@ -1198,12 +751,6 @@ var CEFApiVersionTestScopedLibraryChildCreate func() unsafe.Pointer
1198751
1199752 var CEFApiVersionTestScopedLibraryChildCreateWithDefault func(Value int32, OtherValue int32) unsafe.Pointer
1200753
1201-var CEFApiVersionTestScopedLibraryChildChildCreate func() unsafe.Pointer
1202-
1203-var CEFApiVersionTestScopedLibraryChildChildV1Create func() unsafe.Pointer
1204-
1205-var CEFApiVersionTestScopedLibraryChildChildV1CreateWithDefault func(Value int32, OtherValue int32, OtherOtherValue int32) unsafe.Pointer
1206-
1207754 var CEFApiVersionTestScopedLibraryChildChildV2Create func() unsafe.Pointer
1208755
1209756 var CEFApiVersionTestScopedLibraryChildChildV2CreateWithDefault func(Value int32, OtherValue int32, OtherOtherValue int32) unsafe.Pointer
@@ -1214,18 +761,12 @@ func RegisterApiVersionTest(handle uintptr) {
1214761 tryRegisterLibFunc(&CEFApiVersionTestRefPtrLibraryCreateWithDefault, handle, "cef_api_version_test_ref_ptr_library_create_with_default")
1215762 tryRegisterLibFunc(&CEFApiVersionTestRefPtrLibraryChildCreate, handle, "cef_api_version_test_ref_ptr_library_child_create")
1216763 tryRegisterLibFunc(&CEFApiVersionTestRefPtrLibraryChildCreateWithDefault, handle, "cef_api_version_test_ref_ptr_library_child_create_with_default")
1217- tryRegisterLibFunc(&CEFApiVersionTestRefPtrLibraryChildChildCreate, handle, "cef_api_version_test_ref_ptr_library_child_child_create")
1218- tryRegisterLibFunc(&CEFApiVersionTestRefPtrLibraryChildChildV1Create, handle, "cef_api_version_test_ref_ptr_library_child_child_v1_create")
1219- tryRegisterLibFunc(&CEFApiVersionTestRefPtrLibraryChildChildV1CreateWithDefault, handle, "cef_api_version_test_ref_ptr_library_child_child_v1_create_with_default")
1220764 tryRegisterLibFunc(&CEFApiVersionTestRefPtrLibraryChildChildV2Create, handle, "cef_api_version_test_ref_ptr_library_child_child_v2_create")
1221765 tryRegisterLibFunc(&CEFApiVersionTestRefPtrLibraryChildChildV2CreateWithDefault, handle, "cef_api_version_test_ref_ptr_library_child_child_v2_create_with_default")
1222766 tryRegisterLibFunc(&CEFApiVersionTestScopedLibraryCreate, handle, "cef_api_version_test_scoped_library_create")
1223767 tryRegisterLibFunc(&CEFApiVersionTestScopedLibraryCreateWithDefault, handle, "cef_api_version_test_scoped_library_create_with_default")
1224768 tryRegisterLibFunc(&CEFApiVersionTestScopedLibraryChildCreate, handle, "cef_api_version_test_scoped_library_child_create")
1225769 tryRegisterLibFunc(&CEFApiVersionTestScopedLibraryChildCreateWithDefault, handle, "cef_api_version_test_scoped_library_child_create_with_default")
1226- tryRegisterLibFunc(&CEFApiVersionTestScopedLibraryChildChildCreate, handle, "cef_api_version_test_scoped_library_child_child_create")
1227- tryRegisterLibFunc(&CEFApiVersionTestScopedLibraryChildChildV1Create, handle, "cef_api_version_test_scoped_library_child_child_v1_create")
1228- tryRegisterLibFunc(&CEFApiVersionTestScopedLibraryChildChildV1CreateWithDefault, handle, "cef_api_version_test_scoped_library_child_child_v1_create_with_default")
1229770 tryRegisterLibFunc(&CEFApiVersionTestScopedLibraryChildChildV2Create, handle, "cef_api_version_test_scoped_library_child_child_v2_create")
1230771 tryRegisterLibFunc(&CEFApiVersionTestScopedLibraryChildChildV2CreateWithDefault, handle, "cef_api_version_test_scoped_library_child_child_v2_create_with_default")
1231772 }
@@ -22,9 +22,7 @@ type CEFApiVersionTestT struct {
22 GetRefPtrLibraryListSize uintptr22 GetRefPtrLibraryListSize uintptr
23 SetRefPtrClient uintptr23 SetRefPtrClient uintptr
24 SetRefPtrClientAndReturn uintptr24 SetRefPtrClientAndReturn uintptr
25- SetChildRefPtrClient uintptr
26 SetChildRefPtrClientRemoved uintptr25 SetChildRefPtrClientRemoved uintptr
27- SetChildRefPtrClientAndReturnParent uintptr
28 SetChildRefPtrClientAndReturnParentRemoved uintptr26 SetChildRefPtrClientAndReturnParentRemoved uintptr
29 SetRefPtrClientList uintptr27 SetRefPtrClientList uintptr
30 GetRefPtrClientListByRef uintptr28 GetRefPtrClientListByRef uintptr
@@ -36,15 +34,12 @@ type CEFApiVersionTestT struct {
36 SetChildOwnPtrLibraryAndReturnParent uintptr34 SetChildOwnPtrLibraryAndReturnParent uintptr
37 SetOwnPtrClient uintptr35 SetOwnPtrClient uintptr
38 SetOwnPtrClientAndReturn uintptr36 SetOwnPtrClientAndReturn uintptr
39- SetChildOwnPtrClient uintptr
40 SetChildOwnPtrClientRemoved uintptr37 SetChildOwnPtrClientRemoved uintptr
41- SetChildOwnPtrClientAndReturnParent uintptr
42 SetChildOwnPtrClientAndReturnParentRemoved uintptr38 SetChildOwnPtrClientAndReturnParentRemoved uintptr
43 SetRawPtrLibrary uintptr39 SetRawPtrLibrary uintptr
44 SetChildRawPtrLibrary uintptr40 SetChildRawPtrLibrary uintptr
45 SetRawPtrLibraryList uintptr41 SetRawPtrLibraryList uintptr
46 SetRawPtrClient uintptr42 SetRawPtrClient uintptr
47- SetChildRawPtrClient uintptr
48 SetChildRawPtrClientRemoved uintptr43 SetChildRawPtrClientRemoved uintptr
49 SetRawPtrClientList uintptr44 SetRawPtrClientList uintptr
50 SetChildRefPtrClientV2 uintptr45 SetChildRefPtrClientV2 uintptr
@@ -164,28 +159,6 @@ func (v *CEFApiVersionTestT) CallSetRefPtrClientAndReturn(args ...uintptr) uintp
164 return r1159 return r1
165 }160 }
166 161
167-func (v *CEFApiVersionTestT) OverrideSetChildRefPtrClient(fn uintptr) { v.SetChildRefPtrClient = fn }
168-
169-func (v *CEFApiVersionTestT) CallSetChildRefPtrClient(args ...uintptr) uintptr {
170- if v.SetChildRefPtrClient == 0 {
171- return 0
172- }
173- r1, _, _ := purego.SyscallN(v.SetChildRefPtrClient, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
174- return r1
175-}
176-
177-func (v *CEFApiVersionTestT) OverrideSetChildRefPtrClientAndReturnParent(fn uintptr) {
178- v.SetChildRefPtrClientAndReturnParent = fn
179-}
180-
181-func (v *CEFApiVersionTestT) CallSetChildRefPtrClientAndReturnParent(args ...uintptr) uintptr {
182- if v.SetChildRefPtrClientAndReturnParent == 0 {
183- return 0
184- }
185- r1, _, _ := purego.SyscallN(v.SetChildRefPtrClientAndReturnParent, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
186- return r1
187-}
188-
189 func (v *CEFApiVersionTestT) OverrideSetRefPtrClientList(fn uintptr) { v.SetRefPtrClientList = fn }162 func (v *CEFApiVersionTestT) OverrideSetRefPtrClientList(fn uintptr) { v.SetRefPtrClientList = fn }
190 163
191 func (v *CEFApiVersionTestT) CallSetRefPtrClientList(args ...uintptr) uintptr {164 func (v *CEFApiVersionTestT) CallSetRefPtrClientList(args ...uintptr) uintptr {
@@ -296,28 +269,6 @@ func (v *CEFApiVersionTestT) CallSetOwnPtrClientAndReturn(args ...uintptr) uintp
296 return r1269 return r1
297 }270 }
298 271
299-func (v *CEFApiVersionTestT) OverrideSetChildOwnPtrClient(fn uintptr) { v.SetChildOwnPtrClient = fn }
300-
301-func (v *CEFApiVersionTestT) CallSetChildOwnPtrClient(args ...uintptr) uintptr {
302- if v.SetChildOwnPtrClient == 0 {
303- return 0
304- }
305- r1, _, _ := purego.SyscallN(v.SetChildOwnPtrClient, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
306- return r1
307-}
308-
309-func (v *CEFApiVersionTestT) OverrideSetChildOwnPtrClientAndReturnParent(fn uintptr) {
310- v.SetChildOwnPtrClientAndReturnParent = fn
311-}
312-
313-func (v *CEFApiVersionTestT) CallSetChildOwnPtrClientAndReturnParent(args ...uintptr) uintptr {
314- if v.SetChildOwnPtrClientAndReturnParent == 0 {
315- return 0
316- }
317- r1, _, _ := purego.SyscallN(v.SetChildOwnPtrClientAndReturnParent, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
318- return r1
319-}
320-
321 func (v *CEFApiVersionTestT) OverrideSetRawPtrLibrary(fn uintptr) { v.SetRawPtrLibrary = fn }272 func (v *CEFApiVersionTestT) OverrideSetRawPtrLibrary(fn uintptr) { v.SetRawPtrLibrary = fn }
322 273
323 func (v *CEFApiVersionTestT) CallSetRawPtrLibrary(args ...uintptr) uintptr {274 func (v *CEFApiVersionTestT) CallSetRawPtrLibrary(args ...uintptr) uintptr {
@@ -358,16 +309,6 @@ func (v *CEFApiVersionTestT) CallSetRawPtrClient(args ...uintptr) uintptr {
358 return r1309 return r1
359 }310 }
360 311
361-func (v *CEFApiVersionTestT) OverrideSetChildRawPtrClient(fn uintptr) { v.SetChildRawPtrClient = fn }
362-
363-func (v *CEFApiVersionTestT) CallSetChildRawPtrClient(args ...uintptr) uintptr {
364- if v.SetChildRawPtrClient == 0 {
365- return 0
366- }
367- r1, _, _ := purego.SyscallN(v.SetChildRawPtrClient, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
368- return r1
369-}
370-
371 func (v *CEFApiVersionTestT) OverrideSetRawPtrClientList(fn uintptr) { v.SetRawPtrClientList = fn }312 func (v *CEFApiVersionTestT) OverrideSetRawPtrClientList(fn uintptr) { v.SetRawPtrClientList = fn }
372 313
373 func (v *CEFApiVersionTestT) CallSetRawPtrClientList(args ...uintptr) uintptr {314 func (v *CEFApiVersionTestT) CallSetRawPtrClientList(args ...uintptr) uintptr {
@@ -443,18 +384,12 @@ type CEFApiVersionTestRefPtrLibraryT struct {
443 Base CEFBaseRefCountedT384 Base CEFBaseRefCountedT
444 GetValueLegacy uintptr385 GetValueLegacy uintptr
445 SetValueLegacy uintptr386 SetValueLegacy uintptr
446- GetValue uintptr
447 GetValueRemoved uintptr387 GetValueRemoved uintptr
448- SetValue uintptr
449 SetValueRemoved uintptr388 SetValueRemoved uintptr
450- GetValueV1 uintptr
451 GetValueV1Removed uintptr389 GetValueV1Removed uintptr
452- SetValueV1 uintptr
453 SetValueV1Removed uintptr390 SetValueV1Removed uintptr
454 GetValueV2 uintptr391 GetValueV2 uintptr
455 SetValueV2 uintptr392 SetValueV2 uintptr
456- GetValueExp uintptr
457- SetValueExp uintptr
458 }393 }
459 394
460 func (v *CEFApiVersionTestRefPtrLibraryT) OverrideGetValueLegacy(fn uintptr) { v.GetValueLegacy = fn }395 func (v *CEFApiVersionTestRefPtrLibraryT) OverrideGetValueLegacy(fn uintptr) { v.GetValueLegacy = fn }
@@ -477,46 +412,6 @@ func (v *CEFApiVersionTestRefPtrLibraryT) CallSetValueLegacy(args ...uintptr) ui
477 return r1412 return r1
478 }413 }
479 414
480-func (v *CEFApiVersionTestRefPtrLibraryT) OverrideGetValue(fn uintptr) { v.GetValue = fn }
481-
482-func (v *CEFApiVersionTestRefPtrLibraryT) CallGetValue(args ...uintptr) uintptr {
483- if v.GetValue == 0 {
484- return 0
485- }
486- r1, _, _ := purego.SyscallN(v.GetValue, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
487- return r1
488-}
489-
490-func (v *CEFApiVersionTestRefPtrLibraryT) OverrideSetValue(fn uintptr) { v.SetValue = fn }
491-
492-func (v *CEFApiVersionTestRefPtrLibraryT) CallSetValue(args ...uintptr) uintptr {
493- if v.SetValue == 0 {
494- return 0
495- }
496- r1, _, _ := purego.SyscallN(v.SetValue, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
497- return r1
498-}
499-
500-func (v *CEFApiVersionTestRefPtrLibraryT) OverrideGetValueV1(fn uintptr) { v.GetValueV1 = fn }
501-
502-func (v *CEFApiVersionTestRefPtrLibraryT) CallGetValueV1(args ...uintptr) uintptr {
503- if v.GetValueV1 == 0 {
504- return 0
505- }
506- r1, _, _ := purego.SyscallN(v.GetValueV1, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
507- return r1
508-}
509-
510-func (v *CEFApiVersionTestRefPtrLibraryT) OverrideSetValueV1(fn uintptr) { v.SetValueV1 = fn }
511-
512-func (v *CEFApiVersionTestRefPtrLibraryT) CallSetValueV1(args ...uintptr) uintptr {
513- if v.SetValueV1 == 0 {
514- return 0
515- }
516- r1, _, _ := purego.SyscallN(v.SetValueV1, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
517- return r1
518-}
519-
520 func (v *CEFApiVersionTestRefPtrLibraryT) OverrideGetValueV2(fn uintptr) { v.GetValueV2 = fn }415 func (v *CEFApiVersionTestRefPtrLibraryT) OverrideGetValueV2(fn uintptr) { v.GetValueV2 = fn }
521 416
522 func (v *CEFApiVersionTestRefPtrLibraryT) CallGetValueV2(args ...uintptr) uintptr {417 func (v *CEFApiVersionTestRefPtrLibraryT) CallGetValueV2(args ...uintptr) uintptr {
@@ -537,26 +432,6 @@ func (v *CEFApiVersionTestRefPtrLibraryT) CallSetValueV2(args ...uintptr) uintpt
537 return r1432 return r1
538 }433 }
539 434
540-func (v *CEFApiVersionTestRefPtrLibraryT) OverrideGetValueExp(fn uintptr) { v.GetValueExp = fn }
541-
542-func (v *CEFApiVersionTestRefPtrLibraryT) CallGetValueExp(args ...uintptr) uintptr {
543- if v.GetValueExp == 0 {
544- return 0
545- }
546- r1, _, _ := purego.SyscallN(v.GetValueExp, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
547- return r1
548-}
549-
550-func (v *CEFApiVersionTestRefPtrLibraryT) OverrideSetValueExp(fn uintptr) { v.SetValueExp = fn }
551-
552-func (v *CEFApiVersionTestRefPtrLibraryT) CallSetValueExp(args ...uintptr) uintptr {
553- if v.SetValueExp == 0 {
554- return 0
555- }
556- r1, _, _ := purego.SyscallN(v.SetValueExp, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
557- return r1
558-}
559-
560 type CEFApiVersionTestRefPtrLibraryChildT struct {435 type CEFApiVersionTestRefPtrLibraryChildT struct {
561 _ structs.HostLayout436 _ structs.HostLayout
562 Base CEFApiVersionTestRefPtrLibraryT437 Base CEFApiVersionTestRefPtrLibraryT
@@ -588,68 +463,6 @@ func (v *CEFApiVersionTestRefPtrLibraryChildT) CallSetOtherValue(args ...uintptr
588 return r1463 return r1
589 }464 }
590 465
591-type CEFApiVersionTestRefPtrLibraryChildChildT struct {
592- _ structs.HostLayout
593- Base CEFApiVersionTestRefPtrLibraryChildT
594- GetOtherOtherValue uintptr
595- SetOtherOtherValue uintptr
596-}
597-
598-func (v *CEFApiVersionTestRefPtrLibraryChildChildT) OverrideGetOtherOtherValue(fn uintptr) {
599- v.GetOtherOtherValue = fn
600-}
601-
602-func (v *CEFApiVersionTestRefPtrLibraryChildChildT) CallGetOtherOtherValue(args ...uintptr) uintptr {
603- if v.GetOtherOtherValue == 0 {
604- return 0
605- }
606- r1, _, _ := purego.SyscallN(v.GetOtherOtherValue, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
607- return r1
608-}
609-
610-func (v *CEFApiVersionTestRefPtrLibraryChildChildT) OverrideSetOtherOtherValue(fn uintptr) {
611- v.SetOtherOtherValue = fn
612-}
613-
614-func (v *CEFApiVersionTestRefPtrLibraryChildChildT) CallSetOtherOtherValue(args ...uintptr) uintptr {
615- if v.SetOtherOtherValue == 0 {
616- return 0
617- }
618- r1, _, _ := purego.SyscallN(v.SetOtherOtherValue, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
619- return r1
620-}
621-
622-type CEFApiVersionTestRefPtrLibraryChildChildV1T struct {
623- _ structs.HostLayout
624- Base CEFApiVersionTestRefPtrLibraryChildT
625- GetOtherOtherValue uintptr
626- SetOtherOtherValue uintptr
627-}
628-
629-func (v *CEFApiVersionTestRefPtrLibraryChildChildV1T) OverrideGetOtherOtherValue(fn uintptr) {
630- v.GetOtherOtherValue = fn
631-}
632-
633-func (v *CEFApiVersionTestRefPtrLibraryChildChildV1T) CallGetOtherOtherValue(args ...uintptr) uintptr {
634- if v.GetOtherOtherValue == 0 {
635- return 0
636- }
637- r1, _, _ := purego.SyscallN(v.GetOtherOtherValue, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
638- return r1
639-}
640-
641-func (v *CEFApiVersionTestRefPtrLibraryChildChildV1T) OverrideSetOtherOtherValue(fn uintptr) {
642- v.SetOtherOtherValue = fn
643-}
644-
645-func (v *CEFApiVersionTestRefPtrLibraryChildChildV1T) CallSetOtherOtherValue(args ...uintptr) uintptr {
646- if v.SetOtherOtherValue == 0 {
647- return 0
648- }
649- r1, _, _ := purego.SyscallN(v.SetOtherOtherValue, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
650- return r1
651-}
652-
653 type CEFApiVersionTestRefPtrLibraryChildChildV2T struct {466 type CEFApiVersionTestRefPtrLibraryChildChildV2T struct {
654 _ structs.HostLayout467 _ structs.HostLayout
655 Base CEFApiVersionTestRefPtrLibraryChildT468 Base CEFApiVersionTestRefPtrLibraryChildT
@@ -685,12 +498,9 @@ type CEFApiVersionTestRefPtrClientT struct {
685 _ structs.HostLayout498 _ structs.HostLayout
686 Base CEFBaseRefCountedT499 Base CEFBaseRefCountedT
687 GetValueLegacy uintptr500 GetValueLegacy uintptr
688- GetValue uintptr
689 GetValueRemoved uintptr501 GetValueRemoved uintptr
690- GetValueV1 uintptr
691 GetValueV1Removed uintptr502 GetValueV1Removed uintptr
692 GetValueV2 uintptr503 GetValueV2 uintptr
693- GetValueExp uintptr
694 }504 }
695 505
696 func (v *CEFApiVersionTestRefPtrClientT) OverrideGetValueLegacy(fn uintptr) { v.GetValueLegacy = fn }506 func (v *CEFApiVersionTestRefPtrClientT) OverrideGetValueLegacy(fn uintptr) { v.GetValueLegacy = fn }
@@ -703,26 +513,6 @@ func (v *CEFApiVersionTestRefPtrClientT) CallGetValueLegacy(args ...uintptr) uin
703 return r1513 return r1
704 }514 }
705 515
706-func (v *CEFApiVersionTestRefPtrClientT) OverrideGetValue(fn uintptr) { v.GetValue = fn }
707-
708-func (v *CEFApiVersionTestRefPtrClientT) CallGetValue(args ...uintptr) uintptr {
709- if v.GetValue == 0 {
710- return 0
711- }
712- r1, _, _ := purego.SyscallN(v.GetValue, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
713- return r1
714-}
715-
716-func (v *CEFApiVersionTestRefPtrClientT) OverrideGetValueV1(fn uintptr) { v.GetValueV1 = fn }
717-
718-func (v *CEFApiVersionTestRefPtrClientT) CallGetValueV1(args ...uintptr) uintptr {
719- if v.GetValueV1 == 0 {
720- return 0
721- }
722- r1, _, _ := purego.SyscallN(v.GetValueV1, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
723- return r1
724-}
725-
726 func (v *CEFApiVersionTestRefPtrClientT) OverrideGetValueV2(fn uintptr) { v.GetValueV2 = fn }516 func (v *CEFApiVersionTestRefPtrClientT) OverrideGetValueV2(fn uintptr) { v.GetValueV2 = fn }
727 517
728 func (v *CEFApiVersionTestRefPtrClientT) CallGetValueV2(args ...uintptr) uintptr {518 func (v *CEFApiVersionTestRefPtrClientT) CallGetValueV2(args ...uintptr) uintptr {
@@ -733,46 +523,6 @@ func (v *CEFApiVersionTestRefPtrClientT) CallGetValueV2(args ...uintptr) uintptr
733 return r1523 return r1
734 }524 }
735 525
736-func (v *CEFApiVersionTestRefPtrClientT) OverrideGetValueExp(fn uintptr) { v.GetValueExp = fn }
737-
738-func (v *CEFApiVersionTestRefPtrClientT) CallGetValueExp(args ...uintptr) uintptr {
739- if v.GetValueExp == 0 {
740- return 0
741- }
742- r1, _, _ := purego.SyscallN(v.GetValueExp, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
743- return r1
744-}
745-
746-type CEFApiVersionTestRefPtrClientChildT struct {
747- _ structs.HostLayout
748- Base CEFApiVersionTestRefPtrClientT
749- GetOtherValue uintptr
750- GetOtherValueRemoved uintptr
751- GetOtherValueV1 uintptr
752-}
753-
754-func (v *CEFApiVersionTestRefPtrClientChildT) OverrideGetOtherValue(fn uintptr) { v.GetOtherValue = fn }
755-
756-func (v *CEFApiVersionTestRefPtrClientChildT) CallGetOtherValue(args ...uintptr) uintptr {
757- if v.GetOtherValue == 0 {
758- return 0
759- }
760- r1, _, _ := purego.SyscallN(v.GetOtherValue, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
761- return r1
762-}
763-
764-func (v *CEFApiVersionTestRefPtrClientChildT) OverrideGetOtherValueV1(fn uintptr) {
765- v.GetOtherValueV1 = fn
766-}
767-
768-func (v *CEFApiVersionTestRefPtrClientChildT) CallGetOtherValueV1(args ...uintptr) uintptr {
769- if v.GetOtherValueV1 == 0 {
770- return 0
771- }
772- r1, _, _ := purego.SyscallN(v.GetOtherValueV1, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
773- return r1
774-}
775-
776 type CEFApiVersionTestRefPtrClientChildV2T struct {526 type CEFApiVersionTestRefPtrClientChildV2T struct {
777 _ structs.HostLayout527 _ structs.HostLayout
778 Base CEFApiVersionTestRefPtrClientT528 Base CEFApiVersionTestRefPtrClientT
@@ -809,18 +559,12 @@ type CEFApiVersionTestScopedLibraryT struct {
809 Base CEFBaseScopedT559 Base CEFBaseScopedT
810 GetValueLegacy uintptr560 GetValueLegacy uintptr
811 SetValueLegacy uintptr561 SetValueLegacy uintptr
812- GetValue uintptr
813 GetValueRemoved uintptr562 GetValueRemoved uintptr
814- SetValue uintptr
815 SetValueRemoved uintptr563 SetValueRemoved uintptr
816- GetValueV1 uintptr
817 GetValueV1Removed uintptr564 GetValueV1Removed uintptr
818- SetValueV1 uintptr
819 SetValueV1Removed uintptr565 SetValueV1Removed uintptr
820 GetValueV2 uintptr566 GetValueV2 uintptr
821 SetValueV2 uintptr567 SetValueV2 uintptr
822- GetValueExp uintptr
823- SetValueExp uintptr
824 }568 }
825 569
826 func (v *CEFApiVersionTestScopedLibraryT) OverrideGetValueLegacy(fn uintptr) { v.GetValueLegacy = fn }570 func (v *CEFApiVersionTestScopedLibraryT) OverrideGetValueLegacy(fn uintptr) { v.GetValueLegacy = fn }
@@ -843,46 +587,6 @@ func (v *CEFApiVersionTestScopedLibraryT) CallSetValueLegacy(args ...uintptr) ui
843 return r1587 return r1
844 }588 }
845 589
846-func (v *CEFApiVersionTestScopedLibraryT) OverrideGetValue(fn uintptr) { v.GetValue = fn }
847-
848-func (v *CEFApiVersionTestScopedLibraryT) CallGetValue(args ...uintptr) uintptr {
849- if v.GetValue == 0 {
850- return 0
851- }
852- r1, _, _ := purego.SyscallN(v.GetValue, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
853- return r1
854-}
855-
856-func (v *CEFApiVersionTestScopedLibraryT) OverrideSetValue(fn uintptr) { v.SetValue = fn }
857-
858-func (v *CEFApiVersionTestScopedLibraryT) CallSetValue(args ...uintptr) uintptr {
859- if v.SetValue == 0 {
860- return 0
861- }
862- r1, _, _ := purego.SyscallN(v.SetValue, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
863- return r1
864-}
865-
866-func (v *CEFApiVersionTestScopedLibraryT) OverrideGetValueV1(fn uintptr) { v.GetValueV1 = fn }
867-
868-func (v *CEFApiVersionTestScopedLibraryT) CallGetValueV1(args ...uintptr) uintptr {
869- if v.GetValueV1 == 0 {
870- return 0
871- }
872- r1, _, _ := purego.SyscallN(v.GetValueV1, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
873- return r1
874-}
875-
876-func (v *CEFApiVersionTestScopedLibraryT) OverrideSetValueV1(fn uintptr) { v.SetValueV1 = fn }
877-
878-func (v *CEFApiVersionTestScopedLibraryT) CallSetValueV1(args ...uintptr) uintptr {
879- if v.SetValueV1 == 0 {
880- return 0
881- }
882- r1, _, _ := purego.SyscallN(v.SetValueV1, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
883- return r1
884-}
885-
886 func (v *CEFApiVersionTestScopedLibraryT) OverrideGetValueV2(fn uintptr) { v.GetValueV2 = fn }590 func (v *CEFApiVersionTestScopedLibraryT) OverrideGetValueV2(fn uintptr) { v.GetValueV2 = fn }
887 591
888 func (v *CEFApiVersionTestScopedLibraryT) CallGetValueV2(args ...uintptr) uintptr {592 func (v *CEFApiVersionTestScopedLibraryT) CallGetValueV2(args ...uintptr) uintptr {
@@ -903,26 +607,6 @@ func (v *CEFApiVersionTestScopedLibraryT) CallSetValueV2(args ...uintptr) uintpt
903 return r1607 return r1
904 }608 }
905 609
906-func (v *CEFApiVersionTestScopedLibraryT) OverrideGetValueExp(fn uintptr) { v.GetValueExp = fn }
907-
908-func (v *CEFApiVersionTestScopedLibraryT) CallGetValueExp(args ...uintptr) uintptr {
909- if v.GetValueExp == 0 {
910- return 0
911- }
912- r1, _, _ := purego.SyscallN(v.GetValueExp, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
913- return r1
914-}
915-
916-func (v *CEFApiVersionTestScopedLibraryT) OverrideSetValueExp(fn uintptr) { v.SetValueExp = fn }
917-
918-func (v *CEFApiVersionTestScopedLibraryT) CallSetValueExp(args ...uintptr) uintptr {
919- if v.SetValueExp == 0 {
920- return 0
921- }
922- r1, _, _ := purego.SyscallN(v.SetValueExp, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
923- return r1
924-}
925-
926 type CEFApiVersionTestScopedLibraryChildT struct {610 type CEFApiVersionTestScopedLibraryChildT struct {
927 _ structs.HostLayout611 _ structs.HostLayout
928 Base CEFApiVersionTestScopedLibraryT612 Base CEFApiVersionTestScopedLibraryT
@@ -954,68 +638,6 @@ func (v *CEFApiVersionTestScopedLibraryChildT) CallSetOtherValue(args ...uintptr
954 return r1638 return r1
955 }639 }
956 640
957-type CEFApiVersionTestScopedLibraryChildChildT struct {
958- _ structs.HostLayout
959- Base CEFApiVersionTestScopedLibraryChildT
960- GetOtherOtherValue uintptr
961- SetOtherOtherValue uintptr
962-}
963-
964-func (v *CEFApiVersionTestScopedLibraryChildChildT) OverrideGetOtherOtherValue(fn uintptr) {
965- v.GetOtherOtherValue = fn
966-}
967-
968-func (v *CEFApiVersionTestScopedLibraryChildChildT) CallGetOtherOtherValue(args ...uintptr) uintptr {
969- if v.GetOtherOtherValue == 0 {
970- return 0
971- }
972- r1, _, _ := purego.SyscallN(v.GetOtherOtherValue, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
973- return r1
974-}
975-
976-func (v *CEFApiVersionTestScopedLibraryChildChildT) OverrideSetOtherOtherValue(fn uintptr) {
977- v.SetOtherOtherValue = fn
978-}
979-
980-func (v *CEFApiVersionTestScopedLibraryChildChildT) CallSetOtherOtherValue(args ...uintptr) uintptr {
981- if v.SetOtherOtherValue == 0 {
982- return 0
983- }
984- r1, _, _ := purego.SyscallN(v.SetOtherOtherValue, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
985- return r1
986-}
987-
988-type CEFApiVersionTestScopedLibraryChildChildV1T struct {
989- _ structs.HostLayout
990- Base CEFApiVersionTestScopedLibraryChildT
991- GetOtherOtherValue uintptr
992- SetOtherOtherValue uintptr
993-}
994-
995-func (v *CEFApiVersionTestScopedLibraryChildChildV1T) OverrideGetOtherOtherValue(fn uintptr) {
996- v.GetOtherOtherValue = fn
997-}
998-
999-func (v *CEFApiVersionTestScopedLibraryChildChildV1T) CallGetOtherOtherValue(args ...uintptr) uintptr {
1000- if v.GetOtherOtherValue == 0 {
1001- return 0
1002- }
1003- r1, _, _ := purego.SyscallN(v.GetOtherOtherValue, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
1004- return r1
1005-}
1006-
1007-func (v *CEFApiVersionTestScopedLibraryChildChildV1T) OverrideSetOtherOtherValue(fn uintptr) {
1008- v.SetOtherOtherValue = fn
1009-}
1010-
1011-func (v *CEFApiVersionTestScopedLibraryChildChildV1T) CallSetOtherOtherValue(args ...uintptr) uintptr {
1012- if v.SetOtherOtherValue == 0 {
1013- return 0
1014- }
1015- r1, _, _ := purego.SyscallN(v.SetOtherOtherValue, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
1016- return r1
1017-}
1018-
1019 type CEFApiVersionTestScopedLibraryChildChildV2T struct {641 type CEFApiVersionTestScopedLibraryChildChildV2T struct {
1020 _ structs.HostLayout642 _ structs.HostLayout
1021 Base CEFApiVersionTestScopedLibraryChildT643 Base CEFApiVersionTestScopedLibraryChildT
@@ -1051,12 +673,9 @@ type CEFApiVersionTestScopedClientT struct {
1051 _ structs.HostLayout673 _ structs.HostLayout
1052 Base CEFBaseScopedT674 Base CEFBaseScopedT
1053 GetValueLegacy uintptr675 GetValueLegacy uintptr
1054- GetValue uintptr
1055 GetValueRemoved uintptr676 GetValueRemoved uintptr
1056- GetValueV1 uintptr
1057 GetValueV1Removed uintptr677 GetValueV1Removed uintptr
1058 GetValueV2 uintptr678 GetValueV2 uintptr
1059- GetValueExp uintptr
1060 }679 }
1061 680
1062 func (v *CEFApiVersionTestScopedClientT) OverrideGetValueLegacy(fn uintptr) { v.GetValueLegacy = fn }681 func (v *CEFApiVersionTestScopedClientT) OverrideGetValueLegacy(fn uintptr) { v.GetValueLegacy = fn }
@@ -1069,26 +688,6 @@ func (v *CEFApiVersionTestScopedClientT) CallGetValueLegacy(args ...uintptr) uin
1069 return r1688 return r1
1070 }689 }
1071 690
1072-func (v *CEFApiVersionTestScopedClientT) OverrideGetValue(fn uintptr) { v.GetValue = fn }
1073-
1074-func (v *CEFApiVersionTestScopedClientT) CallGetValue(args ...uintptr) uintptr {
1075- if v.GetValue == 0 {
1076- return 0
1077- }
1078- r1, _, _ := purego.SyscallN(v.GetValue, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
1079- return r1
1080-}
1081-
1082-func (v *CEFApiVersionTestScopedClientT) OverrideGetValueV1(fn uintptr) { v.GetValueV1 = fn }
1083-
1084-func (v *CEFApiVersionTestScopedClientT) CallGetValueV1(args ...uintptr) uintptr {
1085- if v.GetValueV1 == 0 {
1086- return 0
1087- }
1088- r1, _, _ := purego.SyscallN(v.GetValueV1, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
1089- return r1
1090-}
1091-
1092 func (v *CEFApiVersionTestScopedClientT) OverrideGetValueV2(fn uintptr) { v.GetValueV2 = fn }691 func (v *CEFApiVersionTestScopedClientT) OverrideGetValueV2(fn uintptr) { v.GetValueV2 = fn }
1093 692
1094 func (v *CEFApiVersionTestScopedClientT) CallGetValueV2(args ...uintptr) uintptr {693 func (v *CEFApiVersionTestScopedClientT) CallGetValueV2(args ...uintptr) uintptr {
@@ -1099,46 +698,6 @@ func (v *CEFApiVersionTestScopedClientT) CallGetValueV2(args ...uintptr) uintptr
1099 return r1698 return r1
1100 }699 }
1101 700
1102-func (v *CEFApiVersionTestScopedClientT) OverrideGetValueExp(fn uintptr) { v.GetValueExp = fn }
1103-
1104-func (v *CEFApiVersionTestScopedClientT) CallGetValueExp(args ...uintptr) uintptr {
1105- if v.GetValueExp == 0 {
1106- return 0
1107- }
1108- r1, _, _ := purego.SyscallN(v.GetValueExp, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
1109- return r1
1110-}
1111-
1112-type CEFApiVersionTestScopedClientChildT struct {
1113- _ structs.HostLayout
1114- Base CEFApiVersionTestScopedClientT
1115- GetOtherValue uintptr
1116- GetOtherValueRemoved uintptr
1117- GetOtherValueV1 uintptr
1118-}
1119-
1120-func (v *CEFApiVersionTestScopedClientChildT) OverrideGetOtherValue(fn uintptr) { v.GetOtherValue = fn }
1121-
1122-func (v *CEFApiVersionTestScopedClientChildT) CallGetOtherValue(args ...uintptr) uintptr {
1123- if v.GetOtherValue == 0 {
1124- return 0
1125- }
1126- r1, _, _ := purego.SyscallN(v.GetOtherValue, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
1127- return r1
1128-}
1129-
1130-func (v *CEFApiVersionTestScopedClientChildT) OverrideGetOtherValueV1(fn uintptr) {
1131- v.GetOtherValueV1 = fn
1132-}
1133-
1134-func (v *CEFApiVersionTestScopedClientChildT) CallGetOtherValueV1(args ...uintptr) uintptr {
1135- if v.GetOtherValueV1 == 0 {
1136- return 0
1137- }
1138- r1, _, _ := purego.SyscallN(v.GetOtherValueV1, append([]uintptr{uintptr(unsafe.Pointer(v))}, args...)...)
1139- return r1
1140-}
1141-
1142 type CEFApiVersionTestScopedClientChildV2T struct {701 type CEFApiVersionTestScopedClientChildV2T struct {
1143 _ structs.HostLayout702 _ structs.HostLayout
1144 Base CEFApiVersionTestScopedClientT703 Base CEFApiVersionTestScopedClientT
@@ -1180,12 +739,6 @@ var CEFApiVersionTestRefPtrLibraryChildCreate func() unsafe.Pointer
1180 739
1181 var CEFApiVersionTestRefPtrLibraryChildCreateWithDefault func(Value int32, OtherValue int32) unsafe.Pointer740 var CEFApiVersionTestRefPtrLibraryChildCreateWithDefault func(Value int32, OtherValue int32) unsafe.Pointer
1182 741
1183-var CEFApiVersionTestRefPtrLibraryChildChildCreate func() unsafe.Pointer
1184-
1185-var CEFApiVersionTestRefPtrLibraryChildChildV1Create func() unsafe.Pointer
1186-
1187-var CEFApiVersionTestRefPtrLibraryChildChildV1CreateWithDefault func(Value int32, OtherValue int32, OtherOtherValue int32) unsafe.Pointer
1188-
1189 var CEFApiVersionTestRefPtrLibraryChildChildV2Create func() unsafe.Pointer742 var CEFApiVersionTestRefPtrLibraryChildChildV2Create func() unsafe.Pointer
1190 743
1191 var CEFApiVersionTestRefPtrLibraryChildChildV2CreateWithDefault func(Value int32, OtherValue int32, OtherOtherValue int32) unsafe.Pointer744 var CEFApiVersionTestRefPtrLibraryChildChildV2CreateWithDefault func(Value int32, OtherValue int32, OtherOtherValue int32) unsafe.Pointer
@@ -1198,12 +751,6 @@ var CEFApiVersionTestScopedLibraryChildCreate func() unsafe.Pointer
1198 751
1199 var CEFApiVersionTestScopedLibraryChildCreateWithDefault func(Value int32, OtherValue int32) unsafe.Pointer752 var CEFApiVersionTestScopedLibraryChildCreateWithDefault func(Value int32, OtherValue int32) unsafe.Pointer
1200 753
1201-var CEFApiVersionTestScopedLibraryChildChildCreate func() unsafe.Pointer
1202-
1203-var CEFApiVersionTestScopedLibraryChildChildV1Create func() unsafe.Pointer
1204-
1205-var CEFApiVersionTestScopedLibraryChildChildV1CreateWithDefault func(Value int32, OtherValue int32, OtherOtherValue int32) unsafe.Pointer
1206-
1207 var CEFApiVersionTestScopedLibraryChildChildV2Create func() unsafe.Pointer754 var CEFApiVersionTestScopedLibraryChildChildV2Create func() unsafe.Pointer
1208 755
1209 var CEFApiVersionTestScopedLibraryChildChildV2CreateWithDefault func(Value int32, OtherValue int32, OtherOtherValue int32) unsafe.Pointer756 var CEFApiVersionTestScopedLibraryChildChildV2CreateWithDefault func(Value int32, OtherValue int32, OtherOtherValue int32) unsafe.Pointer
@@ -1214,18 +761,12 @@ func RegisterApiVersionTest(handle uintptr) {
1214 tryRegisterLibFunc(&CEFApiVersionTestRefPtrLibraryCreateWithDefault, handle, "cef_api_version_test_ref_ptr_library_create_with_default")761 tryRegisterLibFunc(&CEFApiVersionTestRefPtrLibraryCreateWithDefault, handle, "cef_api_version_test_ref_ptr_library_create_with_default")
1215 tryRegisterLibFunc(&CEFApiVersionTestRefPtrLibraryChildCreate, handle, "cef_api_version_test_ref_ptr_library_child_create")762 tryRegisterLibFunc(&CEFApiVersionTestRefPtrLibraryChildCreate, handle, "cef_api_version_test_ref_ptr_library_child_create")
1216 tryRegisterLibFunc(&CEFApiVersionTestRefPtrLibraryChildCreateWithDefault, handle, "cef_api_version_test_ref_ptr_library_child_create_with_default")763 tryRegisterLibFunc(&CEFApiVersionTestRefPtrLibraryChildCreateWithDefault, handle, "cef_api_version_test_ref_ptr_library_child_create_with_default")
1217- tryRegisterLibFunc(&CEFApiVersionTestRefPtrLibraryChildChildCreate, handle, "cef_api_version_test_ref_ptr_library_child_child_create")
1218- tryRegisterLibFunc(&CEFApiVersionTestRefPtrLibraryChildChildV1Create, handle, "cef_api_version_test_ref_ptr_library_child_child_v1_create")
1219- tryRegisterLibFunc(&CEFApiVersionTestRefPtrLibraryChildChildV1CreateWithDefault, handle, "cef_api_version_test_ref_ptr_library_child_child_v1_create_with_default")
1220 tryRegisterLibFunc(&CEFApiVersionTestRefPtrLibraryChildChildV2Create, handle, "cef_api_version_test_ref_ptr_library_child_child_v2_create")764 tryRegisterLibFunc(&CEFApiVersionTestRefPtrLibraryChildChildV2Create, handle, "cef_api_version_test_ref_ptr_library_child_child_v2_create")
1221 tryRegisterLibFunc(&CEFApiVersionTestRefPtrLibraryChildChildV2CreateWithDefault, handle, "cef_api_version_test_ref_ptr_library_child_child_v2_create_with_default")765 tryRegisterLibFunc(&CEFApiVersionTestRefPtrLibraryChildChildV2CreateWithDefault, handle, "cef_api_version_test_ref_ptr_library_child_child_v2_create_with_default")
1222 tryRegisterLibFunc(&CEFApiVersionTestScopedLibraryCreate, handle, "cef_api_version_test_scoped_library_create")766 tryRegisterLibFunc(&CEFApiVersionTestScopedLibraryCreate, handle, "cef_api_version_test_scoped_library_create")
1223 tryRegisterLibFunc(&CEFApiVersionTestScopedLibraryCreateWithDefault, handle, "cef_api_version_test_scoped_library_create_with_default")767 tryRegisterLibFunc(&CEFApiVersionTestScopedLibraryCreateWithDefault, handle, "cef_api_version_test_scoped_library_create_with_default")
1224 tryRegisterLibFunc(&CEFApiVersionTestScopedLibraryChildCreate, handle, "cef_api_version_test_scoped_library_child_create")768 tryRegisterLibFunc(&CEFApiVersionTestScopedLibraryChildCreate, handle, "cef_api_version_test_scoped_library_child_create")
1225 tryRegisterLibFunc(&CEFApiVersionTestScopedLibraryChildCreateWithDefault, handle, "cef_api_version_test_scoped_library_child_create_with_default")769 tryRegisterLibFunc(&CEFApiVersionTestScopedLibraryChildCreateWithDefault, handle, "cef_api_version_test_scoped_library_child_create_with_default")
1226- tryRegisterLibFunc(&CEFApiVersionTestScopedLibraryChildChildCreate, handle, "cef_api_version_test_scoped_library_child_child_create")
1227- tryRegisterLibFunc(&CEFApiVersionTestScopedLibraryChildChildV1Create, handle, "cef_api_version_test_scoped_library_child_child_v1_create")
1228- tryRegisterLibFunc(&CEFApiVersionTestScopedLibraryChildChildV1CreateWithDefault, handle, "cef_api_version_test_scoped_library_child_child_v1_create_with_default")
1229 tryRegisterLibFunc(&CEFApiVersionTestScopedLibraryChildChildV2Create, handle, "cef_api_version_test_scoped_library_child_child_v2_create")770 tryRegisterLibFunc(&CEFApiVersionTestScopedLibraryChildChildV2Create, handle, "cef_api_version_test_scoped_library_child_child_v2_create")
1230 tryRegisterLibFunc(&CEFApiVersionTestScopedLibraryChildChildV2CreateWithDefault, handle, "cef_api_version_test_scoped_library_child_child_v2_create_with_default")771 tryRegisterLibFunc(&CEFApiVersionTestScopedLibraryChildChildV2CreateWithDefault, handle, "cef_api_version_test_scoped_library_child_child_v2_create_with_default")
1231 }772 }
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 generated file: collapsed
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