broulik created this revision.
broulik added reviewers: Plasma, fvogt.
Herald added a project: Plasma.
Herald added a subscriber: plasma-devel.
broulik requested review of this revision.
REVISION SUMMARY
When the `QMenu` is closed or the Purpose job finishes, we make sure to send
a reply out and reset the pending reply serial.
However, when we determined on the host side that we cannot share the
contents, we send a reply but don't reset the pending reply serial, having
every subsequent purpose request fail until reloading the extension or
restarting the browser.
TEST PLAN
5.17
(patched out the "isTrusted" check for testing)
- called `navigator.share({title: "test"})`
- then called `navigator.share({url: "test})`
Previously, the `url` request would fail as the `title` request (which is
valid as far as `canShare` is concerned in the extension but not for Purpose on
the host side) got rejected but not properly reset.
With this patch the `url` request opens purpose menu as expected
REPOSITORY
R856 Plasma Browser Integration
REVISION DETAIL
https://phabricator.kde.org/D25803
AFFECTED FILES
host/purposeplugin.cpp
To: broulik, #plasma, fvogt
Cc: plasma-devel, LeGast00n, The-Feren-OS-Dev, jraleigh, fbampaloukas, GB_2,
ragreen, ZrenBot, ngraham, alexeymin, himcesjf, lesliezhai, ali-mohamed,
jensreuterberg, abetts, sebas, apol, ahiemstra, mart