This eliminates some eslint errors on firefox-android code by running 'mach lint --linter=eslint --fix'.
The eslint --fix only addresses a few simple issues, but this allows us to remove some lint exclusions.
Differential Revision: https://phabricator.services.mozilla.com/D210107
While not possible to reproduce locally, from the logs it appears that the dns-prefetch request may race the pageload event.
We will wait for the prefetch record before testing it.
Differential Revision: https://phabricator.services.mozilla.com/D210178
With Robolectric in tests InetAddresses.isNumericAddress returns false positives.
On android devices it does return correct boolean value.
Differential Revision: https://phabricator.services.mozilla.com/D209644
Extend the sync IPC timeout mechanism in CompositorManagerChild to
additionally cover UiCompositorControllerChild. As
UiCompositorControllerChild runs on the Android UI thread, we ensure
GPUProcessManager::KillProcess dispatches to the gecko main thread.
Along with the previous patch in this series this should provide us
with crash reports when the Android UI thread is hung waiting for the
GPU process to reply.
Differential Revision: https://phabricator.services.mozilla.com/D202167
When sync IPC under the top-level PCompositorManager protocol does not
reply within a certain time threshold we purposefully kill the GPU
process. While this allows the user to recover from a stuck GPU
process, we have little visibility about the underlying cause.
This patch makes it so that we generate a paired minidump for the GPU
and parent processes prior to killing the GPU process in
GPUProcessHost::KillHard(). The implementation roughly follows the
equivalent for content processes in ContentParent::KillHard().
As the GPU process can be purposefully killed during normal operation,
and because generating minidumps can be expensive, we are careful to
only do so when the new argument aGenerateMinidump is true. We
additionally remove the aReason argument as it is unused (and
currently innacurate in some places).
As these minidumps may not automatically submitted we limit the
minidumps generation to twice per session in order to avoid
accumulating a large number of unsubmitted minidumps on disk.
Differential Revision: https://phabricator.services.mozilla.com/D202166
When the Android frontend attempts to pause or resume the compositor
there is a chance this may fail. When this happens, the compositor
will automatically be reinitialized. However, it will currently be
reinitialized in the previous state, not the state the frontend
intended. For example, if the compositor fails to resume then it will
be reinitialized but remain in a paused state, displaying a blank
screen to the user.
To avoid this, we update the value of mCompositorPaused prior to
attempting to pause or resume the compositor. This means when
NotifyCompositorCreated eventually gets called, it knows the correct
state in which to initialize the compositor.
Differential Revision: https://phabricator.services.mozilla.com/D202165
onboardingNext is visibility: hidden and thus not focusable. Before my
patch, the focus wasn't fixed-up properly, but now it is.
MANUAL PUSH: Test only orange fix CLOSED TREE
A race condition has caused the wrong input element to be set as the
active, focused one when a script on a website reacts to autocomplete
inputs and manipulates the inputs. This happened because the
FormFillController listens for changes to the attributes of the input
elements, and then restarts itself *delayed*. This overwrote the focus
that had been set correctly in the meantime. This patch cancels this
restart when a new element is set as focus.
Differential Revision: https://phabricator.services.mozilla.com/D209800
Use DragData to get number of items transfered by D&D. Add support for text/x-moz-url MIME type
which is used for internal Gecko URL transfers.
Differential Revision: https://phabricator.services.mozilla.com/D209347
Implement nsDragService::GetDragData(). It query Gtk for D&D data and returns them as ref counted DragData object
which is also cached.
It also updates nsDragService::TargetDataReceived() to work with DragData.
Differential Revision: https://phabricator.services.mozilla.com/D209346