This is a summary of an internal discussion. Posting it to BugReports for tracking and further comments.
The prerequisite for QTBUG-100874 would be a support of a kind of "underlays" in Qt, i.e., being able to place native views under a QML scene and make it visible and accessible (events) through the QML Scene.
Following aspects have been discussed:
-Stacking, we need to be able to set the WebView and QML scenes stacking order, that is, we need to be able to place one underneath the other. Possibly, there should be code for doing this in the Android platform plugin already. There was a prototype once created for a customer and POC on Gerrit, which uses an environment variable, but we will need a more proper solution if we want to get it into Qt.
-Event forwarding or input mask support. Events cannot be consumed by the top-layer for the region(s) we "punch" a hole for. It looks like there’s no support for this in the platform plugins or the QPA layer. The patch we have for iOS is working around this with that OpenGL readback trick, but we can’t and shouldn’t do it that way, so we need some better way to let the platform plugins know it shouldn’t consume events for certain regions of the window (e.g., by keeping track of those regions).
Once we can position the scenes in relation to each other and get the events through to the underlay, the patch we have for iOS to punch a hole in the QML Scene should more or less work just fine for both platforms.
This task should track works related to this aspect. As soon as this works, we will see what is needed in the WebView.
Please note that the Qt Ad team needs a working prototype before June
Note that this task has been listed for Android and iOS, since the use case in Qt Ad works on other platforms, where Qt WebEngine is used to render ads and so it can be overlayed as needed. Still, we might need this feature on other platforms for other use cases. Please keep this in mind to assure the max cross-platform compability.