| 1 | //go:build windows && !native_webview2loader |
| 2 | |
| 3 | package webviewloader |
| 4 | |
| 5 | import ( |
| 6 | "github.com/wailsapp/go-webview2/pkg/combridge" |
| 7 | ) |
| 8 | |
| 9 | // HRESULT |
| 10 | // |
| 11 | // See https://docs.microsoft.com/en-us/windows/win32/seccrypto/common-hresult-values |
| 12 | type HRESULT int32 |
| 13 | |
| 14 | // ICoreWebView2Environment Represents the WebView2 Environment |
| 15 | // |
| 16 | // See https://docs.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/icorewebview2environment |
| 17 | type ICoreWebView2Environment = combridge.IUnknownImpl |
| 18 | |
| 19 | // ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler receives the WebView2Environment created using CreateCoreWebView2Environment. |
| 20 | type ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler interface { |
| 21 | // EnvironmentCompleted is invoked to receive the created WebView2Environment |
| 22 | // |
| 23 | // See https://docs.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/icorewebview2createcorewebview2environmentcompletedhandler?#invoke |
| 24 | EnvironmentCompleted(errorCode HRESULT, createdEnvironment *ICoreWebView2Environment) HRESULT |
| 25 | } |
| 26 | |
| 27 | type iCoreWebView2CreateCoreWebView2EnvironmentCompletedHandler interface { |
| 28 | combridge.IUnknown |
| 29 | ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler |
| 30 | } |
| 31 | |
| 32 | func init() { |
| 33 | combridge.RegisterVTable[combridge.IUnknown, iCoreWebView2CreateCoreWebView2EnvironmentCompletedHandler]( |
| 34 | "{4e8a3389-c9d8-4bd2-b6b5-124fee6cc14d}", |
| 35 | _iCoreWebView2CreateCoreWebView2EnvironmentCompletedHandlerInvoke, |
| 36 | ) |
| 37 | } |
| 38 | |
| 39 | func _iCoreWebView2CreateCoreWebView2EnvironmentCompletedHandlerInvoke(this uintptr, errorCode HRESULT, env *combridge.IUnknownImpl) uintptr { |
| 40 | res := combridge.Resolve[iCoreWebView2CreateCoreWebView2EnvironmentCompletedHandler](this).EnvironmentCompleted(errorCode, env) |
| 41 | return uintptr(res) |
| 42 | } |
| 43 |