mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
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:
parent
c817d7b9ce
commit
8e2d2bde6f
16 changed files with 114 additions and 40 deletions
|
@ -946,8 +946,11 @@ impl Handler {
|
|||
// return error with error code no such window.
|
||||
self.verify_top_level_browsing_context_is_open(webview_id)?;
|
||||
|
||||
self.send_message_to_embedder(WebDriverCommandMsg::GoBack(webview_id))?;
|
||||
Ok(WebDriverResponse::Void)
|
||||
self.send_message_to_embedder(WebDriverCommandMsg::GoBack(
|
||||
webview_id,
|
||||
self.load_status_sender.clone(),
|
||||
))?;
|
||||
self.wait_for_load()
|
||||
}
|
||||
|
||||
fn handle_go_forward(&self) -> WebDriverResult<WebDriverResponse> {
|
||||
|
@ -956,8 +959,11 @@ impl Handler {
|
|||
// return error with error code no such window.
|
||||
self.verify_top_level_browsing_context_is_open(webview_id)?;
|
||||
|
||||
self.send_message_to_embedder(WebDriverCommandMsg::GoForward(webview_id))?;
|
||||
Ok(WebDriverResponse::Void)
|
||||
self.send_message_to_embedder(WebDriverCommandMsg::GoForward(
|
||||
webview_id,
|
||||
self.load_status_sender.clone(),
|
||||
))?;
|
||||
self.wait_for_load()
|
||||
}
|
||||
|
||||
fn handle_refresh(&self) -> WebDriverResult<WebDriverResponse> {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue