Commit Graph
35 Commits
Author SHA1 Message Date
Nicholas Rishel 35c2c30aae Bug 1787004 - Fix notifications not closing when notification.close() is called. r=nalexander,geckoview-reviewers,smaug,jonalmeida
This adds context to `CloseAlert()` such that explicitly closing the notification e.g. `notification.close()` can be differentiated from a tab or window implicitly closing the notification. This is necessary as we want notifications to persist after a tab or window is closed for Windows.

This change in behavior is necessary to match user expectations. Users expect notifications to persist in the system tray and do not expect notifications to be lost due to a tab being closed. The content of the message is more important than the interaction in that lens. This change is also necessary for parity with Chrome.

Differential Revision: https://phabricator.services.mozilla.com/D161024
2023-01-06 18:36:23 +00:00
Arturo Mejia 9ae2bddd1a Bug 1788720 - Expose private browsing flag in StorageController.getPermissions r=geckoview-reviewers,jonalmeida
Differential Revision: https://phabricator.services.mozilla.com/D160424
2022-11-02 13:20:13 +00:00
Cristian Tuns bb87874291 Backed out changeset 6d8714cc305a (bug 1788720) for causing geckoview failures on clickNotificationParceled CLOSED TREE 2022-11-01 14:00:27 -04:00
Arturo Mejia cb80e7e873 Bug 1788720 - Expose private browsing flag in StorageController.getPermissions r=geckoview-reviewers,jonalmeida
Differential Revision: https://phabricator.services.mozilla.com/D160424
2022-11-01 16:49:12 +00:00
Cosmin Sabou d175c475df Backed out changeset c7074f4cf73c (bug 1788720) for causing geckoview failures on PermissionDelegateTest. CLOSED TREE 2022-10-28 22:03:56 +03:00
Arturo Mejia 01ab5c25e4 Bug 1788720 - Expose private browsing flag in StorageController.getPermissions r=geckoview-reviewers,jonalmeida
Differential Revision: https://phabricator.services.mozilla.com/D160424
2022-10-28 14:00:45 +00:00
Marian-Vasile Laza e45ffa454d Backed out changeset 9cda62240050 (bug 1788720) for causing linting failures. CLOSED TREE 2022-10-27 01:49:08 +03:00
Arturo Mejia d14493d6fb Bug 1788720 - Expose private browsing flag in StorageController.getPermissions r=geckoview-reviewers,jonalmeida
Differential Revision: https://phabricator.services.mozilla.com/D160424
2022-10-26 21:56:06 +00:00
Agi Sferro f4825f907a Bug 1696145 - Support Notification.silent and .vibrate on Android. r=smaug,droeh,aklotz
Differential Revision: https://phabricator.services.mozilla.com/D111924
2021-04-20 18:35:36 +00:00
Csoregi Natalia 932777215d Backed out 2 changesets (bug 1696145) for causing build bustage on notifications. CLOSED TREE
Backed out changeset 2e18b65dd133 (bug 1696145)
Backed out changeset 6d302afe732f (bug 1696145)
2021-04-20 20:13:56 +03:00
Agi Sferro b0e435b77a Bug 1696145 - Support Notification.silent and .vibrate on Android. r=smaug,droeh,aklotz
Differential Revision: https://phabricator.services.mozilla.com/D111924
2021-04-20 16:38:45 +00:00
Simon Giesecke c7a36b5d58 Bug 1634281 - Use nsTHashMap instead of nsDataHashtable. r=xpcom-reviewers,necko-reviewers,jgilbert,nika,valentin
Note that this patch only transforms the use of the nsDataHashtable type alias
to a directly equivalent use of nsTHashMap. It does not change the specification
of the hash key type to make use of the key class deduction that nsTHashMap
allows for in some cases. That can be done in a separate step, but requires more
attention.

Differential Revision: https://phabricator.services.mozilla.com/D106008
2021-03-10 10:47:47 +00:00
Simon Giesecke 95c38cc6b8 Bug 1691913 - Rename nsBaseHashtable::Put to InsertOrUpdate. r=xpcom-reviewers,necko-reviewers,jgilbert,dragana,nika
This makes the naming more consistent with other functions called
Insert and/or Update. Also, it removes the ambiguity whether
Put expects that an entry already exists or not, in particular because
it differed from nsTHashtable::PutEntry in that regard.

