Stop continuously updating WebView::editingCapabilities

Bug #1666866 reported by Chris Coulson
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Oxide
Triaged
Medium
Unassigned

Bug Description

Updating WebView::editingCapabilities isn't cheap if the clipboard selection owner changes because we need to read data from the clipboard to update the paste bit. Previous experience suggests this can take >100ms in some cases. This used to be a bigger problem, although it was improved significantly by caching clipboard status.

However, as part of bug 1666002, we're going to be refreshing WebView::editingCapabilities from more callbacks. This is wasteful, and I'd prefer we just stopped doing it.

In addition to this, CanUndo and CanRedo are always unset, because there is currently no visibility of this on the browser side and no way to get notifications for them from blink.

What we should do is:
- Stop continuously updating WebView::editingCapabilities.
- Add a new method to WebView to trigger an asynchronous refresh of the WebView::editingCapabilities. property. Applications can call this when displaying a UI that requires it (such as a window menu). This will perform a renderer round trip to get the undo/redo capabilities from blink.
- Refresh WebView::editingCapabilities when displaying the touch editing UI, to avoid breaking what looks like the only consumer of this API in webbrowser-app.

Changed in oxide:
importance: Undecided → Medium
status: New → Triaged
description: updated
description: updated
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.