MCPcopy
hub / github.com/lxn/walk / webView_DWebBrowserEvents2_Invoke

Function webView_DWebBrowserEvents2_Invoke

webview_dwebbrowserevents2.go:115–316  ·  view source on GitHub ↗

* func webView_DWebBrowserEvents2_Invoke( wbe2 *webViewDWebBrowserEvents2, dispIdMember win.DISPID, riid win.REFIID, lcid uint32, // LCID wFlags uint16, pDispParams *win.DISPPARAMS, pVarResult *win.VARIANT, pExcepInfo unsafe.Pointer, // *EXCEPINFO puArgErr *uint32) uintptr { */

(
	arg0 uintptr,
	arg1 uintptr,
	arg2 uintptr,
	arg3 uintptr,
	arg4 uintptr,
	arg5 uintptr,
	arg6 uintptr,
	arg7 uintptr,
	arg8 uintptr)

Source from the content-addressed store, hash-verified

113 puArgErr *uint32) uintptr {
114*/
115func webView_DWebBrowserEvents2_Invoke(
116 arg0 uintptr,
117 arg1 uintptr,
118 arg2 uintptr,
119 arg3 uintptr,
120 arg4 uintptr,
121 arg5 uintptr,
122 arg6 uintptr,
123 arg7 uintptr,
124 arg8 uintptr) uintptr {
125
126 wbe2 := (*webViewDWebBrowserEvents2)(unsafe.Pointer(arg0))
127 dispIdMember := *(*win.DISPID)(unsafe.Pointer(&arg1))
128 //riid := *(*win.REFIID)(unsafe.Pointer(&arg2))
129 //lcid := *(*uint32)(unsafe.Pointer(&arg3))
130 //wFlags := *(*uint16)(unsafe.Pointer(&arg4))
131 pDispParams := (*win.DISPPARAMS)(unsafe.Pointer(arg5))
132 //pVarResult := (*win.VARIANT)(unsafe.Pointer(arg6))
133 //pExcepInfo := unsafe.Pointer(arg7)
134 //puArgErr := (*uint32)(unsafe.Pointer(arg8))
135
136 var wb WidgetBase
137 var wvcs webViewIOleClientSite
138
139 wv := (*WebView)(unsafe.Pointer(uintptr(unsafe.Pointer(wbe2)) +
140 uintptr(unsafe.Sizeof(*wbe2)) -
141 uintptr(unsafe.Sizeof(wvcs)) -
142 uintptr(unsafe.Sizeof(wb))))
143
144 switch dispIdMember {
145 case win.DISPID_BEFORENAVIGATE2:
146 rgvargPtr := (*[7]win.VARIANTARG)(unsafe.Pointer(pDispParams.Rgvarg))
147 eventData := &WebViewNavigatingEventData{
148 pDisp: (*rgvargPtr)[6].MustPDispatch(),
149 url: (*rgvargPtr)[5].MustPVariant(),
150 flags: (*rgvargPtr)[4].MustPVariant(),
151 targetFrameName: (*rgvargPtr)[3].MustPVariant(),
152 postData: (*rgvargPtr)[2].MustPVariant(),
153 headers: (*rgvargPtr)[1].MustPVariant(),
154 cancel: (*rgvargPtr)[0].MustPBool(),
155 }
156 wv.navigatingPublisher.Publish(eventData)
157
158 case win.DISPID_NAVIGATECOMPLETE2:
159 rgvargPtr := (*[2]win.VARIANTARG)(unsafe.Pointer(pDispParams.Rgvarg))
160 url := (*rgvargPtr)[0].MustPVariant()
161 urlStr := ""
162 if url != nil && url.MustBSTR() != nil {
163 urlStr = win.BSTRToString(url.MustBSTR())
164 }
165 wv.navigatedPublisher.Publish(urlStr)
166
167 wv.urlChangedPublisher.Publish()
168
169 case win.DISPID_DOWNLOADBEGIN:
170 wv.downloadingPublisher.Publish()
171
172 case win.DISPID_DOWNLOADCOMPLETE:

Callers

nothing calls this directly

Calls 4

SynchronizeMethod · 0.65
BoundsPixelsMethod · 0.65
SetBoundsPixelsMethod · 0.65
PublishMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…