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

29995 Коммитов

Автор SHA1 Сообщение Дата
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
Dorel Luca 68c900462b Backed out 3 changesets (bug 1509933) for Linting failure in gecko/mobile/android/app/mobile.js. CLOSED TREE
Backed out changeset c15ecdcd5d13 (bug 1509933)
Backed out changeset 951ea1d0f42a (bug 1509933)
Backed out changeset 3abb24d6dfc9 (bug 1509933)
2020-05-15 05:02:07 +03:00
alwu 8ed9cb7dbc 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 01:39:31 +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
Nick Alexander 144ad7135d Bug 1448428 - Part 2: Transition "HardwareCodecCapabilityUtils" away from "unified" GeneratedJNI{Natives,Wrappers}.h header. r=snorp,geckoview-reviewers
Depends on D58574

Differential Revision: https://phabricator.services.mozilla.com/D58575
2020-05-13 18:11:06 +00:00
Aaron Klotz badc3f721e Bug 1448428 - Part 1d: Change naming scheme for generated source files; r=snorp,nalexander,geckoview-reviewers
We update the name generation code to dump the files into:
```
OBJDIR/widget/android/GeneratedJNI
```

which are then exported to `mozilla/java`

Differential Revision: https://phabricator.services.mozilla.com/D74720
2020-05-13 17:53:17 +00:00
Nick Alexander 468e8ee4f6 Bug 1448428 - Part 1c: Allow incremental transition away from "unified" GeneratedJNI{Natives,Wrappers}.h header. r=snorp,geckoview-reviewers
This establishes a "high-water" mark that will make new files not be
"unified", and will allow to burn down the list of files require
unification.

Depends on D58573

Differential Revision: https://phabricator.services.mozilla.com/D58574
2020-05-13 18:11:06 +00:00
Nick Alexander 73af4ee38b Bug 1448428 - Part 1b: Maintain "unified" GeneratedJNI{Natives,Wrappers}.h header. r=snorp,geckoview-reviewers
It's not trivial to split the existing "unified" include declaration
into granular include declarations, so we continue generating a
unified header that can be incrementally abandoned until it can be
jettisoned.

Depends on D58572

Differential Revision: https://phabricator.services.mozilla.com/D58573
2020-05-13 17:46:54 +00:00
Nick Alexander fe6281cdc0 Bug 1448428 - Part 1a: Split generated JNI wrappers into multiple files. r=snorp,geckoview-reviewers
This handles the build system bits.

The subsequent patch will restore the "unified"
GeneratedJNI{Natives,Wrappers}.h header files, and will be folded into
this one before landing.

