Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: lib/notificationHelper.js

Issue 29452181: Noissue - Merge current tip to Edge bookmark (Closed)
Patch Set: Created May 30, 2017, 3:49 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « lib/messaging.js ('k') | lib/popupBlocker.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: lib/notificationHelper.js
===================================================================
--- a/lib/notificationHelper.js
+++ b/lib/notificationHelper.js
@@ -1,6 +1,6 @@
/*
* This file is part of Adblock Plus <https://adblockplus.org/>,
- * Copyright (C) 2006-2016 Eyeo GmbH
+ * Copyright (C) 2006-2017 eyeo GmbH
*
* Adblock Plus is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -33,6 +33,7 @@
displayMethods.critical = ["icon", "notification", "popup"];
displayMethods.question = ["notification"];
displayMethods.normal = ["notification"];
+displayMethods.relentless = ["notification"];
displayMethods.information = ["icon", "popup"];
function prepareNotificationIconAndPopup()
@@ -86,7 +87,7 @@
}
];
}
- if (notificationType != "critical")
+ if (["critical", "relentless"].indexOf(notificationType) == -1)
{
buttons.push({
type: "configure",
@@ -132,7 +133,8 @@
});
break;
case "question":
- NotificationStorage.triggerQuestionListeners(activeNotification.id, buttonIndex == 0);
+ NotificationStorage.triggerQuestionListeners(activeNotification.id,
+ buttonIndex == 0);
NotificationStorage.markAsShown(activeNotification.id);
activeNotification.onClicked();
break;
@@ -146,10 +148,13 @@
function initChromeNotifications()
{
- // Chrome hides notifications in notification center when clicked so we need to clear them
+ // Chrome hides notifications in notification center when clicked so
+ // we need to clear them.
function clearActiveNotification(notificationId)
{
- if (activeNotification && activeNotification.type != "question" && !("links" in activeNotification))
+ if (activeNotification &&
+ activeNotification.type != "question" &&
+ !("links" in activeNotification))
return;
chrome.notifications.clear(notificationId, wasCleared =>
@@ -159,11 +164,13 @@
});
}
- chrome.notifications.onButtonClicked.addListener((notificationId, buttonIndex) =>
- {
- notificationButtonClick(buttonIndex);
- clearActiveNotification(notificationId);
- });
+ chrome.notifications.onButtonClicked.addListener(
+ (notificationId, buttonIndex) =>
+ {
+ notificationButtonClick(buttonIndex);
+ clearActiveNotification(notificationId);
+ }
+ );
chrome.notifications.onClicked.addListener(clearActiveNotification);
chrome.notifications.onClosed.addListener(notificationClosed);
}
@@ -178,20 +185,23 @@
{
let texts = NotificationStorage.getLocalizedTexts(notification);
let title = texts.title || "";
- let message = texts.message ? texts.message.replace(/<\/?(a|strong)>/g, "") : "";
+ let message = (texts.message || "").replace(/<\/?(a|strong)>/g, "");
let iconUrl = ext.getURL("icons/detailed/abp-128.png");
let linkCount = (activeNotification.links || []).length;
if ("notifications" in chrome)
{
- activeButtons = getNotificationButtons(activeNotification.type, texts.message);
+ activeButtons = getNotificationButtons(activeNotification.type,
+ texts.message);
chrome.notifications.create("", {
type: "basic",
- title: title,
- iconUrl: iconUrl,
- message: message,
+ title,
+ iconUrl,
+ message,
buttons: activeButtons.map(button => ({title: button.title})),
- priority: 2 // We use the highest priority to prevent the notification from closing automatically
+ // We use the highest priority to prevent the notification
+ // from closing automatically.
+ priority: 2
});
}
else if ("Notification" in window && activeNotification.type != "question")
@@ -199,7 +209,7 @@
if (linkCount > 0)
message += " " + ext.i18n.getMessage("notification_without_buttons");
- let notification = new Notification(
+ let widget = new Notification(
title,
{
lang: Utils.appLocale,
@@ -209,12 +219,12 @@
}
);
- notification.addEventListener("click", openNotificationLinks);
- notification.addEventListener("close", notificationClosed);
+ widget.addEventListener("click", openNotificationLinks);
+ widget.addEventListener("close", notificationClosed);
}
else
{
- let message = title + "\n" + message;
+ message = title + "\n" + message;
if (linkCount > 0)
message += "\n\n" + ext.i18n.getMessage("notification_with_buttons");
@@ -226,7 +236,10 @@
}
}
prepareNotificationIconAndPopup();
-};
+
+ if (notification.type !== "question")
+ NotificationStorage.markAsShown(notification.id);
+}
/**
* Initializes the notification system.
« no previous file with comments | « lib/messaging.js ('k') | lib/popupBlocker.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld