Commit graph

46 commits

Author SHA1 Message Date
Aleksei Kuzmin
7fc3bcaa02 chore: run clang-format
- atom/
 - brightray/
 - chromium_src/
2018-09-19 17:18:10 +02:00
Felix Rieseberg
163e2d3527 fix: Windows Store Notifications (#13258)
* 🔧 Basic 'are we in the desktop bridge' check

* 🔧 Store the result of the call

* 🔧 Create ToastNotifier correctly in UWP environment

* 🔧 Actually, improve this all around

* ❤️ Implement feedback

* 🔧 Fix compiler issues

* 🔧 Mutex is banned, go to option 2

* 🔧 Use getProcAddress

* 📝 Make comment clearer

* ❤️ Implement feedback
2018-09-06 02:06:29 +10:00
Jeremy Apthorp
43c1a7778d chore: fix chromium-style errors in windows code 2018-06-21 16:50:58 -07:00
Shelley Vohr
49c8c31220
format previously misses .cc files 2018-04-17 21:56:12 -04:00
Samuel Attard
9676c0a4f9 Fix build and ensure no breaking change 2018-02-05 17:29:59 +09:00
Samuel Attard
87c2f0f14f Fix build and ensure no breaking change 2018-02-05 17:29:59 +09:00
Samuel Attard
5f7a173d1d Add missing header import 2018-02-05 17:29:59 +09:00
Samuel Attard
72464a6db5 Fix implicit appUserModelId set 2018-02-05 17:29:59 +09:00
Felix Rieseberg
75cdd9ec70 🔧 Linter's gotta lint 2017-12-13 16:31:02 -08:00
Felix Rieseberg
8a8aaaf16c 🔧 Allow notifications debugging (Windows) 2017-12-13 16:25:49 -08:00
Samuel Attard
7eb14243eb Refactor notification options 2017-06-24 21:39:06 +10:00
Samuel Attard
4f0d48f164 Add support for notification actions on macOS 2017-06-23 20:50:20 +10:00
Samuel Attard
5048425e6e
Update implementation as per feedback 2017-05-30 19:06:51 +10:00
Samuel Attard
058bdfbced Use NotificationPresenter - macOS 2017-05-29 20:02:33 +10:00
Kevin Sawicki
d7321ed980 Add brightray prefix to include paths from within brightray 2017-05-19 08:46:15 -07:00
Kevin Sawicki
c4608c0f37 Fix build/include_alpha linter violations in brightray 2017-05-19 08:46:15 -07:00
Ales Pergl
e6a30388da Make Notification factory function a member of NotificationPresenter so that we can create different types of notifications based on runtime conditions. 2017-04-05 14:30:15 +02:00
Kevin Sawicki
be0c0e278a Remove cpplint errors 2017-03-23 12:48:27 -07:00
Cheng Zhao
593fb8cdf0 Delay notification events to next tick
It is possible that the events get emitted when calling Show(), which
would then delete the class before Show() ends, results in using members
of a deleted class.

By delaying the events to next tick we can effectively avoid this.
2016-04-15 16:20:36 +09:00
Cheng Zhao
f4c27c6d29 Store weak ref to Notification in ToastEventHandler 2016-04-15 16:14:13 +09:00
Cheng Zhao
ddee77fae4 Do not use get_Setting to determine whether notification is enabled
On Windows 10 get_Setting always returns DISABLED when the program has a
AppUserModelID.
2016-04-15 16:01:21 +09:00
Marco Trevisan (Treviño)
59ed6ad413 Notification: pass tag to Show method 2016-04-13 06:12:46 +02:00
Felix Rieseberg
b68be5c583 🏁 Notify only when enabled
- Previously, we'd attempt to create a notification no matter what the
  user's configuration was. Microsoft advises against that, because it
  can create race conditions if notifications are disabled.
- This fixes the issue.

Closes https://github.com/atom/electron/issues/4681
2016-03-15 17:10:24 -07:00
Paul Betts
157f3abe64 Not quite sure how this ever worked 2016-03-07 22:02:42 -08:00
Paul Betts
da59c0f58b basictypes.h => macros.h 2016-03-07 21:40:41 -08:00
Felix Rieseberg
728f0f985b 🏁 🍎 Add Silent Notification Support
* Implements support for silent notifications on Windows and OS X
 * Exposes bool `silent` to Linux notification presenters
2016-01-21 09:24:42 -08:00
Cheng Zhao
82cef44623 win: Fire NotificationFailed when failed to show notification 2015-12-25 11:17:35 +08:00
Cheng Zhao
b091f27abf win: Adapt to new Notification style 2015-12-25 11:05:48 +08:00
Cheng Zhao
513b6ae0d6 Do not use icon url when showing notification 2015-12-24 20:03:54 +08:00
Cheng Zhao
087eeedab8 Use application name when app user model ID is not available 2015-11-24 15:11:43 +08:00
Cheng Zhao
c060539562 Only create NotificationPresenter when succeeded to initailize toast manager
This fix crash when we failed to initailize toast manager.
2015-11-24 14:40:58 +08:00
Cheng Zhao
aa8d164036 Use AppUserModelID as app id 2015-11-20 13:28:37 +08:00
Felix Rieseberg
571b595571 Fix Tag Typo
We should probably have tests for Windows notifications ;-)
2015-11-16 07:41:37 -08:00
Cheng Zhao
8ff0b050f8 There is no more NotificationError 2015-11-16 16:47:34 +08:00
Milan Burda
dedf3553e2 Call content::DesktopNotificationDelegate::NotificationError when toast notification fails on Windows 2015-11-13 15:42:35 +01:00
Felix Rieseberg
b4ac9547c4 Windows Toasts: Don't call WFI statically 2015-11-10 18:37:43 -08:00
Felix Rieseberg
2c84d70f8f Delay Load WinRT Libraries 2015-11-10 18:04:09 -08:00
Cheng Zhao
f9f8a289d9 Simplify the management of objects 2015-11-10 20:23:08 +08:00
Cheng Zhao
4f73de0930 Make the toast type really work 2015-11-10 20:07:12 +08:00
Cheng Zhao
6b9371c4cd Use smart pointer for everything 2015-11-10 19:50:38 +08:00
Cheng Zhao
1b9c9e40e3 Code cleanup with Chromium's coding style 2015-11-10 18:30:58 +08:00
Cheng Zhao
37a89ee0d9 Fix compilation error 2015-11-10 18:04:46 +08:00
Milan Burda
8f5463faab Simplify ToastEventHandler using WRL::RuntimeClass, which implements the IUnknown interface 2015-11-09 20:47:18 +01:00
Jason Poon
8dbeca8c7f Windows Toasts: Hide(), Runtime Check, Header Cleanup 2015-11-09 12:00:50 +01:00
Felix Rieseberg
86ea0759d8 Windows Toasts: Icons, Events, Cleanup, Documentation
- Enable documentations
- Add a small usage example to the header
- Final cleanups
2015-11-09 12:00:49 +01:00
Jason Poon
498bff9e5a Windows Toasts: Enable Basic Notifications
To test this puppy out, build and open up the Chromium Dev Tools.
Then, run `new Notification("Test title", {body: "Test body"});`
2015-11-09 12:00:21 +01:00