Skip to content

Commit c9de980

Browse files
authored
Merge pull request #54 from mlipok/patch-1
_NetWebView2_Navigate() + _NetWebView2_Navigate() $iWaitMessage = $NETWEBVIEW2_MESSAGE__TITLE_CHANGED + CLEANUP
2 parents 434203f + 89c6fc2 commit c9de980

2 files changed

Lines changed: 19 additions & 15 deletions

File tree

NetWebView2Lib.au3

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,12 @@ Global Enum _ ; $NETWEBVIEW2_MESSAGE__* are set by __NetWebView2_WebViewEvents__
3131
$NETWEBVIEW2_MESSAGE__INIT_READY, _
3232
$NETWEBVIEW2_MESSAGE__NAV_STARTING, _
3333
$NETWEBVIEW2_MESSAGE__URL_CHANGED, _
34-
$NETWEBVIEW2_MESSAGE__COMPLETED, _
34+
$NETWEBVIEW2_MESSAGE__SOURCE_CHANGED, _ ; #TODO https://learn.microsoft.com/en-us/microsoft-edge/webview2/get-started/wpf#step-7---navigation-events
35+
$NETWEBVIEW2_MESSAGE__CONTENT_LOADING, _ ; #TODO https://learn.microsoft.com/en-us/microsoft-edge/webview2/get-started/wpf#step-7---navigation-events
36+
$NETWEBVIEW2_MESSAGE__HISTORY_CHANGED, _ ; #TODO https://learn.microsoft.com/en-us/microsoft-edge/webview2/get-started/wpf#step-7---navigation-events
37+
$NETWEBVIEW2_MESSAGE__BASIC_AUTHENTICATION_REQUESTED, _ ; #TODO https://learn.microsoft.com/en-us/microsoft-edge/webview2/concepts/navigation-events
38+
$NETWEBVIEW2_MESSAGE__DOM_CONTENT_LOADED, _ ; #TODO https://learn.microsoft.com/en-us/microsoft-edge/webview2/concepts/navigation-events
39+
$NETWEBVIEW2_MESSAGE__NAVIGATION_COMPLETED, _
3540
$NETWEBVIEW2_MESSAGE__TITLE_CHANGED, _
3641
$NETWEBVIEW2_MESSAGE__NAV_ERROR, _
3742
$NETWEBVIEW2_MESSAGE__EXTENSION, _
@@ -88,7 +93,8 @@ Global Enum _ ; $NETWEBVIEW2_MESSAGE__* are set by __NetWebView2_WebViewEvents__
8893
Func _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")
8994
Local Const $s_Prefix = "[_NetWebView2_Initialize]:" & " GUI:" & $hGUI & " ProfileDirectory:" & $sProfileDirectory & " LEFT:" & $i_Left & " TOP:" & $i_Top & " WIDTH" & $i_Width & " HEIGHT:" & $i_Height & " LOADWAIT:" & $b_LoadWait & " SETAUTORESIZE:" & $b_SetAutoResize & " SetAutoResize:" & $b_AreDevToolsEnabled & " ZoomFactor:" & $i_ZoomFactor & " BackColor:" & $s_BackColor
9095

91-
; Important: Pass $hGUI in parentheses to maintain Pointer type for COM
96+
; ⚠️ Important: Enclose ($hGUI) in parentheses to force "Pass-by-Value".
97+
; This prevents the COM layer from changing the AutoIt variable type from Ptr to Int64.
9298
Local $iInit = $oWebV2M.Initialize(($hGUI), $sProfileDirectory, $i_Left, $i_Top, $i_Width, $i_Height)
9399
If @error Then Return SetError(@error, @extended, $iInit)
94100

