Closed Bug 1525447 Opened 5 years ago Closed 5 years ago

incognito support for proxy api


(WebExtensions :: Request Handling, enhancement, P1)



(firefox67 verified)

Tracking Status
firefox67 --- verified


(Reporter: mixedpuppy, Assigned: mixedpuppy)


(Blocks 2 open bugs, Regression)


(Keywords: dev-doc-complete, regression)


(2 files)

Proxy is a touch different in some ways.

  • onRequest can work fine in non-private contexts.
  • proxy.settings can affect private contexts, and since it can push data through a proxy, we should require private permissions.
  • proxy.register should die, but it hasn't. It should definitely require private permission.

We'll have to followup with a mechanism to remove settings on upgrade to a version of firefox that prefs on this feature, that is in bug 1525428.

We may need a followup bug if we decide we want to keep proxy extensions enabled in private browsing through the upgrade. ni?mconca for this.

Flags: needinfo?(mconca)
Blocks: 1525428

@mconca, regarding proxy.register. After looking at the implementation, we do not get data in the proxy filter to know if the request is private or not. We'd have to do lower level changes to the proxy service to maybe get that data. As such, I'm leaving this disabled, requiring permission to use.

Blocks: 1526299

Current plan is to leaving extensions enabled in pbm windows through an upgrade. This keeps proxy extensions working.

We should document the behavior of proxy in pbm and non-pbm windows so, for new installs, developers know what to expect and communicate with their users. Also, we should file a networking bug to separate the behaviors so that this issue eventually goes away.

Flags: needinfo?(mconca)

doc: proxy.settings.set will require private window access. Other proxy APIs will otherwise work.

Keywords: dev-doc-needed
Pushed by
support incognito setting in proxy api r=zombie

(In reply to Arthur Iakab [arthur_iakab] from comment #8)

:mixedpuppy could you please take a look?

Test just needs to be disabled on android.

Flags: needinfo?(mixedpuppy)
Pushed by
support incognito setting in proxy api r=zombie
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla67

Verfied as fixed using Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0 , buildid 20190220040540.

I will attach a post fix video.

Attached image Postfix video
Regressed by: 1552248
Keywords: regression

Added a note on the proxy.settings page:

Note: The ability to change proxy settings when running in a private window or tab requires private window access.

I also added this to the release notes:

Using the proxy.settings.set() method to change {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} values will not work in private browsing mode when the extension doesn't have private window access ({{bug(1525447)}}).

Flags: needinfo?(mixedpuppy)

This should be something like:

"The ability to change proxy settings requires private window access even if only used in non-private windows. This is because proxy settings will affect both private and non-private windows. If the user has not granted private window permission to the extension, using proxy.settings.set will throw an exception."

Flags: needinfo?(mixedpuppy) → needinfo?(ismith)

This is what I ended up with:

The ability to change proxy settings requires private window access because proxy settings affect both private and non-private windows. Therefore, if an extension has not been granted private window permission, calls to proxy.settings.set() will throw an exception.

Flags: needinfo?(ismith)
See Also: → 1729315
Has Regression Range: --- → yes
You need to log in before you can comment on or make changes to this bug.