33#AutoIt3Wrapper_Run_AU3Check= Y
44#AutoIt3Wrapper_AU3Check_Stop_OnWarning= y
55#AutoIt3Wrapper_AU3Check_Parameters= - d - w 1 - w 2 - w 3 - w 4 - w 5 - w 6 - w 7
6- #Au3Stripper_Ignore_Funcs= __NetWebView2_WebEvents__ * ,__NetWebView2_JSEvents__*
6+ #Au3Stripper_Ignore_Funcs= __NetWebView2_WebViewEvents__ * ,__NetWebView2_JSEvents__*
77
88#include < Array.au3>
99#include < GUIConstantsEx.au3>
1717Global $_g_hNetWebView2Lib_DLL = ' '
1818Global $_g_oWeb
1919Global $g_DebugInfo = True
20+ Global $_g_sUser_FnPrefix__NetWebView2_JSEvents = " "
21+ Global $_g_sUser_FnPrefix__NetWebView2_WebViewEvents = " "
2022
2123#Region ; NetWebView2Lib UDF - core function
2224Func _NetWebView2_StartUp($sDLLFileFullPath )
@@ -66,7 +68,9 @@ EndFunc ;==>_NetWebView2_ShutDown
6668; Example .......: No
6769; ===============================================================================================================================
6870Func _NetWebView2_Initialize(ByRef $oWebV2M , $hGUI , $sProfileDirectory , $i_Left = 0 , $i_Top = 0 , $i_Width = 0 , $i_Height = 0 , $b_LoadWait = True , $b_SetAutoResize = True , $b_AreDevToolsEnabled = True , $i_ZoomFactor = 1.0 , $s_BackColor = " 0x2B2B2B" )
69- Local $iInit = $oWebV2M .Initialize($hGUI , $sProfileDirectory , $i_Left , $i_Top , $i_Width , $i_Height )
71+
72+ ; Important: Pass $hGUI in parentheses to maintain Pointer type for COM
73+ Local $iInit = $oWebV2M .Initialize(($hGUI ), $sProfileDirectory , $i_Left , $i_Top , $i_Width , $i_Height )
7074 If @error Then Return SetError (@error , @extended , $iInit )
7175
7276 If $b_LoadWait Then _NetWebView2_LoadWait($oWebV2M )
@@ -83,8 +87,8 @@ EndFunc ;==>_NetWebView2_Initialize
8387; #FUNCTION# ====================================================================================================================
8488; Name ..........: _NetWebView2_CreateManager
8589; Description ...:
86- ; Syntax ........: _NetWebView2_CreateManager([$sFnPrefix = "__NetWebView2_WebEvents__ "])
87- ; Parameters ....: $sFnPrefix - [optional] a string value. Default is "__NetWebView2_WebEvents__ ".
90+ ; Syntax ........: _NetWebView2_CreateManager([$sUser_FnPrefix = ""])
91+ ; Parameters ....: $sUser_FnPrefix - [optional] a string value. Default is "".
8892; Return values .: None
8993; Author ........: mLipok, ioa747
9094; Modified ......:
@@ -93,23 +97,24 @@ EndFunc ;==>_NetWebView2_Initialize
9397; Link ..........:
9498; Example .......: No
9599; ===============================================================================================================================
96- Func _NetWebView2_CreateManager($sFnPrefix = " __NetWebView2_WebEvents__ " )
100+ Func _NetWebView2_CreateManager($sUser_FnPrefix = " " )
97101 Local $oMyError = ObjEvent (" AutoIt.Error" , __NetWebView2_COMErrFunc) ; Local COM Error Handler
98102 #forceref $oMyError
99103 Local $oWebV2M = ObjCreate (" NetWebView2.Manager" ) ; REGISTERED VERSION
100104; ~ __NetWebView2_ObjName_FlagsValue($oWebV2M)
101105 If @error Then __NetWebView2_Log(@ScriptLineNumber , " ! [NetWebView2Lib]: Manager Creation ERROR" )
102106
103- ObjEvent ($oWebV2M , $sFnPrefix , " IWebViewEvents" )
107+ If $sUser_FnPrefix Then $_g_sUser_FnPrefix__NetWebView2_WebViewEvents = $sUser_FnPrefix
108+ ObjEvent ($oWebV2M , " __NetWebView2_WebViewEvents__" , " IWebViewEvents" )
104109 Return SetError (@error , @extended , $oWebV2M )
105110EndFunc ; ==>_NetWebView2_CreateManager
106111
107112; #FUNCTION# ====================================================================================================================
108113; Name ..........: _NetWebView2_GetBridge
109114; Description ...:
110- ; Syntax ........: _NetWebView2_GetBridge(ByRef $oWebV2M[, $sFnPrefix = "__NetWebView2_JSEvents__ "])
115+ ; Syntax ........: _NetWebView2_GetBridge(ByRef $oWebV2M[, $sUser_FnPrefix = ""])
111116; Parameters ....: $oWebV2M - [in/out] an object.
112- ; $sFnPrefix - [optional] a string value. Default is "__NetWebView2_JSEvents__ ".
117+ ; $sUser_FnPrefix - [optional] a string value. Default is "".
113118; Return values .: None
114119; Author ........: mLipok, ioa747
115120; Modified ......:
@@ -118,14 +123,15 @@ EndFunc ;==>_NetWebView2_CreateManager
118123; Link ..........:
119124; Example .......: No
120125; ===============================================================================================================================
121- Func _NetWebView2_GetBridge(ByRef $oWebV2M , $sFnPrefix = " __NetWebView2_JSEvents__ " )
126+ Func _NetWebView2_GetBridge(ByRef $oWebV2M , $sUser_FnPrefix = " " )
122127 Local $oMyError = ObjEvent (" AutoIt.Error" , __NetWebView2_COMErrFunc) ; Local COM Error Handler
123128 #forceref $oMyError
124129
125130 Local $oWebJS = $oWebV2M .GetBridge()
126131 If @error Then __NetWebView2_Log(@ScriptLineNumber , " ! [NetWebView2Lib]: Manager.GetBridge() ERROR" )
127132
128- ObjEvent ($oWebJS , $sFnPrefix , " IBridgeEvents" )
133+ If $sUser_FnPrefix Then $_g_sUser_FnPrefix__NetWebView2_JSEvents = $sUser_FnPrefix
134+ ObjEvent ($oWebJS , " __NetWebView2_JSEvents__" , " IBridgeEvents" )
129135 Return SetError (@error , @extended , $oWebJS )
130136EndFunc ; ==>_NetWebView2_GetBridge
131137
@@ -387,8 +393,8 @@ Func __NetWebView2_COMErrFunc($oError) ; COM Error Function used by COM Error Ha
387393EndFunc ; ==>__NetWebView2_COMErrFunc
388394
389395; Handles native WebView2 events
390- #TODO = > Func __NetWebView2_WebEvents__OnMessageReceived (ByRef $oWebV2M , $hGUI , $sMsg )
391- Func __NetWebView2_WebEvents__OnMessageReceived ($sMsg )
396+ #TODO = > Func __NetWebView2_WebViewEvents__OnMessageReceived (ByRef $oWebV2M , $hGUI , $sMsg )
397+ Func __NetWebView2_WebViewEvents__OnMessageReceived ($sMsg )
392398 Local $oMyError = ObjEvent (" AutoIt.Error" , __NetWebView2_COMErrFunc) ; Local COM Error Handler
393399 #forceref $oMyError
394400 Local $iSplitPos = StringInStr ($sMsg , " |" )
@@ -420,18 +426,24 @@ Func __NetWebView2_WebEvents__OnMessageReceived($sMsg)
420426 If $aParts [0 ] > = 2 Then
421427 Local $iW = Int ($aParts [1 ]), $iH = Int ($aParts [2 ])
422428 ; Filter minor resize glitches
423- If $iW > 50 And $iH > 50 Then __NetWebView2_Log(@ScriptLineNumber , $s_Prefix & $iW & " x" & $iH )
429+ If $iW > 50 And $iH > 50 Then __NetWebView2_Log(@ScriptLineNumber , $s_Prefix & $iW & " x" & $iH )
424430 EndIf
425431 Case Else
426432 __NetWebView2_Log(@ScriptLineNumber , $s_Prefix & (StringLen ($sMsg ) > 150 ? StringLeft ($sMsg , 150 ) & " ..." : $sMsg ), 0 )
427433 EndSwitch
428- EndFunc ; ==>__NetWebView2_WebEvents__OnMessageReceived
434+ If $_g_sUser_FnPrefix__NetWebView2_WebViewEvents Then
435+ #TODO = >>>> Call ($_g_sUser_FnPrefix__NetWebView2_WebViewEvents & ' OnMessageReceived' , $oWebV2M , $hGUI , $sMsg )
436+ Call ($_g_sUser_FnPrefix__NetWebView2_WebViewEvents & ' OnMessageReceived' , $sMsg )
437+ EndIf
438+
439+ EndFunc ; ==>__NetWebView2_WebViewEvents__OnMessageReceived
429440
430441; Handles custom messages from JavaScript (window.chrome.webview.postMessage)
431442#TODO = > Func __NetWebView2_JSEvents__OnMessageReceived(ByRef $oWebV2M , ByRef $oWebJS , $hGUI , $sMsg )
432443Func __NetWebView2_JSEvents__OnMessageReceived($sMsg )
433444 Local $oMyError = ObjEvent (" AutoIt.Error" , __NetWebView2_COMErrFunc) ; Local COM Error Handler
434445 #forceref $oMyError
446+
435447 __NetWebView2_Log(@ScriptLineNumber , " >>> [JavaScriptEvents]: " & (StringLen ($sMsg ) > 150 ? StringLeft ($sMsg , 150 ) & " ..." : $sMsg ), 0 )
436448 Local $sFirstChar = StringLeft ($sMsg , 1 )
437449
@@ -484,13 +496,18 @@ Func __NetWebView2_JSEvents__OnMessageReceived($sMsg)
484496
485497 EndSwitch
486498 EndIf
499+
500+ If $_g_sUser_FnPrefix__NetWebView2_JSEvents Then
501+ #TODO = >>>> Call ($_g_sUser_FnPrefix__NetWebView2_JSEvents & ' OnMessageReceived' , $oWebV2M , $oWebJS , $hGUI , $sMsg )
502+ Call ($_g_sUser_FnPrefix__NetWebView2_JSEvents & ' OnMessageReceived' , $sMsg )
503+ EndIf
504+
487505EndFunc ; ==>__NetWebView2_JSEvents__OnMessageReceived
488506
489- #TODO = > Func __NetWebView2_WebEvents__OnContextMenuRequested (ByRef $oWebV2M , $sLink , $iX , $iY , $sSelection )
490- Func __NetWebView2_WebEvents__OnContextMenuRequested ($sLink , $iX , $iY , $sSelection )
507+ #TODO = > Func __NetWebView2_WebViewEvents__OnContextMenuRequested (ByRef $oWebV2M , $sLink , $iX , $iY , $sSelection )
508+ Func __NetWebView2_WebViewEvents__OnContextMenuRequested ($sLink , $iX , $iY , $sSelection )
491509 #forceref $sLink, $iX, $iY, $sSelection
492510 Local $oMyError = ObjEvent (" AutoIt.Error" , __NetWebView2_COMErrFunc) ; Local COM Error Handler
493511 #forceref $oMyError
494- EndFunc ; ==>__NetWebView2_WebEvents__OnContextMenuRequested
512+ EndFunc ; ==>__NetWebView2_WebViewEvents__OnContextMenuRequested
495513#EndRegion ; NetWebView2Lib UDF - === EVENT HANDLERS ===
496-
0 commit comments