Commit Graph

29884 Commits

Author SHA1 Message Date
Anny Gakhokidze
28243d5736 Bug 1630323 - Do not override user preferences when clicking on a service worker notification to open a new document, r=Gijs,nika,geckoview-reviewers,snorp
In Bug 1622749 a user preference for where to open new documents (from a
service worker notification) was temporarily overriden in order to quickly fix
a crash that was happening in mozilla::dom::ClientOpenWindow. The crash was
ocurring when the pref "browser.link.open_newwindow" was set to 2, meaning new
documents are opened in a new window, instead of a new tab. The reason the
browser crashed is because the path for opening a new document is different
depending on the current user setting, and in NEWWINDOW case we did not get a
browsing context returned when calling mozilla::dom::OpenWindow which resulted
in a failed assertion.

The solution is to pass in a callback to mozilla::dom::OpenWindow as part of
nsOpenWindowInfo object, and invoke that callback with a corresponding
BrowsingContext in nsFrameLoader when that browsing context is ready.

After we call mozilla::dom::OpenWindow, we wait on a promise, that will be
resolved when the callback is invoked, before executing the rest of the code
that depends on the browsing context for a newly opened document being
available.

Differential Revision: https://phabricator.services.mozilla.com/D72745
2020-05-27 18:15:36 +00:00
Agi Sferro
5b00703f08 Bug 1629113 - Add missing documentation to onBeforeUnloadPrompt. r=esawin
Differential Revision: https://phabricator.services.mozilla.com/D76964
2020-05-27 15:10:46 +00:00
Eugen Sawin
0ddffb01f3 Bug 1640990 - [1.1] Add login autofill runtime setting. r=geckoview-reviewers,MattN,snorp
Differential Revision: https://phabricator.services.mozilla.com/D76891
2020-05-27 14:04:52 +00:00
Agi Sferro
0f0c68a81d Bug 1640743 - Update WebExtension example links. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D76756
2020-05-26 19:31:01 +00:00
Agi Sferro
c1406546b5 Bug 1629113 - Use |class| in GeckoViewPrompt.jsm r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D75879
2020-05-26 07:44:49 +00:00
Agi Sferro
c36e973433 Bug 1629113 - Move remaining services to components.conf. r=snorp,baku
Differential Revision: https://phabricator.services.mozilla.com/D75878
2020-05-26 07:44:52 +00:00
Agi Sferro
7cdda27e40 Bug 1629113 - Move prompt classes to its own modules. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D75877
2020-05-26 16:35:28 +00:00
Agi Sferro
903fea5453 Bug 1629113 - Use |class| more in GeckoViewPrompt. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D75876
2020-05-26 16:33:21 +00:00
Agi Sferro
4b055fe237 Bug 1629113 - Move GeckoViewPrompt.js to static component. r=droeh,pbz,MattN
Differential Revision: https://phabricator.services.mozilla.com/D75875
2020-05-26 07:44:44 +00:00
Butkovits Atila
a2bda5fd7e Backed out 5 changesets (bug 1629113) for causing Geckoview perma failures. CLOSED TREE
Backed out changeset cd5c87a17008 (bug 1629113)
Backed out changeset 3729b2c288ba (bug 1629113)
Backed out changeset 2cd92d6c2998 (bug 1629113)
Backed out changeset 6d7c87f3c329 (bug 1629113)
Backed out changeset 2bcba09433b5 (bug 1629113)
2020-05-26 10:39:42 +03:00
Agi Sferro
cd12daf7d8 Bug 1629113 - Use |class| in GeckoViewPrompt.jsm r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D75879
2020-05-26 04:14:15 +00:00
Agi Sferro
398b7f2e76 Bug 1629113 - Move remaining services to components.conf. r=snorp,baku
Differential Revision: https://phabricator.services.mozilla.com/D75878
2020-05-26 04:14:12 +00:00
Agi Sferro
c4530466c4 Bug 1629113 - Move prompt classes to its own modules. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D75877
2020-05-26 04:14:05 +00:00
Agi Sferro
74d9fc93d1 Bug 1629113 - Use |class| more in GeckoViewPrompt. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D75876
2020-05-26 04:14:05 +00:00
Agi Sferro
e5ad06bfc2 Bug 1629113 - Move GeckoViewPrompt.js to static component. r=droeh,pbz,MattN
Differential Revision: https://phabricator.services.mozilla.com/D75875
2020-05-26 04:14:00 +00:00
Eugen Sawin
3e1783def2 Bug 1618058 - [4.3] Update API changelog. r=geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D74685
2020-05-25 13:12:33 +00:00
Eugen Sawin
a81483a92c Bug 1618058 - [3.3] Rename and extend LoginStorage tests to Autocomplete tests. r=geckoview-reviewers,agi,snorp
Differential Revision: https://phabricator.services.mozilla.com/D73060
2020-05-25 18:46:15 +00:00
Eugen Sawin
077dbf3832 Bug 1618058 - [2.c.7] Implement Autocomplete API backend. r=geckoview-reviewers,MattN,aklotz
Differential Revision: https://phabricator.services.mozilla.com/D73753
2020-05-25 18:45:25 +00:00
Eugen Sawin
1e6ebcef70 Bug 1618058 - [2.b.3] Refactor LoginStorage backend API to the Autocomplete backend API. r=geckoview-reviewers,droeh
Differential Revision: https://phabricator.services.mozilla.com/D73057
2020-05-25 18:44:47 +00:00
Eugen Sawin
8a665d9c0e Bug 1618058 - [1.4] Add Autocomplete API for login autocomplete. r=geckoview-reviewers,snorp,agi
Differential Revision: https://phabricator.services.mozilla.com/D73055
2020-05-25 18:43:15 +00:00
Aaron Klotz
025407f0ea Bug 1625325: Part 1 - Add telemetry timer to record GeckoView content process lifetimes; r=geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D76378
2020-05-22 23:21:50 +00:00
Agi Sferro
cabca57aba Bug 1629113 - Implement nsIPromptCollection on GeckoView. r=snorp,droeh
Differential Revision: https://phabricator.services.mozilla.com/D72722
2020-05-22 23:22:41 +00:00
Agi Sferro
55a1cf51ab Bug 1629113 - Factor out prompter logic in GeckoViewPrompter. r=droeh
Differential Revision: https://phabricator.services.mozilla.com/D75874
2020-05-22 23:22:34 +00:00
James Willcox
b4862ab01a Bug 1611035 - Grant "desktop-notification" when delivering Web Push in GeckoView r=geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D76218
2020-05-21 20:20:40 +00:00
Nazım Can Altınova
e135e0b3f6 Bug 1639630 - Increase the java sample count limit to 120000 to cover up to 2 mins with 1ms interval. r=julienw,geckoview-reviewers,agi
Depends on D76180

