As soon as the user clicks on a link to download a file Gecko will start the download - even before prompting the
user. This led to problems when the user hadn't granted the permission to write to the downloads directory yet. The
download would fail even though the user (later) accepted the permission.
With this patch we will start the download to the app's cache directory (only if we do not have the permission) and
prompt the user. As soon as the user has accepted the permission the download will be moved to the public downloads
directory (even while still downloading). If the permission is denied the download will be cancelled.
After the permission has been granted all subsequent downloads will start writing to the downloads directory
directly.
MozReview-Commit-ID: CCqk9h7Sxor
LoginsProvider is an all-Android implementation of PasswordsProvider.
PasswordsProvider is an SQLite database backed by the version of
SQLite that ships with Gecko. It is concurrently accessed from Gecko
and it runs with a special lifecycle that includes a separate
heavy-weight process. Eventually we'll migrate the Gecko-side
passwords interface to use the new Android-side LoginsProvider, but
for now we just want to get the new provider landed and the tests
running.
MozReview-Commit-ID: Bx19D68tMtI
***
Bug 946857 - Fold into part2: review nits.
MozReview-Commit-ID: LmPwIvebfrr
LoginsProvider is an all-Android implementation of PasswordsProvider.
PasswordsProvider is an SQLite database backed by the version of
SQLite that ships with Gecko. It is concurrently accessed from Gecko
and it runs with a special lifecycle that includes a separate
heavy-weight process. Eventually we'll migrate the Gecko-side
passwords interface to use the new Android-side LoginsProvider, but
for now we just want to get the new provider landed and the tests
running.
MozReview-Commit-ID: Bx19D68tMtI
***
Bug 946857 - Fold into part2: review nits.
MozReview-Commit-ID: LmPwIvebfrr
Non-Mozilla distributors may wish to run their own autopush endpoint,
using a sender ID and corresponding Google API key that they control.
This simplifies that just a little bit, and gets Mozilla's release
engineering out of the business of managing non-sensitive secrets.
In the future, this sender ID will be baked into the Android APK's
string resources, in accordance with newer Google Play Services
library requirements.
MozReview-Commit-ID: AAxreEP73B0
afaict, we don't currently support app indexing (bug 1252569) so this should be
okay to reduce the warning level. We can ignore it if we decide we don't want
to support this feature.
MozReview-Commit-ID: 2q4zqEHw2B5
This is per request in bug 1097398 comment 18. The text selection
highlight should be fennec orange (#FF9500) and opacity 0.6.
This patch is derived from a WIP patch by Mark Capella
<markcapella@twcny.rr.com>
MozReview-Commit-ID: 9WXDluDQTFg
The default AccessibleCaret CSS style is in layout/base/ua.css. We override them
in content.css to use the Android L style assets.
MozReview-Commit-ID: 6IEejkP7Moq
This is to support Firefox Android L style carets assets that the two
carets always look like tilt.
This patch is derived from a WIP patch by Mark Capella
<markcapella@twcny.rr.com>
MozReview-Commit-ID: H3nKLz6HcpM
Default AccessibleCaret assets were in editor for historical reasons. Because
ua.css references them, I move them to layout/style/ and add them in jar.mn so
that we don't have to package them in various products.
MozReview-Commit-ID: 7K7qr9FK784
Otherwise we will crash with a java.util.ConcurrentModificationException on iterator.next()
after removing an item using list.remove(item).
MozReview-Commit-ID: KYebSw2zjVk
Currently tests version 27 to 28 and is abstract enough to test future
upgrades. Additionally, the test should fail if the database is upgraded but a
database for the old version is not supplied.
MozReview-Commit-ID: CpBiGETFacv
Flush IME changes when committing or canceling the composition, before
sending a notification, so that the Gecko and Java sides are on the same
page.
Also, use the GeckoEditableListener constants when calling notifyIME so
we don't rely on the Gecko platform constants having the same values as
our Java constants.
The finder component has a quirk that the first time it searches for a
string it may find text that's normally not included in the search
result (e.g. the placeholder text in an input element). I think rather
than fixing the quirk, which seems risky, it's better to work around it
by performing a fake dummy search when first showing the find bar. On
desktop, we also (I think unintentionally) perform a dummy search when
the find bar first appears.
This is a quick sanity check: a clean profile should return all the suggested
sites directly.
We should probably add further tests making sure that history items appear
in front of the suggested sites, that pinned sites work correctly,
and that suggested sites don't appear outside of the grid.
MozReview-Commit-ID: Ai8gTkv9E9w
This means we now have only one open cursor for the topsites query, instead of 2 real cursors (and one
MatrixCursor). We still need a MergeCursor and MatrixCursor to supply blank tiles, this will
disappear as soon as the user has sufficient history items to fill the suggested sites grid.
MozReview-Commit-ID: LnJaSMIDM2O
Note that this version only returns topsites, pinned sites, and suggested sites.
Blank tiles aren't supplied, and need to be added separately.
MozReview-Commit-ID: 5Vc5pXTewHi
We'll need access to the SuggestedSites in BrowserProvider when assembling the
topsites query there, hence we need to allow access via BrowserDB.
MozReview-Commit-ID: BkZghDhQGxr
This allows us to more easily append multiple sets of args.
TODO: is it worth naming this appendSelectionArgs? We should keep the
2-param version appendSelectionArgs since it's more efficient for that
case (and the vast majority of uses are with 2-params) - it's probably
simpler for development to have both versions have the same name, and
as far as I can tell the compiler will prefer the non varargs version
when possible.
MozReview-Commit-ID: LcI6zNwpIxh
Setting GRADLE_USER_HOME in this way ensures all Gradle invocations in
automation have the right flags, rather than just the ones we
remember.
MozReview-Commit-ID: IL53nZVsFuV