Граф коммитов

2544 Коммитов

Автор SHA1 Сообщение Дата
Bogdan Tara f863a91210 Backed out changeset 2548f39e1751 (bug 1641711) for lints.py failure CLOSED TREE 2020-05-29 12:37:18 +03:00
Agi Sferro 465a4e3f1a Bug 1641711 - Don't fail the build if javadoc fails. r=nalexander,snorp
`|mach lint -f treeherder|` expects lints to not fail ever, if a lint fails it's
just ignored. This means that when our javadoc errors out and fails the build
all lints are ignored.

To avoid that we add `failOnError = false` to the javadoc job so that we can
finish the build and actually report the errors.

This patch also adds gradle output `|mach lint|` to make it easier to
diagnose errors in the lint.

Differential Revision: https://phabricator.services.mozilla.com/D77373
2020-05-29 00:24:22 +00:00
Eugen Sawin 6a2dd06f72 Bug 1641475 - [1.0] Fix Javadoc warnings. r=geckoview-reviewers,droeh
Differential Revision: https://phabricator.services.mozilla.com/D77311
2020-05-28 21:12:05 +00:00
Aaron Klotz bcc33f9b49 Bug 1641315: Fix crash when a binding connection is lost during final connection setup; r=geckoview-reviewers,agi
This crash hits when a `RemoteException` is thrown during `onServiceConnected`.
We `unbind`, which destroys all our bookkeeping data. During this destruction,
we also attempt to retrieve the pid, which fails because we lost our binding
before we had a chance to retrieve it.

This patch adds a new exception to be thrown in this case, which we explicitly
catch in `removeContentConnection`.

Differential Revision: https://phabricator.services.mozilla.com/D77135
2020-05-27 23:08:07 +00:00
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
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 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
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
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
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
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
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
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
Aaron Klotz 819b856572 Bug 1638105: Remove obsolete assumeThat statement from ContentDelegateTest; r=geckoview-reviewers,agi
This is no longer necessary now that we've gotten rid of the `aww_crap_handler`
stuff in x86 debug builds.

Differential Revision: https://phabricator.services.mozilla.com/D75400
2020-05-14 20:34:09 +00:00
Agi Sferro 1b07d9e24b Bug 1637803 - Expose WebExtension.isBuiltIn. r=owlish,droeh
Differential Revision: https://phabricator.services.mozilla.com/D75227
2020-05-14 17:48:25 +00:00
John Lin a76ca42590 Bug 1635446 - cancel async callback for released codec. r=geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D74991
2020-05-13 15:25:19 +00:00
Aaron Klotz 796d8c15ae Bug 1630229: Part 4 - Register ChildConnection after bind instead of start; r=geckoview-reviewers,snorp
1. `GeckoProcessManager.ConnectionManager.onStartComplete` is called later than
   it ideally should be; it would be better to do this as soon as binding is
   complete, rather than as soon as `start` is complete. To accomplish this:

* We rename `onStartComplete` to `onBindComplete` and call it as soon as we
  have successfully bound.
* We call `IChildProcess.getPid` as soon as we're bound and immediately clean
  up if that fails.
* This implies that `getPid` should always have a pid and should not need to
  call into `IChildProcess` during the remaining lifetime of the connection.
  This allows us to eliminate exception throwing from `getPid`, and thus we may
  also remove `getPidFallible`.
* This also means that we no longer need to explicitly call `getPid` in
  `GeckoProcessManager.preload`.

2. We also use `XPCOMEventTarget.runOnLauncherThread` so that we do not need to
   bounce through the launcher thread's event queue unnecessarily.

3. I noticed that we do not unbind the connection if the start fails but we
   are not retrying. We should be unbinding regardless of whether we are going
   to retry.

