返回 DeepSeek-Reasonix
create_env_go.go
根目录 / desktop / third_party / go-webview2 / pkg / edge / create_env_go.go
1 //go:build windows && !native_webview2loader
2
3 package edge
4
5 import (
6 "unsafe"
7
8 "github.com/wailsapp/go-webview2/webviewloader"
9 )
10
11 func createCoreWebView2EnvironmentWithOptions(browserExecutableFolder, userDataFolder string, environmentCompletedHandle *iCoreWebView2CreateCoreWebView2EnvironmentCompletedHandler, additionalBrowserArgs string) error {
12 e := &environmentCreatedHandler{environmentCompletedHandle}
13 return webviewloader.CreateCoreWebView2EnvironmentWithOptions(
14 e,
15 webviewloader.WithBrowserExecutableFolder(browserExecutableFolder),
16 webviewloader.WithUserDataFolder(userDataFolder),
17 webviewloader.WithAdditionalBrowserArguments(additionalBrowserArgs),
18 )
19 }
20
21 type environmentCreatedHandler struct {
22 originalHandler *iCoreWebView2CreateCoreWebView2EnvironmentCompletedHandler
23 }
24
25 func (r *environmentCreatedHandler) EnvironmentCompleted(errorCode webviewloader.HRESULT, createdEnvironment *webviewloader.ICoreWebView2Environment) webviewloader.HRESULT {
26 env := (*ICoreWebView2Environment)(unsafe.Pointer(createdEnvironment))
27 res := r.originalHandler.impl.EnvironmentCompleted(uintptr(errorCode), env)
28 return webviewloader.HRESULT(res)
29 }
30
30 lines GO