* 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)
| 113 | puArgErr *uint32) uintptr { |
| 114 | */ |
| 115 | func 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: |
nothing calls this directly
no test coverage detected
searching dependent graphs…