@@ -61,6 +61,7 @@ Global Enum _ ; $NETWEBVIEW2_MESSAGE__* are set by __NetWebView2_WebViewEvents__
6161 $NETWEBVIEW2_MESSAGE__COOKIES_ERROR , _
6262 $NETWEBVIEW2_MESSAGE__COOKIE_ADD_ERROR , _
6363 $NETWEBVIEW2_MESSAGE__BLOCKED_AD , _
64+ $NETWEBVIEW2_MESSAGE__DOWNLOAD_STARTING , _
6465 $NETWEBVIEW2_MESSAGE___FAKE_COUNTER
6566
6667#Region ; NetWebView2Lib UDF - _NetWebView2_* core functions
@@ -142,7 +143,14 @@ Func _NetWebView2_CreateManager($sUserAgent = '', $s_fnEventPrefix = "", $s_AddB
142143 If @error Then __NetWebView2_Log(@ScriptLineNumber , $s_Prefix & " Manager Creation ERROR" , 1 )
143144 If $sUserAgent Then $oWebV2M .SetUserAgent($sUserAgent )
144145 If $s_AddBrowserArgs Then $oWebV2M .AdditionalBrowserArguments = $s_AddBrowserArgs
145- If $s_fnEventPrefix Then $_g_sNetWebView2_User_WebViewEvents = $s_fnEventPrefix
146+ If $s_fnEventPrefix Then
147+ If $_g_sNetWebView2_User_WebViewEvents = ' __NetWebView2_WebViewEvents__' Then ; prevent Recursion
148+ __NetWebView2_Log(@ScriptLineNumber , $s_Prefix & ' : Please do not use UDF defined prefix: "__NetWebView2_WebViewEvents__"' , 1 )
149+ $_g_sNetWebView2_User_WebViewEvents = ' '
150+ Else
151+ $_g_sNetWebView2_User_WebViewEvents = $s_fnEventPrefix
152+ EndIf
153+ EndIf
146154 ObjEvent ($oWebV2M , " __NetWebView2_WebViewEvents__" , " IWebViewEvents" )
147155 Return SetError (@error , @extended , $oWebV2M )
148156EndFunc ; ==>_NetWebView2_CreateManager
@@ -169,7 +177,14 @@ Func _NetWebView2_GetBridge(ByRef $oWebV2M, $s_fnEventPrefix = "")
169177 Local $oWebJS = $oWebV2M .GetBridge()
170178 If @error Then __NetWebView2_Log(@ScriptLineNumber , $s_Prefix & " : Manager.GetBridge() ERROR" , 1 )
171179
172- If $s_fnEventPrefix Then $_g_sNetWebView2_User_JSEvents = $s_fnEventPrefix
180+ If $s_fnEventPrefix Then
181+ If $_g_sNetWebView2_User_JSEvents = ' __NetWebView2_JSEvents__' Then ; prevent Recursion
182+ __NetWebView2_Log(@ScriptLineNumber , $s_Prefix & ' : Please do not use UDF defined prefix: "__NetWebView2_JSEvents__"' , 1 )
183+ $_g_sNetWebView2_User_JSEvents = ' '
184+ Else
185+ $_g_sNetWebView2_User_JSEvents = $s_fnEventPrefix
186+ EndIf
187+ EndIf
173188 ObjEvent ($oWebJS , " __NetWebView2_JSEvents__" , " IBridgeEvents" )
174189
175190 Return SetError (@error , @extended , $oWebJS )
@@ -762,12 +777,18 @@ Func __NetWebView2_WebViewEvents__OnMessageReceived($sMsg)
762777
763778 Switch $sCommand
764779 Case " WINDOW_RESIZED"
765- $aParts = StringSplit ($sData , " |" )
766- If $aParts [0 ] > = 2 Then
767- Local $iW = Int ($aParts [1 ]), $iH = Int ($aParts [2 ])
768- ; Filter minor resize glitches
769- If $iW > 50 And $iH > 50 Then __NetWebView2_Log(@ScriptLineNumber , $s_Prefix & $iW & " x" & $iH , 1 )
780+ Local Static $sData_static = Null
781+ If $sData_static <> $sData Then
782+ $sData_static = $sData
783+ $aParts = StringSplit ($sData , " |" )
784+
785+ If $aParts [0 ] > = 2 Then
786+ Local $iW = Int ($aParts [1 ]), $iH = Int ($aParts [2 ])
787+ ; Filter minor resize glitches
788+ If $iW > 50 And $iH > 50 Then __NetWebView2_Log(@ScriptLineNumber , $s_Prefix & ' WINDOW_RESIZED:' & $iW & " x" & $iH , 1 )
789+ EndIf
770790 EndIf
791+
771792 Case " NAV_STARTING"
772793 __NetWebView2_Log(@ScriptLineNumber , $s_Prefix & ' COMMAND:' & $sCommand , 1 )
773794 __NetWebView2_LastMessageReceived($NETWEBVIEW2_MESSAGE__NAV_STARTING )
@@ -889,6 +910,10 @@ Func __NetWebView2_WebViewEvents__OnMessageReceived($sMsg)
889910 __NetWebView2_Log(@ScriptLineNumber , $s_Prefix & ' COMMAND:' & $sCommand , 1 )
890911 __NetWebView2_LastMessageReceived($NETWEBVIEW2_MESSAGE__BLOCKED_AD )
891912
913+ Case " DOWNLOAD_STARTING"
914+ __NetWebView2_Log(@ScriptLineNumber , $s_Prefix & ' COMMAND:' & $sCommand , 1 )
915+ __NetWebView2_LastMessageReceived($NETWEBVIEW2_MESSAGE__DOWNLOAD_STARTING )
916+
892917; ~ Case "*"
893918; ~ __NetWebView2_Log(@ScriptLineNumber, $s_Prefix & ' COMMAND:' & $sCommand, 1)
894919; ~ __NetWebView2_LastMessageReceived($NETWEBVIEW2_MESSAGE__*)
0 commit comments