Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 24 additions & 31 deletions NetWebView2Lib.au3
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ Global Enum _ ; $NETWEBVIEW2_MESSAGE__* are set by __NetWebView2_Events__OnMessa
; Example .......: No
; ===============================================================================================================================
Func _NetWebView2_Initialize($oWebV2M, $hGUI, $s_ProfileDirectory, $i_Left = 0, $i_Top = 0, $i_Width = 0, $i_Height = 0, $b_LoadWait = True, $b_SetAutoResize = True, $b_DevToolsEnabled = True, $i_ZoomFactor = 1.0, $s_BackColor = "0x2B2B2B", $b_InitConsole = False)
Local Const $s_Prefix = "[_NetWebView2_Initialize]:" & " GUI:" & $hGUI & " ProfileDirectory:" & $s_ProfileDirectory & " LEFT:" & $i_Left & " TOP:" & $i_Top & " WIDTH" & $i_Width & " HEIGHT:" & $i_Height & " LOADWAIT:" & $b_LoadWait & " SETAUTORESIZE:" & $b_SetAutoResize & " SetAutoResize:" & $b_DevToolsEnabled & " ZoomFactor:" & $i_ZoomFactor & " BackColor:" & $s_BackColor
Local Const $s_Prefix = "[_NetWebView2_Initialize]: GUI:" & $hGUI & " ProfileDirectory:" & $s_ProfileDirectory & " LEFT:" & $i_Left & " TOP:" & $i_Top & " WIDTH" & $i_Width & " HEIGHT:" & $i_Height & " LOADWAIT:" & $b_LoadWait & " SETAUTORESIZE:" & $b_SetAutoResize & " SetAutoResize:" & $b_DevToolsEnabled & " ZoomFactor:" & $i_ZoomFactor & " BackColor:" & $s_BackColor

; ⚠️ Important: Enclose ($hGUI) in parentheses to force "Pass-by-Value".
; This prevents the COM layer from changing the AutoIt variable type from Ptr to Int64.
Expand Down Expand Up @@ -143,7 +143,7 @@ EndFunc ;==>_NetWebView2_Initialize
; Example .......: No
; ===============================================================================================================================
Func _NetWebView2_CreateManager($sUserAgent = '', $s_fnEventPrefix = "", $s_AddBrowserArgs = "")
Local Const $s_Prefix = "[_NetWebView2_CreateManager]:"
Local Const $s_Prefix = "[_NetWebView2_CreateManager]: fnEventPrefix=" & $s_fnEventPrefix & " AddBrowserArgs=" & $s_AddBrowserArgs
Local $oMyError = ObjEvent("AutoIt.Error", __NetWebView2_COMErrFunc) ; Local COM Error Handler
#forceref $oMyError