Differential Revision: https://phabricator.services.mozilla.com/D76181
2020-05-21 21:20:38 +00:00
Nazım Can Altınova
cdad822203 Bug 1639630 - Use the limited sample count instead of non-limited one. r=julienw,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D76180
2020-05-21 21:20:37 +00:00
Rob Wu
ac650df53f Bug 1636158 - Remove addons-bloomfilters from Android package r=agi,geckoview-reviewers,snorp
Those will be restored in bug 1639050

Differential Revision: https://phabricator.services.mozilla.com/D76157
2020-05-20 16:39:05 +00:00
Aaron Klotz
f65b5795c7 Bug 1630229: Part 8 - Stop throwing AssertionError for binding of defunct ServiceAllocator.InstanceInfo; r=geckoview-reviewers,owlish
I'm keeping this patch as simple as possible so that we can uplift to beta.
I'll sort out the rest of this in follow-up bugs.

Differential Revision: https://phabricator.services.mozilla.com/D76333
2020-05-21 19:11:22 +00:00
Bogdan Tara
5e15baf1e4 Backed out changeset e562d64f2bf9 (bug 1630229) for lints failure on ServiceAllocator.java CLOSED TREE 2020-05-21 21:47:57 +03:00
Aaron Klotz
06cd8d0427 Bug 1630229: Part 8 - Stop throwing AssertionError for binding of defunct ServiceAllocator.InstanceInfo; r=geckoview-reviewers,owlish
I'm keeping this patch as simple as possible so that we can uplift to beta.
I'll sort out the rest of this in follow-up bugs.

Differential Revision: https://phabricator.services.mozilla.com/D76333
2020-05-21 17:53:08 +00:00
Emilio Cobos Álvarez
7b19f0d6d4 Bug 1609024 - Remove cache mechanism which is not very useful. r=hiro,snorp,mccr8
I don't think all this complexity is worth it for having a
marginally-more-realistic testing story. Using the pref just works and we should
do that, I think.