Differential Revision: https://phabricator.services.mozilla.com/D105473
2021-02-26 09:11:46 +00:00
Christoph Kerschbaumer 237268629c Bug 1680768: Remove unused argument aPrincipal within closeAlert() in nsIAlertsService.idl r=nika
Differential Revision: https://phabricator.services.mozilla.com/D98776
2020-12-07 17:44:34 +00:00
Simon Giesecke ab6f0a7137 Bug 1650145 - Replace all value uses of Empty[C]String by 0-length _ns literals. r=froydnj,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D82325
2020-09-23 15:17:15 +00:00
Agi Sferro a2f4c07815 Bug 1649494 - Don't assume a notification has a URL. r=aklotz
Differential Revision: https://phabricator.services.mozilla.com/D88165
2020-08-25 17:49:31 +00:00
Simon Giesecke a69d79b6db Bug 1648010 - Replace uses of NS_LITERAL_STRING/NS_LITERAL_CSTRING macros by _ns literals. r=geckoview-reviewers,jgilbert,agi,hsivonen,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D80860
2020-07-01 08:29:29 +00:00
James Willcox 5a20279539 Bug 1642345 - Add 'source' field to WebNotification r=geckoview-reviewers,agi,esawin
Differential Revision: https://phabricator.services.mozilla.com/D78168
2020-06-09 13:47:53 +00:00
Dorel Luca 8b4863352e Backed out changeset d52680bbda73 (bug 1642345) for Mochitest failures in toolkit/components/alerts/test/test_alerts_noobserve.html. CLOSED TREE 2020-06-08 23:50:35 +03:00
James Willcox 8dd4ab9fab Bug 1642345 - Add 'source' field to WebNotification r=geckoview-reviewers,agi,esawin
Differential Revision: https://phabricator.services.mozilla.com/D78168
2020-06-08 17:22:17 +00:00
Aaron Klotz 383ce64df3 Bug 1637452: Part 1 - Fix JNI includes in widget/android; r=geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D75364
2020-05-15 17:04:10 +00:00
James Willcox 7c15484cf5 Bug 1589246 - Guard against null notification when closing them on Android r=geckoview-reviewers,droeh
Differential Revision: https://phabricator.services.mozilla.com/D50642
2019-10-25 18:06:09 +00:00
Nick Alexander 997b7d1148 Bug 1580356 - Remove Fennec (Firefox for Android). r=snorp,mshal
This does many things:

1) stops producing (and consuming) `FennecJNI*` JNI wrappers
2) removes the :app and :thirdparty Gradle projects
3) removes relevant pieces of the Gradle target configuration
4) updates lints
5) purges old configurations

After this commit, the `mobile/android` project/application builds
only GeckoView.

Differential Revision: https://phabricator.services.mozilla.com/D46536
2019-10-04 20:55:11 +00:00
Alvina Waseem eeabd143ba Bug 1533057 - Created Web Notifications API. r=geckoview-reviewers,agi,snorp
Differential Revision: https://phabricator.services.mozilla.com/D36342
2019-08-21 16:49:49 +00:00
Oana Pop Rus 35024325fd Backed out changeset 6d823f106e69 (bug 1533057) for Android mochitest failure in AndroidAlerts.cpp on a CLOSED TREE 2019-08-16 02:28:42 +03:00
Alvina Waseem 3c260969a5 Bug 1533057 - Created Web Notifications API. r=geckoview-reviewers,agi,snorp
Differential Revision: https://phabricator.services.mozilla.com/D36342
2019-08-15 20:13:57 +00:00
Tooru Fujisawa 5ef6d9cc06 Bug 1511393 - Use c-basic-offset: 2 in Emacs mode line for C/C++ code. r=nbp 2018-12-01 04:52:05 +09:00
Sylvestre Ledru e5a134f73a Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset
2018-11-30 11:46:48 +01:00
Ehsan Akhgari b614d2046a Bug 1508472 - Part 5: Fifth batch of comment fix-ups in preparation for the tree reformat r=sylvestre
This is a best effort attempt at ensuring that the adverse impact of
reformatting the entire tree over the comments would be minimal. I've used a
combination of strategies including disabling of formatting, some manual
formatting and some changes to formatting to work around some clang-format
limitations.

