aboutsummaryrefslogtreecommitdiff
path: root/src/background/infrastructures
diff options
context:
space:
mode:
authorShin'ya Ueoka <ueokande@i-beam.org>2018-07-22 09:30:01 +0900
committerShin'ya Ueoka <ueokande@i-beam.org>2018-07-22 09:30:01 +0900
commit87ed1f43a96a67c4901c267aee96784de1d45889 (patch)
tree0ef3182973cad8b54a562cd9e1a34763ea5320c0 /src/background/infrastructures
parenta1e5e97200bd96ba918744dfa2758f977ca823c6 (diff)
Version as Clean Architecture
Diffstat (limited to 'src/background/infrastructures')
-rw-r--r--src/background/infrastructures/notifier.js23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/background/infrastructures/notifier.js b/src/background/infrastructures/notifier.js
new file mode 100644
index 0000000..1eccc47
--- /dev/null
+++ b/src/background/infrastructures/notifier.js
@@ -0,0 +1,23 @@
+const NOTIFICATION_ID = 'vimvixen-update';
+
+export default class Notifier {
+ notify(title, message, onclick) {
+ const listener = (id) => {
+ if (id !== NOTIFICATION_ID) {
+ return;
+ }
+
+ onclick();
+
+ browser.notifications.onClicked.removeListener(listener);
+ };
+ browser.notifications.onClicked.addListener(listener);
+
+ return browser.notifications.create(NOTIFICATION_ID, {
+ 'type': 'basic',
+ 'iconUrl': browser.extension.getURL('resources/icon_48x48.png'),
+ title,
+ message,
+ });
+ }
+}