Differential Revision: https://phabricator.services.mozilla.com/D74500
2020-05-12 18:59:20 +00:00
owlishDeveloper 72cf60fade Bug 1635862 - Add object URI support to WebExecutor r=geckoview-reviewers,snorp
Differential Revision: https://phabricator.services.mozilla.com/D74465
2020-05-11 17:51:05 +00:00
Nikita Kozhemiakin 2158dd66ed Bug 1523544 - Change exoplayer2 package name. r=geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D74068
2020-05-11 07:24:57 +00:00
Dylan Roeh cfe61718b3 Bug 1628388 - Add ACCEPT_FIRST_PARTY_AND_ISOLATE_OTHERS to CookieBehavior to support dFPI and add a setting to control it to GVE. r=esawin,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D73473
2020-05-08 15:51:09 +00:00
John Lin b873d056bc Bug 1634170 - clear crypto info before reusing recycled sample. r=geckoview-reviewers,esawin
Differential Revision: https://phabricator.services.mozilla.com/D73989
2020-05-06 12:00:22 +00:00
Csoregi Natalia d68addcbf2 Backed out changeset 44a166a4efdb (bug 1555255) for causing bustage of android-sdk-linux because the docs package doesn't exist anymore. CLOSED TREE 2020-05-06 07:12:30 +03:00
Agi Sferro 82fa9ddcde Bug 1601067 - Add deprecation notice for registerWebExtension. r=droeh
Differential Revision: https://phabricator.services.mozilla.com/D73514
2020-05-05 23:02:49 +00:00
Agi Sferro a017477abe Bug 1601067 - Make the test-support extension installable. r=owlish,snorp
Differential Revision: https://phabricator.services.mozilla.com/D72980
2020-05-05 23:02:51 +00:00
Agi Sferro 2cf1ad60da Bug 1601067 - Use installBuiltIn in tests instead of registerWebExtension. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D72979
2020-05-05 23:02:53 +00:00
Agi Sferro 6122ab6818 Bug 1601067 - Implement installBuiltIn. r=mixedpuppy,owlish,snorp
Differential Revision: https://phabricator.services.mozilla.com/D72978
2020-05-05 23:02:56 +00:00
Agi Sferro 87a2e3d943 Bug 1601067 - Add IDs and nativeMessagingFromContent to tests. r=snorp
This in preparation to making these test extensions installable.

Differential Revision: https://phabricator.services.mozilla.com/D72977
2020-05-05 23:02:58 +00:00
Agi Sferro ee5f146bcd Bug 1601067 - Add nativeMessagingFromContent privileged permission. r=zombie,snorp
Installed privileged addons in GeckoView sometimes need to send messages from
content scripts. Today we use the in-memory flag `ALLOW_CONTENT_MESSAGING` to
allow a specific built-in addon to send messages from content scripts, but for
installed extensions we need a way to persist this flag.

To do this, this patch introduces a new privileged permission
`nativeMessagingFromContent`, when this permission is present in the manifest,
the addon will be allowed to send native messages from content scripts (note:
the addon will also need `nativeMessaging` as usual).

When the permission is not present, any attempt to send a native message from a
content script will result in an error, similarly to what happens before this
patch.

Differential Revision: https://phabricator.services.mozilla.com/D72976
2020-05-05 23:02:47 +00:00
Agi Sferro 4827a18544 Bug 1601067 - Collect NewTab messages until a delegate is registered. r=snorp
Sometimes extensions call tabs.create immediately on startup. In that case the
delegate may not be attached yet. To avoid losing these messages we store them
until a delegate is attached.

This also includes a refactoring to unify behavior for delegates. Eventually I
want to factor out delegates similarly to what happens in GeckoSession today.

Differential Revision: https://phabricator.services.mozilla.com/D72975
2020-05-05 23:08:01 +00:00
Agi Sferro 596114f140 Bug 1601067 - Only send ActionDelegate:Attached when the delegate is not null. r=snorp
We use this to send a default action to the embedder, but if no one is
listening there's no point, and it causes problems in tests because sometimes
the delegate is attached / reattached too quickly and the second delegate will
end up getting two messages by mistake.

Differential Revision: https://phabricator.services.mozilla.com/D72974
2020-05-05 23:02:44 +00:00
Mihai Alexandru Michis d8308aa13f Backed out 9 changesets (bug 1601067) for causing gv failures in WebExecutorTest.
CLOSED TREE

Backed out changeset a57940d6af63 (bug 1601067)
Backed out changeset d16aa7b33165 (bug 1601067)
Backed out changeset f5d8f660ba87 (bug 1601067)
Backed out changeset 3b4e20521d4b (bug 1601067)
Backed out changeset b396fa314c25 (bug 1601067)
Backed out changeset 62f5d5d34162 (bug 1601067)
Backed out changeset fe94f4277bfa (bug 1601067)
Backed out changeset b15906852fe4 (bug 1601067)
Backed out changeset 23d021ef34c4 (bug 1601067)
2020-05-06 01:58:11 +03:00
Agi Sferro 69645103b4 Bug 1601067 - Add deprecation notice for registerWebExtension. r=droeh
Differential Revision: https://phabricator.services.mozilla.com/D73514
2020-05-05 22:19:42 +00:00
Agi Sferro d713c54e7d Bug 1601067 - Make the test-support extension installable. r=owlish,snorp
Differential Revision: https://phabricator.services.mozilla.com/D72980
2020-05-05 22:19:30 +00:00