Differential Revision: https://phabricator.services.mozilla.com/D59980
2020-05-21 17:02:06 +00:00
Emily Toop
bcb67c8680 Bug 1639180 - Port docs to Sphinx and reST and stop copying to GitHub. r=geckoview-reviewers,snorp
Differential Revision: https://phabricator.services.mozilla.com/D75935
2020-05-20 15:22:32 +00:00
Mihai Alexandru Michis
e9d51d0f4d Backed out changeset 141fda86ce58 (bug 1639180) for causing rst lint failures.
CLOSED TREE
2020-05-20 15:24:58 +03:00
Emily Toop
3a5a675f9f Bug 1639180 - Port docs to Sphinx and reST and stop copying to GitHub. r=geckoview-reviewers,snorp
Differential Revision: https://phabricator.services.mozilla.com/D75935
2020-05-19 14:51:17 +00:00
Aaron Klotz
dba6e9ff37 Bug 1639435: Remove GeckoProcessManager.buildLogMsg and change its callsite to just use a literal string; r=geckoview-reviewers,droeh
`GeckoProcessManager.buildLogMsg` requires a successful bind to construct its
message, but its only remaining callsite is only invoked when a bind fails,
so it blows up.

This patch eliminates `buildLogMsg` and just changes the callsite to use
a string literal.

Differential Revision: https://phabricator.services.mozilla.com/D76086
2020-05-20 05:02:56 +00:00
Dan Glastonbury
b4dde7ce2a Bug 1633459 - Marshal customUserAgent setting via nsDocShell. r=geckoview-reviewers,esawin,nika
Reinstate customUserAgent interface for nsIDocShell. This is so it can be used
as a choke-point to catch setting values on docshells which are in the process
of changing process. We don't want to send changes which will be rejected on the
parent side.

This code should be removed once callers setting customUserAgent are refactored
to only occur from parent process.

Differential Revision: https://phabricator.services.mozilla.com/D75006
2020-05-20 00:19:59 +00:00
Aaron Klotz
646a40b5ed Bug 1625326: Add priority management for non-content child processes to GeckoProcessManager; r=geckoview-reviewers,agi
* We modify connection management such that we now use more specific connection
  types for {content, non-content, socket process} connections.
* We attach a native counterpart to the `GeckoProcessManager.ConnectionManager`
  instance that listens for app foreground, app background, and when the
  socket process is enabled, network state events.
* On app background, all non-content processes are assigned BACKGROUND priority.
  Even though backgrounding the app will cause Android to drop all child
  processes' priority regardless of our priority settings, we still do this as
  to indicate to Android that these processes are relatively less important
  than our parent process.
* When the socket process is enabled, we drop its priority when we detect that
  we have no network connectivity. Note that the network management code does
  the Right Thing if network connectivity changes while our app was in the
  background: we receive the network state change event once we return to
  foreground, therefore we do not need to do any special handling ourselves.

Differential Revision: https://phabricator.services.mozilla.com/D74478
2020-05-19 21:34:05 +00:00
John Lin
2be9f52cfa Bug 1619550 - p1: listen to media segment load event and pass the URL to resource wrapper. r=bryce,geckoview-reviewers,snorp
Differential Revision: https://phabricator.services.mozilla.com/D74989
2020-05-19 14:51:07 +00:00
Dylan Roeh
2157c7820c Bug 1596825 - Add NavigationDelegate.onSubframeLoadRequest to handle non-top-level load requests. r=snorp,mattwoodrow,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D74939
2020-05-19 17:05:42 +00:00
David Teller
49d5a4d3b4 Bug 1636089 - ActorManagerParent.addJSProcessActors;r=kmag,geckoview-reviewers,snorp
Differential Revision: https://phabricator.services.mozilla.com/D75047
2020-05-19 16:29:36 +00:00
Eugen Sawin
b4fb238257 Bug 1638904 - [2.0] Add a private mode context ID test. r=geckoview-reviewers,agi
Depends on D75822

Differential Revision: https://phabricator.services.mozilla.com/D75823
2020-05-18 18:44:33 +00:00
Eugen Sawin
d4eadbda81 Bug 1638904 - [1.0] Add a private mode content blocking exception test. r=agi,geckoview-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D75822
2020-05-18 18:46:54 +00:00
Makoto Kato
6095b334e1 Bug 1638251 - Remove unused members in Frame from GeckoJavaSampler. r=geckoview-reviewers,aklotz,canaltinova
fileName and lineNo are unused now.

