This allows us to asynchronously wait for a given `GeckoThread` state
to be reached.
Differential Revision: https://phabricator.services.mozilla.com/D66585
--HG--
extra : moz-landing-system : lando
The extension background page should be loaded when either an event needs
to be sent to it or after the browser has started up. When an extension
is updated the special startup event listeners do not appear to be built
yet and GeckoView was not sending browser started notification, which meant the
background page never being loaded.
Differential Revision: https://phabricator.services.mozilla.com/D66717
--HG--
extra : moz-landing-system : lando
Make the GeckoResult<WebExtension> returned by WebExtensionControll.install(BuiltIn) cancellable
Differential Revision: https://phabricator.services.mozilla.com/D64953
--HG--
extra : moz-landing-system : lando
This is both for future proofing (fetches could move any time although
they likely won't), and to fix the path on the future Windows PGO
cross builds, where the fetches path is not under $WORKSPACE.
Differential Revision: https://phabricator.services.mozilla.com/D66358
--HG--
extra : moz-landing-system : lando
We'll want to make some changes to this test when we enable e10s-multi by
default, but for now we just need to update the name of the single content
process to reflect the naming changes that were done in part 1 of this
patch series.
Differential Revision: https://phabricator.services.mozilla.com/D65641
--HG--
extra : moz-landing-system : lando
We change a lot of things in this patch:
* `ChildConnection` now inherits from `ServiceAllocator.InstanceInfo`, which
imbues the former with service allocation superpowers.
* We remove the `IBinder.linkToDeath` call and the `IBinder.DeathRecipient`
callback; a close review of the service binding APIs (and the actual
Android source code) clearly shows that
`ServiceConnection.onServiceDisconnected` already performs that role.
* We also greatly simplify unbinding, as a successful `Context.unbindService`
call does not require a subsequent `onServiceDisconnected` notification;
The `ServiceConnection` callbacks should be thought of as pertaining to
the acquisition and loss of `Binder` connections. On that note, to improve
the clarity of what those callbacks do, we now implement them as
`onBinderConnected` and `onBinderConnectionLost` overrides originating from
`ServiceAllocator.InstanceInfo`.
* We add the `ConnectionManager` class which handles the organization of
tracking which processes exist with which pid. Its public methods are named
such that it should be very clear what their purposes are.
* This patch adds a minimal amount of priority management code to
`ConnectionManager`. Right now we assume that everything is running at
`PriorityLevel.FOREGROUND` (i.e. `Context.BIND_IMPORTANT`). This will be
further improved in bug 1620145.
Differential Revision: https://phabricator.services.mozilla.com/D65640
--HG--
extra : moz-landing-system : lando
For testing purposes, we'll only support 3 at the moment.
Note that this does not materially affect our test builds, as e10s-multi is
still govered by the `dom.ipc.processCount` Gecko pref.
Differential Revision: https://phabricator.services.mozilla.com/D65639
--HG--
extra : moz-landing-system : lando
`ServiceAllocator` wraps the various `Context.bindService` APIs and manages
the allocation of service names (in the case of non-isolated services) or
instance names (in the case of isolated services on Android 10+).
During the first allocation of a content process, we construct a policy that
is used for all content process allocations.
The `DefaultContentPolicy` computes the maximum number of content processes
and then allocates those names using a `BitSet`.
The `IsolatedContentPolicy` tracks the number of live content processes, but
simply uses a monotonically-increasing counter for generating instance IDs.
This patch also adds a `ServiceUtils` class that contains numerous functions
relating to generating service names and retrieving information about
service definitions in this package.
* Content processes are now named `tab0` through `tabN`. When a single content
process name is used (either for single-e10s or for the process name
used by isolated services), we always use `tab0`.
* I am not wedded to the names of the priorities used in the `PriorityLevel`
enum -- suggestions welcome!
* Some of the `ServiceUtils` functions could arguably go into `ContextUtils`
instead, but I thought that this was fine since they are fairly specific
to this use case.
* Further modifications will need to be made to support multiple priorities.
This patch is enough to get everything up and running for testing, with
further prioritization work being done in bug 1620145.
Differential Revision: https://phabricator.services.mozilla.com/D65636
--HG--
extra : moz-landing-system : lando
We'll want to make some changes to this test when we enable e10s-multi by
default, but for now we just need to update the name of the single content
process to reflect the naming changes that were done in part 1 of this
patch series.
Differential Revision: https://phabricator.services.mozilla.com/D65641
--HG--
extra : moz-landing-system : lando
We change a lot of things in this patch:
* `ChildConnection` now inherits from `ServiceAllocator.InstanceInfo`, which
imbues the former with service allocation superpowers.
* We remove the `IBinder.linkToDeath` call and the `IBinder.DeathRecipient`
callback; a close review of the service binding APIs (and the actual
Android source code) clearly shows that
`ServiceConnection.onServiceDisconnected` already performs that role.
* We also greatly simplify unbinding, as a successful `Context.unbindService`
call does not require a subsequent `onServiceDisconnected` notification;
The `ServiceConnection` callbacks should be thought of as pertaining to
the acquisition and loss of `Binder` connections. On that note, to improve
the clarity of what those callbacks do, we now implement them as
`onBinderConnected` and `onBinderConnectionLost` overrides originating from
`ServiceAllocator.InstanceInfo`.
* We add the `ConnectionManager` class which handles the organization of
tracking which processes exist with which pid. Its public methods are named
such that it should be very clear what their purposes are.
* This patch adds a minimal amount of priority management code to
`ConnectionManager`. Right now we assume that everything is running at
`PriorityLevel.FOREGROUND` (i.e. `Context.BIND_IMPORTANT`). This will be
further improved in bug 1620145.
Differential Revision: https://phabricator.services.mozilla.com/D65640
--HG--
extra : moz-landing-system : lando
For testing purposes, we'll only support 3 at the moment.
Note that this does not materially affect our test builds, as e10s-multi is
still govered by the `dom.ipc.processCount` Gecko pref.
Differential Revision: https://phabricator.services.mozilla.com/D65639
--HG--
extra : moz-landing-system : lando
`ServiceAllocator` wraps the various `Context.bindService` APIs and manages
the allocation of service names (in the case of non-isolated services) or
instance names (in the case of isolated services on Android 10+).
During the first allocation of a content process, we construct a policy that
is used for all content process allocations.
The `DefaultContentPolicy` computes the maximum number of content processes
and then allocates those names using a `BitSet`.
The `IsolatedContentPolicy` tracks the number of live content processes, but
simply uses a monotonically-increasing counter for generating instance IDs.
This patch also adds a `ServiceUtils` class that contains numerous functions
relating to generating service names and retrieving information about
service definitions in this package.
* Content processes are now named `tab0` through `tabN`. When a single content
process name is used (either for single-e10s or for the process name
used by isolated services), we always use `tab0`.
* I am not wedded to the names of the priorities used in the `PriorityLevel`
enum -- suggestions welcome!
* Some of the `ServiceUtils` functions could arguably go into `ContextUtils`
instead, but I thought that this was fine since they are fairly specific
to this use case.
* Further modifications will need to be made to support multiple priorities.
This patch is enough to get everything up and running for testing, with
further prioritization work being done in bug 1620145.
Differential Revision: https://phabricator.services.mozilla.com/D65636
--HG--
extra : moz-landing-system : lando
Add GeckoSession.PermissionDelegate.PERMISSION_MEDIA_KEY_SYSTEM_ACCESS
for when media.eme.require-app-approval=true
Differential Revision: https://phabricator.services.mozilla.com/D65423
--HG--
extra : moz-landing-system : lando
Currently the preferences for remote profiling are stored on the debuggee. This leads
to a negative user experience, as oftentimes phones do not persist the preferences.
This patch changes the strategy to store one set of preferences for local profiling,
and a second set of preferences for remote profiling.
Differential Revision: https://phabricator.services.mozilla.com/D65148
--HG--
extra : moz-landing-system : lando
This removes the obsolete backend. Notes on some of the less obvious changes
made as part of this patch:
- some of the gFoo style getters in Blocklist.jsm were only used by the XML
version of the blocklist; I've removed them and tried to remove spurious
settings of those properties in the remaining tests.
- some utility methods (e.g. distribution information getters) were also only
used for the XML version (for the update URL).
- it's no longer necessary to test switching implementations.
- in browser/base/content/test/plugins/, we ran some tests from two manifests
in order to run them with both blocklist backends. The simplest way of
reducing this back down to one was to remove the remote-settings one. If I'd
been more future-oriented when I created the duplication, perhaps I would
have moved the XML version out into a different manifest instead, but I
didn't, so now it looks like we're removing the modern one, whereas really
we're going to be running the modern one as part of the "normal" tests and
we're no longer running the "old" tests.
- removed all mentions I could see of extensions.blocklist.url which is no
longer used for anything.
- per https://bugzilla.mozilla.org/show_bug.cgi?id=1016555#c23, updated
references for the OneCRL timing and how it relates to blocklist updates.
Differential Revision: https://phabricator.services.mozilla.com/D64933
--HG--
extra : moz-landing-system : lando
We won't need these suspend states anymore which were used for media control and audio focus on Fennec.
Differential Revision: https://phabricator.services.mozilla.com/D65265
--HG--
extra : moz-landing-system : lando
Mistakenly removed these lines which are still needed until we remove the
deprecated API.
Differential Revision: https://phabricator.services.mozilla.com/D65594
--HG--
extra : moz-landing-system : lando
An extension with an onUpdateAvailable listener should delay automatic
updating of the extension until the app is restarted. Add support for this
state and reject the update result with a new install error code.
Differential Revision: https://phabricator.services.mozilla.com/D65228
--HG--
extra : moz-landing-system : lando
Before this patch, the TabDelegate was "special" as in it had just one global
delegate that receives events for all extensions and sessions. This was done to
allow mochitests to call tabs.create and tabs.remove.
This hack is no longer needed as now we can notify the embedding layer that a
new extension has been installed and we have a way to list currently installed
extensions.
This patch makes TabDelegate behave the same as the other delegates
(ActionDelegate and MessageDelegate) and will allow further simplications of
the WebExtension Delegate code.
Differential Revision: https://phabricator.services.mozilla.com/D64799
--HG--
extra : moz-landing-system : lando
Android does not currently have anything similar to a 'required' state
to indicate that a field or input is required before submission. In this
patch we append a localized "required" string onto the node's hint.
The hint typically has the description of the node. If the node is an
entry the hint will have its label followed by the description.
Differential Revision: https://phabricator.services.mozilla.com/D65215
--HG--
extra : moz-landing-system : lando
Before this patch, the TabDelegate was "special" as in it had just one global
delegate that receives events for all extensions and sessions. This was done to
allow mochitests to call tabs.create and tabs.remove.
This hack is no longer needed as now we can notify the embedding layer that a
new extension has been installed and we have a way to list currently installed
extensions.
This patch makes TabDelegate behave the same as the other delegates
(ActionDelegate and MessageDelegate) and will allow further simplications of
the WebExtension Delegate code.
Differential Revision: https://phabricator.services.mozilla.com/D64799
--HG--
extra : moz-landing-system : lando
|get domFileOrDirectory| is sync so we cannot return a promise from there. We
instead resolve the DOMFile before returning from the file picker callback
which is async already.
Differential Revision: https://phabricator.services.mozilla.com/D65193
--HG--
extra : moz-landing-system : lando
Add a version of GeckoSession.reload that takes LOAD_FLAGS_* so
that it is possible to bypass caches and proxies on reload.
Differential Revision: https://phabricator.services.mozilla.com/D64809
--HG--
extra : moz-landing-system : lando
This class is not technically the thread itself, it's the runnable that the
sampling thread uses. This name is more accurate and clear for it.
Differential Revision: https://phabricator.services.mozilla.com/D64753
--HG--
extra : moz-landing-system : lando
Currently we only profile the Java Main Thread, and don't profile anything
else. This is not ideal, but this is how it works right now. And inside the
code index `0` was hardcoded on the most parts of the code. We can rollback
this patch once we want to implement profiling more than one thread, or we can
think about something more clever.
Differential Revision: https://phabricator.services.mozilla.com/D64752
--HG--
extra : moz-landing-system : lando
Design mode is different for event target, so I turn off it now. But this is enough for input and contenteditable.
Differential Revision: https://phabricator.services.mozilla.com/D64893
--HG--
extra : moz-landing-system : lando
This also makes `GeckoView#onTouchEvent()` always return `true`, because
returning `false` will cause us to not receive any more events for that
touch. We always want to receive events.
Differential Revision: https://phabricator.services.mozilla.com/D64781
--HG--
extra : moz-landing-system : lando
The Android-Gradle build plugin has evolved, as has GeckoView (it now
expects libraries in `libs/` instead of `assets/`), so we need to
ensure the libraries are copied into place at the right time.
To test this, you can use an artifact build. Run `./mach build`, and
then binary edit a string in `$TOPOBJDIR/dist/bin/libxul.so` (I used
Emacs and `bbe` to do that). Run `./mach android
build-geckoview_example`, and then verify the updated string has been
packaged, for example with something like:
```
unzip -c $TOPOBJDIR/gradle/build/mobile/android/geckoview_example/outputs/apk/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-debug.apk lib/x86_64/libxul.so | strings | grep NEW 'STRING'
```
Coincidentally, this is essentially the same issue as
https://github.com/mozilla/application-services/issues/2659.
Differential Revision: https://phabricator.services.mozilla.com/D64430
--HG--
extra : moz-landing-system : lando
In GeckoView every window has always exactly only one browser. Also selectedTab
is not defined.
Differential Revision: https://phabricator.services.mozilla.com/D64425
--HG--
extra : moz-landing-system : lando
Make it a regular stylesheet.
This allows it to be cached in shared memory if possible, and will allow me to
stop adding the stylesheet based on a pref for bug 1618202.
Differential Revision: https://phabricator.services.mozilla.com/D64377
--HG--
rename : mobile/android/themes/geckoview/content.css => layout/style/res/geckoview.css
extra : moz-landing-system : lando
Make it a regular stylesheet.
This allows it to be cached in shared memory if possible, and will allow me to
stop adding the stylesheet based on a pref for bug 1618202.
Differential Revision: https://phabricator.services.mozilla.com/D64377
--HG--
rename : mobile/android/themes/geckoview/content.css => layout/style/res/geckoview.css
extra : moz-landing-system : lando
Just inline them, they're not that many.
Using CSS variables is observable from content, which is not good. It also means
that we need an @import.
For bug 1618202, I plan to move this stylesheet to the global stylesheet cache.
This is so that I can add them based on prefs, but should also have memory
improvements (the stylesheet would be shared in memory across processes, see bug
1474793).
Differential Revision: https://phabricator.services.mozilla.com/D64375
--HG--
extra : moz-landing-system : lando
We don't need to package tests for builds that we don't actually run
tests from, but it is tricky to align this correctly by setting
MOZ_AUTOMATION_PACKAGE_TESTS=0 in relevant mozconfigs. Instead we can
set the environment variable in the task definition, and use a full
taskgraph verification check to ensure that the flag is only set on
builds that have tests.
The one tricky area is the win64-aarch64 builds, which have a workaround
by specifying the new skip-verify-test-packaging attribute.
In one case, win64-aarch64-shippable has tests that run against it, but
it copies those tests from a win64-aarch64-shippable-no-eme task, which
itself has no tests. Both of those tasks need to skip the verify check
as a result.
In another case, the win64-aarch64-eme task is an artifact build that
grabs test packages from the win64-aarch64 build. Since the win64-aarch64
build doesn't have tests, it needs to skip the verify check.
Differential Revision: https://phabricator.services.mozilla.com/D59426
--HG--
extra : moz-landing-system : lando
We don't need to package tests for builds that we don't actually run
tests from, but it is tricky to align this correctly by setting
MOZ_AUTOMATION_PACKAGE_TESTS=0 in relevant mozconfigs. Instead we can
set the environment variable in the task definition, and use a full
taskgraph verification check to ensure that the flag is only set on
builds that have tests.
The one tricky area is the win64-aarch64 builds, which have a workaround
by specifying the new skip-verify-test-packaging attribute.
In one case, win64-aarch64-shippable has tests that run against it, but
it copies those tests from a win64-aarch64-shippable-no-eme task, which
itself has no tests. Both of those tasks need to skip the verify check
as a result.
In another case, the win64-aarch64-eme task is an artifact build that
grabs test packages from the win64-aarch64 build. Since the win64-aarch64
build doesn't have tests, it needs to skip the verify check.
Differential Revision: https://phabricator.services.mozilla.com/D59426
--HG--
extra : moz-landing-system : lando
GeckoView doesn't need the hidden window loaded eagerly on startup. This
shaves off around ~100ms timing from XRE_main to DOMContentLoaded of
geckoview.xhtml.
Differential Revision: https://phabricator.services.mozilla.com/D63977
--HG--
extra : moz-landing-system : lando
In Bug 1617324 we started receiving calls for in-process windows for
WebBrowserChrome, which means we now have to handle the non-e10s case too. In
non-e10s there's only one process, so shouldLoadURI should always return true.
Differential Revision: https://phabricator.services.mozilla.com/D63748
--HG--
extra : moz-landing-system : lando
Based on crash report data, somehow we are reaching a state where we complete
a `GeckoResult` with a pid of 0.
This patch makes `ChildConnection.getPid()` infallible; it either returns a
valid pid or it throws an exception.
The fallible variant, `ChildConnection.getPidFallible()`, is useful for logging
or other scenarios where an invalid pid is okay.
Note that this patch likely does not conclusively eliminiate all crashes
surrounding invalid pids during child process creation; I have reason to believe
that once this patch lands we will likely see some crashes due to `getPid()`
exceptions out in the wild, but at least this patch will make those crash dumps
more actionable.
Differential Revision: https://phabricator.services.mozilla.com/D63719
--HG--
extra : moz-landing-system : lando
Turns out we have one more copy of the PGO-initializing mozconfig code for
Android, and that one was not enabling LTO.
Differential Revision: https://phabricator.services.mozilla.com/D63721
--HG--
extra : moz-landing-system : lando
If a keyboard-focused accessible is removed, the caret jumps to its
nearest ancestor. To avoid arbitrary accessibility focus moves, ignore
caret events that have no selection and are not focusable items.
Differential Revision: https://phabricator.services.mozilla.com/D63541
--HG--
extra : moz-landing-system : lando
The provision request is executed in background through AsyncTask and will
post the result once finished. However, when the DRM object is released
before onPostExecute() is called, there will be NPE. Use AsyncTask.cancel()
to avoid that.
Differential Revision: https://phabricator.services.mozilla.com/D63526
--HG--
extra : moz-landing-system : lando
The pref does not make a lot more sense now that we check autoplay on every
session.
Differential Revision: https://phabricator.services.mozilla.com/D63273
--HG--
extra : moz-landing-system : lando
This patch: makes the URL bar consistent with the location displayed and
actually switches to a the new tab when content code calls window.open or
tabs.create.
Differential Revision: https://phabricator.services.mozilla.com/D63224
--HG--
extra : moz-landing-system : lando
History is kept locally on the content process (or main process for main
process pages), so when going from one process to the other we need to restore
history. This will eventually be superseded by moving all history to the main
process, but we don't know when that's going to happen so we need to add this
workaround here. Desktop has the same workaround in place and this patch is
based on that code.
There are two places where we need to restore history:
- App navigates to page directly using `loadURI` or similar: in this case we
need to pass down the load details to the content process alongside the
history information so that we can restore and immediatelly navigate to the
new page. This also avoids an extra history reloading that ordinarely happens
when restoring history.
- App calls `goBack`, `goForward`, etc: in this case we don't need to reload a
page but just restore the history and adjust the `historyIndex`. I'm not
entirely sure why we need to add `1` to the `historyIndex` but that's what
Desktop does and it seems to work correctly so I just did it.
This patch changes `updateRemoteTypeForURI` to `updateRemoteAndNavigate` which
more closely matches what that method is doing now, this is similar to what
happens on desktop.
This patch also adds a `window.moduleManager` that can be used in Actors to
access the current `moduleManager`. I expect this to go away when we fully
migrate all modules to actors.
Differential Revision: https://phabricator.services.mozilla.com/D62970
--HG--
extra : moz-landing-system : lando
nsContentTreeOwner uses XULBrowserWindow (which is Desktop-only) to get the
current WebBrowserChrome instance.
This patch adds a lookup for the WebBrowserChrome actor to make sure that the
correct instance is queried on all platforms.
Differential Revision: https://phabricator.services.mozilla.com/D62817
--HG--
extra : moz-landing-system : lando
This patch adds a `onExtensionListUpdated` method to `DebuggerDelegate` which
is called whenever devtools install a new extension.
This method provides an opportunity for apps to refresh the list of installed
extensions and sets appropriate delegates so that the new extension is
correctly recognized.
Differential Revision: https://phabricator.services.mozilla.com/D62333
--HG--
extra : moz-landing-system : lando
***
Bug 1610402 - Use static prefs for view_source.{wrap_long_lines,syntax_highlight,tab_size} r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D63470
--HG--
extra : moz-landing-system : lando
This data was recorded for releases 52-57 when the remote decoding process
mechanism was developed. Enable it again to monitor the data and see if
stagefright still crashes in recent Android versions. If it's no longer the
case, we might deprecate out-of-process decoder and save some IPC overhead.
Differential Revision: https://phabricator.services.mozilla.com/D63257
--HG--
extra : moz-landing-system : lando
LTO was enabled on Android back when the normal Android builds were the
ones we shipped. But now we have separate builds for what is shipped,
*and* they do PGO+LTO.
Differential Revision: https://phabricator.services.mozilla.com/D62872
--HG--
extra : moz-landing-system : lando
This allows `performAction` to immediately return false if a boundary is
reached and allow TalkBack to navigate past the web view.
Change viewport cache listener to reorder since it should catch all tree
mutations in the document.
Differential Revision: https://phabricator.services.mozilla.com/D63117
--HG--
extra : moz-landing-system : lando
GENERATED_FILES now defaults to python3 unless py2=True is specified as
an argument. All existing GENERATED_FILES scripts and GeneratedFile
templates have the py2=True attribute added, so this patch should
effectively be a no-op.
Going forward, individual scripts can be converted to python3 and their
corresponding py2=True attribute can be deleted. In effect, this patch
will be backed out in pieces until all scripts run in python3, at which
point the py2 attribute itself can be removed.
Differential Revision: https://phabricator.services.mozilla.com/D60919
--HG--
extra : moz-landing-system : lando
At bug 1614208, the line style value mapping was changed, but
`GeckoEditable.IME_RANGE_LINE_*` are not updated.
This patch makes the style in `TextRangeStyle` an enum class for making it
type safer, and updates `GeckoEditable.IME_RANGE_LINE_*`, and finally, adds
`FYI` comments in `TextRangeStyle` to make developers realize it requires
manual update.
Differential Revision: https://phabricator.services.mozilla.com/D62883
--HG--
extra : moz-landing-system : lando
`inputConnection` works again even if x86_64 emulator with e10s.
But the following tests still have timing issue and are sometimes failure.
So this is still turned off.
- `inputConnection_bug1133802`
- `inputConnection_setSelection`
Differential Revision: https://phabricator.services.mozilla.com/D61291
--HG--
extra : moz-landing-system : lando
So that the test can receive the expected event triggered by the
setVerticalClipping.
Differential Revision: https://phabricator.services.mozilla.com/D62868
--HG--
extra : moz-landing-system : lando
GENERATED_FILES now defaults to python3 unless py2=True is specified as
an argument. All existing GENERATED_FILES scripts and GeneratedFile
templates have the py2=True attribute added, so this patch should
effectively be a no-op.
Going forward, individual scripts can be converted to python3 and their
corresponding py2=True attribute can be deleted. In effect, this patch
will be backed out in pieces until all scripts run in python3, at which
point the py2 attribute itself can be removed.
Differential Revision: https://phabricator.services.mozilla.com/D60919
--HG--
extra : moz-landing-system : lando
GENERATED_FILES now defaults to python3 unless py2=True is specified as
an argument. All existing GENERATED_FILES scripts and GeneratedFile
templates have the py2=True attribute added, so this patch should
effectively be a no-op.
Going forward, individual scripts can be converted to python3 and their
corresponding py2=True attribute can be deleted. In effect, this patch
will be backed out in pieces until all scripts run in python3, at which
point the py2 attribute itself can be removed.
Differential Revision: https://phabricator.services.mozilla.com/D60919
--HG--
extra : moz-landing-system : lando
Currently the sections regarding mma events and deeplinks are not properly
formatted making the text hard to read, follow and understand.
Use the `.. code-block:: json` formatting for Events. Found this in the history
for the previous documentation from central
Add a newline before the deep links bullet list so that each element would be
properly formatted.
Before and after screenshots of the docs are posted in the ticket.
Depends on D62730
Differential Revision: https://phabricator.services.mozilla.com/D62731
--HG--
extra : moz-landing-system : lando
Now that we don't rely on XPCOM accessibility anymore we shouldn't see
intermittents with accessibility on.
Differential Revision: https://phabricator.services.mozilla.com/D61773
--HG--
extra : moz-landing-system : lando
Wires up the addon manager update process to the GekcoView API. Adds
several basic tests for verifying the udpate steps. Adds a new way to
automatically bundle new test addons into xpi files and registers them
with the example.com server.
Differential Revision: https://phabricator.services.mozilla.com/D61501
--HG--
extra : moz-landing-system : lando
Chrome prunes the subtrees of links and headings (with single text leaf
children) and we mimic this in Gecko. The problem is that sometimes a
heading can be a child of a link, and it would be impossible to reach
when navigating by headings.
The main reason we mimiced chrome is because we would getthe name of the
node and its subtree uttered, so you would hear the name of the node
twice. By using contentDescription we can suppress the subtree from
TalkBack's utterance and preserve the node's children for heading
navigation.
Differential Revision: https://phabricator.services.mozilla.com/D61766
--HG--
extra : moz-landing-system : lando
The fundamental issue here is that `ParentCrashTest` starts a second
`GeckoRuntime` via `RemoteGeckoService` within the same logical Android
Application.
This patch adds `RuntimeCreator.shutdownRuntime()` so that the test can
shut down the existing `GeckoRuntime` before starting up its own.
Differential Revision: https://phabricator.services.mozilla.com/D61249
--HG--
extra : moz-landing-system : lando
These values are not available right away after `onInstallEnded`, but are available after `Management.on("ready")` for the addon. We prefer not complicating the
situation for GV embedders, and instead only resolving the `installExtension` once the addon is ready.
Differential Revision: https://phabricator.services.mozilla.com/D61281
--HG--
extra : moz-landing-system : lando
It's possible that UpdateDynamicTollbarOffset is called repeatedly before we
actually fire a window resize event.
Differential Revision: https://phabricator.services.mozilla.com/D60812
--HG--
extra : moz-landing-system : lando
Blocking here causes a problem on startup with the socket server, and
apps don't do this anyway.
Differential Revision: https://phabricator.services.mozilla.com/D60973
--HG--
extra : moz-landing-system : lando
The prompts are annoying and are also making it hard to use GVE
in performance tests.
Differential Revision: https://phabricator.services.mozilla.com/D60851
--HG--
extra : moz-landing-system : lando
This patch is doing two things.
1. Make GeckoView directly gets the ContentBlockingLog in the parent
process when it gets the bundle event 'ContentBlocking:RequestLog'. It
will get the top-level browsingContext and get the log from the
WindowGlobal of this browsingContext.
2. Remove the GeckoViewContentBlockingChild. The child module of
ContentBlocking is no longer needed since it serves nothing after we move
the functionality of getting log to the parent process.
Differential Revision: https://phabricator.services.mozilla.com/D57464
--HG--
extra : moz-landing-system : lando
This causes us to automatically deny the `desktop-notification`
permission if there is no user interaction, like desktop Firefox. This is
not enforced if the `dom.webnotifications.requireuserinteraction`
preference is set to `false`
Differential Revision: https://phabricator.services.mozilla.com/D60758
--HG--
extra : moz-landing-system : lando
This patch does not change any of the *internals* of process management in
`GeckoProcessManager`, however it upgrades the interface in preparation for
such changes.
* We add a java equivalent to Gecko's `GeckoProcessType` enumeration;
* We add the `GeckoProcessType.Selector` class which will be used for
identifying running content processes;
* We update `ContentParent::MarkAsDead` to use `GeckoProcessType.Selector` for
indicating which process should be marked.
Differential Revision: https://phabricator.services.mozilla.com/D60539
--HG--
extra : moz-landing-system : lando
This causes us to automatically deny the `desktop-notification`
permission if there is no user interaction, like desktop Firefox. This is
not enforced if the `dom.webnotifications.requireuserinteraction`
preference is set to `false`
Differential Revision: https://phabricator.services.mozilla.com/D60758
--HG--
extra : moz-landing-system : lando