Differential Revision: https://phabricator.services.mozilla.com/D13371
2018-11-29 10:30:46 +00:00
William Chen ffb414a896 Bug 862395 - Part 1: Add requireInteraction property to web notifications. r=baku 2016-10-12 17:27:40 -07:00
Jim Chen 0044906898 Bug 1305498 - Refactor notification code to be more concise; r=sebastian
Bug 1305498 - 1. Remove NotificationClient task queue; r=sebastian

Not sure why we needed a task queue for NotificationClient actions. The
actions all go through IPC and are non-blocking, so it's perfectly fine
to perform them off of whatever thread we're on.

Bug 1305498 - 2. Integrate NotificationHandler et al into NotificationCllient; r=sebastian

There's no reason to have NotificationHandler, AppNotificationClient,
and ServiceNotificationClient all separate from the base
NotificationClient class. This patch adds the functionality of
those three classes to NotificationClient.

The notifications hash map is changed from a ConcurrentHashMap to a
regular HashMap with synchronization because I think the use case here
doesn't warrant the added performance and overhead of ConcurrentHashMap.

NotificationService is changed to match the new NotificationClient. Now
the only job for NotificationService is to set a notification as
foreground, rather than to manage all notifications like before.

NotificationHandler, AppNotificationClient, and
ServiceNotificationClient will be removed in a later patch.

Bug 1305498 - 3. Set NotificationListener in GeckoApplication; r=sebastian

Set NotificationListener once in GeckoApplication.onCreate, instead of
spreading it out in GeckoApp, BrowserApp, and GeckoService. This is
possible because there's no longer a distinction between
AppNotificationClient and ServiceNotificationClient in the new,
consolidated NotificationClient.

Bug 1305498 - 4. Remove obsolete notification classes; r=sebastian

Remove AppNotificationClient, ServiceNotificationClient, and
NotificationHandler, now that they've all been replaced by the new,
consolidated NotificationClient.

Bug 1305498 - 5. Use NotificationReceiver for web notification callbacks; r=sebastian

Previously, web notification callbacks went to GeckoApp directly, but
that presented some problems such as not being able to implement the
on-close callback, because we don't want to launch GeckoApp when the
notification is closed by swiping. This patch makes us use
NotificationReceiver for callbacks, and let NotificationReceiver launch
GeckoApp if necessary.

Bug 1305498 - 6. Don't keep notification cookie in native code; r=sebastian

Keep the notification cookie a single location (in the notification
intent itself), and simplify the native notification handling code.

Bug 1305498 - 7. Use NotificationReceiver for persistent notifications; r=sebastian

Currently, persistent notification callbacks go through a different code
path, but it'd be more consistent and correct to let persistent
notification callbacks go through NotificationReceiver as well.

This takes care of some housekeeping work that was missing for
persistent notifications, such as deleting the mNotifications entry when
the notification is closed.
2016-10-05 21:52:32 -04:00
Jim Chen 6f4df53375 Bug 1304145 - 2. Change GeckoAppShell's notification interface; r=nalexander
Instead of using NotificationClient directly from GeckoAppShell, add a
NotificationListener interface, which NotificationClient would
implement. This isolates NotificationClient (and the notification
package) from GeckoAppShell and lets us move the notification package to
Fennec. It also makes a cleaner interface for GeckoView consumers to
implement notification support.
2016-09-22 16:38:19 -04:00
Jim Chen d7e3d4d04f Bug 1288821 - Convert callObserver/removeObserver to native method; r=snorp
Combine the callObserver and removeObserver methods used for notifying
alert listeners into the native method
GeckoAppShell.notifyAlertListener. Keep track of the listener and the
alert cookie on the native side so that we don't need
GeckoAppShell.ALERT_COOKIES anymore.
2016-08-04 09:17:54 -04:00
Jim Chen 923069e07d Bug 1288821 - Refactor Java notification interface; r=snorp
Refactor the notification-related methods in GeckoAppShell. In
particular, combine showPersistentAlertNotification into
showAlertNotification, and move code out of AndroidBridge.
2016-08-04 09:17:54 -04:00
Jim Chen 1735e2eb39 Bug 1288821 - Add AndroidAlerts as a nsAlertsService backend; r=snorp
Add a proper backend for nsAlertsService on Android, so we don't need
any special-case code for Android in nsAlertsService itself.
2016-08-04 09:17:54 -04:00