OxideQQuickWebView is not C++ friendly
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Oxide |
New
|
Undecided
|
Unassigned |
Bug Description
The permission request signals pass the request wrapped in a QJSValue, which relies on the webview being exposed to the QML engine. This was done as a way to transfer and share ownership of the request instance across multiple slots.
Essentially, this is working around the fact that the signal/slot mechanism is not a good fit for cases like this where we want to transfer ownership of an object to a single consumer in the application or ask the application something (they're good for notifying the application of things).
This should be done instead via a client interface. There could be a QML-only implementation of the client interface that does use signals so that the QML API is still nice to use.