Made QR string consistent with respect to other url related strings
MozReview-Commit-ID: 432jaONccer
--HG--
extra : rebase_source : 44b50664e9602a11d82a1c1759b3e35e9f25e075
Added localization notes and more verbose strings for non-visual users.
MozReview-Commit-ID: FiOcDJrgRIy
--HG--
extra : rebase_source : 3fcaafc16e7bdbbeab881d16270b036b0a781cf4
Added contentDescription strings for QR Code and Voice Input
MozReview-Commit-ID: 6tpoewhPxev
--HG--
extra : rebase_source : 3ed1f0263f108ad63131f99168ee9879f83fbdb2
Strings needed for this feature were added in a separate bug - 1445798 which were causing Lint errors.
When this feature will land there will be no need for the suppression.
MozReview-Commit-ID: IhtTS8rHLwz
--HG--
extra : rebase_source : 6c09445f7f8c6f6fb565f41e57f666e9cfc26627
Because Mma cannot work if Health Report is disabled by the user (Settings - Privacy)
we will treat toggling Health Report on/off the same as we treat toggling the new preference from Settings - Notifications.
Toggling Health Report on will inform about the need to start LeanPlum (useful if the user did not explicitly stopped LP notifications but only Health Report which in turn disabled LeanPlum also) but there are other checks made afterwards (BrowserAp() is informed about this which calls GeckoPreferences.isMmaAvailable(..)) to decide if LP can and should be enabled.
Toggling any of these preferences will trigger an event caught by BrowserApp which can either
- immediately initialize LeanPlum (if the toggle was off LP is not running) as it would normally do when the app first starts
- stop LeanPlum reporting to servers, flush the per-session available messages
and resets the LP started status so that it can be restarted in the same app session (like if the user toggles the feature again)
MozReview-Commit-ID: 1SmhN0NucWW
***
--HG--
extra : rebase_source : b461677fd8a07d7c0c463e55c33bae1a3a973a1f
With the adding of the new preference that Mma depends on we need to have only one place where all the conditions for considering if Mma is available are checked - GeckoPreferences.isMmaAvailableAndEnabled()
Added only one place from where the availability of the LP experiments should be checked as that currently involves two checks - MmaDelegate.isMmaExperimentEnabled(..)
Also renamed isMmaEnabled() from MmaDelegate() and initSwitchboard from BrowserApp() to better express what those methods do.
MozReview-Commit-ID: BCJqM9b5JbW
***
--HG--
extra : rebase_source : 3c4b1707f69bfa5b39fe12ff45d8961b713f2291
According to current LP documentation there are no SDK APIs to allow users to fully stop LP: events reporting and message displaying there.
After extensive testing and investigations I think I found the least intrusive way to offer that.
We will use internal methods but which are public so I hope they will be supported in the future also. Nevertheless we will need to maintain this in regards to future SDK updates.
MozReview-Commit-ID: Ke3HGAyCqVA
***
--HG--
extra : rebase_source : e6510e12777ee3286742f00ae75d8ca69296989e
The behavior of this new preference is dynamic in that:
- it will be hidden if LeanPlum is not available for the device
- it will be toggled off and disabled if Health Report is disabled by the user
MozReview-Commit-ID: 1x9zZukyygr
***
--HG--
extra : rebase_source : c31ad02cbbb106613914634b5192f856aad185b7
We had a permission error because we were trying to add camera
permission in the child process. Move it to the parent process, where
the permission is actually checked.
MozReview-Commit-ID: 2OE3BznlVTD
Add GeckoSessionTestRule.forceGarbageCollection() for improving the
stability of resource-intensive tests, by garbage-collecting before
running the test.
MozReview-Commit-ID: A4ITTPsPNNy
Add waitForJS and waitForChromeJS methods that are similar to evaluateJS
and evaluateChromeJS. However, the wait methods count as wait events,
and will affect the behavior of forCallbacksDuringWait and
delegateDuringNextWait. The wait methods also wait for Promises to
resolve before returning their values.
MozReview-Commit-ID: IG41fw9zrBW
Instead of using InputMethodManager directly, make GeckoInputConnection
go through the current delegate set in SessionTextInput.
MozReview-Commit-ID: BYSnJnHgqbv
--HG--
extra : rebase_source : 63f830b852ef949404252536c959cdad1b3e26be
The default delegate forwards all the calls to the system
InputMethodManager.
MozReview-Commit-ID: D3BbxyrB5Kx
--HG--
extra : rebase_source : 5575b956232a8dc2aae09b342c687ae25efd8365
Add a delegate interface for interactions between GeckoInputConnection
and the system, so that consumers can implement custom interactions if
necessary.
MozReview-Commit-ID: IvK39N40fwF
--HG--
extra : rebase_source : 6a631f67fbe32ad2102296ad0252f8dbf6999061
With support for the new delegate, the "show-soft-input-on-focus"
functionality should be implemented by a custom delegate.
MozReview-Commit-ID: 1BoVRjNemDf
--HG--
extra : rebase_source : b6a5f23cc875dcaecb3cb6e22797df32d3ca5926
Rename Delegate to InputConnectionClient because Delegate will be a
public interface that consumers may choose to implement.
MozReview-Commit-ID: 9x9pYuvMxXK
--HG--
extra : rebase_source : 9a293d995ba8f6f71385aaa3106a71b0a7ebf40a
The ActionBar's title will always be updated with the title of the visiting PreferenceScreen.
MozReview-Commit-ID: b5MyrSaWFC
--HG--
extra : rebase_source : 1ad23955ba940935898a4331debb5554a61b4359
Whenever evaluateJS encounters a returned Promise, find a live Promise
from the Promises API that corresponds to the returned Promise, and
return a wrapper that lets the user see the state of the Promise and
wait on the Promise to resolve.
MozReview-Commit-ID: 1BQirz67Ty2
--HG--
extra : rebase_source : 437686bc71abc61bedf2bd50acc8899a4c50d218
Add support for monitoring Promises, so tests can wait on Promises that
content returns. This makes it a lot easier to test Promise-based Web
APIs such as getUserMedia.
MozReview-Commit-ID: CHbeB7ErJgs
--HG--
extra : rebase_source : ccb3e8f4523ebc11389bdafafc16045d8c9fe50e
Fix RDP function object's toString() implementation and add some tests.
MozReview-Commit-ID: 2US6bFcfidh
--HG--
extra : rebase_source : 2f8d741ed975dffc714a1875495e735a9f682a55
Add a test where we clear the navigation delegate right after starting a
load. This test exposes the race between Gecko thread and UI thread when
clearing a delegate.
MozReview-Commit-ID: IQrGcuwoDEk
--HG--
extra : rebase_source : 3f6b799c7ef0dcbff884915b73132e31f96fd25a
Unregistering listeners when we clear a delegate can lead to some event
races between the Gecko and UI thread. It's unclear to me if
unregistering events actually has much benefit, so I think we should
just not unregister events at all.
MozReview-Commit-ID: FS63NfbKgac
--HG--
extra : rebase_source : b2f6bb9558864cc9cd8dd35c22ee1af2ca7e429a