Expand All @@ -162,10 +162,6 @@ Func _NetWebView2_CreateManager($sUserAgent = '', $s_fnEventPrefix = "", $s_AddB
EndIf
ObjEvent($oWebV2M, "__NetWebView2_Events__", "IWebViewEvents")

If $s_fnEventPrefix <> "" Then
ObjEvent($oWebV2M, $s_fnEventPrefix, "IWebViewEvents")
EndIf

Return SetError(@error, @extended, $oWebV2M)
EndFunc ;==>_NetWebView2_CreateManager

Expand Down Expand Up @@ -201,10 +197,6 @@ Func _NetWebView2_GetBridge($oWebV2M, $s_fnEventPrefix = "")
EndIf
ObjEvent($oWebJS, "__NetWebView2_JSEvents__", "IBridgeEvents")

If $s_fnEventPrefix <> "" Then
ObjEvent($oWebJS, $s_fnEventPrefix, "IBridgeEvents")
EndIf

Return SetError(@error, @extended, $oWebJS)
EndFunc ;==>_NetWebView2_GetBridge

Expand Down Expand Up @@ -303,7 +295,7 @@ EndFunc ;==>_NetWebView2_CleanUp
; Example .......: No
; ===============================================================================================================================
Func _NetWebView2_LoadWait($oWebV2M, $iWaitMessage = $NETWEBVIEW2_MESSAGE__INIT_READY, $iTimeOut_ms = 0)
Local Const $s_Prefix = "[_NetWebView2_LoadWait]: iStatus:" & $iWaitMessage
Local Const $s_Prefix = "[_NetWebView2_LoadWait]: iStatus:" & $iWaitMessage & " TimeOut_ms=" & $iTimeOut_ms
Local $oMyError = ObjEvent("AutoIt.Error", __NetWebView2_COMErrFunc) ; Local COM Error Handler
#forceref $oMyError

Expand Down Expand Up @@ -364,7 +356,7 @@ EndFunc ;==>_NetWebView2_LoadWait
; Example .......: No
; ===============================================================================================================================
Func _NetWebView2_Navigate($oWebV2M, $sURL, $iWaitMessage = $NETWEBVIEW2_MESSAGE__TITLE_CHANGED, $iTimeOut_ms = 0)
Local Const $s_Prefix = "[_NetWebView2_LoadWait]: URL:" & $sURL & " WAIT:" & $iWaitMessage
Local Const $s_Prefix = "[_NetWebView2_LoadWait]: URL:" & $sURL & " WAIT:" & $iWaitMessage & " TimeOut_ms=" & $iTimeOut_ms
Local $oMyError = ObjEvent("AutoIt.Error", __NetWebView2_COMErrFunc) ; Local COM Error Handler
#forceref $oMyError

Expand Down Expand Up @@ -405,10 +397,11 @@ EndFunc ;==>_NetWebView2_GetSource
; #FUNCTION# ====================================================================================================================
; Name ..........: _NetWebView2_NavigateToString
; Description ...:
; Syntax ........: _NetWebView2_NavigateToString($oWebV2M, $s_HTML[, $b_LoadWait = True])
; Syntax ........: _NetWebView2_NavigateToString($oWebV2M, $s_HTML[, $b_LoadWait = True[, $iTimeOut_ms = 5000]])
; Parameters ....: $oWebV2M - an object.
; $s_HTML - a string value.
; $b_LoadWait - [optional] a boolean value. Default is True.
; $iTimeOut_ms - [optional] an integer value. Default is 5000.
; Return values .: None
; Author ........: mLipok, ioa747
; Modified ......:
Expand All @@ -417,15 +410,15 @@ EndFunc ;==>_NetWebView2_GetSource
; Link ..........:
; Example .......: No
; ===============================================================================================================================
Func _NetWebView2_NavigateToString($oWebV2M, $s_HTML, $b_LoadWait = True)
Local Const $s_Prefix = "[_NetWebView2_NavigateToString]:" & " HTML Size:" & StringLen($s_HTML) & " LoadWait:" & $b_LoadWait
Func _NetWebView2_NavigateToString($oWebV2M, $s_HTML, $b_LoadWait = True, $iTimeOut_ms = 5000)
Local Const $s_Prefix = "[_NetWebView2_NavigateToString]:" & " HTML Size:" & StringLen($s_HTML) & " LoadWait:" & $b_LoadWait & " TimeOut_ms=" & $iTimeOut_ms
Local $oMyError = ObjEvent("AutoIt.Error", __NetWebView2_COMErrFunc) ; Local COM Error Handler
#forceref $oMyError

Local $iNavigation = $oWebV2M.NavigateToString($s_HTML)
If @error Then Return SetError(@error, @extended, $iNavigation)

If $b_LoadWait Then _NetWebView2_LoadWait($oWebV2M)
If $b_LoadWait Then _NetWebView2_LoadWait($oWebV2M, $NETWEBVIEW2_MESSAGE__TITLE_CHANGED, $iTimeOut_ms)
If @error Then __NetWebView2_Log(@ScriptLineNumber, $s_Prefix, 1)
Return SetError(@error, @extended, '')
EndFunc ;==>_NetWebView2_NavigateToString
Expand Down Expand Up @@ -935,7 +928,7 @@ EndFunc ;==>__NetWebView2_COMErrFunc

; Handles native WebView2 events
Func __NetWebView2_Events__OnMessageReceived($oWebV2M, $hGUI, $sMsg)
Local Const $s_Prefix = "[WebViewEvents__OnMessageReceived]:"
Local Const $s_Prefix = "[NetWebView2Lib:EVENT: OnMessageReceived]: GUI:" & $hGUI

Local $iSplitPos = StringInStr($sMsg, "|")
Local $sCommand = $iSplitPos ? StringStripWS(StringLeft($sMsg, $iSplitPos - 1), 3) : $sMsg
Expand Down Expand Up @@ -1105,7 +1098,7 @@ EndFunc ;==>__NetWebView2_Events__OnMessageReceived

; Handles custom messages from JavaScript (window.chrome.webview.postMessage)
Func __NetWebView2_JSEvents__OnMessageReceived($oWebV2M, $hGUI, $sMsg)
Local Const $s_Prefix = "[JSEvents__OnMessageReceived]:"
Local Const $s_Prefix = "[JSEvents__OnMessageReceived]: GUI:" & $hGUI
Local $oMyError = ObjEvent("AutoIt.Error", __NetWebView2_COMErrFunc) ; Local COM Error Handler
#forceref $oMyError

Expand Down Expand Up @@ -1171,7 +1164,7 @@ Func __NetWebView2_JSEvents__OnMessageReceived($oWebV2M, $hGUI, $sMsg)
EndFunc ;==>__NetWebView2_JSEvents__OnMessageReceived

Func __NetWebView2_Events__OnBrowserGotFocus($oWebV2M, $hGUI, $iReason)
Local Const $s_Prefix = "[WebViewEvents__OnBrowserGotFocus]: REASON: " & $iReason
Local Const $s_Prefix = "[NetWebView2Lib:EVENT: OnBrowserGotFocus]: GUI:" & $hGUI & " REASON: " & $iReason
__NetWebView2_Log(@ScriptLineNumber, (StringLen($s_Prefix) > 150 ? StringLeft($s_Prefix, 150) & "..." : $s_Prefix), 1)
__NetWebView2_LastMessageReceived($NETWEBVIEW2_MESSAGE__BROWSER_GOT_FOCUS)
If $_g_sNetWebView2_User_WebViewEvents Then
Expand All @@ -1180,7 +1173,7 @@ Func __NetWebView2_Events__OnBrowserGotFocus($oWebV2M, $hGUI, $iReason)
EndFunc ;==>__NetWebView2_Events__OnBrowserGotFocus

Func __NetWebView2_Events__OnBrowserLostFocus($oWebV2M, $hGUI, $iReason)
Local Const $s_Prefix = "[WebViewEvents__OnBrowserLostFocus]: REASON: " & $iReason
Local Const $s_Prefix = "[NetWebView2Lib:EVENT: OnBrowserLostFocus]: GUI:" & $hGUI & " REASON: " & $iReason
__NetWebView2_Log(@ScriptLineNumber, (StringLen($s_Prefix) > 150 ? StringLeft($s_Prefix, 150) & "..." : $s_Prefix), 1)
__NetWebView2_LastMessageReceived($NETWEBVIEW2_MESSAGE__BROWSER_LOST_FOCUS)
If $_g_sNetWebView2_User_WebViewEvents Then
Expand All @@ -1189,7 +1182,7 @@ Func __NetWebView2_Events__OnBrowserLostFocus($oWebV2M, $hGUI, $iReason)
EndFunc ;==>__NetWebView2_Events__OnBrowserLostFocus

Func __NetWebView2_Events__OnZoomChanged($oWebV2M, $hGUI, $iFactor)
Local Const $s_Prefix = "[WebViewEvents__OnZoomChanged]: FACTOR: " & $iFactor
Local Const $s_Prefix = "[NetWebView2Lib:EVENT: OnZoomChanged]: GUI:" & $hGUI & " FACTOR: " & $iFactor
__NetWebView2_Log(@ScriptLineNumber, (StringLen($s_Prefix) > 150 ? StringLeft($s_Prefix, 150) & "..." : $s_Prefix), 1)
__NetWebView2_LastMessageReceived($NETWEBVIEW2_MESSAGE__ZOOM_CHANGED)
If $_g_sNetWebView2_User_WebViewEvents Then
Expand All @@ -1198,7 +1191,7 @@ Func __NetWebView2_Events__OnZoomChanged($oWebV2M, $hGUI, $iFactor)
EndFunc ;==>__NetWebView2_Events__OnZoomChanged

Func __NetWebView2_Events__OnURLChanged($oWebV2M, $hGUI, $sURL)
Local Const $s_Prefix = "[WebViewEvents__OnURLChanged]: URL: " & $sURL
Local Const $s_Prefix = "[NetWebView2Lib:EVENT: OnURLChanged]: GUI:" & $hGUI & " URL: " & $sURL
__NetWebView2_Log(@ScriptLineNumber, (StringLen($s_Prefix) > 150 ? StringLeft($s_Prefix, 150) & "..." : $s_Prefix), 1)
__NetWebView2_LastMessageReceived($NETWEBVIEW2_MESSAGE__URL_CHANGED)
If $_g_sNetWebView2_User_WebViewEvents Then
Expand All @@ -1207,7 +1200,7 @@ Func __NetWebView2_Events__OnURLChanged($oWebV2M, $hGUI, $sURL)
EndFunc ;==>__NetWebView2_Events__OnURLChanged

Func __NetWebView2_Events__OnTitleChanged($oWebV2M, $hGUI, $sTITLE)
Local Const $s_Prefix = "[WebViewEvents__OnTitleChanged]: TITLE: " & $sTITLE
Local Const $s_Prefix = "[NetWebView2Lib:EVENT: OnTitleChanged]: GUI:" & $hGUI & " TITLE: " & $sTITLE
__NetWebView2_Log(@ScriptLineNumber, (StringLen($s_Prefix) > 150 ? StringLeft($s_Prefix, 150) & "..." : $s_Prefix), 1)
__NetWebView2_LastMessageReceived($NETWEBVIEW2_MESSAGE__TITLE_CHANGED)
If $_g_sNetWebView2_User_WebViewEvents Then
Expand All @@ -1216,7 +1209,7 @@ Func __NetWebView2_Events__OnTitleChanged($oWebV2M, $hGUI, $sTITLE)
EndFunc ;==>__NetWebView2_Events__OnTitleChanged

Func __NetWebView2_Events__OnNavigationStarting($oWebV2M, $hGUI, $sURL)
Local Const $s_Prefix = "[WebViewEvents__OnNavigationStarting]: URL: " & $sURL
Local Const $s_Prefix = "[NetWebView2Lib:EVENT: OnNavigationStarting]: GUI:" & $hGUI & " URL: " & $sURL
__NetWebView2_Log(@ScriptLineNumber, (StringLen($s_Prefix) > 150 ? StringLeft($s_Prefix, 150) & "..." : $s_Prefix), 1)
__NetWebView2_LastMessageReceived($NETWEBVIEW2_MESSAGE__NAV_STARTING)
If $_g_sNetWebView2_User_WebViewEvents Then
Expand All @@ -1225,7 +1218,7 @@ Func __NetWebView2_Events__OnNavigationStarting($oWebV2M, $hGUI, $sURL)
EndFunc ;==>__NetWebView2_Events__OnNavigationStarting

Func __NetWebView2_Events__OnNavigationCompleted($oWebV2M, $hGUI, $bIsSuccess, $iWebErrorStatus)
Local Const $s_Prefix = "[WebViewEvents__OnNavigationCompleted]: " & ($bIsSuccess ? "SUCCESS" : "ERROR (" & $iWebErrorStatus & ")")
Local Const $s_Prefix = "[NetWebView2Lib:EVENT: OnNavigationCompleted]: GUI:" & $hGUI & " " & ($bIsSuccess ? "SUCCESS" : "ERROR (" & $iWebErrorStatus & ")")
__NetWebView2_Log(@ScriptLineNumber, (StringLen($s_Prefix) > 150 ? StringLeft($s_Prefix, 150) & "..." : $s_Prefix), 1)
__NetWebView2_LastMessageReceived($NETWEBVIEW2_MESSAGE__NAVIGATION_COMPLETED)
If $_g_sNetWebView2_User_WebViewEvents Then
Expand All @@ -1234,23 +1227,23 @@ Func __NetWebView2_Events__OnNavigationCompleted($oWebV2M, $hGUI, $bIsSuccess, $
EndFunc ;==>__NetWebView2_Events__OnNavigationCompleted

Func __NetWebView2_Events__OnContextMenuRequested($oWebV2M, $hGUI, $sLink, $iX, $iY, $sSelection)
Local Const $s_Prefix = "[WebViewEvents__OnContextMenuRequested]: LINK: " & $sLink & " X: " & $iX & " Y: " & $iY & " SELECTION: " & $sSelection
Local Const $s_Prefix = "[NetWebView2Lib:EVENT: OnContextMenuRequested]: GUI:" & $hGUI & " LINK: " & $sLink & " X: " & $iX & " Y: " & $iY & " SELECTION: " & $sSelection
__NetWebView2_Log(@ScriptLineNumber, (StringLen($s_Prefix) > 150 ? StringLeft($s_Prefix, 150) & "..." : $s_Prefix), 1)
If $_g_sNetWebView2_User_WebViewEvents Then
Call($_g_sNetWebView2_User_WebViewEvents & 'OnContextMenuRequested', $oWebV2M, $hGUI, $sLink, $iX, $iY, $sSelection)
EndIf
EndFunc ;==>__NetWebView2_Events__OnContextMenuRequested

Func __NetWebView2_Events__OnContextMenu($oWebV2M, $hGUI, $sMenuData)
Local Const $s_Prefix = "[WebViewEvents__OnContextMenu]: MENUDATA: " & $sMenuData
Local Const $s_Prefix = "[NetWebView2Lib:EVENT: OnContextMenu]: GUI:" & $hGUI & " MENUDATA: " & $sMenuData
__NetWebView2_Log(@ScriptLineNumber, (StringLen($s_Prefix) > 150 ? StringLeft($s_Prefix, 150) & "..." : $s_Prefix), 1)
If $_g_sNetWebView2_User_WebViewEvents Then
Call($_g_sNetWebView2_User_WebViewEvents & 'OnContextMenu', $oWebV2M, $hGUI, $sMenuData)
EndIf
EndFunc ;==>__NetWebView2_Events__OnContextMenu

Func __NetWebView2_Events__OnWebResourceResponseReceived($oWebV2M, $hGUI, $iStatusCode, $sReasonPhrase, $sRequestUrl)
Local Const $s_Prefix = "[WebViewEvents__OnWebResourceResponseReceived]: HTTP: " & $iStatusCode & " (" & $sReasonPhrase & ") URL: " & $sRequestUrl
Local Const $s_Prefix = "[NetWebView2Lib:EVENT: OnWebResourceResponseReceived]: GUI:" & $hGUI & " HTTPStatusCode: " & $iStatusCode & " (" & $sReasonPhrase & ") URL: " & $sRequestUrl
__NetWebView2_Log(@ScriptLineNumber, (StringLen($s_Prefix) > 150 ? StringLeft($s_Prefix, 150) & "..." : $s_Prefix), 1)
__NetWebView2_LastMessageReceived($NETWEBVIEW2_MESSAGE__RESPONSE_RECEIVED)
If $_g_sNetWebView2_User_WebViewEvents Then
Expand All @@ -1259,7 +1252,7 @@ Func __NetWebView2_Events__OnWebResourceResponseReceived($oWebV2M, $hGUI, $iStat
EndFunc ;==>__NetWebView2_Events__OnWebResourceResponseReceived

Func __NetWebView2_Events__OnDownloadStarting($oWebV2M, $hGUI, $sURL, $sDefaultPath)
Local Const $s_Prefix = "[WebViewEvents__OnDownloadStarting]: URL: " & $sURL & " DEFAULT_PATH: " & $sDefaultPath
Local Const $s_Prefix = "[NetWebView2Lib:EVENT: OnDownloadStarting]: GUI:" & $hGUI & " URL: " & $sURL & " DEFAULT_PATH: " & $sDefaultPath
__NetWebView2_Log(@ScriptLineNumber, (StringLen($s_Prefix) > 150 ? StringLeft($s_Prefix, 150) & "..." : $s_Prefix), 1)
__NetWebView2_LastMessageReceived($NETWEBVIEW2_MESSAGE__DOWNLOAD_STARTING)
If $_g_sNetWebView2_User_WebViewEvents Then
Expand All @@ -1268,7 +1261,7 @@ Func __NetWebView2_Events__OnDownloadStarting($oWebV2M, $hGUI, $sURL, $sDefaultP
EndFunc ;==>__NetWebView2_Events__OnDownloadStarting

Func __NetWebView2_Events__OnDownloadStateChanged($oWebV2M, $hGUI, $sState, $sURL, $iTotal_Bytes, $iReceived_Bytes)
Local Const $s_Prefix = "[WebViewEvents__OnDownloadStateChanged]: State: " & $sState & " URL: " & $sURL & " Total_Bytes: " & $iTotal_Bytes & " Received_Bytes: " & $iReceived_Bytes
Local Const $s_Prefix = "[NetWebView2Lib:EVENT: OnDownloadStateChanged]: GUI:" & $hGUI & " State: " & $sState & " URL: " & $sURL & " Total_Bytes: " & $iTotal_Bytes & " Received_Bytes: " & $iReceived_Bytes
Local $iPercent = 0
If $iTotal_Bytes > 0 Then $iPercent = Round(($iReceived_Bytes / $iTotal_Bytes) * 100)

Expand All @@ -1294,7 +1287,7 @@ Func __NetWebView2_Events__OnDownloadStateChanged($oWebV2M, $hGUI, $sState, $sUR
EndFunc ;==>__NetWebView2_Events__OnDownloadStateChanged

Func __NetWebView2_Events__OnAcceleratorKeyPressed($oWebV2M, $hGUI, $oArgs)
Local Const $s_Prefix = "[WebViewEvents__OnAcceleratorKeyPressed]: ARGS: OBJECT"
Local Const $s_Prefix = "[NetWebView2Lib:EVENT: OnAcceleratorKeyPressed]: GUI:" & $hGUI & " ARGS: OBJECT"
__NetWebView2_Log(@ScriptLineNumber, (StringLen($s_Prefix) > 150 ? StringLeft($s_Prefix, 150) & "..." : $s_Prefix), 1)
If $_g_sNetWebView2_User_WebViewEvents Then
Call($_g_sNetWebView2_User_WebViewEvents & 'OnAcceleratorKeyPressed', $oWebV2M, $hGUI, $oArgs)
Expand Down