Opened on 05/20/2015 at 04:09:16 PM

Closed on 12/12/2017 at 03:03:08 PM

#2564 closed defect (rejected)

Adblock Browser is requesting various permissions it doesn't need

Reported by: fhd Assignee: rjeschke
Priority: P2 Milestone:
Module: Adblock-Browser-for-Android Keywords: 2015q3
Cc: greiner Blocked By:
Blocking: Platform: Adblock Browser for Android
Ready: yes Confidential: no
Tester: Unknown Verified working: no
Review URL(s):



Adblock Browser 1.0.20150520125137 on a Nexus 4 running Android 5.1.

How to reproduce

  1. Ensure Adblock Browser isn't installed.
  2. Install Adblock Browser.

Observed behaviour

Adblock Browser is requesting a lot of permissions, many of which I'm sure we don't need.

Expected behaviour

Adblock Browser should only request the permissions it actually needs.

Attachments (0)

Change History (16)

comment:1 follow-up: Changed on 05/20/2015 at 04:11:37 PM by fhd

We've inherited all those permission requests from Firefox for Android, which does a lot of things we don't want to do, like adding Firefox web apps as launcher icons. Let's do some testing/research and figure out what we actually need to work, and reduce it to that.

Last edited on 05/20/2015 at 04:12:14 PM by fhd

comment:3 in reply to: ↑ 1 Changed on 05/21/2015 at 12:57:58 PM by greiner

  • Cc greiner added

Replying to fhd:

We've inherited all those permission requests from Firefox for Android, which does a lot of things we don't want to do, like adding Firefox web apps as launcher icons.

Note that the "adding web apps as launcher icons" feature, just like many other ones which require Firefox to request permissions, are specified in (upcoming) Web standards (e.g. Installable web applications) and should therefore not be removed.

As outlined on StackOverflow we could probably make a bunch of those permissions optional and only request them whenever we need them. However, that might not be worth the effort and may even lead to a worse user experience.
Therefore I'd suggest only removing permissions that are solely used for features we don't include in the browser in the first place.

comment:4 Changed on 05/26/2015 at 07:51:40 AM by fhd

  • Priority changed from P3 to P2

comment:5 Changed on 05/26/2015 at 09:20:31 AM by rjeschke

The SO question does not really apply here. There it is about an app using phone permission to run on non-phones and not be filtered out in the PlayStore.
Making a permission optional does not hide it, and you can not dynamically request permissions.
Also, as removing a permission might seem trivial, believe me, it is not. As an example consider removing camera/microphone access permission: all microphone and camera access is forbidden, a try results in an exception wich might result in a crash. To solve this we would need to remove WebRTC support, disable image uploads from camera and various other things related to a microphone.
All of those changes need to be done in code... you can imagine the effort (both developers and QA related).
IMO it is not really about 'not needed' permissions, but about users not understanding them.

Still, if we want to remove some of them, let us first decide which ones and continue from there.

comment:6 Changed on 05/26/2015 at 09:30:59 AM by fhd

First we need to investigate how the permissions are used (in the code) and compile a list. Then we can remove those used by features we removed - we can always request the permission again later, once we need it.

In addition, we should put up our own page on what permissions we use and how - better than to refer to the Firefox one.

comment:7 Changed on 06/30/2015 at 09:33:59 AM by philll

  • Platform changed from Unknown to Adblock Browser for Android

See #2673

comment:8 Changed on 07/08/2015 at 08:55:24 AM by rjeschke

  • Owner set to rjeschke
  • Tester set to Unknown

comment:9 Changed on 07/30/2015 at 05:45:22 PM by fhd

  • Keywords 2015q3 added

comment:10 Changed on 08/20/2015 at 05:49:55 PM by fhd

  • Milestone set to Adblock-Browser-for-Android-next

comment:11 Changed on 08/25/2015 at 12:27:01 PM by fhd

  • Milestone Adblock-Browser-for-Android-next deleted

Actually, changed my mind with the milestone - I don't see why this should be blocking the release. We can presumably not request one permission or two, but fundamentally this is really about help/FAQ content.

comment:12 Changed on 10/02/2015 at 11:35:55 AM by fhd

René found these options we should add to the build configuration to address this as much as possible:

# Permission reduction
ac_add_options --disable-websms-backend
ac_add_options --disable-webrtc
ac_add_options --disable-webapp-runtime
ac_add_options --disable-mozril-geoloc

But we'll also need that FAQ.

comment:13 Changed on 10/07/2015 at 03:23:39 PM by fhd

  • Resolution set to rejected
  • Status changed from new to closed

Turns out we do have that FAQ on

I don't think it's worth removing one or two permissions now. I would rather wait for Mozilla to use the new runtime permission system, that should solve the whole issue.

comment:14 Changed on 11/16/2017 at 10:59:28 AM by markuscam

  • Resolution rejected deleted
  • Status changed from closed to reopened

This ad blocker works well for me but it gives me a problem when I want to connect the camera in online applications such as Skype to make video calls or other pages as connection may be required. The Webrtc system seems to be incompatible with this program. I'm not sure.


Last edited on 11/16/2017 at 11:02:41 AM by markuscam

comment:15 Changed on 11/16/2017 at 11:05:40 AM by markuscam

I have found the solution to the problem. With the new version of Firefox everything works correctly. I downloaded the latest versions of Mozilla and Chorme and the camera works perfectly. I can make video calls without problem.

You can close the ticket. regards

comment:16 Changed on 12/12/2017 at 03:03:08 PM by diegocarloslima

  • Resolution set to rejected
  • Status changed from reopened to closed

Add Comment

Modify Ticket

Change Properties
as closed .
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from rjeschke.
Note: See TracTickets for help on using tickets.