Bug 1303806 moved `GeckoJavaSampler` to be Fennec-only as part of a general push
to slim GeckoView down. But there is no reason to restrict to Fennec and it is useful
for other non-Fennec GeckoView vehicles.
This patch moves the `GeckoJavaSampler` inside `geckoview` and changes profiler
code to make Java sampling work in both GeckoView and Fennec.
Depends on D33522
Differential Revision: https://phabricator.services.mozilla.com/D33502
--HG--
rename : mobile/android/base/java/org/mozilla/gecko/GeckoJavaSampler.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoJavaSampler.java
extra : moz-landing-system : lando
Currently it won't match scrollbar elements in HTML documents where the
root element has been switched out for something other than <html>, or
in shadow trees.
Also, move the rule into content.css now that we no longer switch
between apz and non-apz versions of this file.
Differential Revision: https://phabricator.services.mozilla.com/D33115
--HG--
extra : moz-landing-system : lando
This follows the model set down for EME artifacts:
- a new tier is added that uses a new Python build action to fetch and
artifacts
- the action unpacks the fetched artifacts and moves specific inputs
into places expected by the build and packager
- in automation, MOZ_ARTIFACT_TASK* is used to ensure the artifacts
come from the correct tasks
In this case, the artifact fetching is done entirely in a new Python
build action that internally uses `mach artifact install --job ...`.
The action also verifies that the fetched artifacts are compatible and
that we're not assembling a fat AAR that is nonsensical. The specific
inputs are not used in the Fennec APK that is produced; they're only
used in the GeckoView AAR that is produced.
The artifact fetching itself required tweaking to fetch only
`target.maven.zip` artifacts and to not unpack them.
The specific inputs used are the native libraries (libs/$ARCH/*.so)
and the architecture-specific preference files ($ARCH/greprefs.js and
defaults/pref/$ARCH/geckoview-prefs.js). None of these inputs are
impacted by l10n.
Differential Revision: https://phabricator.services.mozilla.com/D31572
--HG--
extra : moz-landing-system : lando
This is because in some circumstances, when navigating away from a page, the dispatcher is no longer present when trying to send the `GeckoView:MediaRecordingStatusChanged` causing the message not to be sent. Fetching the dispatcher earlier ensures that it is present at the point of message sending.
Differential Revision: https://phabricator.services.mozilla.com/D32830
--HG--
extra : moz-landing-system : lando
Because the news strings are unused we need to add them in lint.xml as UnusedResources.
The suppress will be removed it in a future patch.
Differential Revision: https://phabricator.services.mozilla.com/D32979
--HG--
extra : moz-landing-system : lando
Added the missing data to the UpdateBlockedPopups event fired from PopupBlockingChild component.
Differential Revision: https://phabricator.services.mozilla.com/D31228
--HG--
extra : moz-landing-system : lando
This scope now controls add-ons bundled in omni.ja as well as those in the app
directory, so we need to enable it on Fennec in order for the default theme to
work.
Differential Revision: https://phabricator.services.mozilla.com/D32223
--HG--
extra : rebase_source : 3dd7ddec5b73e41dc385e60f2e8f8ce36db5be1b
Summary:
- Added the `LAST_PRIVACY` case for when the user is already signed into Firefox;
- Use the new default onboarding strings and images. If they are localized.
Differential Revision: https://phabricator.services.mozilla.com/D29347
--HG--
extra : rebase_source : a16820dd1da8885e4479a81f200f29ce994aeb3e
extra : source : 45002329fc202fd4783b5dd834235009be31970c
This is to allow us to detect the enabling and disabling of recording so that we can notify the embedding application of the change in status.
Differential Revision: https://phabricator.services.mozilla.com/D31072
--HG--
extra : moz-landing-system : lando
e10s profiling or IR-based PGO instrumentation will both produce
multiple `.profraw` files that need to be handled in some way. Since
clang's `-fprofile-generate` option takes a directory, it seems fitting
to make `--with-pgo-profile-path` mirror that by taking a directory, and
letting `merge_profdata.py` deal with whatever files it might find in
said directory.
Differential Revision: https://phabricator.services.mozilla.com/D32389
--HG--
extra : moz-landing-system : lando
Bug 1533425 makes Gecko try to load from $ARCH/greprefs.js, etc on
Android. This patch teaches the packager to put certain preferences
into those architecture-specific locations for that code to find.
Differential Revision: https://phabricator.services.mozilla.com/D24984
--HG--
extra : moz-landing-system : lando
When restoreState is called early in a GeckoSession's life, the scroll position restore code can catch the pageshow event for the initial about:blank load rather than for the page being restored, resulting in a failure to restore scroll position.
Differential Revision: https://phabricator.services.mozilla.com/D32163
--HG--
extra : moz-landing-system : lando
Whenever we switch processes in GeckoView we didn't inject frameScripts.
This change adds a new method `loadInitFrameScript` that is called whenever a
module's new browser is attached to a window so that the frame script is loaded
correctly into the new browser.
This fixes a bug in WebExtension pages where the WebExtension Process Script
would never be notified of a new WebExtension page window, breaking privileged
APIs.
Differential Revision: https://phabricator.services.mozilla.com/D32148
--HG--
extra : moz-landing-system : lando
WebExtension can always open their respective WebExtension pages even when the
WebExtension page is not content accessible.
However, this is not true for `tabs.update`, which couldn't link to
WebExtension pages at all.
Similarly, a user should be able to open a WebExtension page directly by typing
the URL.
To fix the above problems we pass the correct `triggeringPrincipal` when
loading such URIs. This change also makes URI typed by the user not use the
`systemPrincipal` anymore but a more restrictive codebase principal local to
the page that's being typed to avoid unintended side-effects. This also makes
the triggering URI always the page for these privileged pages, so we need to
adjust some tests to account for that by loading unprivileged `http` pages
instead.
Differential Revision: https://phabricator.services.mozilla.com/D32149
--HG--
extra : moz-landing-system : lando
We no longer use small cache on mobile, so such small max_entry_size is inadequate.
Differential Revision: https://phabricator.services.mozilla.com/D32104
--HG--
extra : moz-landing-system : lando
add a site patch to fix PDK video player versions that are broken on Fennec
Differential Revision: https://phabricator.services.mozilla.com/D31122
--HG--
extra : moz-landing-system : lando
A Proguard update in Bug 1550596 optimized away the WebAuthn methods, but
there's a convenient ReflectionTarget defined to say 'hey, don't do that.'
Differential Revision: https://phabricator.services.mozilla.com/D31693
--HG--
extra : moz-landing-system : lando
`mach run` as it is doesn't really parallel `mach run` on Desktop;
this makes it a little closer more fully featured. The underlying
functionality is all there in layers of mozharness; let's make it
easier to get to.
Differential Revision: https://phabricator.services.mozilla.com/D18292
--HG--
extra : moz-landing-system : lando
This just separates out the Android definitions into
mobile/android/mach_commands.py. There was vestigial support for
running on Android with debuggers, but it was for wiring up JimDB,
which is no longer supported and in fact hasn't worked on actual
devices for a very long time. (The new flow for running on Android
under a debugger goes through the Android Studio hybrid debugger.)
Differential Revision: https://phabricator.services.mozilla.com/D18291
--HG--
extra : moz-landing-system : lando
This fixes a crash in `browser.tabs.update` when used with WebExtension pages.
Differential Revision: https://phabricator.services.mozilla.com/D31453
--HG--
extra : moz-landing-system : lando
This fixes a crash in `browser.tabs.update` when used with WebExtension pages.
Differential Revision: https://phabricator.services.mozilla.com/D31453
--HG--
extra : moz-landing-system : lando
The mozilla::java::WebAuthnTokenManager asserts its return-to-C++ callbacks as
being run on the main Android UI thread, but since these methods are called
directly from the Fido2PendingIntent listeners, there's no guarantee of that.
We don't actually care what thread was tasked with returning us data, just that
it gets done, so let's not assert the thread here.
Differential Revision: https://phabricator.services.mozilla.com/D31497
--HG--
extra : moz-landing-system : lando
Some minor refactor to make it possible to remove android.speech dependencies using Proguard
Differential Revision: https://phabricator.services.mozilla.com/D27612
--HG--
extra : moz-landing-system : lando
Some minor refactor to make it possible to remove android.speech dependencies using Proguard
Differential Revision: https://phabricator.services.mozilla.com/D27612
--HG--
extra : moz-landing-system : lando
Now checking for private mode in order to ignore any permissions that had been set in previous sessions.
Differential Revision: https://phabricator.services.mozilla.com/D26702
--HG--
extra : moz-landing-system : lando
Requesting reviewers based on `hg blame` output and general knowledge of who is working on the project. I hope that's okay.
Differential Revision: https://phabricator.services.mozilla.com/D30580
--HG--
extra : moz-landing-system : lando
Checking extension.shutdownReason for any purpose other than detecting
app shutdown is unreliable, since actions such as disabing, uninstalling,
etc. may happen ito an extension after it has shut down. Remove the
temptation for api authors to write incorrect code by removing
extension.shutdownReason and replacing it with an isAppShutdown boolean
passed to shutdown handlers.
Differential Revision: https://phabricator.services.mozilla.com/D30605
--HG--
extra : rebase_source : 07ff7710757150d011fec6bc3ed134c6509e9a12
The problem from bug 1278581 was that hiding the URL bar in response to a
key-down event (for the Enter key) would then lead to the corresponding key-up
event then ending up in GeckoView, thereby confusing the "last user activity"
tracking.
It appears that this only happens with key events received through the
regular OnKeyListener, but not with events coming from the OnKeyPreImeListener.
On devices where pressing Enter in the URL bar would transmit the key event
through the latter mechanism, this means that because the key-up event we wanted
to suppress in BrowserApp never arrived, we would instead suppress whatever
other key event would arrive next, e.g. possibly a press of the back button.
This would lead to the observed behaviour where after entering an URL, the first
subsequent press of the back button might then be ignored.
Differential Revision: https://phabricator.services.mozilla.com/D30573
--HG--
extra : moz-landing-system : lando
Support using the Google Play-provided FIDO2 API for Web Authentication.
FIDO U2F API support is being handled subsequently in Bug 1550625.
This patch uses the privileged APIs and thus will only work on Fennec Nightly, Beta, and Release builds.
Differential Revision: https://phabricator.services.mozilla.com/D1148
--HG--
extra : moz-landing-system : lando
This commit avoids moz.build tasks when we're already within `mach
build`.
This is belt-and-braces: from within `mach build`, we want the main
moz.build dependency graph to arrange for the Gradle invocations to be
in the right state. It's only in other situations, like `mach android
...` or invocation from Android Studio, that we want Gradle to arrange
to be in the right state vis. moz.build.
Differential Revision: https://phabricator.services.mozilla.com/D30426
--HG--
extra : moz-landing-system : lando
The "Make default browser" setting is now just a button, part of the "General" settings.
We'll remove the layout for 2-pane settings and the now unused String.
Depends on D30468
Differential Revision: https://phabricator.services.mozilla.com/D30469
--HG--
extra : moz-landing-system : lando
Update this junit test with this bug's test case. Actually, autofill_userpass
doesn't work with the latest GV, so I should like to update this to fix focus
timing.
Also, this does't run on our test infra because this requires API 26.
Differential Revision: https://phabricator.services.mozilla.com/D30178
--HG--
extra : moz-landing-system : lando
Actually, sample url has `<fieldset>` element, so LoginManagerContent cannot detects username field.
`LoginManagerContent.getUserNameAndPasswordFields` detects username field and password field when passing `<input>` element. So we should pass password field if possible.
Differential Revision: https://phabricator.services.mozilla.com/D30179
--HG--
extra : moz-landing-system : lando
Starting from Android O, more fine-grained control over which notifications
should be displayed is available through Android's notification channel system.
To aid discoverability, we add a link to the corresponding settings screen from
inside our own settings menu.
Differential Revision: https://phabricator.services.mozilla.com/D29973
--HG--
extra : moz-landing-system : lando
We're not going to change this for now and otherwise Android Studio shows an
error for that file.
Differential Revision: https://phabricator.services.mozilla.com/D29971
--HG--
extra : moz-landing-system : lando
This is more related to telephony than anything else, and are more suited to
real telephony app.
Differential Revision: https://phabricator.services.mozilla.com/D30071
--HG--
extra : moz-landing-system : lando
This image was initially parts of the new Onboarding UX assets but
it is unused at the moment.
Differential Revision: https://phabricator.services.mozilla.com/D30193
--HG--
extra : moz-landing-system : lando
We're allowed to take some liberties as to what the default value and behaviour
we assume for the 'preload' attribute on HTMLMediaElement by the spec. On
desktop we assumed preload="metadata", while on mobile we assumed the default
of preload="none" to save data. On mobile we also assumed that preload="auto"
meant preload="metadata".
I think it makes sense to instead of always assuming that data on Android is
always expensive, we can instead detect if we're running on a cellular connection,
and preload frugally then, otherwise aggressively.
Differential Revision: https://phabricator.services.mozilla.com/D26235
--HG--
extra : moz-landing-system : lando
Normally when downloading media data we throttle the download only if we're
ahead of the read cursor more than the "readahead limit", and if we estimate
that the connection is fast enough that we'll be able to download at a rate
fast enough to playback in real time if we resume it later.
On mobile we additionally override this so that we always throttle the download
once we're ahead of the read cursor by the readahead limit. This is to save
data. I think we can relax this to only do this override if we're on a
cellular connection; if we're on WiFi we can assume data is cheap.
Differential Revision: https://phabricator.services.mozilla.com/D26234
--HG--
extra : moz-landing-system : lando
This allows Gecko to react to network link/status changes events as needed.
Differential Revision: https://phabricator.services.mozilla.com/D28942
--HG--
extra : moz-landing-system : lando
2019-05-06 22:41:10 +00:00
Eugen Sawin ext:(%2C%20Chris%20Pearce%20%3Ccpearce%40mozilla.com%3E)
This patch introduces a new type of content process, which has a dynamic name.
This type of content process is labeled as `webIsolated=${SITE_ORIGIN}` and is
used within fission-enabled windows.
To enable this, additional information about the fission status of the target
window must be passed into E10SUtils. This was done by updating every call site
manually to pass an extra boolean. A better solution perhaps should be used in
the future.
With this patch enabled, we now perform process switches, but only when
navigating to HTTP URIs. If we navigate to a non-HTTP URI in an iframe with
fission enabled, it will not behave correctly. This must be done in a
follow-up.
Differential Revision: https://phabricator.services.mozilla.com/D29570
--HG--
extra : moz-landing-system : lando
Make sure we continue to leave JS un-minified for Nightly builds and add a missing FENNEC_NIGHTLY to AppConstants.jsm which got missed in bug 1547710.
Differential Revision: https://phabricator.services.mozilla.com/D29724
--HG--
extra : moz-landing-system : lando
We're allowed to take some liberties as to what the default value and behaviour
we assume for the 'preload' attribute on HTMLMediaElement by the spec. On
desktop we assumed preload="metadata", while on mobile we assumed the default
of preload="none" to save data. On mobile we also assumed that preload="auto"
meant preload="metadata".
I think it makes sense to instead of always assuming that data on Android is
always expensive, we can instead detect if we're running on a cellular connection,
and preload frugally then, otherwise aggressively.
Differential Revision: https://phabricator.services.mozilla.com/D26235
--HG--
extra : moz-landing-system : lando
Normally when downloading media data we throttle the download only if we're
ahead of the read cursor more than the "readahead limit", and if we estimate
that the connection is fast enough that we'll be able to download at a rate
fast enough to playback in real time if we resume it later.
On mobile we additionally override this so that we always throttle the download
once we're ahead of the read cursor by the readahead limit. This is to save
data. I think we can relax this to only do this override if we're on a
cellular connection; if we're on WiFi we can assume data is cheap.
Differential Revision: https://phabricator.services.mozilla.com/D26234
--HG--
extra : moz-landing-system : lando
This allows Gecko to react to network link/status changes events as needed.
Differential Revision: https://phabricator.services.mozilla.com/D28942
--HG--
extra : moz-landing-system : lando
2019-05-03 02:43:22 +00:00
Eugen Sawin ext:(%2C%20Chris%20Pearce%20%3Ccpearce%40mozilla.com%3E)
This issue was caused by the updating of the caret position after the paste occurs firing an `updateposition` event resulting in an `GeckoView:ShowSelectionAction` message to reposition context menu without any attempt to close the context menu. The solution is to hide the context menu before the repositioning of the caret occurs such that the `updateposition` event doesn't trigger a redisplay.
I tried several versions of this trying to trigger the menu close from inside `GeckoViewSelectionActionDelegate`, including making the call to `docShell.doCommand("cmd_paste");` asynchronous and firing `ACTION_HIDE` before firing `ACTION_PASTE`, but the result is always the same - one of the events is processed before the other and so the second event is rejected as a stale response.
Therefore we are firing the `pagehide` from inside the code that performs the paste. This has to be done before the paste occurs otherwise the `updateposition` event is fired before the page hide event and the context menu redisplays before being hidden.
Differential Revision: https://phabricator.services.mozilla.com/D29665
--HG--
extra : moz-landing-system : lando
We're allowed to take some liberties as to what the default value and behaviour
we assume for the 'preload' attribute on HTMLMediaElement by the spec. On
desktop we assumed preload="metadata", while on mobile we assumed the default
of preload="none" to save data. On mobile we also assumed that preload="auto"
meant preload="metadata".
I think it makes sense to instead of always assuming that data on Android is
always expensive, we can instead detect if we're running on a cellular connection,
and preload frugally then, otherwise aggressively.
Differential Revision: https://phabricator.services.mozilla.com/D26235
--HG--
extra : moz-landing-system : lando
Normally when downloading media data we throttle the download only if we're
ahead of the read cursor more than the "readahead limit", and if we estimate
that the connection is fast enough that we'll be able to download at a rate
fast enough to playback in real time if we resume it later.
On mobile we additionally override this so that we always throttle the download
once we're ahead of the read cursor by the readahead limit. This is to save
data. I think we can relax this to only do this override if we're on a
cellular connection; if we're on WiFi we can assume data is cheap.
Differential Revision: https://phabricator.services.mozilla.com/D26234
--HG--
extra : moz-landing-system : lando
This allows Gecko to react to network link/status changes events as needed.
Differential Revision: https://phabricator.services.mozilla.com/D28942
--HG--
extra : moz-landing-system : lando
2019-05-01 23:45:53 +00:00
Eugen Sawin ext:(%2C%20Chris%20Pearce%20%3Ccpearce%40mozilla.com%3E)
For TV devices, it is useful to have mouse events automatically
interpreted as touch events. On other devices, such as more desktop-like
Android devices, we want to treat mouse events as mouse events. This patch
makes this behaviour controllable by a pref, but keeps the existing default
behaviour of treating mouse events as touch events.
Differential Revision: https://phabricator.services.mozilla.com/D29188
--HG--
extra : moz-landing-system : lando
For TV devices, it is useful to have mouse events automatically
interpreted as touch events. On other devices, such as more desktop-like
Android devices, we want to treat mouse events as mouse events. This patch
makes this behaviour controllable by a pref, but keeps the existing default
behaviour of treating mouse events as touch events.
Differential Revision: https://phabricator.services.mozilla.com/D29188
--HG--
extra : moz-landing-system : lando
The new Onboarding process will have updated imagery and strings.
It will also not show the "Customize" screen anymore.
It will only be shown if the new Strings are localized;
Differential Revision: https://phabricator.services.mozilla.com/D28863
--HG--
extra : source : 035da268a5d5585c2d7d5996ca7c73263ffdbbc8
The new Onboarding process will have updated imagery and strings.
It will also not show the "Customize" screen anymore.
It will only be shown if the new Strings are localized;
Differential Revision: https://phabricator.services.mozilla.com/D28863
--HG--
extra : moz-landing-system : lando
Handle 2 specific edge-cases:
- The user presses to change default browser, when he returns to the app the
app settings button to do so should not be displayed anymore.
- With the app in background showing the app settings the user changes to a
different default browser. When resuming the app it should show the option to
set Fennec as default.
All this without otherwise requiring the user to close app settings and opening
them again.
Depends on D28831
Differential Revision: https://phabricator.services.mozilla.com/D28832
--HG--
extra : moz-landing-system : lando
FxR uses these prefs and they might be helpful to other embedders so we can
just add them to GeckoRuntimeSettings.
Differential Revision: https://phabricator.services.mozilla.com/D28232
--HG--
extra : moz-landing-system : lando
Since `restartInput` resets all keyboard state, it isn't good to call this
everytime. So we should call this when discarding composition only.
Differential Revision: https://phabricator.services.mozilla.com/D27489
--HG--
extra : rebase_source : 3c1c88cb18351fc220ba36fea5a86334cbf68029
extra : amend_source : 089346137a471096b72f3ee77de154f3fcc16069
extra : histedit_source : 39481df24b6be63c96310143e4bb03d09db1883a
In certain straight-forward cases where we detect a credit card number being used with password fields we will show a dismissed password manager doorhanger. The user can still choose to save in case the valid credit card number is actually their username or password.
1) If the Luhn checksum matches on the username field (see CreditCard.jsm) AND the password is 3 numerical digits (don't handle 4 for now even though it's used by Visa since there are banks that use 4 digits passwords for online banking still).
2) If the Luhn checksum matches on the password value AND we detect that the type=password field is a credit card field via autocomplete=cc-number.
** We must include the @autocomplete check otherwise sites will abuse this loophole on legit login forms and set autocomplete=cc-number on their password fields to avoid saving.
For both of these cases we should `dismissed:true` doorhanger, rather than not showing one at all, in case there are false-negatives.
Differential Revision: https://phabricator.services.mozilla.com/D25485
--HG--
extra : source : e9be442c871e173a409f3b969f5bcea0e1ae4d71
extra : histedit_source : c942a81512be954abe595fa41ca44c26cd89b0e6
In certain straight-forward cases where we detect a credit card number being used with password fields we will show a dismissed password manager doorhanger. The user can still choose to save in case the valid credit card number is actually their username or password.
1) If the Luhn checksum matches on the username field (see CreditCard.jsm) AND the password is 3 numerical digits (don't handle 4 for now even though it's used by Visa since there are banks that use 4 digits passwords for online banking still).
2) If the Luhn checksum matches on the password value AND we detect that the type=password field is a credit card field via autocomplete=cc-number.
** We must include the @autocomplete check otherwise sites will abuse this loophole on legit login forms and set autocomplete=cc-number on their password fields to avoid saving.
For both of these cases we should `dismissed:true` doorhanger, rather than not showing one at all, in case there are false-negatives.
Differential Revision: https://phabricator.services.mozilla.com/D25485
--HG--
extra : transplant_source : %A9%94_%9A%03%00%A1u%F3%28%C6%00H%16z%8A%8F%D6%18O
And ensure we will always show a localized title, even if we have to fallback
to the old already localized one.
Differential Revision: https://phabricator.services.mozilla.com/D27858
--HG--
extra : moz-landing-system : lando
On versions >= N all long back presses we're handled manually in onKeyDown
and onKeyUp which could lead to certain complications. I have changed it
only for Android N where onKeyLongPress does not trigger as it should.
Differential Revision: https://phabricator.services.mozilla.com/D28037
--HG--
extra : moz-landing-system : lando
When setting large clipboard data, it may cause `TransactionTooLargeException`
in binder IPC. So we have to handle `RuntimeException`.
Differential Revision: https://phabricator.services.mozilla.com/D27466
--HG--
extra : moz-landing-system : lando
playbackState's default value is PlaybackState.STOPPED.
We can only enter PiP mode if media is playing but we don't save this playing
state.
If the user hasn't done anything to change this, like pause-play, when we check
the playbackState in BrowserApp to know to force fullscreen if still playing
we will not do so because the state is PlaybackState.STOPPED.
Differential Revision: https://phabricator.services.mozilla.com/D27935
--HG--
extra : moz-landing-system : lando
Give the about:compat overrides for bug 1177298 unique ids so they can be properly disabled in the UI
Differential Revision: https://phabricator.services.mozilla.com/D27934
--HG--
extra : moz-landing-system : lando
This change allows GeckoView embedders to respond to
`runtime.sendNativeMessage` and `runtime.connectNative` sent from
WebExtensions.
These APIs are available behind the new privileged-only permission
`geckoViewAddons` and are used by GeckoView apps to communicate between content
and the app.
Depends On D22621
Differential Revision: https://phabricator.services.mozilla.com/D22622
--HG--
extra : moz-landing-system : lando
use pointer:fine vs coarse/none to decide whether to show the mobile or desktop UX for about:compat, rather than min-width media queries
Differential Revision: https://phabricator.services.mozilla.com/D27940
--HG--
extra : moz-landing-system : lando
The configuration file format is YAML and looks like:
```
prefs:
foo.bar.boolean: true
foo.bar.string: "string"
foo.bar.int: 500
env:
MOZ_LOG: nsHttp:5
args: [--marionette]
```
By default, if the consuming App is debuggable, GeckoView will read
configuration from `/data/local/tmp/$PACKAGE-geckoview-config.yaml` at
startup.
For consumers (including browsers) that want to allow the underlying
GeckoView to be remote controlled in some way, the
`GeckoRuntimeSettings.Builder.configFilePath()` method allows to avoid
the default behaviour depending on the `android:debuggable` flag. For
example, release versions of Firefox for Android will want to allow
this configuration when appropriate App-level settings are toggled.
The additional configuration is appended after any existing configuration
methods, e.g., after anything specified using Intent argument extras
or existing `GeckoRuntimeSettings.Builder` methods.
Differential Revision: https://phabricator.services.mozilla.com/D25885
--HG--
extra : moz-landing-system : lando
Similarly to nsITabParent, TabChild is exposed to frontend code via nsITabChild. It's not clear what the future of this interface will be, but for now we can just rename it to nsIBrowserChild.
Differential Revision: https://phabricator.services.mozilla.com/D28134
--HG--
rename : dom/interfaces/base/nsITabChild.idl => dom/interfaces/base/nsIBrowserChild.idl
extra : rebase_source : a6c42a661e35b19e46c60f6f6a6f3dab64c0a1bc
extra : histedit_source : 1eb475bd840bf37a3f86294685c9b3c250684e79
nsITabParent is exposed to frontend code and is generally used as a representation of a remote tab. We could just rename the interface to nsIBrowserParent and worry about it later, but I think it's better to rename the interface to nsIRemoteTab so that we can later work on splitting the interface away from the PBrowser protocol.
Note: Some frontend code refers to a TabParentId. This commit renames this to RemoteTabId. We need to figure out the purpose of TabId with fission.
Differential Revision: https://phabricator.services.mozilla.com/D28132
--HG--
rename : dom/interfaces/base/nsITabParent.idl => dom/interfaces/base/nsIRemoteTab.idl
extra : rebase_source : 9d8a1790a7bb10195ad063644d1a93d63b2afb72
It's easier this way than fixing who knows how many Webextension APIs that have
learned from Desktop that there is no tab #0 and that therefore refuse to work
in our first tab.
We'll also make a similar change to GeckoView's stub implementation of the tab
API because that affects Custom Tabs and PWAs in Fennec for now.
The tests for tab ID 0 are therefore no longer required - they were added in a
previous attempt to fix the Webextension APIs themselves, which was ultimately
never carried through to completion, though.
Differential Revision: https://phabricator.services.mozilla.com/D26431
--HG--
extra : moz-landing-system : lando
This is needed to open an SCO channel and do proper (low-latency) bluetooth
communication when doing a call using WebRTC, or simply recording local audio in
a web application.
I think this is more of a GeckoView thing, but I'm a bit fuzzy on the
distinction, maybe it's the wrong manifest. I tested using Fennec.
Differential Revision: https://phabricator.services.mozilla.com/D21734
--HG--
extra : moz-landing-system : lando
This fixes a problem where Gecko would call Vsync even when the browser does
not have a surface attached to.
This can be triggered by attaching a GeckoView without a session and then
attaching a GeckoSession to the view. This causes GeckoView to create two
Windows, one of which never gets put in the background causing Gecko to think
the browser is still visible.
The GeckoSession should be cleaned up by the GC but this may take a long time.
To avoid this footgun we just don't create a GeckoSession when there isn't one
already attached to the GeckoView, logging a warning in case the embedder is
confused by the blank screen.
Differential Revision: https://phabricator.services.mozilla.com/D27366
--HG--
extra : moz-landing-system : lando
Password manager should not offer to save credit card numbers in certain straight-forward cases.
Differential Revision: https://phabricator.services.mozilla.com/D25485
--HG--
extra : moz-landing-system : lando
It's easier this way than fixing who knows how many Webextension APIs that have
learned from Desktop that there is no tab #0 and that therefore refuse to work
in our first tab.
We'll also make a similar change to GeckoView's stub implementation of the tab
API because that affects Custom Tabs and PWAs in Fennec for now.
Differential Revision: https://phabricator.services.mozilla.com/D26431
--HG--
extra : moz-landing-system : lando
This is needed to open an SCO channel and do proper (low-latency) bluetooth
communication when doing a call using WebRTC, or simply recording local audio in
a web application.
I think this is more of a GeckoView thing, but I'm a bit fuzzy on the
distinction, maybe it's the wrong manifest. I tested using Fennec.
Differential Revision: https://phabricator.services.mozilla.com/D21734
--HG--
extra : moz-landing-system : lando
In particular, this enables Marionette in local Fennec builds, which
were the only place it wasn't enabled by default. (Automation builds
all enabled Marionette.) That default is getting in the way of the
Performance Team (and others!) testing GeckoView-based products
easily.
Differential Revision: https://phabricator.services.mozilla.com/D26815
--HG--
extra : moz-landing-system : lando
..And ignore trying to show it again in future app starts.
This patch resolves a regression and restore the previous behavior.
Differential Revision: https://phabricator.services.mozilla.com/D26897
--HG--
extra : moz-landing-system : lando