Webdriver GoBack and GoForward commands wait for navigation complete (#37950)

After sending `GoBack` or `GoForward` command, webdriver wait for the
navigation complete.
It can be achieved by waiting for
`WebViewDelegate::notify_history_changed`

Testing: 
`tests/wpt/meta/webdriver/tests/classic/back/back.py`
`tests/wpt/meta/webdriver/tests/classic/forward/forward.py`

---------

Signed-off-by: batu_hoang <longvatrong111@gmail.com>
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
Signed-off-by: batu_hoang <hoang.binh.trong@huawei.com>
Co-authored-by: Josh Matthews <josh@joshmatthews.net>
This commit is contained in:
batu_hoang 2025-07-15 18:41:50 +08:00 committed by GitHub
parent c817d7b9ce
commit 8e2d2bde6f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
16 changed files with 114 additions and 40 deletions

View file

@ -49,9 +49,9 @@ pub enum WebDriverCommandMsg {
/// Refresh the top-level browsing context with the given ID.
Refresh(WebViewId, IpcSender<WebDriverLoadStatus>),
/// Navigate the webview with the given ID to the previous page in the browsing context's history.
GoBack(WebViewId),
GoBack(WebViewId, IpcSender<WebDriverLoadStatus>),
/// Navigate the webview with the given ID to the next page in the browsing context's history.
GoForward(WebViewId),
GoForward(WebViewId, IpcSender<WebDriverLoadStatus>),
/// Pass a webdriver command to the script thread of the current pipeline
/// of a browsing context.
ScriptCommand(BrowsingContextId, WebDriverScriptCommand),