The functionality has been fully subsumed by the new
initialBrowsingContextGroupId attribute, so it is no longer necessary.
Differential Revision: https://phabricator.services.mozilla.com/D85653
This attribute can be used to force non-tab extension browsers to be loaded in
the correct BrowsingContextGroup, and also subsumes the existing
sameProcessAsFrameLoader uses in extension code.
Differential Revision: https://phabricator.services.mozilla.com/D85652
Before bug 1584935, the frame for the browser element was created
directly after the .appendChild call, but after that we need to wait
for layout to happen in order to guarantee it.
The code was duplicated in ExtensionXPCShellUtils.jsm so I also put the
wait there.
Differential Revision: https://phabricator.services.mozilla.com/D76601
A test used `encodeURIComponent` on a query string and expected the
resulting URL to be comparable with URLs in a progress listener.
But `encodeURIComponent` doesn't escape an apostrophe (`'`), whereas
`'` is percent-encoded as `%27` via nsIURI.
To ensure that it works as expected, use `nsIURI::equals` to compare
URLs instead of doing string comparisons.
Differential Revision: https://phabricator.services.mozilla.com/D79304
Before bug 1584935, the frame for the browser element was created
directly after the .appendChild call, but after that we need to wait
for layout to happen in order to guarantee it.
We could manually flush layout, or do a double-RAF for that. I've gone
for the later.
The code was duplicated in ExtensionXPCShellUtils.jsm so I also put the
wait there.
Differential Revision: https://phabricator.services.mozilla.com/D76601
This value is determined in Parent process and passed down to nsDocShell. Delete
the messages to pass the setting down and set it on the BrowsingContext in the
Parent process.
Refactor the code that determines to opt-out of using global history. Code
inspection determines that windowless browsing contexts want to opt-out as well
as any frame with `disableglobalhistory` attribute set on it.
Differential Revision: https://phabricator.services.mozilla.com/D72279
Before this patch, the TabDelegate was "special" as in it had just one global
delegate that receives events for all extensions and sessions. This was done to
allow mochitests to call tabs.create and tabs.remove.
This hack is no longer needed as now we can notify the embedding layer that a
new extension has been installed and we have a way to list currently installed
extensions.
This patch makes TabDelegate behave the same as the other delegates
(ActionDelegate and MessageDelegate) and will allow further simplications of
the WebExtension Delegate code.
Differential Revision: https://phabricator.services.mozilla.com/D64799
Before this patch, the TabDelegate was "special" as in it had just one global
delegate that receives events for all extensions and sessions. This was done to
allow mochitests to call tabs.create and tabs.remove.
This hack is no longer needed as now we can notify the embedding layer that a
new extension has been installed and we have a way to list currently installed
extensions.
This patch makes TabDelegate behave the same as the other delegates
(ActionDelegate and MessageDelegate) and will allow further simplications of
the WebExtension Delegate code.
Differential Revision: https://phabricator.services.mozilla.com/D64799
Move a prior fix from bug 1582053 into the test ini files. This allows other tests that use the test utils to also rely on remote settings working properly.
Differential Revision: https://phabricator.services.mozilla.com/D62810
This is generally pretty straightforward, and rewrites nearly all calls. It
skips the ones that it can detect using frame script globals like
`sendAsyncMessage`, though.
Differential Revision: https://phabricator.services.mozilla.com/D53740
This is generally pretty straightforward, and rewrites nearly all calls. It
skips the ones that it can detect using frame script globals like
`sendAsyncMessage`, though.
Differential Revision: https://phabricator.services.mozilla.com/D53740
This is generally pretty straightforward, and rewrites nearly all calls. It
skips the ones that it can detect using frame script globals like
`sendAsyncMessage`, though.
Differential Revision: https://phabricator.services.mozilla.com/D53740
This is generally pretty straightforward, and rewrites nearly all calls. It
skips the ones that it can detect using frame script globals like
`sendAsyncMessage`, though.
Differential Revision: https://phabricator.services.mozilla.com/D53740
Add new preference `extensions.webextensions.warnings-as-errors` that
defaults to `true` in tests. Tests that expect warnings are modified
to briefly flip the pref for the specific part of the test that needs
an exception.
As part of the refactor, log entries for schema entries that contain
`"onError": "warn"` will now be prefixed by "Warning" instead of
"Error", to be consistent with the change from bug 1495908.
Differential Revision: https://phabricator.services.mozilla.com/D40548
Add new preference `extensions.webextensions.warnings-as-errors` that
defaults to `true` in tests. Tests that expect warnings are modified
to briefly flip the pref for the specific part of the test that needs
an exception.
As part of the refactor, log entries forschema entries that contain
`"onError": "warn"` will now be prefixed by "Warning" instead of
"Error", to be consistent with the change from bug 1495908.
Differential Revision: https://phabricator.services.mozilla.com/D40548