Use QCoreApplication::applicationName for the token used to request access to microphone

Bug #1486645 reported by Olivier Tilloy
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Oxide
Fix Released
Low
Olivier Tilloy

Bug Description

(originally reported at https://bugs.launchpad.net/oxide/+bug/1410996/comments/6)

I just did a quick test by modifying the webview implementation in the browser to always accept media access permission requests:

    WebView {
        onMediaAccessPermissionRequested: request.allow()
    }

And this is enough to make audio recording just work (successfully tested with https://voice-memos.appspot.com/).

The first time the browser requests access to the microphone, I get a trust prompt saying: "Chrome input wants to record audio.".
This decision is remembered, but when I go to system-settings>security>access>mic, there is an empty entry for the browser (chrome input). The contents of /home/phablet/.local/share/PulseAudio/trust.db is as follows:

    sqlite> select * from requests;
    Id|ApplicationId|Feature|Timestamp|Answer
    1|Chrome input|0|1439981817195438084|1

This is not very user friendly, I guess system settings try to match the application ID ("Chrome input") with an existing app, and failing to do that it displays an empty entry.

Oxide should use the application name (as exposed by QCoreApplication::applicationName) for the access token.

This will probably require patching chromium, as the token is hardcoded in src/media/audio/pulse/audio_manager_pulse.cc.

Related branches

Olivier Tilloy (osomon)
Changed in oxide:
status: New → In Progress
assignee: nobody → Olivier Tilloy (osomon)
importance: Undecided → Low
Olivier Tilloy (osomon)
Changed in oxide:
status: In Progress → Fix Released
milestone: none → branch-1.11
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.