What will still remain is to update the consumers of the .h files (all
the current #include lines) to use the fine-grained imports.  At that
time the "unified" header files can be removed entirely.

Differential Revision: https://phabricator.services.mozilla.com/D58572
2020-05-13 17:46:46 +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
Agi Sferro 4acba26b6f Bug 1637324 - Clarify native app ids for GeckoView. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D74896
2020-05-13 15:14:29 +00:00
Agi Sferro 29cdfeaa15 Bug 1637324 - Update docs to use installBuiltIn r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D74894
2020-05-13 15:14:17 +00:00
Agi Sferro 10d7d02ef2 Bug 1637324 - Update examples to use installBuiltIn. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D74893
2020-05-13 15:14:37 +00:00
Razvan Maries 2fe860484b Backed out 5 changesets (bug 1448428) for build bustages at SocketProcessParent.cpp. CLOSED TREE
Backed out changeset 192294c1413a (bug 1448428)
Backed out changeset da732f0c37d5 (bug 1448428)
Backed out changeset c48617a975e9 (bug 1448428)
Backed out changeset 92ca5adb7eb3 (bug 1448428)
Backed out changeset 3a3c734343f3 (bug 1448428)
2020-05-13 02:20:24 +03:00
Nick Alexander 212dc32562 Bug 1448428 - Part 2: Transition "HardwareCodecCapabilityUtils" away from "unified" GeneratedJNI{Natives,Wrappers}.h header. r=snorp,geckoview-reviewers
Depends on D58574

Differential Revision: https://phabricator.services.mozilla.com/D58575
2020-05-12 23:04:59 +00:00
Aaron Klotz 2b93310c1b Bug 1448428 - Part 1d: Change naming scheme for generated source files; r=snorp,nalexander,geckoview-reviewers
We update the name generation code to dump the files into:
```
OBJDIR/widget/android/jni/GeneratedJNI{Natives, Wrappers}
```

which are then exported to `mozilla/jni/natives` and `mozilla/jni/wrappers`

Differential Revision: https://phabricator.services.mozilla.com/D74720
2020-05-12 23:04:59 +00:00
Nick Alexander 1332cb4147 Bug 1448428 - Part 1c: Allow incremental transition away from "unified" GeneratedJNI{Natives,Wrappers}.h header. r=snorp,geckoview-reviewers
This establishes a "high-water" mark that will make new files not be
"unified", and will allow to burn down the list of files require
unification.

Depends on D58573

Differential Revision: https://phabricator.services.mozilla.com/D58574
2020-05-12 23:04:59 +00:00
Nick Alexander ee100fb1bf Bug 1448428 - Part 1b: Maintain "unified" GeneratedJNI{Natives,Wrappers}.h header. r=snorp,geckoview-reviewers
It's not trivial to split the existing "unified" include declaration
into granular include declarations, so we continue generating a
unified header that can be incrementally abandoned until it can be
jettisoned.

Depends on D58572

Differential Revision: https://phabricator.services.mozilla.com/D58573
2020-05-12 23:02:07 +00:00
Nick Alexander 09bb5a923b Bug 1448428 - Part 1a: Split generated JNI wrappers into multiple files. r=snorp,geckoview-reviewers
This handles the build system bits.

The subsequent patch will restore the "unified"
GeneratedJNI{Natives,Wrappers}.h header files, and will be folded into
this one before landing.

What will still remain is to update the consumers of the .h files (all
the current #include lines) to use the fine-grained imports.  At that
time the "unified" header files can be removed entirely.

Differential Revision: https://phabricator.services.mozilla.com/D58572
2020-05-12 23:01:49 +00:00
Mike Conley e08905a04a Bug 1634703 - Return nsIMediaDevice active devices list from mediaCaptureWindowState. r=jib,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D73479
2020-05-12 14:49:46 +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
Makoto Kato ec78483903 Bug 1632594 - Use Long.valueOf instead of Integer.valueOf on GeckoSession#onExternalResponse. r=geckoview-reviewers,agi
When content length is over 2GB, `WebResponseInfo.contentLength` is negative
value. Use Long.valueOf instead of Integer.valueOf to pass this value.

Differential Revision: https://phabricator.services.mozilla.com/D74586
2020-05-11 16:21:01 +00:00
Agi Sferro 3655bb2674 Bug 1636581 - Enable tabs_goBack_goForward disabled by mistake. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D74472
2020-05-11 21:47:31 +00:00
Bogdan Tara 8c5c4f1dd7 Backed out 7 changesets (bug 1634703) for testDeviceRecordingEventAudioAndVideo failures CLOSED TREE
Backed out changeset b982f5d74610 (bug 1634703)
Backed out changeset 59229853930e (bug 1634703)
Backed out changeset e017380f5539 (bug 1634703)
Backed out changeset 47a3a96b969b (bug 1634703)
Backed out changeset b4af76cfbdaf (bug 1634703)
Backed out changeset 7ef57434b09d (bug 1634703)
Backed out changeset 9df87d346b0f (bug 1634703)
2020-05-11 23:04:54 +03: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
Mike Conley f77df842d7 Bug 1634703 - Return nsIMediaDevice active devices list from mediaCaptureWindowState. r=jib,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D73479
2020-05-11 17:34:10 +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
Agi Sferro 6b2ccb034a Bug 1634493 - Re-read the policy object when exporting extensions. r=snorp
WebExtensionPolicy.getByID(id) will return a stub when called earlier during
startup. Once the startup process is complete, this object is sawpped with the
real extension policy.

Before this patch, we used to hold onto the stub object, which makes it so that
we read incorrect values even though we are waiting for the policy to be ready.

To fix this we just read the result value of the readyPromise promise.

Differential Revision: https://phabricator.services.mozilla.com/D74459
2020-05-08 19:59:49 +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
Atique Ahmed Ziad 0feacb38f7 Bug 1633328 - support tabs.goForward() and tabs.goBack() for Android r=zombie,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D73010
2020-05-08 08:23:43 +00:00
Agi Sferro 40aaada87c Bug 1635914 - Add workaround for docShellIsActive. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D74130
2020-05-06 20:49:39 +00:00
Dylan Roeh a604ef3384 Bug 1634545 - Update GVE's tracking protection settings to fix some bugs and add more control. r=geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D73348
2020-05-06 20:19:33 +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
Simon Giesecke d3e9abdf69 Bug 1626570 - Improve handling of copying arrays in mobile/. r=geckoview-reviewers,esawin
Differential Revision: https://phabricator.services.mozilla.com/D73682
2020-05-06 11:50:59 +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
Agi Sferro 25746f1383 Bug 1601067 - Catch exception thrown by newURI. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D73502
2020-05-05 23:02:42 +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
Agi Sferro 699cc8cf70 Bug 1601067 - Use installBuiltIn in tests instead of registerWebExtension. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D72979
2020-05-05 22:19:28 +00:00
Agi Sferro 859bdae8a8 Bug 1601067 - Implement installBuiltIn. r=mixedpuppy,owlish,snorp
Differential Revision: https://phabricator.services.mozilla.com/D72978
2020-05-05 22:19:26 +00:00
Agi Sferro b86a9bfbf5 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 22:19:23 +00:00
Agi Sferro f3d0825866 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 22:19:13 +00:00
Agi Sferro 5dd2be61eb 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 22:19:11 +00:00
Agi Sferro df91383e8d 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 20:54:00 +00:00
Agi Sferro 04097efffa Bug 1601067 - Catch exception thrown by newURI. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D73502
2020-05-05 20:54:00 +00:00
Aaron Klotz bebfb567e8 Bug 1635173: Add GeckoSessionTestRule.getSessionPid() to junit; r=agi,geckoview-reviewers
To support this API, we do the following:

Additions to `GeckoSessionTestRule`:
* We add an overload to `webExtensionApiCall` that accepts a `GeckoSession`
  argument. Instead of sending the message to the extension's background script,
  this overload instead sends the message to the port for the session's
  content script.
* We add `GeckoSessionTestRule.getSessionPid()` which uses the new
  `webExtensionApiCall` overload. Moving other existing APIs over to use the
  new overload is out of scope for this bug and should be done in follow-ups.

Additions to the `test-support` extension:
* We modify the content script to receive an API call message from the native
  port. It then forwards the request up to the background script. By doing it
  this way, the background script will receive the message along with the
  WebExtension `Tab` object belonging to the sender;
* The background script's message handler merges the tab into the arguments
  to the API as a `tab` property;
* The background script then calls the API and the result is returned to
  the harness using the native port, just like the normal implementation;
* We add a `GetPidForTab` API for resolving top-level PIDs from a webext tab id.

Differential Revision: https://phabricator.services.mozilla.com/D73723
2020-05-05 18:43:56 +00:00
Ian Moody 011b59d595 Bug 1536556 - Replace raw thrown Cr.ERRORs with Components.Exception. r=mossop,remote-protocol-reviewers,marionette-reviewers,whimboo,necko-reviewers,geckoview-reviewers,valentin,agi
Raw Cr.ERROR don't get stack information, same as throwing JS literals instead
of `new Error()`s.

This was done automatically with a new eslint rule that will be introduced in
the next commit.  One instance of a raw Cr.ERROR was not replaced since it is
used in a test that specifically checks the preservation of raw Cr values in
XPCJS.  The rule will be disabled for that instance.

Differential Revision: https://phabricator.services.mozilla.com/D28073
2020-05-05 17:41:36 +00:00
Agi Sferro 58bc52365d Bug 1634493 - Add GVE setting for extensions in private browsing. r=aklotz
Differential Revision: https://phabricator.services.mozilla.com/D73771
2020-05-05 18:07:47 +00:00
Agi Sferro 69074e75ca Bug 1634493 - Wait for extension policy to be ready. r=aklotz
When exporting the addon object, the extension policy sometimes is not ready
yet (very common when `list()` is called at startup), so we need to wait until
it's ready or the values in it will not be correct.

Differential Revision: https://phabricator.services.mozilla.com/D73770
2020-05-05 18:07:40 +00:00
Rob Wu f7f88112a2 Bug 1634671 - Add RS dump of addons-bloomfilters blocklist to Android r=agi
These support the new implementation of the addon blocklist (bug 1620621),
which is a more space-efficient way to represent the blocklist.

A comparison of file size was given in D73159. In short, 913KB for the
old JSON-based blocklist (addons.json), 64KB for the new one.

In practice, addons.json is 273KB compressed.

The new blocklist (addons-mlbf.bin) does not compress that well since it
is already an efficiently packed binary format.

Differential Revision: https://phabricator.services.mozilla.com/D73438
2020-05-01 19:36:43 +00:00
owlishDeveloper c0adc6fa58 Bug 1634710 - Update GeckoView Quick Start for Contributors with info on adb and logcat r=geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D73467
2020-05-01 19:44:44 +00:00
owlishDeveloper ac48ff2312 Bug 1623153 - Prevent app hanging when updating disabled web extensions r=geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D73399
2020-05-01 18:06:07 +00:00
Dylan Roeh e457bb1b2c Bug 1630073 - Reenable WebExtensionTest.loadWebExtensionPage. r=agi
Differential Revision: https://phabricator.services.mozilla.com/D73323
2020-04-30 18:29:32 +00:00
Aaron Klotz 3e64cd6ca9 Bug 1630229: Part 3 - Include process type in AssertionError message; r=geckoview-reviewers,agi
This is to make it easier to figure out what is doing this.

Differential Revision: https://phabricator.services.mozilla.com/D72968
2020-04-30 00:03:15 +00:00
Makoto Kato fc29e1e8e1 Bug 1596920 - Don't set selection on dispatching key event if unnecessary. r=geckoview-reviewers,snorp
Actually we emulate key event (down, press and up) from replace transaction of
`Editable`. When dispatching key press, we always update current caret position.

Most situations is the following.
1. Dispatch keypress
2. Dispatch another keypress
3. Receive merged text/selection change result by 1. and 2.
4. Sync shadow (Java's Editable) text with 3.'s result. It means selection is
   correct position now.
5. Dispatch keypress with correct position.

When this issue occurs, the following situation occurs.
1. Dispatch keypress
2. Dispatch another keypress
3. Receive text/selection change result of 1.
4. Sync shadow (Java's Editable) text with 3.'s result. It means selection is
   old position now.
5. Dispatch another keypress with old position.
6. Receive text/selection change result of 2.
7. Receive text/selection change result of 5.

So when dispatching key press, we shouldn't always update selection if unnecessary.
Because selection range is already often set before dispatching key press.

Differential Revision: https://phabricator.services.mozilla.com/D71179
2020-04-28 14:02:10 +00:00
owlishDeveloper 53e87dce1e Bug 1626687 - Do not handle data URIs larger than 2M on mobile r=necko-reviewers,geckoview-reviewers,valentin,snorp
Differential Revision: https://phabricator.services.mozilla.com/D72955
2020-04-29 18:07:39 +00:00
jayati 8a94be457d Bug 1634012 - Remove the browser.tabs.showAudioPlayingIcon pref.r=dao
Differential Revision: https://phabricator.services.mozilla.com/D73084
2020-04-29 17:22:48 +00:00
Shane Caraveo 35a1cb2c57 Bug 1630413 don't prompt for unlimitedStorage extension permission r=rpl
Differential Revision: https://phabricator.services.mozilla.com/D71812
2020-04-22 20:51:52 +00:00
Dylan Roeh 8276ad5d0e Bug 1632231 - Fix potential crash by gracefully failing when GV tries to add/remove/check content blocking exceptions for invalid URIs. r=esawin
Differential Revision: https://phabricator.services.mozilla.com/D72012
2020-04-29 16:45:27 +00:00
Aaron Klotz e544916dbe Bug 1622944: Update xMultipleSessions junit tests to be sensitive to dom.ipc.processCount; r=geckoview-reviewers,agi
We need to move these tests to their own class so that we can add a `@Before`
function to set up the expected start conditions.

We also need to allocate the second session in such a way that it is
hosted by the same content process as `mainSession`.

The previous scheme of waiting on each `GeckoResult` independently caused
deadlocks if the results are resolved in a different order, so I replaced those
two waits with a `GeckoView.allOf` result that will Just Work (TM).

Note that this scheme works both in single-e10s and multi-e10s
configurations.

Differential Revision: https://phabricator.services.mozilla.com/D67067
2020-04-28 21:50:06 +00:00
Shane Caraveo cb8a65428f Bug 1444294 implement browser.permissions onAdded/Removed r=robwu
Differential Revision: https://phabricator.services.mozilla.com/D71231
2020-04-27 16:20:12 +00:00
Makoto Kato 5eef0ef386 Bug 1612278 - Part 2. Re-enable TextInputDelegateTest#inputConnection. r=geckoview-reviewers,agi
Turn on some tests for InputConnection's behaviors. `inputConnection_setSelection` and `inputConnection_bug1133802` are still disabled due to Gecko issue and no good events.

Although I repeat 30 times to run this after this, no error now.

Differential Revision: https://phabricator.services.mozilla.com/D71151
2020-04-27 07:42:33 +00:00
Makoto Kato 33984be87d Bug 1612278 - Part 1. Add utility functions in TextInputDelegateTest. r=geckoview-reviewers,agi
I would like to add some common functions to wait various events.

Differential Revision: https://phabricator.services.mozilla.com/D71150
2020-04-27 07:42:26 +00:00
Makoto Kato f4194acef4 Bug 1612251 - Use Executors.newSingleThreadScheduledExecutor to support <10ms sampling. r=julienw
Actually, we use `Thread.sleep` to get next sampling duration. But as long as
old comment, this sampling min duration is 10ms. But when I test
`Executors.newSingleThreadScheduledExecutor` on old device (10 year's old
Galaxy Nexus) instead of Thread.sleep, it can use 2ms sampling duration.

So we should use ScheduledExecutorService instead.

Differential Revision: https://phabricator.services.mozilla.com/D70401
2020-04-27 02:16:54 +00:00
Masayuki Nakano 6cbea10c99 Bug 1632724 - part 1: Move common methods for handling delete selection to `EditorBase` r=m_kato
`DeleteSelection*()` are members of `TextEditor`, but they are also used by
`HTMLEditor`.  Therefore, they and pref cache members for them should be
in `EditorBase` too.

Depends on D71911

Differential Revision: https://phabricator.services.mozilla.com/D72290
2020-04-24 14:55:09 +00:00
Agi Sferro 1c11cbd114 Bug 1632922 - use const instead of let - manual fixes. r=snorp
This commit was generated manually fixing all remaining eslint failures.

Differential Revision: https://phabricator.services.mozilla.com/D72413
2020-04-24 21:53:19 +00:00
Agi Sferro dff7aa5d42 Bug 1632922 - use const instead of let - eslint --fix r=snorp
This commit was generated by running `./mach eslint --fix`.

Differential Revision: https://phabricator.services.mozilla.com/D72412
2020-04-24 21:53:17 +00:00
Agi Sferro cef279c2d6 Bug 1632922 - Remove unused mobile/android/tests. r=snorp
This folder is entirely made up of chrome tests that we don't run anymore.

Differential Revision: https://phabricator.services.mozilla.com/D72428
2020-04-24 21:53:10 +00:00
Agi Sferro 2291f694fb Bug 1535365 - Disable extension process. r=snorp,rbarker
We don't currently restart the extension process and this causes extensions to
randomly stop working when Android kills the extension process.

We can re-enable it once Bug 1355239 is fixed.

Differential Revision: https://phabricator.services.mozilla.com/D71790
2020-04-24 19:07:24 +00:00
Ricky Stewart 725728fc20 Bug 1621451 - Remove remaining in-build references to Python 2 GENERATED_FILES as well as underlying build system support r=dmajor
We still need to resolve bug 1621448, at which point we can delete the `py_action` macro entirely.

Differential Revision: https://phabricator.services.mozilla.com/D71795
2020-04-22 17:34:23 +00:00
Paul Bone 4e341bce84 Bug 1603007 - Remove allowLinkedWebInFileUriProcess r=nika
This patch removes the allowLinkedWebInFileUriProcess pref, but one
code-path is kept because when DocumentChannel is disabled a HTTP POST load
from a file:// page would loose the postData, so that case keeps the FILE
remote type.

Differential Revision: https://phabricator.services.mozilla.com/D69923
2020-04-23 17:15:09 +00:00
Kartikaya Gupta 17a76bc82d Bug 1627716 - Remove unused constants. r=geckoview-reviewers,agi
Depends on D71779

Differential Revision: https://phabricator.services.mozilla.com/D71780
2020-04-22 11:50:41 +00:00
Kartikaya Gupta 763e05dece Bug 1627716 - Remove GeckoView API exposing the DynamicToolbarAnimator. r=geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D71776
2020-04-22 11:50:40 +00:00
alwu d09fa27d37 Bug 1625615 - part1 : update 'suspendMediaWhenInactive' when GeckoView setting changes r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D69884
2020-04-22 02:08:27 +00:00
Dylan Roeh c9d7201a13 Bug 1631206 - Update NavigationDelegateTest.extensionProcessSwitching to check whether or not extension process is enabled. r=agi
Differential Revision: https://phabricator.services.mozilla.com/D71828
2020-04-21 23:07:57 +00:00
Agi Sferro 2bd2eb8ceb Bug 1631137 - Add APP to EnableSources. r=esawin
This was missed when implementing EnableSource.APP.

Differential Revision: https://phabricator.services.mozilla.com/D71671
2020-04-21 15:49:37 +00:00
Agi Sferro c62bcbc6e5 Bug 1631137 - Wait for Schema to be initialized in shouldPromptFor. r=esawin,mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D71568
2020-04-21 15:51:47 +00:00
Emilio Cobos Álvarez 3cb235302a Bug 1631776 - Convert some imagedocument prefs to static prefs. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D71753
2020-04-21 15:40:55 +00:00
Agi Sferro 57201fb4bc Bug 1631054 - Enable the extension process only on nightly. r=droeh
Differential Revision: https://phabricator.services.mozilla.com/D71381
2020-04-17 18:55:03 +00:00
Coroiu Cristina 43be71277d Backed out 2 changesets (bug 1625500) for multiple failures on a CLOSED TREE
Backed out changeset 7d80233bcfcd (bug 1625500)
Backed out changeset 0a35b13dfcde (bug 1625500)
2020-04-17 15:36:05 +03:00
Gijs Kruitbosch cc39a339a0 Bug 1625500 - fix use of .then(x, x) in the tree, r=marionette-reviewers,Standard8,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D68614
2020-04-17 11:41:49 +00:00
Emilio Cobos Álvarez 905a775721 Bug 1482147 - Fix the expectation of a GeckoView test which was relying on this bug. r=agi
It makes no sense that the first thing in the session would be considered as
wrapping, it was happening only because we were incorrectly failing to find a
"visible" range deep in Gecko (so we started back from the beginning of the
document, wrapping).

Differential Revision: https://phabricator.services.mozilla.com/D71157
2020-04-16 21:47:51 +00:00
pbz 27a54fedb1 Bug 1615588 - Extended GeckoView prompt implementation to support prompting by BrowsingContext. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D70645
2020-04-16 14:44:10 +00:00
Makoto Kato ac14cb654b Bug 1629759 - Remove unused dom.event.touch.coalescing.enabled preference. r=geckoview-reviewers,agi
No one seems to reference `dom.event.touch.coalescing.enabled` after landing Bug 1291373.
So remove it.

Differential Revision: https://phabricator.services.mozilla.com/D70794

--HG--
extra : moz-landing-system : lando
2020-04-15 21:20:11 +00:00
Eitan Isaacson a0e9e925ab Bug 1629771 - When collapsed caret moves in focusable element, don't pivot to it. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D71109

--HG--
extra : moz-landing-system : lando
2020-04-15 22:16:34 +00:00
Emilio Cobos Álvarez f9bd47e44b Bug 1626586 - Make history notifications do a bit less work. r=mak,lina,agi,snorp
And batch them when notifying child processes.

This makes RegisterVisitedQuery potentially notify synchronously, but changes
the code to deal with it properly.

Differential Revision: https://phabricator.services.mozilla.com/D69187

--HG--
extra : moz-landing-system : lando
2020-04-15 21:19:41 +00:00
Csoregi Natalia de8e762887 Backed out 7 changesets (bug 1625615) for multiple failures e.g. /test_windowedhistoryframes.html. CLOSED TREE
Backed out changeset f239d24658c9 (bug 1625615)
Backed out changeset acea7c78db20 (bug 1625615)
Backed out changeset d709f5a72c35 (bug 1625615)
Backed out changeset 4cd231b1f3fb (bug 1625615)
Backed out changeset 45942c8dc380 (bug 1625615)
Backed out changeset 3f03a8703a8a (bug 1625615)
Backed out changeset e9299fc48796 (bug 1625615)
2020-04-16 00:32:16 +03:00
alwu a9d2260712 Bug 1625615 - part1 : update 'suspendMediaWhenInactive' when GeckoView setting changes r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D69884

--HG--
extra : moz-landing-system : lando
2020-04-07 13:55:30 +00:00
owlishDeveloper f692832064 Bug 1628291 - Catch exceptions when trying to create a Bitmap r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D70556

--HG--
extra : moz-landing-system : lando
2020-04-15 18:13:19 +00:00
Agi Sferro 8a259cb9b3 Bug 1628117 - Remove BrowserApp. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D70456

--HG--
extra : moz-landing-system : lando
2020-04-14 17:07:34 +00:00
Agi Sferro 05aa0f0db0 Bug 1628117 - Remove BrowserApp.tabs. r=lina,snorp
Differential Revision: https://phabricator.services.mozilla.com/D70454

--HG--
extra : moz-landing-system : lando
2020-04-14 17:07:38 +00:00
Agi Sferro 9d049412c2 Bug 1628117 - Add window.tab. r=snorp
This will replace all current uses of `BrowserApp.`.

Differential Revision: https://phabricator.services.mozilla.com/D70453

--HG--
extra : moz-landing-system : lando
2020-04-14 17:07:41 +00:00
Agi Sferro b27532dee4 Bug 1628117 - Reduce use of BrowserTab in mobile code. r=mixedpuppy,snorp
Differential Revision: https://phabricator.services.mozilla.com/D70120

--HG--
extra : moz-landing-system : lando
2020-04-14 17:07:43 +00:00
Geoff Brown c9edfe9424 Bug 1562339 - Allow customization of command line used to start emulator by 'mach android-emulator'; r=jmaher
Add a --gpu option to 'mach android-emulator' as a convenient way to over-ride the -gpu argument
passed to the emulator.
Also check the environment for MOZ_EMULATOR_COMMAND_ARGS to allow for additional over-rides
of the emulator command line.

Differential Revision: https://phabricator.services.mozilla.com/D70914

--HG--
extra : moz-landing-system : lando
2020-04-14 17:58:49 +00:00
Mihai Alexandru Michis 81ac402a67 Backed out 6 changesets (bug 1628117) for causing Marionette failures.
CLOSED TREE

Backed out changeset 6319076b66d6 (bug 1628117)
Backed out changeset d867e385620f (bug 1628117)
Backed out changeset 12827a9f8ed2 (bug 1628117)
Backed out changeset a0508a8f0733 (bug 1628117)
Backed out changeset 30116ea848c7 (bug 1628117)
Backed out changeset 63b977732075 (bug 1628117)
2020-04-14 20:03:30 +03:00
Agi Sferro 0e6551a85d Bug 1628117 - Remove BrowserApp. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D70456

--HG--
extra : moz-landing-system : lando
2020-04-14 15:25:22 +00:00
Agi Sferro aff542f7f1 Bug 1628117 - Remove BrowserApp.tabs. r=lina,snorp
Differential Revision: https://phabricator.services.mozilla.com/D70454

--HG--
extra : moz-landing-system : lando
2020-04-14 15:25:48 +00:00
Agi Sferro 78887d92ec Bug 1628117 - Add window.tab. r=snorp
This will replace all current uses of `BrowserApp.`.

Differential Revision: https://phabricator.services.mozilla.com/D70453

--HG--
extra : moz-landing-system : lando
2020-04-14 15:25:55 +00:00
Agi Sferro c63aa45847 Bug 1628117 - Reduce use of BrowserTab in mobile code. r=mixedpuppy,snorp
Differential Revision: https://phabricator.services.mozilla.com/D70120

--HG--
extra : moz-landing-system : lando
2020-04-14 15:26:03 +00:00
Agi Sferro 7bcf9efc52 Bug 1622917 - Use schema to determine whether to prompt about a permission r=mixedpuppy,snorp
This allows other front-ends to know which permissions they should prompt for,
like GeckoView.

Differential Revision: https://phabricator.services.mozilla.com/D70102

--HG--
extra : moz-landing-system : lando
2020-04-13 22:28:30 +00:00
Shane Caraveo 871d0aad0e Bug 1622917 add schema support to determine permissions that do not require prompting r=zombie,agi
Differential Revision: https://phabricator.services.mozilla.com/D70137

--HG--
extra : moz-landing-system : lando
2020-04-11 20:35:59 +00:00
Dana Keeler 69308ed152 Bug 1627756 - implement enterprise roots for android r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D69855

--HG--
extra : moz-landing-system : lando
2020-04-09 00:54:11 +00:00
Dylan Roeh 9541273b5d Bug 1619798 - Move GeckoView onLoadRequest calls to DocumentLoadListener.cpp r=snorp,mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D69594

--HG--
extra : moz-landing-system : lando
2020-04-10 16:38:48 +00:00
James Willcox 9b0c905638 Bug 1620657 - Add a native impl of nsIExternalHelperAppService for Android r=mattwoodrow,geckoview-reviewers,droeh
This is needed in order to implement `CreateListener()`, which is used
when DocumentChannel is enabled.

Differential Revision: https://phabricator.services.mozilla.com/D67682

--HG--
extra : moz-landing-system : lando
2020-04-10 15:53:19 +00:00
James Willcox bdfa09611f Bug 1628449 - Dispatch `onLoadRequest()` return values immediately r=geckoview-reviewers,agi,aklotz
This is a very performance-critical path, so we want to avoid
dispatching the value listener on a future loop iteration.

Differential Revision: https://phabricator.services.mozilla.com/D70247

--HG--
extra : moz-landing-system : lando
2020-04-08 20:35:15 +00:00
Dragana Damjanovic dbea95392b Bug 1628460 - Turn off qpack dynamic table. r=michal
Differential Revision: https://phabricator.services.mozilla.com/D70244

--HG--
extra : moz-landing-system : lando
2020-04-08 19:46:11 +00:00
Emilio Cobos Álvarez e16c569957 Bug 1627886 - Fix android system color array. r=snorp
textColor was never in the C++ side of things...

Differential Revision: https://phabricator.services.mozilla.com/D69941

--HG--
extra : moz-landing-system : lando
2020-04-07 13:53:31 +00:00
Randall E. Barker 1dde134b0f Bug 1626979 - Add GeckoView API for appending app notes to crash report. r=geckoview-reviewers,snorp,droeh
Differential Revision: https://phabricator.services.mozilla.com/D69662

--HG--
extra : moz-landing-system : lando
2020-04-07 23:42:42 +00:00
Kristen Wright 4a3747126f Bug 1626388 - Convert layout.framevisibility.numscrollportwidths/heights to static prefs r=njn
Converts layout.framevisibility.numscrollportwidths and layout.framevisibility.numscrollportheights to static prefs.

Differential Revision: https://phabricator.services.mozilla.com/D69615

--HG--
extra : moz-landing-system : lando
2020-04-06 20:16:38 +00:00
Nika Layzell 0799ca4e5c Bug 1616353 - Part 7.5: Pass nsOpenWindowInfo through Geckoview, r=geckoview-reviewers,esawin,agi
The interface changes which GeckoViewNavigation.jsm is being updated for are
performed in earlier parts. This patch just covers the required changes to
frontend code to propagate this information down to the nsFrameLoader when it is
created.

Differential Revision: https://phabricator.services.mozilla.com/D67054

--HG--
extra : moz-landing-system : lando
2020-04-07 21:39:39 +00:00
Nika Layzell dd1ef62596 Bug 1616353 - Part 3: Use an attribute to set geckoViewUserContextId on a browser, r=geckoview-reviewers,esawin
This is necessary to avoid the use of setOriginAttributesBeforeLoading, which is
being removed in this patch set.

Differential Revision: https://phabricator.services.mozilla.com/D67042

--HG--
extra : moz-landing-system : lando
2020-04-07 21:39:04 +00:00
Aaron Klotz 6c60e366a0 Bug 1627782: Enable the process priority manager in GeckoView; r=agi
Differential Revision: https://phabricator.services.mozilla.com/D69859

--HG--
extra : moz-landing-system : lando
2020-04-07 14:40:52 +00:00
Emilio Cobos Álvarez c5991fc6cc Bug 1579824 - Stop overriding system colors via prefs. r=snorp
Depends on D69938

Differential Revision: https://phabricator.services.mozilla.com/D69939

--HG--
extra : moz-landing-system : lando
2020-04-07 13:54:41 +00:00
sonakshi 9272fc9645 Bug 1595611 - Cache ConnectivityManager in GeckoAppShell r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D69627

--HG--
extra : moz-landing-system : lando
2020-04-07 15:00:37 +00:00
owlishDeveloper 29de48a946 Bug 1621480 - Separate progress delegate and history delegate while avoiding race conditions r=geckoview-reviewers,snorp
Differential Revision: https://phabricator.services.mozilla.com/D69753

--HG--
extra : moz-landing-system : lando
2020-04-07 02:00:04 +00:00
Mike Hommey b4e38723ff Bug 1627163 - Use generator expressions instead of itertools.imap. r=firefox-build-system-reviewers,rstewart
Also remove unused import of itertools.ifilterfalse.

Differential Revision: https://phabricator.services.mozilla.com/D69531

--HG--
extra : moz-landing-system : lando
2020-04-05 08:51:20 +00:00
Agi Sferro a4cb5f4bab Bug 1627797 - Add UA String override to GVE. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D69864

--HG--
extra : moz-landing-system : lando
2020-04-06 20:42:05 +00:00
Aaron Klotz f89f996931 Bug 1620145: Part 1 - Support content process prioritization in GeckoView; r=geckoview-reviewers,agi
We change a few things in this patch:

* We modify `ServiceAllocator` to support multiple bindings:
    * Since Android distinguishes unique bindings via unique `ServiceConnection`
      objects, we add a `Binding` class that provides that bare-bones
      distinction but just forwards the `ServiceConnection` callbacks to its
      `InstanceInfo` owner.
    * Each `InstanceInfo` represents one content process instance, and it holds
      references to between 0 and 3 `Binding` objects, one for each possible
      priority level.
    * After changing the current priority level of an `InstanceInfo`, we call
      the `updateBindings` method to add or drop bindings as necessary to
      effect the correct level.
    * We add code to support the new `Context.updateServiceGroup` API starting
      with Android 10. Essentially it describes to Android the relative
      importance of multiple services running within the same priority level
      (think of it like how we rank our P2 bugs).
* We add `GeckoProcessManager.setProcessPriority` to receive prioritization
  changes from Gecko and wire that into the `ServiceAllocator`. We start new
  processes with `PriorityLevel.BACKGROUND` and then Gecko subsequently adjusts
  as necessary.
* Once this lands we must also set `dom.ipc.processPriorityManager.enabled=true`
  to experiment with e10s-multi.

Differential Revision: https://phabricator.services.mozilla.com/D68419

--HG--
extra : moz-landing-system : lando
2020-04-06 18:10:15 +00:00
Aaron Klotz 914c70e06f Bug 1627354: Part 4 - Update junit tests to reflect changes caused by the upgrade to platform 29; r=agi
Differential Revision: https://phabricator.services.mozilla.com/D69634

--HG--
extra : moz-landing-system : lando
2020-04-04 03:15:57 +00:00
Aaron Klotz f826c80377 Bug 1627354: Part 2 - Update gradle files to set buildToolsVersion; r=nalexander
Per https://developer.android.com/studio/releases/build-tools, the default
version of the build tools used is internal to the Gradle plugin for Android,
which in the current version of Gradle is 28. To use 29, we need to explicitly
specify that in `.gradle` files using `buildToolsVersion`.

We also change the specification of `compileSdkVersion` to obtain that
information from the build configuration.

Differential Revision: https://phabricator.services.mozilla.com/D69632

--HG--
extra : moz-landing-system : lando
2020-04-04 03:15:56 +00:00
Cosmin Sabou aefb5f9c88 Backed out 24 changesets (bug 1616353) for fission assertion failures nsGlobalWindowOuter.cpp.
Backed out changeset 3a43210e4900 (bug 1616353)
Backed out changeset cb77e9149cf8 (bug 1616353)
Backed out changeset 3aacc7cfe33f (bug 1616353)
Backed out changeset c026b06063a5 (bug 1616353)
Backed out changeset 580e790c5d17 (bug 1616353)
Backed out changeset 6f09bc1c476d (bug 1616353)
Backed out changeset 6955906262c0 (bug 1616353)
Backed out changeset a7700472807a (bug 1616353)
Backed out changeset a4735096e01b (bug 1616353)
Backed out changeset bd1706c57d91 (bug 1616353)
Backed out changeset 363c13296fda (bug 1616353)
Backed out changeset e414df387524 (bug 1616353)
Backed out changeset 765d3364cca0 (bug 1616353)
Backed out changeset 8a13355b4ac4 (bug 1616353)
Backed out changeset ada17fb8fca7 (bug 1616353)
Backed out changeset 6b6b99af186d (bug 1616353)
Backed out changeset ea966e78b296 (bug 1616353)
Backed out changeset cb88e0bbb3b9 (bug 1616353)
Backed out changeset f89a89015114 (bug 1616353)
Backed out changeset ae6058552969 (bug 1616353)
Backed out changeset f42bb5b48c1b (bug 1616353)
Backed out changeset 1ab9d22c73bb (bug 1616353)
Backed out changeset 2692c2c1396b (bug 1616353)
Backed out changeset 11a279c8da08 (bug 1616353)
2020-04-06 20:03:02 +03:00
Nika Layzell 3fed0a8e02 Bug 1616353 - Part 7.5: Pass nsOpenWindowInfo through Geckoview, r=geckoview-reviewers,esawin,agi
The interface changes which GeckoViewNavigation.jsm is being updated for are
performed in earlier parts. This patch just covers the required changes to
frontend code to propagate this information down to the nsFrameLoader when it is
created.

Differential Revision: https://phabricator.services.mozilla.com/D67054

--HG--
extra : moz-landing-system : lando
2020-04-06 14:30:09 +00:00
Nika Layzell e1bf02fc4f Bug 1616353 - Part 3: Use an attribute to set geckoViewUserContextId on a browser, r=geckoview-reviewers,esawin
This is necessary to avoid the use of setOriginAttributesBeforeLoading, which is
being removed in this patch set.

Differential Revision: https://phabricator.services.mozilla.com/D67042

--HG--
extra : moz-landing-system : lando
2020-04-06 14:29:35 +00:00
Makoto Kato 960c0aa620 Bug 1625843 - Set TYPE_TEXT_FLAG_CAP_SENTENCES for textarea and contenteditable. r=geckoview-reviewers,snorp
This is a regression by bug 1509527.

I should set TYPE_TEXT_FLAG_CAP_SENTENCES for `textarea` element and
contenteditable again.

Also, Gecko doesn't set valid type hint for input element yet. So I add a
workaround to test file. It will be fixed by bug 1424284. And this fix removes
unused condition for` textarea`.

Differential Revision: https://phabricator.services.mozilla.com/D69214

--HG--
extra : moz-landing-system : lando
2020-04-02 18:03:57 +00:00
Agi Sferro 80bc78ccf4 Bug 1535365 - Enable the extension process. r=snorp,aklotz
Differential Revision: https://phabricator.services.mozilla.com/D69596

--HG--
extra : moz-landing-system : lando
2020-04-03 20:55:25 +00:00
Agi Sferro b0fbb7d7e1 Bug 1627106 - Add test for extension pages navigation history. r=droeh
This test verifies that history is preserved when navigating from an extension
page to a web content page.

Today this involves going from the main process to the content process, but
when we enable remote extensions this will involve going from one content
process (the extension process) to another content process (the web process) so
to avoid forgetting about this we can introduce a test now that should still
pass in both scenarios.

Differential Revision: https://phabricator.services.mozilla.com/D69455

--HG--
extra : moz-landing-system : lando
2020-04-03 20:22:40 +00:00
Eitan Isaacson dbdae4f810 Bug 1617436 - Reset caret before doing another find in page test. r=geckoview-reviewers,aklotz
Differential Revision: https://phabricator.services.mozilla.com/D69229

--HG--
extra : moz-landing-system : lando
2020-04-01 16:18:50 +00:00
Nathan Froyd ab612badd3 Bug 1626932 - delete LD_LIBRARY_PATH before invoking gradle; r=firefox-build-system-reviewers,rstewart
It started, as most things do, with a software upgrade.

Upgrading the Android SDK version produced mysterious build errors:

```
java.lang.RuntimeException: ... Error while executing process /builds/worker/fetches/android-sdk-linux/build-tools/29.0.3/aidl ...
```

Looking a little further back in the log, one found the mysterious
error:

```
/builds/worker/fetches/android-sdk-linux/build-tools/29.0.3/aidl: error while loading shared libraries: /builds/worker/fetches/clang/lib/libc++.so: file too short
```

And when one investigated that file, one found that all `libc++.so` contained
was:

```
INPUT(libc++.so.1 -lc++abi)
```

which was obviously not any kind of loadable shared library.

The `libc++.so` file was meant as a redirect, an artifact placed so people
could say `-lc++` on their compiler command lines and things would Just Work.
The intent was that programs would link to `libc++.so.1` (or whatever other
soversion was in use) and that they wouldn't have to worry about `-lc++abi` or
any other private implementation details of libc++.  Why, then, was `aidl`
linking to `libc++.so`?

Looking at `ldd aidl` on a local machine says:

```
...
libc++.so => $HOME/.mozbuild/android-sdk-linux/build-tools/29.0.3/./lib64/libc++.so (0x00007f8b4b2d1000)
...
```

and poking at `aidl` with `readelf --dynamic -W` indicated a partial solution
to the problem:

```
...
0x000000000000001d (RUNPATH)            Library runpath: [$ORIGIN/../lib64:$ORIGIN/lib64]
...
```

`aidl` contained a `DT_RUNPATH` entry for `libc++.so` that specified to the
linker "find my `libc++.so` at a path relative to my current binary location."
Presumably this was done so that `aidl` would link to a specific `libc++.so`
and not pick up a random `libc++.so` from the system on which `aidl` was
running.

...Except that setting `LD_LIBRARY_PATH`, which we specify during our builds for
various reasons, takes precedence over `DT_RUNPATH`.  So invoking `aidl` was
looking for `libc++.so` along `LD_LIBRARY_PATH`, finding this linker script
that was meant to be used only by the compiler, and attempting to use it like
a real shared library.

Great, we understand the problem now; what do we do about it?

Unwinding our use of `LD_LIBRARY_PATH` is an involved task.  One further
wrinkle that wasn't mentioned above is that not every Android build that we
run failed after the SDK update: our x86-64 fuzzing build was fine, as was the
ARM PGO instrumentation build.  Presumably, those builds set `LD_LIBRARY_PATH`
in slightly different ways compared to our other builds, and those differences
in setting `LD_LIBRARY_PATH` contribute to `aidl` somehow not getting invoked
with `LD_LIBRARY_PATH` set.  It is not obvious to me how difficult getting a
consistent `LD_LIBRARY_PATH` setting is.

This next part is conjecture -- informed conjecture, but conjecture
nonetheless.  When we invoke gradle for the first time, a separate daemon
process is started, presumably to make various Java startup problems go away.
What we would like to have happen, and what appears to happen, is that
everything that gradle does is actually spawned from the daemon itself, not
from the invoked gradle process.  So if we could get the daemon invoked with
the correct environment (i.e. no `LD_LIBRARY_PATH` present), everything would
just work, because `aidl` would be launched from an environment that will
respect its `DT_RUNPATH` setting.

This change assumes that gradle does not invoke things that depend on
`LD_LIBRARY_PATH`, which is not at all clear; I think there are cases where we
can go `mach -> gradle -> mach -> ... -> clang`.  But those cases don't seem
to come up in automation (perhaps due to every build being a clobber), and if
they come up on local developer machines, local developer machines seem
unlikely to have `LD_LIBRARY_PATH` set (mandatory invocation of xkcd#1172).

All of that is to say that this patch takes a semi-hacky approach to the
problem: when we invoke gradle, we make sure that we're invoking it with an
environment that doesn't contain `LD_LIBRARY_PATH`.  And doing so avoids all
of the problems outlined above.

Differential Revision: https://phabricator.services.mozilla.com/D69374

--HG--
extra : moz-landing-system : lando
2020-04-02 17:32:21 +00:00
Agi Sferro a5635944c9 Bug 1626421 - Add setting for Preferred Color Scheme to GVE. r=esawin
Differential Revision: https://phabricator.services.mozilla.com/D69101

--HG--
extra : moz-landing-system : lando
2020-04-02 15:48:02 +00:00
Dorel Luca 818e917108 Backed out changeset 29cb45e9cdfc (bug 1626421) for liting failure. CLOSED TREE 2020-04-02 18:44:04 +03:00
Agi Sferro e42dac456e Bug 1626421 - Add setting for Preferred Color Scheme to GVE. r=esawin
Differential Revision: https://phabricator.services.mozilla.com/D69101

--HG--
extra : moz-landing-system : lando
2020-04-02 14:59:29 +00:00
Sebastian Hengst 2fbcddc03d Bug 1620842 - change Firefox for Android bugzilla components to GeckoView. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D65895

--HG--
extra : moz-landing-system : lando
2020-03-17 18:36:33 +00:00
James Willcox 6a931b4d99 Bug 1626670 - Don't build with MOZ_UPDATER=1 for GeckoView nightlies r=geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D69231

--HG--
extra : moz-landing-system : lando
2020-04-01 18:06:14 +00:00
aarushivij 639634aa2b Bug 1626575 - Remove Loader.jsm exceptions from Android allowed-dupes.mn. r=ntim
Differential Revision: https://phabricator.services.mozilla.com/D69248

--HG--
extra : moz-landing-system : lando
2020-04-01 18:04:15 +00:00
David Major 4dacf8bfd0 Bug 1626340 - Fix some mozconfigs where mozconfig.common.override is not at the end r=rstewart
mozconfig.common.override is supposed to be a way for try pushes to change any options that may have been previously set. To do this effectively, it needs to be the last thing in the mozconfig.

Differential Revision: https://phabricator.services.mozilla.com/D69045

--HG--
extra : moz-landing-system : lando
2020-04-01 14:22:35 +00:00
Tim Nguyen e783637467 Bug 1626023 - Remove some unused allowed-dupes.mn entries. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D68846

--HG--
extra : moz-landing-system : lando
2020-03-31 23:38:29 +00:00
sonakshi a6f08454e0 Bug 1622619 - Replace URIParams with nsIURI in PContent.ipdl r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D67729

--HG--
extra : moz-landing-system : lando
2020-03-31 18:47:30 +00:00
Tim Nguyen 6d163a0309 Bug 1626007 - Stop including XUL widget theme files on Android. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D68841

--HG--
extra : moz-landing-system : lando
2020-03-31 14:37:25 +00:00
Brendan Dahl c3eca02a86 Bug 1624724 - Fix startup crash tracking in GeckoView. r=geckoview-reviewers,aklotz,snorp
Gecko uses a canary file to determine if the last startup was succesful or
not and subsequently uses that status to determine if the startup cache
should be used. The file should be deleted either on a clean
exit or after the browser has succesfully started after a delay. On
android there will never be a clean exit and file was not manually being
deleted after startup. To fix this, delete the file after all the idle
startup tasks finish.

Differential Revision: https://phabricator.services.mozilla.com/D68451

--HG--
extra : moz-landing-system : lando
2020-03-27 18:16:36 +00:00
Tim Nguyen 9f4dbeaf3c Bug 1625982 - Rename textbox.js and textbox.css to moz-input-box.js and search-textbox.css. r=dao
Differential Revision: https://phabricator.services.mozilla.com/D68829

--HG--
rename : toolkit/content/widgets/textbox.js => toolkit/content/widgets/moz-input-box.js
rename : toolkit/themes/linux/global/textbox.css => toolkit/themes/linux/global/search-textbox.css
rename : toolkit/themes/osx/global/textbox.css => toolkit/themes/osx/global/search-textbox.css
rename : toolkit/themes/windows/global/textbox.css => toolkit/themes/windows/global/search-textbox.css
extra : moz-landing-system : lando
2020-03-30 18:22:56 +00:00
Henri Sivonen 71bdd2ccaf Bug 1625465 - Hack GeckoViewUtils not to read activeWindow. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D68565

--HG--
extra : moz-landing-system : lando
2020-03-30 16:10:41 +00:00
Dão Gottwald bb5b482bc6 Bug 1625896 - Rename scrollbox.css to arrowscrollbox.css. r=ntim
Differential Revision: https://phabricator.services.mozilla.com/D68777

--HG--
rename : toolkit/themes/shared/scrollbox.css => toolkit/themes/shared/arrowscrollbox.css
extra : moz-landing-system : lando
2020-03-30 11:49:31 +00:00
Makoto Kato fa2df28a49 Bug 1618754 - Part 2. Unnecessary to use equalsIgnoreCase for inputmode. r=geckoview-reviewers,agi
`inputmode` is lower case except to `mozAwesomebar`. So it is unnecessary to
use `equalsIgnoreCase`.

Also, `mozAwesomebar` is for `inputmode`, not `type`. So this changeset has
this fix.

Differential Revision: https://phabricator.services.mozilla.com/D68332

--HG--
extra : moz-landing-system : lando
2020-03-26 18:16:38 +00:00
Makoto Kato 86298c9983 Bug 1618754 - Part 1. Support inputmode=none to hide software keyboard. r=geckoview-reviewers,snorp
`inputmode=none` has to close software keyboard. `inputmode` value is lower
case except to `mozAwesomebar` by bug 1618763, so we don't have to use
`equalsIgnoreCase` for `inputmode`.

Differential Revision: https://phabricator.services.mozilla.com/D67459

--HG--
extra : moz-landing-system : lando
2020-03-26 18:22:47 +00:00
MahakBansal b51565663a Bug 1622600 - Replace URIParams with nsIURI in PBrowser.ipdl.r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D66888

--HG--
extra : moz-landing-system : lando
2020-03-29 13:56:16 +00:00
Agi Sferro 9c1b77d7d1 Bug 1624675 - Add isDirectNavigation to LoadRequest. r=snorp,droeh
This flag allows embedders to know when a onLoadRequest call is generated by
the app or not. Embedders can use this to skip expensive checks in
app-generated onLoadRequest calls.

Differential Revision: https://phabricator.services.mozilla.com/D68595

--HG--
extra : moz-landing-system : lando
2020-03-27 22:03:54 +00:00
Agi Sferro 1d3050571c Bug 1624675 - Remove unused org.mozilla.gecko.permissions. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D68442

--HG--
extra : moz-landing-system : lando
2020-03-27 22:03:57 +00:00
Agi Sferro 0e8f4a8961 Bug 1624675 - Remove unused org.mozilla.gecko.sqlite r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D68441

--HG--
extra : moz-landing-system : lando
2020-03-27 22:03:59 +00:00
Agi Sferro bf487f84b3 Bug 1624675 - Remove ContextUtils and inline only caller. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D68440

--HG--
extra : moz-landing-system : lando
2020-03-27 22:03:44 +00:00
Agi Sferro 7918d390b6 Bug 1624675 - Remove dead code around profiles. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D68439

--HG--
extra : moz-landing-system : lando
2020-03-28 02:01:45 +00:00
Agi Sferro 981033e460 Bug 1624675 - Remove dead code in HardwareUtils. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D68438

--HG--
extra : moz-landing-system : lando
2020-03-27 22:03:44 +00:00
Agi Sferro 8fcd23f36a Bug 1624675 - Remove obsolete code in AndroidGamepadManager. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D68437

--HG--
extra : moz-landing-system : lando
2020-03-27 22:03:45 +00:00
Agi Sferro 2917e0f13b Bug 1624675 - Remove dead code from ThreadUtils.java. r=geckoview-reviewers,snorp
Differential Revision: https://phabricator.services.mozilla.com/D68436

--HG--
extra : moz-landing-system : lando
2020-03-27 22:03:47 +00:00
Agi Sferro 9743ad186f Bug 1624675 - Remove unused UIAsyncTask. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D68435

--HG--
extra : moz-landing-system : lando
2020-03-27 22:03:50 +00:00
Agi Sferro c61cb429dc Bug 1624675 - Don't post on UI thread if already on the UI thread. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D68434

--HG--
extra : moz-landing-system : lando
2020-03-27 22:03:52 +00:00
Bogdan Tara 6b0b300cc5 Backed out 3 changesets (bug 1620145) for lints failure and Android bustages CLOSED TREE
Backed out changeset eee5907efc81 (bug 1620145)
Backed out changeset 80acd7d7bc10 (bug 1620145)
Backed out changeset f07bb47f20b3 (bug 1620145)
2020-03-28 01:36:27 +02:00
Aaron Klotz b7bfd543a2 Bug 1620145: Part 1 - Support content process prioritization in GeckoView; r=geckoview-reviewers,agi
We change a few things in this patch:

* We modify `ServiceAllocator` to support multiple bindings:
    * Since Android distinguishes unique bindings via unique `ServiceConnection`
      objects, we add a `Binding` class that provides that bare-bones
      distinction but just forwards the `ServiceConnection` callbacks to its
      `InstanceInfo` owner.
    * Each `InstanceInfo` represents one content process instance, and it holds
      references to between 0 and 3 `Binding` objects, one for each possible
      priority level.
    * After changing the current priority level of an `InstanceInfo`, we call
      the `updateBindings` method to add or drop bindings as necessary to
      effect the correct level.
    * We add code to support the new `Context.updateServiceGroup` API starting
      with Android 10. Essentially it describes to Android the relative
      importance of multiple services running within the same priority level
      (think of it like how we rank our P2 bugs).
* We add `GeckoProcessManager.setProcessPriority` to receive prioritization
  changes from Gecko and wire that into the `ServiceAllocator`. We start new
  processes with `PriorityLevel.BACKGROUND` and then Gecko subsequently adjusts
  as necessary.
* Once this lands we must also set `dom.ipc.processPriorityManager.enabled=true`
  to experiment with e10s-multi.

Differential Revision: https://phabricator.services.mozilla.com/D68419

--HG--
extra : moz-landing-system : lando
2020-03-27 22:41:25 +00:00
Aaron Klotz fa8d4a5ee5 Bug 1620145: Part 0 - Set compileSdkVersion to use ANDROID_TARGET_SDK; r=geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D68612

--HG--
extra : moz-landing-system : lando
2020-03-27 22:52:30 +00:00
Ciure Andrei 00c3cac8c7 Backed out 3 changesets (bug 1620145) for causing bustages CLOSED TREE
Backed out changeset 31e174d8cdba (bug 1620145)
Backed out changeset 84ee808383ae (bug 1620145)
Backed out changeset 32a639056a5f (bug 1620145)
2020-03-28 00:38:13 +02:00
Aaron Klotz 0c282fd4a1 Bug 1620145: Part 1 - Support content process prioritization in GeckoView; r=geckoview-reviewers,agi
We change a few things in this patch:

* We modify `ServiceAllocator` to support multiple bindings:
    * Since Android distinguishes unique bindings via unique `ServiceConnection`
      objects, we add a `Binding` class that provides that bare-bones
      distinction but just forwards the `ServiceConnection` callbacks to its
      `InstanceInfo` owner.
    * Each `InstanceInfo` represents one content process instance, and it holds
      references to between 0 and 3 `Binding` objects, one for each possible
      priority level.
    * After changing the current priority level of an `InstanceInfo`, we call
      the `updateBindings` method to add or drop bindings as necessary to
      effect the correct level.
    * We add code to support the new `Context.updateServiceGroup` API starting
      with Android 10. Essentially it describes to Android the relative
      importance of multiple services running within the same priority level
      (think of it like how we rank our P2 bugs).
* We add `GeckoProcessManager.setProcessPriority` to receive prioritization
  changes from Gecko and wire that into the `ServiceAllocator`. We start new
  processes with `PriorityLevel.BACKGROUND` and then Gecko subsequently adjusts
  as necessary.
* Once this lands we must also set `dom.ipc.processPriorityManager.enabled=true`
  to experiment with e10s-multi.

Differential Revision: https://phabricator.services.mozilla.com/D68419

--HG--
extra : moz-landing-system : lando
2020-03-27 21:58:48 +00:00
Aaron Klotz e350b4fef4 Bug 1620145: Part 0 - Set compileSdkVersion to use ANDROID_TARGET_SDK; r=geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D68612

--HG--
extra : moz-landing-system : lando
2020-03-27 21:58:36 +00:00
Bogdan Tara b7f4ccb775 Backed out 10 changesets (bug 1624675) for lints failure CLOSED TREE
Backed out changeset 42f9061d299a (bug 1624675)
Backed out changeset 839dc1384f95 (bug 1624675)
Backed out changeset 2df39ae63e81 (bug 1624675)
Backed out changeset 2e5e33501074 (bug 1624675)
Backed out changeset 0588bd37cf89 (bug 1624675)
Backed out changeset d10bf633fdac (bug 1624675)
Backed out changeset 61f4496d0745 (bug 1624675)
Backed out changeset 4b50bc44475c (bug 1624675)
Backed out changeset 14ef2c4ea463 (bug 1624675)
Backed out changeset 287ebe964741 (bug 1624675)
2020-03-28 00:00:36 +02:00
Agi Sferro dc343cf57e Bug 1624675 - Add isDirectNavigation to LoadRequest. r=snorp,droeh
This flag allows embedders to know when a onLoadRequest call is generated by
the app or not. Embedders can use this to skip expensive checks in
app-generated onLoadRequest calls.

Differential Revision: https://phabricator.services.mozilla.com/D68595

--HG--
extra : moz-landing-system : lando
2020-03-27 21:18:54 +00:00
Agi Sferro 94059c6d87 Bug 1624675 - Remove unused org.mozilla.gecko.permissions. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D68442

--HG--
extra : moz-landing-system : lando
2020-03-27 21:19:06 +00:00
Agi Sferro cf8805ecf1 Bug 1624675 - Remove unused org.mozilla.gecko.sqlite r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D68441

--HG--
extra : moz-landing-system : lando
2020-03-27 21:19:14 +00:00
Agi Sferro 010ced6c1c Bug 1624675 - Remove ContextUtils and inline only caller. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D68440

--HG--
extra : moz-landing-system : lando
2020-03-27 21:19:16 +00:00
Agi Sferro 629b1526e5 Bug 1624675 - Remove dead code around profiles. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D68439

--HG--
extra : moz-landing-system : lando
2020-03-27 21:19:24 +00:00
Agi Sferro a234c36ad9 Bug 1624675 - Remove dead code in HardwareUtils. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D68438

--HG--
extra : moz-landing-system : lando
2020-03-27 21:19:26 +00:00
Agi Sferro 36484178dc Bug 1624675 - Remove obsolete code in AndroidGamepadManager. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D68437

--HG--
extra : moz-landing-system : lando
2020-03-27 21:23:24 +00:00
Agi Sferro 737defdc2d Bug 1624675 - Remove dead code from ThreadUtils.java. r=geckoview-reviewers,snorp
Differential Revision: https://phabricator.services.mozilla.com/D68436

--HG--
extra : moz-landing-system : lando
2020-03-27 16:59:46 +00:00
Agi Sferro 0a2c50bc1c Bug 1624675 - Remove unused UIAsyncTask. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D68435

--HG--
extra : moz-landing-system : lando
2020-03-27 21:20:12 +00:00
Agi Sferro acf3564168 Bug 1624675 - Don't post on UI thread if already on the UI thread. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D68434

--HG--
extra : moz-landing-system : lando
2020-03-27 21:20:19 +00:00
Bogdan Tara 2a170da7ed Backed out 3 changesets (bug 1620145) for toolchains bustage complaining about SelectionActionDelegateTest.kt CLOSED TREE
Backed out changeset 4614b6ccb155 (bug 1620145)
Backed out changeset 72d548277bd9 (bug 1620145)
Backed out changeset 4f3ee911b5c7 (bug 1620145)
2020-03-27 22:24:56 +02:00
Aaron Klotz 5c2cb5ba90 Bug 1620145: Part 1 - Support content process prioritization in GeckoView; r=geckoview-reviewers,agi
We change a few things in this patch:

* We modify `ServiceAllocator` to support multiple bindings:
    * Since Android distinguishes unique bindings via unique `ServiceConnection`
      objects, we add a `Binding` class that provides that bare-bones
      distinction but just forwards the `ServiceConnection` callbacks to its
      `InstanceInfo` owner.
    * Each `InstanceInfo` represents one content process instance, and it holds
      references to between 0 and 3 `Binding` objects, one for each possible
      priority level.
    * After changing the current priority level of an `InstanceInfo`, we call
      the `updateBindings` method to add or drop bindings as necessary to
      effect the correct level.
    * We add code to support the new `Context.updateServiceGroup` API starting
      with Android 10. Essentially it describes to Android the relative
      importance of multiple services running within the same priority level
      (think of it like how we rank our P2 bugs).
* We add `GeckoProcessManager.setProcessPriority` to receive prioritization
  changes from Gecko and wire that into the `ServiceAllocator`. We start new
  processes with `PriorityLevel.BACKGROUND` and then Gecko subsequently adjusts
  as necessary.
* Once this lands we must also set `dom.ipc.processPriorityManager.enabled=true`
  to experiment with e10s-multi.

Differential Revision: https://phabricator.services.mozilla.com/D68419

--HG--
extra : moz-landing-system : lando
2020-03-27 19:59:13 +00:00
Aaron Klotz 6a3d3ec104 Bug 1625310: Change WebExtensionTest to use the session rule for creating its GeckoSession objects; r=agi
Differential Revision: https://phabricator.services.mozilla.com/D68461

--HG--
extra : moz-landing-system : lando
2020-03-26 21:35:45 +00:00
Aaron Klotz 94a256a521 Bug 1625217: Minor bug fixes to TestCrashHandler service binding; r=geckoview-reviewers,agi
`ServiceConnection.onServiceDisconnected` is not called if
`Context.unbindService` finished cleanly. We should be clearing `mService` in
that case.

Furthermore, if the service did die unexpectedly and
`ServiceConnection.onServiceDisconnected` was called, we need to explicitly
unbind so that Android does not automatically reconnect the binding.

Differential Revision: https://phabricator.services.mozilla.com/D68417

--HG--
extra : moz-landing-system : lando
2020-03-26 18:07:33 +00:00
owlishDeveloper 7671f3baf7 Bug 1510615 - Replace hardcoded /data/data paths or supress lint warning where not replaceable r=geckoview-reviewers,snorp
Differential Revision: https://phabricator.services.mozilla.com/D67980

--HG--
extra : moz-landing-system : lando
2020-03-26 17:26:21 +00:00
Bob Clary 50e014c6a6 Bug 1624715 - Remove network assertion introduced in Bug 1622816, r=snorp.
Differential Revision: https://phabricator.services.mozilla.com/D68097

--HG--
extra : moz-landing-system : lando
2020-03-24 21:44:49 +00:00
Agi Sferro d18bce9af5 Bug 1623758 - Don't compress omni.ja in examples. r=snorp
The omni.ja file contains all the javascript code that GeckoView uses
internally. Right now the omni.ja file is compressed in the APK which causes
GeckoView to uncompress the omni.ja file in memory before it can start doing
anything else. This takes a long time, on some profiles it delays startup by
about 400ms.

Storing the omni.ja uncompressed allows GeckoView to just map it in memory
bypassing the uncompress step.

Differential Revision: https://phabricator.services.mozilla.com/D67943

--HG--
extra : moz-landing-system : lando
2020-03-24 20:38:37 +00:00
Kristen Wright 656a5d7c45 Bug 1622111 - Convert four security.mixed_content.* prefs in nsMixedContentBlocker r=njn
Converts `security.mixed_content.block_object_subrequest`, `security.mixed_content.block_display_content`, `security.mixed_content.upgrade_display_content`, and `security.mixed_content.block_active_content` to static prefs.

Differential Revision: https://phabricator.services.mozilla.com/D67205

--HG--
extra : moz-landing-system : lando
2020-03-19 00:54:29 +00:00