bugzilla.mozilla.org will be intermittently unavailable on Saturday, March 24th, from 16:00 until 20:00 UTC.

Permission request for audio and camera on Aliexpress.com




WebRTC: Audio/Video
8 months ago
6 months ago


(Reporter: Oana Horvath, Unassigned)



Firefox Tracking Flags

(fennec+, firefox55 affected, firefox56 affected, firefox57 affected)




8 months ago
Device:  (Android );
LG Nexus 5 (Android 6.0.1)
Motorola Nexus 6 (Android 7.0)

Build: Nightly 57.0a1 (2017-08-08);

Steps to reproduce:
1. Have a clean profile and all browser permissions turned off in device settings. 
2. Go to aliexpress.com
3. Wait for the permission dialogs to appear.

Expected result:
On aliexpress, the audio and camera access permissions should not be requested when there is no action that requires them.

Actual result:
The site asks for video and audio recording access as soon as you open the page.
Evidently aliexpress is probing for these features when you load the page, which causes us to show these prompts. Mike, can you guys figure out what they're trying to do here?
Flags: needinfo?(miket)

Comment 2

8 months ago
I'll try to find time to fix this.
Assignee: nobody → cnevinchen
tracking-fennec: ? → +
Priority: -- → P2

Comment 3

7 months ago
Turns out the prompt is from WebRTC. https://m.aliexpress.com/ ask for camera permission maybe for online shopping assistance.

I don't have the knowledge to fix this so unassigned myself. I don't the action items either. Isn't this the epected behavior? I've used Chrome Android and they showed nothing about the permission. But if you use desktop Chrome and Firefox we do show the alert.
Assignee: cnevinchen → nobody
Priority: P2 → P3
Any ideas?
Flags: needinfo?(mchiang)
They probably uses enumerateDevices api[1] to probe the audio / video devices for some reason.

[1] https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/enumerateDevices.
Component: General → WebRTC: Audio/Video
Flags: needinfo?(mchiang)
Product: Firefox for Android → Core

erd: function () {
var e = i.defer();
  return S.mediaDevices && S.mediaDevices.enumerateDevices ? navigator.mediaDevices.enumerateDevices().then(function (t) {
    var n = t.map(function (e) {
      return e.deviceId
    }, function () {e.reject()})  
: e.reject(), e}

(this whole script is weird... looks like it's just collecting fingerprinting data: installed fonts, plugins, deviceIDs, font metrics...)

I wonder why Chrome Mobile doesn't show the prompt though, is that expected?
Flags: needinfo?(miket)
Mass change P3->P4 to align with new Mozilla triage process.
Priority: P3 → P4
You need to log in before you can comment on or make changes to this bug.