The Fennec CrashReporter class is also renamed to
CrashReporterActivity. When running in Fennec, the Activity will be used
which retains what we do today, prompting for comments, email, etc. When
used in standalone GeckoView, we report the crash without user
interaction if the appropriate GeckoRuntimeSetting was set. The app will
want to ask for user permission at least once in order to set this.
We do not collect the URL, email, or logcat with GeckoView crashes.
Logcat and URL would be nice to have, but it's not clear what the API
for those would look like, and they can be addressed in followup
patches.
MozReview-Commit-ID: C5ROsUKreRe
The Fennec CrashReporter class is also renamed to
CrashReporterActivity. When running in Fennec, the Activity will be used
which retains what we do today, prompting for comments, email, etc. When
used in standalone GeckoView, we report the crash without user
interaction if the appropriate GeckoRuntimeSetting was set. The app will
want to ask for user permission at least once in order to set this.
We do not collect the URL, email, or logcat with GeckoView crashes.
Logcat and URL would be nice to have, but it's not clear what the API
for those would look like, and they can be addressed in followup
patches.
MozReview-Commit-ID: C5ROsUKreRe
The current limit of at most one bfcache entry on Android dates back to when
Fennec was built for the Nokia N810, which had a whopping 128 MB of memory.
Since a few years have passed since then and mobile device technology has
evolved considerably, it should be safe now to allow a little more than that.
Since web sites sizes might have grown somewhat as well compared to the figure
of 4MB mentioned in CalcMaxTotalViweres(), though and to be absolutely on the
safe side, we still tweak the formula when building for Android, though.
If in the worst case even those assumptions turn out too generous, we will still
be protected by the fact that
- we temporarily disable the bfcache when the OS signals memory pressure, and
- our contentViewerTimeout is set to a lower value than on Desktop, so bfcache
entries will expire sooner
MozReview-Commit-ID: 1A6d0Q6Mdx0
--HG--
extra : rebase_source : 9cc1f7abb1aef82ffc4d7987773ae7cf35440884
Fix all Java warnings in the Android codebase except deprecation and
serial warnings, and warnings in third-party code.
There is one required change to exoplayer2 code under thirdparty,
because that code is included directly in the geckoview project, instead
of the thirdparty project. I think I'll just make a pull-request to
upstream the change, instead of separating exoplayer2 into a
gv-thirdparty project.
--HG--
extra : amend_source : 29419a24db9b956a7f3ee573a63f7a055ed90636
The Fennec CrashReporter class is also renamed to
CrashReporterActivity. When running in Fennec, the Activity will be used
which retains what we do today, prompting for comments, email, etc. When
used in standalone GeckoView, we report the crash without user
interaction if the appropriate GeckoRuntimeSetting was set. The app will
want to ask for user permission at least once in order to set this.
We do not collect the URL, email, or logcat with GeckoView crashes.
Logcat and URL would be nice to have, but it's not clear what the API
for those would look like, and they can be addressed in followup
patches.
MozReview-Commit-ID: C5ROsUKreRe
To allow users to opt-out from receiving LeanPlum messages we need a new setting added.
This are the Strings for the title and summary of that setting.
Localization notes also added as this Strings will ship before the feature.
Decided to suppress all UnusedResources Lint errors for android strings until the patch for #1454686 lands as using in-line suppression caused other errors.
Ran Lint locally, the build passed.
MozReview-Commit-ID: 9Kx567ruY3n
***
--HG--
extra : rebase_source : acb555719b4da9199364ca737ff140012dacb47c
This additionally introduces a new pref (toolkit.telemetry.isGeckoViewMode)
to discriminate, at runtime, between Fennec and GV in JavaScript code.
Moreover, this disables TelemetryController initialization from content
processes, which was left enabled.
MozReview-Commit-ID: 7VoDorxAhvD
--HG--
extra : rebase_source : b16a5c870c073f62175a5f9c2bf8db30032c55bd
This patch converts all the prefs in MediaPrefs to the new StaticPrefs system.
Note that the "media.wmf.skip-blacklist" pref was present in both MediaPrefs
and gfxPrefs. The copy in MediaPrefs was never used; this explains why this
patch does not add an entry for it to StaticPrefList.h.
Note also that the patch removes themedia.rust.mp4parser pref, because it's
unused.
MozReview-Commit-ID: IfHP37NbIjY
--HG--
extra : rebase_source : df84ea813b7c366d7be663c696891325610149c8
This code was crashing in the framework; removing it should hopefully fix the
crash.
MozReview-Commit-ID: 2G3q4JrJ9tP
--HG--
extra : rebase_source : e9c1379b9dd3ebcb8ec2169165c629727344179d
At the moment the MediaControlService is structured such that it is started
shortly after Firefox has launched. Then, it registers a Tab event listener and
starts listening for various, mainly media-related tab events, in response to
which the playback notification is then shown or hidden as appropriate.
This setup has the drawback that the service itself has to remain running all
the time, even when we're not actually showing the notification, so Firefox now
keeps showing up as a "Running service" even when in background and not doing
anything interesting.
It is however relatively easily possible to move the tab event tracking into a
different class that won't require a service to stay alive, and set the Media-
ControlService's state (and at the same time start it if necessary) through a
set of special intent actions.
As the AudioFocusAgent is
a) alive for the whole lifetime of the application and
b) already interacting with the MediaControlService,
we designate it as the class responsible for this.
MozReview-Commit-ID: 1CzBpC1LTuZ
--HG--
extra : rebase_source : ef846bc1c52cb55fb1dfcdf05f2705f92358244e
Set process count to 1 because we only support one child process right
now.
MozReview-Commit-ID: HJAWvN4aqSX
--HG--
extra : rebase_source : 53e997b69b4b11fc3673a546ba0ad276e772d570
Set process count to 1 because we only support one child process right
now.
MozReview-Commit-ID: HJAWvN4aqSX
--HG--
extra : rebase_source : 8ade58427e8555f70a9349e6228b8aa7d1079781
Switch from the old XML-based AMO metadata API to the modern JSON based
API. This turned into something between a modest update and complete
rewrite. Most notably, external APIs became (mostly) promise-based. The
exception is getCachedAddonById() which XPIInstall.jsm requires a
synchronous callback from.
Also, hopefully we will be able to get rid of a bunch of this metadata
handling soon. If this code had a long life ahead of it, the unit tests
could use some more attention, but I mostly did the minimum here just to
keep them running for now with the expectation that we'll be able to get
rid of them within some small number of months.
MozReview-Commit-ID: 3DRaBdWGaiJ
--HG--
rename : services/sync/tests/unit/addon1-search.xml => services/sync/tests/unit/addon1-search.json
rename : services/sync/tests/unit/bootstrap1-search.xml => services/sync/tests/unit/bootstrap1-search.json
rename : services/sync/tests/unit/missing-sourceuri.xml => services/sync/tests/unit/missing-sourceuri.json
rename : services/sync/tests/unit/missing-xpi-search.xml => services/sync/tests/unit/missing-xpi-search.json
rename : services/sync/tests/unit/rewrite-search.xml => services/sync/tests/unit/rewrite-search.json
rename : services/sync/tests/unit/systemaddon-search.xml => services/sync/tests/unit/systemaddon-search.json
extra : rebase_source : f25d78b938768041c5c05b72a1f7ff3a7dee8275
In the next commit, we will send telemetry events in the sync ping.
The "event" JSON object doesn't have "uid"/"deviceID" fields (actually,
the "sync" objects shouldn't have them either!).
Let's do the right thing and send deviceID and UID as part of the top-level
"payload" object.
MozReview-Commit-ID: 3D3X3PcJAsW
--HG--
extra : rebase_source : 2ed71c7e6ce269cc43878f0e166dd9b149f3ccbc
In the next commit, we will send telemetry events in the sync ping.
The "event" JSON object doesn't have "uid"/"deviceID" fields (actually,
the "sync" objects shouldn't have them either!).
Let's do the right thing and send deviceID and UID as part of the top-level
"payload" object.
MozReview-Commit-ID: 3D3X3PcJAsW
--HG--
extra : rebase_source : 2ed71c7e6ce269cc43878f0e166dd9b149f3ccbc
These tests involve GeckoView classes, so move them to under geckoview/.
We use a custom test runner for Fennec unit tests, but I didn't notice
any problems when using standard test runners (e.g. MockitoJUnitRunner),
so I changed these tests to use standard runners.
MozReview-Commit-ID: 7JMhqJqahTC
--HG--
rename : mobile/android/app/src/test/java/org/mozilla/gecko/permissions/TestPermissions.java => mobile/android/geckoview/src/test/java/org/mozilla/gecko/permissions/TestPermissions.java
rename : mobile/android/app/src/test/java/org/mozilla/gecko/util/NetworkUtilsTest.java => mobile/android/geckoview/src/test/java/org/mozilla/gecko/util/NetworkUtilsTest.java
rename : mobile/android/app/src/test/java/org/mozilla/gecko/util/TestContextUtils.java => mobile/android/geckoview/src/test/java/org/mozilla/gecko/util/TestContextUtils.java
rename : mobile/android/app/src/test/java/org/mozilla/gecko/util/TestDateUtil.java => mobile/android/geckoview/src/test/java/org/mozilla/gecko/util/TestDateUtil.java
rename : mobile/android/app/src/test/java/org/mozilla/gecko/util/TestFileUtils.java => mobile/android/geckoview/src/test/java/org/mozilla/gecko/util/TestFileUtils.java
rename : mobile/android/app/src/test/java/org/mozilla/gecko/util/TestFloatUtils.java => mobile/android/geckoview/src/test/java/org/mozilla/gecko/util/TestFloatUtils.java
rename : mobile/android/app/src/test/java/org/mozilla/gecko/util/TestIntentUtils.java => mobile/android/geckoview/src/test/java/org/mozilla/gecko/util/TestIntentUtils.java
rename : mobile/android/app/src/test/java/org/mozilla/gecko/util/TestStringUtils.java => mobile/android/geckoview/src/test/java/org/mozilla/gecko/util/TestStringUtils.java
rename : mobile/android/app/src/test/java/org/mozilla/gecko/util/TestUUIDUtil.java => mobile/android/geckoview/src/test/java/org/mozilla/gecko/util/TestUUIDUtil.java