@@ -299,11 +305,11 @@ EndFunc ;==>_NetWebView2_LoadWait
299305
; #FUNCTION# ====================================================================================================================
300306
; Name ..........: _NetWebView2_Navigate
301307
; Description ...:
302-
; Syntax ........: _NetWebView2_Navigate(ByRef $oWebV2M, $sURL[, $iWaitMessage = $NETWEBVIEW2_MESSAGE__NAV_ERROR[,
308+
; Syntax ........: _NetWebView2_Navigate(ByRef $oWebV2M, $sURL[, $iWaitMessage = $NETWEBVIEW2_MESSAGE__TITLE_CHANGED[,
303309
; $iTimeOut_ms = 0]])
304310
; Parameters ....: $oWebV2M - [in/out] an object.
305311
; $sURL - a string value.
306-
; $iWaitMessage - [optional] an integer value. Default is $NETWEBVIEW2_MESSAGE__NAV_ERROR.
312+
; $iWaitMessage - [optional] an integer value. Default is $NETWEBVIEW2_MESSAGE__TITLE_CHANGED.
307313
; $iTimeOut_ms - [optional] an integer value. Default is 0.
308314
; Return values .: None
309315
; Author ........: mLipok, ioa747
@@ -313,7 +319,7 @@ EndFunc ;==>_NetWebView2_LoadWait
313319
; Link ..........:
314320
; Example .......: No
315321
; ===============================================================================================================================
316-
Func _NetWebView2_Navigate(ByRef $oWebV2M, $sURL, $iWaitMessage = $NETWEBVIEW2_MESSAGE__NAV_ERROR, $iTimeOut_ms = 0)
322+
Func _NetWebView2_Navigate(ByRef $oWebV2M, $sURL, $iWaitMessage = $NETWEBVIEW2_MESSAGE__TITLE_CHANGED, $iTimeOut_ms = 0)
317323
Local Const $s_Prefix = "[_NetWebView2_LoadWait]: URL:" & $sURL & " WAIT:" & $iWaitMessage
318324
Local $oMyError = ObjEvent("AutoIt.Error", __NetWebView2_COMErrFunc) ; Local COM Error Handler
319325
#forceref $oMyError
@@ -322,6 +328,7 @@ Func _NetWebView2_Navigate(ByRef $oWebV2M, $sURL, $iWaitMessage = $NETWEBVIEW2_M
322328
__NetWebView2_Log(@ScriptLineNumber, $s_Prefix, 1)
323329
If @error Then Return SetError(@error, @extended, $iNavigation)
324330

331+
If $iWaitMessage = Default Then $iWaitMessage = $NETWEBVIEW2_MESSAGE__TITLE_CHANGED
325332
If $iWaitMessage Then _NetWebView2_LoadWait($oWebV2M, $iWaitMessage, $iTimeOut_ms)
326333
If @error Then __NetWebView2_Log(@ScriptLineNumber, $s_Prefix, 1)
327334
Return SetError(@error, @extended, '')
@@ -397,8 +404,6 @@ EndFunc ;==>_NetWebView2_NavigateToString
397404
; ===============================================================================================================================
398405
Func _NetWebView2_ExportPageData(ByRef $oWebV2M, $iFormat, $sFilePath = '')
399406
#TODO $sParameters - search for => "name": "captureSnapshot" ; https://github.com/ChromeDevTools/devtools-protocol/blob/master/json/browser_protocol.json
400-
#TODO https://github.com/ioa747/NetWebView2Lib/issues/15
401-
#TODO https://github.com/ioa747/NetWebView2Lib/pull/16
402407

403408
Local Const $s_Prefix = "[_NetWebView2_ExportPageData]:" & " Format:" & $iFormat & " FilePath:" & (($sFilePath) ? ($sFilePath) : ('"EMPTY"'))
404409
Local $oMyError = ObjEvent("AutoIt.Error", __NetWebView2_COMErrFunc) ; Local COM Error Handler
@@ -690,7 +695,7 @@ Func __NetWebView2_WebViewEvents__OnMessageReceived($sMsg)
690695

691696
Case "NAV_COMPLETED"
692697
__NetWebView2_Log(@ScriptLineNumber, $s_Prefix & ' COMMAND:' & $sCommand, 1)
693-
__NetWebView2_LastMessageReceived($NETWEBVIEW2_MESSAGE__COMPLETED)
698+
__NetWebView2_LastMessageReceived($NETWEBVIEW2_MESSAGE__NAVIGATION_COMPLETED)
694699

695700
Case "TITLE_CHANGED"
696701
__NetWebView2_Log(@ScriptLineNumber, $s_Prefix & ' COMMAND:' & $sCommand, 1)
@@ -919,5 +924,3 @@ Func __NetWebView2_WebViewEvents__OnContextMenu($sMenuData)
919924
__NetWebView2_Log(@ScriptLineNumber, $s_Prefix, 1)
920925
EndFunc ;==>__NetWebView2_WebViewEvents__OnContextMenu
921926
#EndRegion ; NetWebView2Lib UDF - === EVENT HANDLERS ===
922-
923-

examples/1-BasicDemo.au3

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,21 +46,22 @@ Func Main()
4646

4747
MsgBox($MB_TOPMOST, "TEST #" & @ScriptLineNumber, 'Watch Point')
4848

49-
WinMove($hGUI, '', Default, Default, 1100, 800)
5049
GUISetState(@SW_HIDE, $hGUI)
50+
WinMove($hGUI, '', Default, Default, 1100, 800)
5151

5252
; navigate to a given URL - online content
53-
;~ _NetWebView2_Navigate($_g_oWeb, 'https://www.microsoft.com', $NETWEBVIEW2_MESSAGE__TITLE_CHANGED, 5*1000)
53+
_NetWebView2_Navigate($_g_oWeb, 'https://www.microsoft.com', $NETWEBVIEW2_MESSAGE__TITLE_CHANGED, 5 * 1000)
5454
GUISetState(@SW_SHOW, $hGUI)
5555
MsgBox($MB_TOPMOST, "TEST #" & @ScriptLineNumber, 'Watch Point')
5656

5757
; navigate to fake/broken url
58-
;~ _NetWebView2_Navigate($oWebV2M, 'htpppps://www.microsoft.com', $NETWEBVIEW2_MESSAGE__COMPLETED)
59-
MsgBox($MB_TOPMOST, "TEST #" & @ScriptLineNumber, 'Watch Point')
58+
;~ _NetWebView2_Navigate($oWebV2M, 'htpppps://www.microsoft.com', $NETWEBVIEW2_MESSAGE__TITLE_CHANGED)
59+
;~ MsgBox($MB_TOPMOST, "TEST #" & @ScriptLineNumber, 'Watch Point')
6060

6161
; navigate to fake/broken url
62-
;~ _NetWebView2_Navigate($oWebV2M, 'https://w2ww.microsoft.com', $NETWEBVIEW2_MESSAGE__COMPLETED, 100)
62+
;~ _NetWebView2_Navigate($oWebV2M, 'https://w2ww.microsoft.com', $NETWEBVIEW2_MESSAGE__TITLE_CHANGED, 100)
6363
;~ __NetWebView2_Log(@ScriptLineNumber, "After: https://w2ww.microsoft.com", 1)
64+
;~ MsgBox($MB_TOPMOST, "TEST #" & @ScriptLineNumber, 'Watch Point')
6465

6566
; Main Loop
6667
While 1

0 commit comments

Comments
 (0)