GeckoView navigation shouldn’t break if the beforeunload prompt is not implemented
Categories
(GeckoView :: General, defect, P3)
Tracking
(Not tracked)
People
(Reporter: mortimergoro, Unassigned)
Details
Attachments
(1 file)
|
14.30 KB,
text/plain
|
Details |
In FxR we found a freeze in GV navigation after exiting WebXR. It can be reproduced with navigating to https://doc.babylonjs.com/how_to/webxr_demos_and_examples and entering and exiting WebXR (note that it works perfectly downloading the code and running it outside their playground).
I have checked the usual problematic processes (compositor, parent process, UI thread, GV thread) and they look ok. WebGL still runs after exiting the demo and I can even click on the CSS to show the playground code or enter VR again.
The problem is that when trying to navigate GV to other page it doesn't do anything
I have checked the JS module logs and GeckoViewNavigation.jsm loadURI function is correctly called but it doesn't process it. WebBrowserChromeChild shouldLoadURI is not shown in the log after the navigation freeze. WebBrowserChromeChild shouldLoadURI was correctly printed when navigation worked before exiting WebXR
Logcat attached
Comment 1•5 years ago
|
||
This is a release blocker for FxR
| Reporter | ||
Comment 2•5 years ago
|
||
it turns out the page is displaying a beforeunload prompt and we had not that implemented in FxR...
| Reporter | ||
Comment 3•5 years ago
|
||
Reopening because this is still a bug: Navigation shouldn’t break because a prompt isn’t implemented.
| Reporter | ||
Updated•5 years ago
|
| Reporter | ||
Updated•5 years ago
|
| Reporter | ||
Updated•5 years ago
|
The default impl for onBeforeUnload() in PromptDelegate returns null, which the docs say deny the navigation. That's clearly the wrong thing to do here, we should instead allow the navigation in that case.
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Description
•