Fix code generation for armv7 devices without neon by switching
official builds to the 1.15 beta rust compiler. This fixes the
target generation (and standard library image) to not assume
neon is available, per Google's NDK guidelines.
We expect to update this to 1.15.0 stable before release.
MozReview-Commit-ID: HWJLLGJaUDY
--HG--
extra : rebase_source : 53f00f34f40bb2adb07de27e05019ef0159f5ec8
Fix the issue that RemoteManager.init() will be block for 5s when onServiceConnected() is
finished before latch creation.
MozReview-Commit-ID: CYYpLpY7Ns9
--HG--
extra : rebase_source : cfb6a6aa25d1f274418f879e8a536dbdff664615
2 birds with 1 stone:
- according to MediaCodec doc, when running in async mode start() must be called after flush() to 'resume receiving input buffers'.
- in JellyBeanAsyncCodec's case, explicit resuming polling input buffers helps Codec decide which buffers are invalid by flush().
MozReview-Commit-ID: Ee5QbppgsVf
--HG--
extra : rebase_source : e1593952f0dbbdeabd07e014482bc161315b83de
Experimenting with the shutdown sequence for Part 1 has thrown up a few edge cases that aren't yet properly handled by the session store:
- If Gecko is busy (e.g. loading a resource-intensive page), shutdown of the UI can be delayed for a bit - if the user then manually switches away from Firefox, we might get an application-background message which needs to be ignored if we're already quitting
- Backgrounding of the app while quitting can change the event ordering - the "browser:purge-session-history" notification might arrive *after* we've received "quit-application", in which case we need to flush the session history to disk again after having handled the "purge-session-history" notification.
- clearDisk() should rather delete the session store files synchronously when quitting, because otherwise there's a chance that the delete operation runs *after* the new state has already been written out
MozReview-Commit-ID: LZzGcJHxqhz
--HG--
extra : rebase_source : 9f18b99ae92a8ff0753375ea1e279df08d61640e
When clearing private data on exit, Gecko sends a "Sanitize:ClearHistory" message back to the Java UI, so the latter can clear the history DB if necessary.
For some users, this process is not working, presumably because there is a race condition depending on whether Gecko gets as far as sending that message before the background thread responsible for receiving that message has already shut down/had its listener unregistered, or not.
Therefore, we now wait until the UI's sanitize handlers have been called before starting to shut it down as well.
MozReview-Commit-ID: HoifMYv3spA
--HG--
extra : rebase_source : de4bb656c67104b9d5b1ea83329b77de0688a5d6
The notification bar will be dimmed if in Reader Mode and user scroll
down the page. If not in Reader Mode, make sure the notification bar is
not dimmed.
MozReview-Commit-ID: 87LisdS3nRO
--HG--
extra : rebase_source : c7a6795a2b9b007aeddbee1044f94168a03cd761
Repacks of the upstream builds of rust 1.14.0 stable release.
MozReview-Commit-ID: B5DclOLeBjM
--HG--
extra : rebase_source : 67db55dd62d6177b30ace5008edc680f95c6ed22
Convert the "TextSelection:*" events to use BundleEventListener /
GeckoBundle, in both ActionBarTextSelection.java and
FloatingToolbarTextSelection.java. UI events are used because the
listeners require the UI thread. The "TextSelection:Update" listeners
are removed because the event is no longer sent by ActionBarHandler.
Add overrides for Object methods in GeckoBundle, and redirected them to
the corresponding methods in SimpleArrayMap. For equals, a custom
implementation is used because the equals implementation in
SimpleArrayMap had bugs across different support library versions.
Convert NotificationHelper events to use BundleEventListener and
GeckoBundle. UI events are used to perform notification operations, and
to keep access to mClearableNotifications to the UI thread. Also,
refactor some recently-added code in NotificationHelper.
Convert "Doorhanger:Add" and "Doorhanger:Remove" to bundle events. UI
events are used because the listener performs UI operations. As part of
the refactoring, DoorHangerConfig was refactored to use GeckoBundle, and
due to that change, a lot of other doorhanger-related classes also had
to be refactored to use GeckoBundle.
Repacks of the upstream builds of rust 1.14.0 stable release.
MozReview-Commit-ID: B5DclOLeBjM
--HG--
extra : rebase_source : f56feadb24193f1bec13c93bf0414a50a7de219c