Differential Revision: https://phabricator.services.mozilla.com/D75481
2020-05-18 14:15:28 +00:00
Gabriel Luong
7c5d0ed09c Bug 1622500 - Implement cookieStoreId parameter for tabs.create. r=geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D71817
2020-05-15 22:17:59 +00:00
Aaron Klotz
31a6668805 Bug 1630229: Part 7 - Remove explicit kill from GeckoProcessManager and just let Android do its thing; r=geckoview-reviewers,agi
I'm wondering whether Gecko's response to noticing that the child process was
killed is causing some notifications on the launcher thread to arrive out of
order from others. Removing the kill since we can just let Android handle
process termination.

Differential Revision: https://phabricator.services.mozilla.com/D75416
2020-05-15 19:44:26 +00:00
Aaron Klotz
c160fa58d9 Bug 1630229: Part 6 - When attempting to bind a defunct connection, throw a BindException in non-debug builds; r=geckoview-reviewers,agi
Since this is so common, let's reserve the `AssertionError` for debug builds.
In non-debug builds we will throw a `ServiceAllocator.BindException` which
will be caught and used for completing the bind promise.

GeckoProcessManager will retry unbinding and restarting the process, which
hopefully will mitigate the problem.

We also make some improvements to exception handling hygeine.

Differential Revision: https://phabricator.services.mozilla.com/D75415
2020-05-15 21:55:12 +00:00
Aaron Klotz
eda11d2c38 Bug 1630229: Part 5 - GeckoProcessManager: When start fails, chain resolution of the result promise to the bind shutdown promise; r=geckoview-reviewers,agi
Currently `unbind()` is more or less synchronous, but since those semantics may
change in the future, for the sake of cleanliness we should ensure that our
reaction is linked to `unbindResult`.

Differential Revision: https://phabricator.services.mozilla.com/D75414
2020-05-15 19:47:56 +00:00
Aaron Klotz
bba080d9d9 Bug 1637452: Part 18 - Remove support for unified JNI headers from AnnotationProcessor and build system; r=nalexander,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D75381
2020-05-15 17:06:35 +00:00
Jamie Nicol
b10845210b Bug 1633432 - Don't detach SurfaceTextures from GL context on Pause(). r=sotaro,geckoview-reviewers,snorp,imanol
In bug 1470348 we started to detach all SurfaceTextures from the
current GL context in CompositorOGL::Pause(). This was required for
VR, so that when the VR presentation was entered the SurfaceTextures
could be attached to the VR context instead.

When RenderCompositorEGL was implemented for webrender, we copied the
call to detach from CompositorOGL. However, due to extra complexity in
webrender's threading model, this is causing assertion failures.

VR no longer relies upon the SurfaceTextures being detached when the
compositor is paused, as it now uses its own SurfaceTexture
set. Therefore we can remove the detach call from both
CompositorOGL::Pause and RenderCompositorEGL::Pause.

Differential Revision: https://phabricator.services.mozilla.com/D74832
2020-05-15 12:05:15 +00:00
alwu
f986ca0c1f Bug 1509933 - part1 : add new pref 'media.autoplay.blocking_policy'. r=geckoview-reviewers,snorp,padenot
This patch will do :
- rename the old pref `media.autoplay.enabled.user-gestures-needed` to  the new pref `media.autoplay.blocking_policy`
- modify the value of the pref to `int` in order to introduce new policy
- implement new policy in `AutoplayPoliocy`

The advantage of doing so :
- rename the pref to explicitly indicate that it's related the block policy we use
- use the transient user gesture activation as a new policy to replace the old one using the user input, which doesn't work on the async handler

More details :
The old `click-to-play` policy we use is using the user input to determine if the play invocation is called by users or by scripts. But `UserActivation::IsHandlingUserInput()` is buggy which would fail when you call `video.play()` inside an async event handler. So we would like to replace it with the new transient user activation, which would treat the action as an user input if the action is performed within a certain period of time after a user interacts (eg. click) with the page.

[1] https://html.spec.whatwg.org/multipage/interaction.html#transient-activation

Differential Revision: https://phabricator.services.mozilla.com/D73971
2020-05-15 03:40:31 +00:00