Cross-process iframes are not clicked properly
Categories
(Remote Protocol :: Marionette, defect, P3)
Tracking
(Not tracked)
People
(Reporter: canadahonk, Unassigned)
References
(Depends on 1 open bug, Blocks 2 open bugs)
Details
(Whiteboard: [webdriver:backlog])
When using Fission, cross-process iframes do not emit any event inside or appear to do anything when clicked by webdriver.
This was also discussed a bit on Matrix in #webdriver.
Comment 1•9 months ago
|
||
Olli, would there be a way for privileged code to wait for a click
event for a cross-process iframe? Probably we need to handle that on the parent process, which should have access to both the parent frame and the affected one.
Reporter | ||
Comment 2•9 months ago
|
||
Please note afaik flushing the event loop / waiting for a click is not the issue. A click event in the iframe's HTML is not received at all and doesn't trigger any JS event handlers.
Updated•9 months ago
|
Comment 3•9 months ago
|
||
I don't understand what 'wait for a click event' means here.
Click event is created and dispatched in a single process, it doesn't cross process boundary.
I assume this is about some mousedown/up events and then something should happen, but I don't know what.
Comment 4•9 months ago
|
||
The severity field is not set for this bug.
:whimboo, could you have a look please?
For more information, please visit BugBot documentation.
Comment 5•8 months ago
|
||
(In reply to Olli Pettay [:smaug][bugs@pettay.fi] from comment #3)
I don't understand what 'wait for a click event' means here.
this is actually a Selenium specific feature, which means that our WebDriver:ElementClick
command waits for a possible navigation and if that is detected that the target page has finished loading, before sending the response to the WebDriver client.
Click event is created and dispatched in a single process, it doesn't cross process boundary.
I assume this is about some mousedown/up events and then something should happen, but I don't know what.
We have event listeners for unload
(window) and click
(element) via the parent process and mozSystemGroup
set:
https://searchfox.org/mozilla-central/rev/42acdc9cd5ae89222bdceeeaed7bacac755be48f/remote/marionette/interaction.sys.mjs#442-469
This usually works when clicking elements in top-level browsing contexts, but the above scenario seems to fail.
Oliver, do you have a small testcase that exercises this issue and you could attach?
Reporter | ||
Comment 6•8 months ago
|
||
I don't have a small testcase yet, but for now the issue was with this WPT:
html/user-activation/propagation-same-and-cross-origin.sub.html
Comment 7•7 months ago
|
||
So it should most likely require the async event dispatching from the parent process including hit testing so that the event is forwarded to the correct browsing context. As such lets block bug 1773393 for that.
Comment 8•7 months ago
|
||
This might actually be similar or the same as bug 1867810. For now I will keep it open.
Description
•