We currently initialize PushService on delayed startup, which only
happens when Fennec is launched. This patch makes us also initialize
PushService if needed by web content from custom tabs / PWA, by
listening for the push initialization event in GeckoApplication.
MozReview-Commit-ID: 9CTOEZmOqls
--HG--
extra : rebase_source : ccd7d8e61e1de5de8ded1f6793234eb885c92672
Right now we create FormAssistPopup in WebAppActivity based on whether
the manifest is successfully loaded. We should always create it because
we always try to destroy it in onDestroy().
MozReview-Commit-ID: KskEZmYrDS1
--HG--
extra : rebase_source : bef84833438aa425a154bdf89cfa61dda7d8651d
Apparently a toolbar element can be zero-sized when we try to draw it to
the bitmap. We should just skip drawing in that case.
MozReview-Commit-ID: LlFQX5uN20h
--HG--
extra : rebase_source : cc3ba0cce8157274ef758530888629d4d372d0c0
Guard against OOM errors when getting toolbar pixels, and send a failure
message back to compositor when OOM happens.
MozReview-Commit-ID: FooZlE979DD
--HG--
extra : rebase_source : 98104304d20c26f4764c14e07c1edbb1e52b649f
Add a unit test for GeckoBundle, which tests GeckoBundle more thoroughly
than testEventDispatcher. This also lets us remove the Parcelable test
from testEventDispatcher.
MozReview-Commit-ID: Gn48Zw4Rvx5
Run unit tests under geckoview/ when running 'mach android test'. This
also lets us run those tests on Taskcluster.
The test report parser for 'mach android test' had a bug where the input
directory was wrong. As a result, we weren't producing test output at
all. This patch fixes the input directory, and outputs an error if no
reports are found at all to avoid this bug in the future.
MozReview-Commit-ID: IiswQaSPCr0
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
The publicsuffix utils are not used in GeckoView and more importantly,
their accompanying asset is only included in Fennec and not GeckoView.
Therefore, it makes sense to move the utils to Fennec.
MozReview-Commit-ID: A5jhiqURUdB
--HG--
rename : mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/publicsuffix/PublicSuffix.java => mobile/android/base/java/org/mozilla/gecko/util/publicsuffix/PublicSuffix.java
rename : mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/publicsuffix/PublicSuffixPatterns.java => mobile/android/base/java/org/mozilla/gecko/util/publicsuffix/PublicSuffixPatterns.java
Removed FHR client id migration code on the Android side.
MozReview-Commit-ID: X9QKtbh6r3
--HG--
extra : rebase_source : f5587789f6980aecc4309dc329eb051650ad4c6f
This patch was autogenerated by my decomponents.py
It covers almost every file with the extension js, jsm, html, py,
xhtml, or xul.
It removes blank lines after removed lines, when the removed lines are
preceded by either blank lines or the start of a new block. The "start
of a new block" is defined fairly hackily: either the line starts with
//, ends with */, ends with {, <![CDATA[, """ or '''. The first two
cover comments, the third one covers JS, the fourth covers JS embedded
in XUL, and the final two cover JS embedded in Python. This also
applies if the removed line was the first line of the file.
It covers the pattern matching cases like "var {classes: Cc,
interfaces: Ci, utils: Cu, results: Cr} = Components;". It'll remove
the entire thing if they are all either Ci, Cr, Cc or Cu, or it will
remove the appropriate ones and leave the residue behind. If there's
only one behind, then it will turn it into a normal, non-pattern
matching variable definition. (For instance, "const { classes: Cc,
Constructor: CC, interfaces: Ci, utils: Cu } = Components" becomes
"const CC = Components.Constructor".)
MozReview-Commit-ID: DeSHcClQ7cG
--HG--
extra : rebase_source : d9c41878036c1ef7766ef5e91a7005025bc1d72b
The same situation applies when restoring recently closed tabs. In this case, we
can also display a nicer title for those lazily-loaded tabs by making use of the
session store data.
MozReview-Commit-ID: AJiEkTEVAUz
--HG--
extra : rebase_source : a36e0bb0cd4e3e8d62368f1ee5f51ad0c080027c
Processing the contents of the tab queue will open a potentially large number of
tabs. To avoid overloading the device we should therefore only load the new
foreground tab and leave the rest to be loaded on demand, when the user selects
one of them.
MozReview-Commit-ID: 9cjoLPRscRl
--HG--
extra : rebase_source : b32f46507156cf38460cd89a8cde09a8f7a51505
We'd like to install the NDK through the Android SDK manager. But we
can't pin versions of the NDK with the SDK manager, and so Google
can silently upgrade the NDK on us. Since that is undesirable, this is
the next best thing.
With the toolchain task in hand, we can make all the relevant tasks
depend on the toolchain task and remove the download of the NDK from
tooltool as well.
Longer term, the MenuItemInfo handling needs to be moved out of BrowserApp in
order to solve bug 1414084 [1], but the easier short term solution is to just
save the cached menu data via the savedInstanceState. This means that
MenuItemInfo and friends have to be made parcelable.
[1] Because of GeckoView, add-ons may load (and attempt to add menu items) while
BrowserApp isn't even alive.
MozReview-Commit-ID: HzPe7ZKbJOj
--HG--
extra : rebase_source : a38d3119c863ca48fdbd068b634c76681a3bfd34
Since custom tabs and PWAs were moved to GeckoView, we're down to one
GeckoApp-based activity again.
MozReview-Commit-ID: 1zO6JTDptpp
--HG--
extra : rebase_source : 1e65963fddeb53a3522422a902bdfbb3408a251a