Skip to content

Commit 765b441

Browse files
authored
Update NetWebView2Lib.au3
1 parent ba659ab commit 765b441

1 file changed

Lines changed: 45 additions & 36 deletions

File tree

NetWebView2Lib.au3

Lines changed: 45 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -534,64 +534,71 @@ Func _NetWebView2_LoadWait($oWebV2M, $iWaitMessage = $NETWEBVIEW2_MESSAGE__TITLE
534534
__NetWebView2_LastMessage_Navigation($oWebV2M, $NETWEBVIEW2_MESSAGE__NONE)
535535

536536
While 1
537-
; Allow AutoIt to "breathe" and process the GUI messages, also allow user to abort
538-
__NetWebView2_Sleep(10)
539-
If @error Then Return SetError(@error, @extended, '')
540-
541-
; RULE 1: If we reached the target status or higher
542-
Local $bWebIsReady = $oWebV2M.IsReady
537+
__NetWebView2_Sleep(10) ; Allow AutoIt to "breathe" and process the GUI messages, also allow user to abort
543538
If @error Then
544-
__NetWebView2_Log(@ScriptLineNumber, $s_Prefix, 1, $ERR, $EXT)
545-
Return SetError(1, 0, False) ; browser/COM error ?
539+
$ERR = @error
540+
$EXT = @extended
541+
$RET = False
542+
ExitLoop
546543
EndIf
547544

548-
; RULE 2: TimeOut Check
549-
If $iTimeOut_ms And TimerDiff($hTimer) >= $iTimeOut_ms Then
545+
Local $bWebIsReady = $oWebV2M.IsReady ; RULE 1: If we reached the target status or higher
546+
If @error Then ; browser/COM error ?
547+
$ERR = 1
548+
$RET = False
549+
ExitLoop
550+
ElseIf $iTimeOut_ms And TimerDiff($hTimer) >= $iTimeOut_ms Then ; RULE 2: TimeOut Check
550551
__NetWebView2_Log(@ScriptLineNumber, $s_Prefix & " - TIME OUT - the waiting time has expired", 1, $ERR, $EXT)
551-
Return SetError(2, 0, False)
552+
$ERR = 2
553+
$RET = False
554+
ExitLoop
555+
ElseIf Not $bWebIsReady Then ; RULE 3: if browser is not ready continue waiting
556+
ContinueLoop ; For navigation events, ensure the browser reports IsReady
552557
EndIf
553558

554-
; RULE 3: if browser is not ready continue waiting
555-
If Not $bWebIsReady Then ContinueLoop ; For navigation events, ensure the browser reports IsReady
556-
557559
; RULE 4: checking browser ReadyState
558560
Local $iLastMessage = -1
559561
Local $sReadyState = _NetWebView2_ExecuteScript($oWebV2M, "document.readyState", $NETWEBVIEW2_EXECUTEJS_MODE2_RESULT)
560562
If @error Then
561-
__NetWebView2_Log(@ScriptLineNumber, $s_Prefix, 1, $ERR, $EXT)
562-
Return SetError(7, 0, False)
563+
$ERR = 7
564+
$RET = False
565+
$MSG = " document.readyState execution Error : #SLN=" & @ScriptLineNumber
566+
ExitLoop
563567
ElseIf StringLeft($sReadyState, 6) == "ERROR:" Then
564-
__NetWebView2_Log(@ScriptLineNumber, $s_Prefix, 1, $ERR, $EXT)
565-
Return SetError(8, 0, False)
568+
$ERR = 8
569+
$RET = False
570+
$MSG = " document.readyState execution Error : #SLN=" & @ScriptLineNumber
571+
ExitLoop
566572
ElseIf $sReadyState = "complete" Then
567573
; RULE 5: checking events messages
568574
$iLastMessage = __NetWebView2_LastMessage_Navigation($oWebV2M)
569575
If $_g_bNetWebView2_DebugDev Then ConsoleWrite('! IFNC: TEST LOAD WAIT: ReadyState=' & $sReadyState & ' LastMessage=' & $iLastMessage & ' WaitMessage=' & $iWaitMessage & ' SLN=' & @ScriptLineNumber & @CRLF)
570576
If $iLastMessage = $NETWEBVIEW2_MESSAGE__NAV_ERROR Or $iLastMessage = $NETWEBVIEW2_MESSAGE__PROCESS_FAILED Or $iLastMessage = $NETWEBVIEW2_MESSAGE__CRITICAL_ERROR Then
571577
If $_g_bNetWebView2_DebugDev Then ConsoleWrite('! IFNC: TEST LOAD WAIT: ' & $iLastMessage & ' SLN=' & @ScriptLineNumber & @CRLF)
572-
__NetWebView2_Log(@ScriptLineNumber, $s_Prefix, 1, $ERR, $EXT)
573-
Return SetError(3, $iLastMessage, False)
574-
;~ ElseIf $iLastMessage >= $iWaitMessage Then ; checking events
578+
$ERR = 3
579+
$RET = False
580+
ExitLoop
575581
ElseIf $iLastMessage >= $iWaitMessage Then ; checking events
576582
; RULE 6: checking document title
577583
Local $sCurrentTitle = $oWebV2M.GetDocumentTitle()
578584
Local $bTitleCheck = ($sExpectedTitle And StringRegExp($sCurrentTitle, $sExpectedTitle, $STR_REGEXPMATCH) = 1)
579585
Local $s_MessageInfo = '! IFNC: TEST LOAD WAIT: CurrentTitle="' & $sCurrentTitle & '" ExpectedTitle"' & $sExpectedTitle & '" TitleCheck=' & $bTitleCheck & ' LastMessage=' & $iLastMessage
580586
If $sExpectedTitle And $iWaitMessage = $NETWEBVIEW2_MESSAGE__TITLE_CHANGED And $bTitleCheck Then
581587
If $_g_bNetWebView2_DebugDev Then ConsoleWrite($s_MessageInfo & ' SLN=' & @ScriptLineNumber & @CRLF)
582-
__NetWebView2_Log(@ScriptLineNumber, $s_Prefix & " LastMessage=" & $iLastMessage, 1, $ERR, $EXT)
583-
Return True
588+
$MSG = " LastMessage=" & $iLastMessage & " : ExpectedTitle=" & $sExpectedTitle & " : #SLN=" & @ScriptLineNumber
589+
$RET = True
590+
ExitLoop
584591
Else
585592
If $_g_bNetWebView2_DebugDev Then ConsoleWrite($s_MessageInfo & ' SLN=' & @ScriptLineNumber & @CRLF)
586-
__NetWebView2_Log(@ScriptLineNumber, $s_Prefix & " LastMessage=" & $iLastMessage, 1, $ERR, $EXT)
587-
Return True
593+
$MSG = " LastMessage=" & $iLastMessage & " : #SLN=" & @ScriptLineNumber
594+
$RET = True
595+
ExitLoop
588596
EndIf
589597
EndIf
590598
EndIf
591599
If $_g_bNetWebView2_DebugDev Then ConsoleWrite("> IFNC: TEST LOAD WAIT: __NetWebView2_LastMessage_Navigation($oWebV2M)=" & $iLastMessage & ' >> ' & __NetWebView2_LastMessage_Navigation($oWebV2M) & ' SLN=' & @ScriptLineNumber & @CRLF)
592600
WEnd
593601

594-
#TODO ENDPOINT REFACTORING
595602
__NetWebView2_Log(@ScriptLineNumber, $s_Prefix & $MSG, 1, $ERR, $EXT)
596603
Return SetError($ERR, $EXT, $RET)
597604
EndFunc ;==>_NetWebView2_LoadWait
@@ -628,7 +635,7 @@ Func _NetWebView2_Navigate($oWebV2M, $s_URL, $iWaitMessage = $NETWEBVIEW2_MESSAG
628635
If (Not IsObj($oWebV2M)) Or ObjName($oWebV2M, $OBJ_PROGID) <> 'NetWebView2Lib.WebView2Manager' Then
629636
$ERR = 1
630637
$MSG = "ERROR: Invalid Object"
631-
ELseif $iWaitMessage < $NETWEBVIEW2_MESSAGE__INIT_READY Or $iWaitMessage > $NETWEBVIEW2_MESSAGE__TITLE_CHANGED Then
638+
ElseIf $iWaitMessage < $NETWEBVIEW2_MESSAGE__INIT_READY Or $iWaitMessage > $NETWEBVIEW2_MESSAGE__TITLE_CHANGED Then
632639
; Parameter Validation - higher messsages are not for NAVIGATION thus not checking in _NetWebView2_LoadWait()
633640
$ERR = 2
634641
$MSG = "ERROR: $iWaitMessage not valid"
@@ -741,15 +748,17 @@ Func _NetWebView2_BrowserSetupWrapper($hOuterParentWindow, ByRef $oOuterWeb, $sE
741748
GUISetState(@SW_SHOW, $hInnerWebViewWindow)
742749

743750
$oOuterWeb = _NetWebView2_CreateManager("", $sEventPrefix & '_Manager__', $s_AddBrowserArgs)
744-
If @error Then Return SetError(@error, @extended, $oOuterWeb)
745-
746-
Local $Result = _NetWebView2_Initialize($oOuterWeb, $hInnerWebViewWindow, $sProfile, 0, 0, $iW, $iH)
747-
If @error Then Return SetError(@error, @extended, $Result)
748-
749-
$oOuterBridge = _NetWebView2_GetBridge($oOuterWeb, $sEventPrefix & "_Bridge__")
750-
If @error Then Return SetError(@error, @extended, $oOuterBridge)
751-
752-
#TODO ENDPOINT REFACTORING
751+
If Not @error Then
752+
_NetWebView2_Initialize($oOuterWeb, $hInnerWebViewWindow, $sProfile, 0, 0, $iW, $iH)
753+
If Not @error Then
754+
$oOuterBridge = _NetWebView2_GetBridge($oOuterWeb, $sEventPrefix & "_Bridge__")
755+
If Not @error Then
756+
$RET = True
757+
EndIf
758+
EndIf
759+
EndIf
760+
$ERR = @error
761+
$EXT = @extended
753762
__NetWebView2_Log(@ScriptLineNumber, $s_Prefix & $MSG, 1, $ERR, $EXT)
754763
Return SetError($ERR, $EXT, $RET)
755764
EndFunc ;==>_NetWebView2_BrowserSetupWrapper

0 commit comments

Comments
 (0)