+2017-05-04 Sam Weinig <sam@webkit.org>
+
+ Remove support for legacy Notifications
+ https://bugs.webkit.org/show_bug.cgi?id=171487
+
+ Reviewed by Jon Lee.
+
+ - Remove fast/notifications/. It was skipped on all platforms and use legacy Notifications API.
+ - Remove http/notifications/legacy. It tested the legacy API.
+ - Update two tests in fast/history to use the non-legacy API to test page cache + notifications.
+ - Update TestExpectations for removals.
+
+ * TestExpectations:
+ * platform/gtk/TestExpectations:
+ * platform/ios/TestExpectations:
+ * platform/mac/TestExpectations:
+ * platform/win/TestExpectations:
+ * fast/history/page-cache-notification-non-suspendable.html:
+ * fast/history/page-cache-notification-suspendable.html:
+ * fast/notifications: Removed.
+ * fast/notifications/notification-after-close-expected.txt: Removed.
+ * fast/notifications/notification-after-close.html: Removed.
+ * fast/notifications/notification-permisssion-deletable-expected.txt: Removed.
+ * fast/notifications/notification-permisssion-deletable.html: Removed.
+ * fast/notifications/notifications-cancel-request-permission-expected.txt: Removed.
+ * fast/notifications/notifications-cancel-request-permission.html: Removed.
+ * fast/notifications/notifications-check-permission-expected.txt: Removed.
+ * fast/notifications/notifications-check-permission.html: Removed.
+ * fast/notifications/notifications-click-event-expected.txt: Removed.
+ * fast/notifications/notifications-click-event-focus-expected.txt: Removed.
+ * fast/notifications/notifications-click-event-focus.html: Removed.
+ * fast/notifications/notifications-click-event.html: Removed.
+ * fast/notifications/notifications-constructor-request-permission-expected.txt: Removed.
+ * fast/notifications/notifications-constructor-request-permission.html: Removed.
+ * fast/notifications/notifications-constructor-with-permission-expected.txt: Removed.
+ * fast/notifications/notifications-constructor-with-permission.html: Removed.
+ * fast/notifications/notifications-constructor-without-permission-expected.txt: Removed.
+ * fast/notifications/notifications-constructor-without-permission.html: Removed.
+ * fast/notifications/notifications-display-close-events-expected.txt: Removed.
+ * fast/notifications/notifications-display-close-events.html: Removed.
+ * fast/notifications/notifications-document-close-crash-expected.txt: Removed.
+ * fast/notifications/notifications-document-close-crash.html: Removed.
+ * fast/notifications/notifications-event-stop-propagation-expected.txt: Removed.
+ * fast/notifications/notifications-event-stop-propagation.html: Removed.
+ * fast/notifications/notifications-multi-events-expected.txt: Removed.
+ * fast/notifications/notifications-multi-events.html: Removed.
+ * fast/notifications/notifications-no-icon-expected.txt: Removed.
+ * fast/notifications/notifications-no-icon.html: Removed.
+ * fast/notifications/notifications-permission-expected.txt: Removed.
+ * fast/notifications/notifications-permission.html: Removed.
+ * fast/notifications/notifications-replace-expected.txt: Removed.
+ * fast/notifications/notifications-replace.html: Removed.
+ * fast/notifications/notifications-request-permission-expected.txt: Removed.
+ * fast/notifications/notifications-request-permission-optional-expected.txt: Removed.
+ * fast/notifications/notifications-request-permission-optional.html: Removed.
+ * fast/notifications/notifications-request-permission.html: Removed.
+ * fast/notifications/notifications-rtl-expected.txt: Removed.
+ * fast/notifications/notifications-rtl.html: Removed.
+ * fast/notifications/notifications-sandbox-permission-expected.txt: Removed.
+ * fast/notifications/notifications-sandbox-permission.html: Removed.
+ * fast/notifications/notifications-window-close-crash-expected.txt: Removed.
+ * fast/notifications/notifications-window-close-crash.html: Removed.
+ * fast/notifications/notifications-with-permission-expected.txt: Removed.
+ * fast/notifications/notifications-with-permission.html: Removed.
+ * fast/notifications/notifications-without-permission-expected.txt: Removed.
+ * fast/notifications/notifications-without-permission.html: Removed.
+ * fast/notifications/request-notification-permission-while-reloading-expected.txt: Removed.
+ * fast/notifications/request-notification-permission-while-reloading.html: Removed.
+ * fast/notifications/resources: Removed.
+ * fast/notifications/resources/notifications-cancel-request-permission.html: Removed.
+ * fast/notifications/resources/notifications-iframe.html: Removed.
+ * http/tests/notifications/legacy: Removed.
+ * http/tests/notifications/legacy/double-show-expected.txt: Removed.
+ * http/tests/notifications/legacy/double-show.html: Removed.
+ * http/tests/notifications/legacy/events-expected.txt: Removed.
+ * http/tests/notifications/legacy/events.html: Removed.
+ * http/tests/notifications/legacy/notification-request-permission-then-navigate-expected.txt: Removed.
+ * http/tests/notifications/legacy/notification-request-permission-then-navigate.html: Removed.
+ * http/tests/notifications/legacy/request-expected.txt: Removed.
+ * http/tests/notifications/legacy/request-no-callback-expected.txt: Removed.
+ * http/tests/notifications/legacy/request-no-callback.html: Removed.
+ * http/tests/notifications/legacy/request.html: Removed.
+ * http/tests/notifications/legacy/resources: Removed.
+ * http/tests/notifications/legacy/resources/notify-opener-done.html: Removed.
+ * http/tests/notifications/legacy/resources/request-permission-then-navigate.html: Removed.
+ * http/tests/notifications/legacy/show-expected.txt: Removed.
+ * http/tests/notifications/legacy/show.html: Removed.
+ * http/tests/notifications/legacy/window-show-on-click-expected.txt: Removed.
+ * http/tests/notifications/legacy/window-show-on-click.html: Removed.
+
2017-05-04 Matt Lewis <jlewis3@apple.com>
Marked http/tests/xmlhttprequest/workers/methods-async.html as flaky.
window.sessionStorage.page_cache_notifications_test_started = true;
// This notification is shown and should not be suspendable.
- notification = webkitNotifications.createNotification('', 'title 2', 'body');
+ notification = new Notification('title', { body: 'body' });
notification.onerror = function() {
testFailed("Could not show the notification");
finishJSTest();
// Force a back navigation back to this page.
window.location.href = "resources/page-cache-helper.html";
};
- notification.show();
}, false);
</script>
}, false);
window.addEventListener('load', function() {
- // This notification is in idle state and should be suspendable.
- notification1 = webkitNotifications.createNotification('', 'title 1', 'body');
-
// This notification is shown and should be suspendable once it is closed.
- notification2 = webkitNotifications.createNotification('', 'title 2', 'body');
- notification2.ondisplay = function() {
+ notification = new Notification('title', { body: 'body' });
+ notification.ondisplay = function() {
// Close the notification.
setTimeout(function() {
- notification2.cancel();
+ notification.close();
}, 0);
};
- notification2.onerror = function() {
+ notification.onerror = function() {
testFailed("Could not display the notification");
finishJSTest();
};
- notification2.onclose = function() {
+ notification.onclose = function() {
setTimeout(function() {
// Force a back navigation back to this page.
window.location.href = "resources/page-cache-helper.html";
}, 0);
};
- notification2.show();
}, false);
</script>
+++ /dev/null
-<!DOCTYPE html>
-<html>
-<head>
- <script type="text/javascript">
- function log(message)
- {
- document.getElementById("result").innerHTML += message + "<br>";
- }
-
- function runTests()
- {
- if (window.testRunner) {
- testRunner.dumpAsText();
- testRunner.waitUntilDone();
- testRunner.setCanOpenWindows();
- }
-
- win = window.open('about:blank');
- if (win.webkitNotifications === undefined) {
- log("PASS");
- } else {
- notificationCenter=win.webkitNotifications;
- win.close();
- try {
- n=notificationCenter.createNotification('');
- } catch (e) {}
- // Just make sure we don't crash.
- log("PASS");
- }
-
- if (window.testRunner)
- testRunner.notifyDone();
- }
- </script>
-</head>
-<body>
-<div id="result"></div>
-
-<script type="text/javascript">
-runTests();
-</script>
-
-</body>
-</html>
+++ /dev/null
-Tests that Notification.permission is deletable.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS Notification.permission is "default"
-PASS delete Notification.permission is true
-PASS Notification.permission is undefined.
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
+++ /dev/null
-<!DOCTYPE html>
-<html>
-<body>
-<script src="../../resources/js-test-pre.js"></script>
-<script>
-description("Tests that Notification.permission is deletable.");
-
-shouldBeEqualToString("Notification.permission", "default");
-shouldBeTrue("delete Notification.permission");
-shouldBeUndefined("Notification.permission");
-</script>
-<script src="../../resources/js-test-post.js"></script>
-</body>
-</html>
+++ /dev/null
-DESKTOP NOTIFICATION PERMISSION REQUESTED: file://
-DESKTOP NOTIFICATION PERMISSION REQUEST CANCELLED: file://
-Requesting and cancelling notification permission...
-
-Pass if notification is cancelled
+++ /dev/null
-<html>
-<head>
- <script type="text/javascript">
-
- // Timeout is to ensure that the iframe was removed.
- setTimeout(isDone,500);
-
- function log(message)
- {
- document.getElementById("result").innerHTML += message + "<br>";
- }
-
- function runTests()
- {
- if (window.testRunner) {
- testRunner.dumpAsText();
- testRunner.waitUntilDone();
- }
-
- if (!window.webkitNotifications) {
- log("FAIL: No webkitNotifications interface!");
- }
-
- document.getElementById("test").innerHTML="Pass if notification is cancelled";
- }
-
- function isDone()
- {
- if (window.testRunner) {
- testRunner.notifyDone();
- }
- }
-
- </script>
-</head>
-<body onload="runTests();">
- <p>Requesting and cancelling notification permission...</p>
-
-<div id="result"></div>
-<div id="test">
-<iframe src="resources/notifications-cancel-request-permission.html" width=800 height=800></iframe>
-</div>
-</body>
-</html>
+++ /dev/null
-Checking permission...
-
-PASS: Permission not granted.
-PASS: Permission granted.
-
+++ /dev/null
-<!DOCTYPE html>
-<html>
-<head>
- <script type="text/javascript">
- function log(message)
- {
- document.getElementById("result").innerHTML += message + "<br>";
- }
-
- function runTests()
- {
- if (window.testRunner) {
- testRunner.dumpAsText();
- }
-
- if (!window.webkitNotifications) {
- log("FAIL: No webkitNotifications interface!");
- }
-
- var N = window.webkitNotifications.checkPermission();
- if (N != 0) {
- log("PASS: Permission not granted.");
- } else {
- log("FAIL: Permission shouldn't be granted.");
- }
-
- if (window.testRunner) {
- testRunner.grantWebNotificationPermission("file://");
- }
-
- N = window.webkitNotifications.checkPermission();
- if (N == 0) {
- log("PASS: Permission granted.");
- } else {
- log("FAIL: Permission not granted.");
- }
- }
- </script>
-</head>
-<body>
-<p>Checking permission...</p>
-<div id="result"></div>
-<script type="text/javascript">
-runTests();
-</script>
-
-</body>
-</html>
+++ /dev/null
-DESKTOP NOTIFICATION: icon , title New E-mail, text Meet me tonight at 8!
-DESKTOP NOTIFICATION CLOSED: New E-mail
-Showing notifications.
-
-To exercise manually, grant notification permissions and load this page, then click on the notification. You should see a "PASS" message.
-
-PASS: click event fired.
-
+++ /dev/null
-DESKTOP NOTIFICATION: icon , title New E-mail, text Meet me tonight at 8!
-DESKTOP NOTIFICATION CLOSED: New E-mail
-Check that window.focus() is not restricted during notification click events.
-
-To exercise manually, disable pop-up blocking, grant notification permissions and load this page, then click on the notification. You should see two "PASS" messages and this window should be focused.
-
-PASS: click event fired.
-PASS: focus event fired.
-
+++ /dev/null
-<!DOCTYPE html>
-<html>
-<head>
- <script type="text/javascript">
- function log(message)
- {
- document.getElementById("result").innerHTML += message + "<br>";
- }
-
- function runTests()
- {
- if (window.testRunner) {
- testRunner.grantWebNotificationPermission("file://");
- testRunner.dumpAsText();
- testRunner.waitUntilDone();
- testRunner.setCanOpenWindows();
- testRunner.setCloseRemainingWindowsWhenComplete();
- }
-
- if (!window.webkitNotifications) {
- log("FAIL: No webkitNotifications interface!");
- }
-
- // Open a new window, so we don't have the focus.
- var W = window.open("about:blank");
- W.focus();
-
- window.onfocus = function() { log("PASS: focus event fired."); }
-
- var N = window.webkitNotifications.createNotification("", "New E-mail", "Meet me tonight at 8!");
- N.onclick = function() { log("PASS: click event fired."); window.focus(); N.cancel(); }
- N.show();
-
- if (window.testRunner) {
- testRunner.simulateLegacyWebNotificationClick("New E-mail");
- testRunner.notifyDone();
- }
- }
- </script>
-</head>
-<body>
-<p>Check that window.focus() is not restricted during notification click events.</p>
-
-<p>To exercise manually, disable pop-up blocking, grant notification permissions and load this page, then click on the notification. You should see two "PASS" messages and this window should be focused.</p>
-<div id="result"></div>
-
-<script type="text/javascript">
-runTests();
-</script>
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE html>
-<html>
-<head>
- <script type="text/javascript">
- function log(message)
- {
- document.getElementById("result").innerHTML += message + "<br>";
- }
-
- function runTests()
- {
- if (window.testRunner) {
- testRunner.grantWebNotificationPermission("file://");
- testRunner.dumpAsText();
- if (testRunner.dumpNotifications)
- testRunner.dumpNotifications();
- testRunner.waitUntilDone();
- }
-
- if (!window.webkitNotifications) {
- log("FAIL: No webkitNotifications interface!");
- }
-
- var N = window.webkitNotifications.createNotification("", "New E-mail", "Meet me tonight at 8!");
- N.onclick = function() { log("PASS: click event fired."); N.cancel(); }
- N.show();
- if (window.testRunner) {
- testRunner.simulateLegacyWebNotificationClick("New E-mail");
- testRunner.notifyDone();
- }
- }
- </script>
-</head>
-<body>
-<p>Showing notifications.</p>
-
-<p>To exercise manually, grant notification permissions and load this page, then click on the notification. You should see a "PASS" message.</p>
-<div id="result"></div>
-
-<script type="text/javascript">
-runTests();
-</script>
-</body>
-</html>
+++ /dev/null
-DESKTOP NOTIFICATION PERMISSION REQUESTED: file://
-Requesting notification permission...
-
-PASS: Permission callback invoked.
-
+++ /dev/null
-<!DOCTYPE html>
-<html>
-<head>
- <script type="text/javascript">
- function log(message)
- {
- document.getElementById("result").innerHTML += message + "<br>";
- }
-
- function runTests()
- {
- if (window.testRunner) {
- testRunner.dumpAsText();
- }
-
- if (!window.Notification) {
- log("FAIL: No Notification interface!");
- }
-
- var N = window.Notification.requestPermission(
- function() { log("PASS: Permission callback invoked."); }
- );
- }
- </script>
-</head>
-<body>
- <p>Requesting notification permission...</p>
-
-<div id="result"></div>
-<script type="text/javascript">
-runTests();
-</script>
-
-
-</body>
-</html>
+++ /dev/null
-DESKTOP NOTIFICATION: icon , title Hello world, text
-Sending notifications with permission...
-
-PASS: show event fired.
-
+++ /dev/null
-<!DOCTYPE html>
-<html>
-<head>
- <script type="text/javascript">
- function log(message)
- {
- document.getElementById("result").innerHTML += message + "<br>";
- }
-
- function runTests()
- {
- if (window.testRunner) {
- testRunner.grantWebNotificationPermission("file://");
- testRunner.dumpAsText();
- testRunner.waitUntilDone();
- }
-
- if (!window.Notification) {
- log("FAIL: No Notification constructor!");
- }
-
- var N = new Notification("Hello world");
- N.onshow = function() { log("PASS: show event fired."); }
- N.onerror = function() { log("FAIL: error event fired."); }
- setTimeout(function() { testRunner.notifyDone(); }, 100);
- }
- </script>
-</head>
-<body>
-<p>Sending notifications with permission...</p>
-<div id="result"></div>
-
-<script type="text/javascript">
-runTests();
-</script>
-</body>
-</html>
+++ /dev/null
-Sending notifications without permission...
-
-PASS: error event fired.
-
+++ /dev/null
-<!DOCTYPE html>
-<html>
-<head>
- <script type="text/javascript">
- function log(message)
- {
- document.getElementById("result").innerHTML += message + "<br>";
- }
-
- function runTests()
- {
- if (window.testRunner) {
- // NO PERMISSION testRunner.grantWebNotificationPermission("file://");
- testRunner.dumpAsText();
- testRunner.waitUntilDone();
- }
-
- if (!window.Notification) {
- log("FAIL: No Notification constructor!");
- }
-
- var N = new Notification("Hello world");
- N.onshow = function() { log("FAIL: show event fired."); }
- N.onerror = function() { log("PASS: error event fired."); }
- setTimeout(function() { testRunner.notifyDone(); }, 100);
- }
- </script>
-</head>
-<body>
-<p>Sending notifications without permission...</p>
-<div id="result"></div>
-
-<script type="text/javascript">
-runTests();
-</script>
-</body>
-</html>
+++ /dev/null
-DESKTOP NOTIFICATION: icon , title New E-mail, text Meet me tonight at 8!
-DESKTOP NOTIFICATION CLOSED: New E-mail
-Sending notifications with permission...
-
-PASS: display event invoked.
-PASS: close event invoked.
-
+++ /dev/null
-<!DOCTYPE html>
-<html>
-<head>
- <script type="text/javascript">
- function log(message)
- {
- document.getElementById("result").innerHTML += message + "<br>";
- }
-
- function runTests()
- {
- if (window.testRunner) {
- testRunner.grantWebNotificationPermission("file://");
- testRunner.dumpAsText();
- if (testRunner.dumpNotifications)
- testRunner.dumpNotifications();
- testRunner.waitUntilDone();
- }
-
- if (!window.webkitNotifications) {
- log("FAIL: No webkitNotifications interface!");
- }
-
- var N = window.webkitNotifications.createNotification("", "New E-mail", "Meet me tonight at 8!");
- N.ondisplay = function() { log("PASS: display event invoked."); N.cancel(); }
- N.onclose = function() { log("PASS: close event invoked."); testRunner.notifyDone(); }
- N.show();
- }
- </script>
-</head>
-<body>
-<p>Sending notifications with permission...</p>
-<div id="result"></div>
-
-<script type="text/javascript">
-runTests();
-</script>
-</body>
-</html>
+++ /dev/null
-CONSOLE MESSAGE: line 36: Uncaught InvalidStateError (DOM Exception 11): The object is in an invalid state.\r
-PASS\r
+++ /dev/null
-<html>
- <body>
- <div id="result"></div>
- <script>
- if (window.testRunner)
- {
- testRunner.dumpAsText();
- testRunner.setCanOpenWindows();
- testRunner.grantWebNotificationPermission("file://");
- testRunner.waitUntilDone();
- }
-
- if (!window.webkitNotifications) {
- log("FAIL: No webkitNotifications interface!");
- }
-
- var target = window.open("about:blank");
- var notification = target.webkitNotifications;
- target.location.reload();
- var timer = setInterval("crash()", 60);
- setTimeout("finish()", 100);
-
- function crash()
- {
- var a = [];
- for (var i = 0; i < 0x100; i++)
- {
- try
- {
- a.push(new WebGLByteArray());
- }
- catch (e) {}
- a.push(Array(i).join("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"));
- }
- delete a;
- notification.requestPermission();
- }
-
- function finish()
- {
- clearInterval(timer);
- document.getElementById("result").innerHTML = "PASS";
- target.close();
- if (window.testRunner)
- testRunner.notifyDone();
- }
- </script>
- </body>
-</html>
-
+++ /dev/null
-DESKTOP NOTIFICATION: icon http://localhost/my_icon.png, title New E-mail, text Meet me tonight at 8!
-DESKTOP NOTIFICATION CLOSED: New E-mail
-Sending notifications with permission...
-
-PASS: addEventListener(display) capture callback invoked
-
+++ /dev/null
-<!DOCTYPE html>
-<html>
-<head>
- <script type="text/javascript">
- function log(message)
- {
- document.getElementById("result").innerHTML += message + "<br>";
- }
-
- function runTests()
- {
- if (window.testRunner) {
- testRunner.grantWebNotificationPermission("file://");
- testRunner.dumpAsText();
- }
-
- if (!window.webkitNotifications) {
- log("FAIL: No webkitNotifications interface!");
- }
-
- var N = window.webkitNotifications.createNotification("http://localhost/my_icon.png", "New E-mail", "Meet me tonight at 8!");
- N.addEventListener("display", function(e) { log("PASS: addEventListener(display) non-capture callback invoked"); });
- N.ondisplay = function(e) { log("PASS: ondisplay attribute event callback invoked."); }
- N.addEventListener("display", function(e) { log("PASS: addEventListener(display) capture callback invoked"); e.stopPropagation(); }, true );
- N.show();
- N.cancel();
- }
- </script>
-</head>
-<body>
-<p>Sending notifications with permission...</p>
-<div id="result"></div>
-
-<script type="text/javascript">
-runTests();
-</script>
-</body>
-</html>
+++ /dev/null
-DESKTOP NOTIFICATION: icon http://localhost/my_icon.png, title New E-mail, text Meet me tonight at 8!
-DESKTOP NOTIFICATION CLOSED: New E-mail
-Sending notifications with permission...
-
-PASS: addEventListener(close) capture callback #1 invoked
-PASS: addEventListener(close) capture callback #2 invoked
-PASS: addEventListener(close) callback #1 invoked
-PASS: onclose attribute event callback invoked.
-PASS: addEventListener(close) callback #3 invoked
-
+++ /dev/null
-<!DOCTYPE html>
-<html>
-<head>
- <script type="text/javascript">
- function log(message)
- {
- document.getElementById("result").innerHTML += message + "<br>";
- }
-
- function runTests()
- {
- if (window.testRunner) {
- testRunner.grantWebNotificationPermission("file://");
- testRunner.dumpAsText();
- }
-
- if (!window.webkitNotifications) {
- log("FAIL: No webkitNotifications interface!");
- }
-
- var N = window.webkitNotifications.createNotification("http://localhost/my_icon.png", "New E-mail", "Meet me tonight at 8!");
- N.addEventListener("close", function() { log("PASS: addEventListener(close) callback #1 invoked"); });
- N.onclose = function() { log("PASS: onclose attribute event callback invoked."); }
- N.addEventListener("close", function() { log("PASS: addEventListener(close) capture callback #1 invoked"); }, true );
- N.addEventListener("close", function() { log("PASS: addEventListener(close) capture callback #2 invoked"); }, true );
- N.addEventListener("close", function() { log("PASS: addEventListener(close) callback #3 invoked"); });
- N.show();
- N.cancel();
- }
- </script>
-</head>
-<body>
-<p>Sending notifications with permission...</p>
-<div id="result"></div>
-
-<script type="text/javascript">
-runTests();
-</script>
-</body>
-</html>
+++ /dev/null
-DESKTOP NOTIFICATION: icon , title New E-mail, text Meet me tonight at 8!
-Sending notifications with permission...
-
-
+++ /dev/null
-<!DOCTYPE html>
-<html>
-<head>
- <script type="text/javascript">
- function log(message)
- {
- document.getElementById("result").innerHTML += message + "<br>";
- }
-
- function runTests()
- {
- if (window.testRunner) {
- testRunner.grantWebNotificationPermission("file://");
- testRunner.dumpAsText();
- if (testRunner.dumpNotifications)
- testRunner.dumpNotifications();
- }
-
- if (!window.webkitNotifications) {
- log("FAIL: No webkitNotifications interface!");
- }
-
- var M = window.webkitNotifications.createNotification("", "New E-mail", "Meet me tonight at 8!");
- M.show();
- }
- </script>
-</head>
-<body>
-<p>Sending notifications with permission...</p>
-
-
-<script type="text/javascript">
-runTests();
-</script>
-
-<div id="result"></div>
-</body>
-</html>
+++ /dev/null
-Check for existence of Notification.permission
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS window.Notification is defined.
-PASS window.Notification.permission is defined.
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
+++ /dev/null
-<!DOCTYPE html>
-<html>
-<head>
- <script src="../../resources/js-test-pre.js"></script>
-</head>
-
-<body>
-<div id="description"></div>
-<div id="console"></div>
-
-<script type="text/javascript">
-description("Check for existence of Notification.permission");
-
-shouldBeDefined("window.Notification");
-shouldBeDefined("window.Notification.permission");
-
-var successfullyParsed = true;
-</script>
-<script src="../../resources/js-test-post.js"></script>
-</body>
-</html>
+++ /dev/null
-DESKTOP NOTIFICATION: icon , title New E-mail, text Meet me tonight at 8!
-DESKTOP NOTIFICATION: icon , title Alarm, text It's time to wake up!
-REPLACING NOTIFICATION New E-mail
-DESKTOP NOTIFICATION: icon , title New reply, text Correction, 8:15
-Showing notifications with replace ID...
-
-
+++ /dev/null
-<!DOCTYPE html>
-<html>
-<head>
- <script type="text/javascript">
- function log(message)
- {
- document.getElementById("result").innerHTML += message + "<br>";
- }
-
- function runTests()
- {
- if (window.testRunner) {
- testRunner.grantWebNotificationPermission("file://");
- testRunner.dumpAsText();
- if (testRunner.dumpNotifications)
- testRunner.dumpNotifications();
- }
-
- if (!window.webkitNotifications) {
- log("FAIL: No webkitNotifications interface!");
- }
-
- var M = window.webkitNotifications.createNotification("", "New E-mail", "Meet me tonight at 8!");
- M.replaceId = "NewMail";
- M.show();
- var other = window.webkitNotifications.createNotification("", "Alarm", "It's time to wake up!");
- other.show();
- var N = window.webkitNotifications.createNotification("", "New reply", "Correction, 8:15");
- N.replaceId = "NewMail";
- N.show();
- }
- </script>
-</head>
-<body>
-<p>Showing notifications with replace ID...</p>
-<div id="result"></div>
-<script type="text/javascript">
-runTests();
-</script>
-</body>
-</html>
+++ /dev/null
-DESKTOP NOTIFICATION PERMISSION REQUESTED: file://
-Requesting notification permission...
-
-PASS: Permission callback invoked.
-
+++ /dev/null
-PASS window.webkitNotifications is defined.
-PASS window.webkitNotifications.requestPermission() did not throw exception.
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
+++ /dev/null
-<!DOCTYPE html>
-<html>
-<head>
-<script src="../../resources/js-test-pre.js"></script>
-<script type="text/javascript">
-shouldBeDefined("window.webkitNotifications");
-shouldNotThrow("window.webkitNotifications.requestPermission()");
-</script>
-<script src="../../resources/js-test-post.js"></script>
-</head>
-</html>
+++ /dev/null
-<!DOCTYPE html>
-<html>
-<head>
- <script type="text/javascript">
- function log(message)
- {
- document.getElementById("result").innerHTML += message + "<br>";
- }
-
- function runTests()
- {
- if (window.testRunner) {
- testRunner.dumpAsText();
- }
-
- if (!window.webkitNotifications) {
- log("FAIL: No webkitNotifications interface!");
- }
-
- var N = window.webkitNotifications.requestPermission(
- function() { log("PASS: Permission callback invoked."); }
- );
- }
- </script>
-</head>
-<body>
- <p>Requesting notification permission...</p>
-
-<div id="result"></div>
-<script type="text/javascript">
-runTests();
-</script>
-
-
-</body>
-</html>
+++ /dev/null
-DESKTOP NOTIFICATION:(RTL) icon , title New E-mail, text Meet me tonight at 8!
-Showing a notification with direction "rtl"...
-
-
+++ /dev/null
-<!DOCTYPE html>
-<html>
-<head>
- <script type="text/javascript">
- function log(message)
- {
- document.getElementById("result").innerHTML += message + "<br>";
- }
-
- function runTests()
- {
- if (window.testRunner) {
- testRunner.grantWebNotificationPermission("file://");
- testRunner.dumpAsText();
- if (testRunner.dumpNotifications)
- testRunner.dumpNotifications();
- }
-
- if (!window.webkitNotifications) {
- log("FAIL: No webkitNotifications interface!");
- }
-
- var M = window.webkitNotifications.createNotification("", "New E-mail", "Meet me tonight at 8!");
- M.dir = "rtl";
- M.show();
- }
- </script>
-</head>
-<body>
-<p>Showing a notification with direction "rtl"...</p>
-
-<div id="result"></div>
-
-<script type="text/javascript">
-runTests();
-</script>
-
-</body>
-</html>
+++ /dev/null
-Normal iframe. Should inherit permissions.
-
-
-Sandboxed iframe, with allow-same-origin. Should inherit permissions.
-
-
-Sandboxed iframe, without allow-same-origin. Should not inherit permissions.
-
-
-
---------
-Frame: '<!--framePath //<!--frame0-->-->'
---------
-Allowed
-
---------
-Frame: '<!--framePath //<!--frame1-->-->'
---------
-Allowed
-
---------
-Frame: '<!--framePath //<!--frame2-->-->'
---------
-Denied
+++ /dev/null
-<!DOCTYPE html>
-<html>
-<head>
- <script>
- if (window.testRunner) {
- testRunner.dumpAsText();
- testRunner.dumpChildFramesAsText();
- testRunner.grantWebNotificationPermission("file://");
- }
- </script>
-</head>
-<body>
- <p>Normal iframe. Should inherit permissions.</p>
- <iframe src="resources/notifications-iframe.html"></iframe>
-
- <p>Sandboxed iframe, with allow-same-origin. Should inherit permissions.</p>
- <iframe sandbox="allow-scripts allow-same-origin"
- src="resources/notifications-iframe.html"></iframe>
-
- <p>Sandboxed iframe, without allow-same-origin. Should not inherit permissions.</p>
- <iframe sandbox="allow-scripts"
- src="resources/notifications-iframe.html"></iframe>
-</body>
-</html>
+++ /dev/null
-This test needs to run manually and cannot run inside DumpRenderTree. Passes if it does not crash on running the test alongwith with a couple of page reloads.
+++ /dev/null
-<html> \r
- <head> \r
- <script> \r
- function runTest()\r
- {\r
- if (window.testRunner)\r
- testRunner.dumpAsText();\r
- else\r
- {\r
- var win = window.open("about:blank");\r
- var notification = win.webkitNotifications.createNotification('');\r
- notification.show();\r
- win.close();\r
- notification.cancel();\r
- }\r
- }\r
- </script> \r
- </head> \r
- <body onload="runTest()"> \r
- <p>This test needs to run manually and cannot run inside DumpRenderTree. Passes if it does not crash on running the test alongwith with a couple of page reloads.</p>\r
- </body> \r
-</html>\r
-\r
+++ /dev/null
-DESKTOP NOTIFICATION: icon http://0.0.0.0/my_icon.png, title New E-mail, text Meet me tonight at 8!
-Sending notifications with permission...
-
-
+++ /dev/null
-<!DOCTYPE html>
-<html>
-<head>
- <script type="text/javascript">
- function log(message)
- {
- document.getElementById("result").innerHTML += message + "<br>";
- }
-
- function runTests()
- {
- if (window.testRunner) {
- testRunner.grantWebNotificationPermission("file://");
- testRunner.dumpAsText();
- if (testRunner.dumpNotifications)
- testRunner.dumpNotifications();
- testRunner.waitUntilDone();
- }
-
- if (!window.webkitNotifications) {
- log("FAIL: No webkitNotifications interface!");
- }
-
- var M = window.webkitNotifications.createNotification("http://0.0.0.0/my_icon.png", "New E-mail", "Meet me tonight at 8!");
- M.ondisplay = function() { testRunner.notifyDone(); }
- M.show();
- }
- </script>
-</head>
-<body>
-<p>Sending notifications with permission...</p>
-
-
-<script type="text/javascript">
-runTests();
-</script>
-
-<div id="result"></div>
-</body>
-</html>
+++ /dev/null
-Sending notifications without permission...
-
-PASS: Exception thrown.
-
+++ /dev/null
-<!DOCTYPE html>
-<html>
-<head>
- <script type="text/javascript">
- function log(message)
- {
- document.getElementById("result").innerHTML += message + "<br>";
- }
-
- function runTests()
- {
- if (window.testRunner) {
- // NO PERMISSION testRunner.grantWebNotificationPermission("file://");
- testRunner.dumpAsText();
- }
-
- if (!window.webkitNotifications) {
- log("FAIL: No webkitNotifications interface!");
- }
-
- try {
- var N = window.webkitNotifications.createNotification("http://0.0.0.0/my_icon.png", "New E-mail", "Meet me tonight at 8!");
- N.show();
- log("FAIL: Should have thrown security exception.");
- } catch (e) {
- log("PASS: Exception thrown.");
- }
- }
- </script>
-</head>
-<body>
-<p>Sending notifications without permission...</p>
-<div id="result"></div>
-
-<script type="text/javascript">
-runTests();
-</script>
-</body>
-</html>
+++ /dev/null
-This tests that notification permission requests during page reload do not cause a crash.
-
-PASS: Test passed if we saw no crash.
+++ /dev/null
-<!DOCTYPE html>
-<body>
-<p>This tests that notification permission requests during page reload do not cause a crash.</p>
-<p id="message">FAIL: Test did not run to completion yet.</p>
-<script>
-
-if (window.testRunner) {
- testRunner.dumpAsText();
- testRunner.waitUntilDone();
-}
-
-var tries = location.hash.substring(1) >>> 0;
-if (tries < 10) {
- location.hash = "#" + (tries + 1);
- location.reload();
-
- setTimeout(function() {
- webkitNotifications.requestPermission();
- }, 0);
-} else {
- document.getElementById("message").textContent = "PASS: Test passed if we saw no crash.";
- if (window.testRunner)
- testRunner.notifyDone();
-}
-
-</script>
-</body>
+++ /dev/null
-<html>
-<head>
- <script type="text/javascript">
- function log(message)
- {
- parent.document.getElementById("result").innerHTML += message + "<br>";
- }
-
- function runTests()
- {
- if (window.testRunner) {
- testRunner.dumpAsText();
- }
-
- if (window.testRunner) {
- testRunner.ignoreLegacyWebNotificationPermissionRequests();
- }
-
- window.webkitNotifications.requestPermission(
- function() { log("FAIL: Permission callback invoked."); }
- );
-
- }
- </script>
-</head>
-<body onload="runTests();">
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE html>
-<html>
-<head>
- <title>Notifications: Iframe test.</title>
-</head>
-<body>
- <p id="hasPermission"></p>
- <script>
- document.getElementById("hasPermission").innerText =
- !webkitNotifications.checkPermission() ? "Allowed" : "Denied";
- </script>
-</body>
-</html>
+++ /dev/null
-Sending double-show notification...
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS window.webkitNotifications is defined.
-PASS ondisplay event handler called
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
+++ /dev/null
-<!DOCTYPE html>
-<script src="/resources/js-test-pre.js"></script>
-<script src="/resources/notifications-test-pre.js"></script>
-<p id="description"></p>
-<div id="console"></div>
-
-<script type="text/javascript">
-description("Sending double-show notification...");
-
-if (window.testRunner) {
- testRunner.grantWebNotificationPermission(testURL);
- testRunner.waitUntilDone();
-}
-
-shouldBeDefined("window.webkitNotifications");
-
-var N = window.webkitNotifications.createNotification("http://0.0.0.0/my_icon.png", "New E-mail", "Meet me tonight at 8!");
-N.ondisplay = function() {
- testPassed("ondisplay event handler called");
- testCompleted();
-};
-N.show();
-N.show();
-</script>
+++ /dev/null
-This test looks for the dispatch of the event handlers.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-Granting permission to http://127.0.0.1:8000
-PASS webkitNotifications.checkPermission() is 0
-PASS ondisplay event handler was called
-PASS onclick event handler was called
-PASS onclose event handler was called
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
+++ /dev/null
-<!DOCTYPE html>
-<script src="/resources/js-test-pre.js"></script>
-<script src="/resources/notifications-test-pre.js"></script>
-<p id="description"></p>
-<div id="console"></div>
-<script>
-if (window.testRunner)
- testRunner.waitUntilDone();
-
-description("This test looks for the dispatch of the event handlers.");
-
-if (window.testRunner) {
- debug("Granting permission to " + testURL);
- testRunner.grantWebNotificationPermission(testURL);
-}
-
-shouldBe("webkitNotifications.checkPermission()", "0");
-
-var n = webkitNotifications.createNotification("", "title", "body");
-n.ondisplay = function() {
- testPassed("ondisplay event handler was called");
- testRunner.simulateWebNotificationClick(this);
-};
-n.onclick = function() {
- testPassed("onclick event handler was called");
- this.cancel();
-};
-n.onclose = function() {
- testPassed("onclose event handler was called");
- testCompleted();
-};
-n.onerror = function() {
- testFailed("onerror event handler should not be called");
- testCompleted();
-};
-n.show();
-</script>
+++ /dev/null
-main frame - has 1 onunload handler(s)
-Tests that we are not crashing when a permission request is answered after navigating
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS This test did not crash
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
+++ /dev/null
-<!DOCTYPE html>
-<html>
-<head>
-<script src="/resources/js-test-pre.js"></script>
-<script src="/resources/notifications-test-pre.js"></script>
-</head>
-<body onload="runTest()">
-<script>
-description("Tests that we are not crashing when a permission request is answered after navigating");
-jsTestIsAsync = true;
-
-if (window.testRunner)
- testRunner.setCanOpenWindows();
-
-window.addEventListener('message', function(event)
-{
- testPassed("This test did not crash");
- target.close();
- finishJSTest();
-});
-
-function runTest()
-{
- target = window.open('resources/request-permission-then-navigate.html');
-}
-
-</script>
-<script src="/resources/js-test-post.js"></script>
-</body>
-</html>
+++ /dev/null
-This test checks that a request for permission is made.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-Requesting permission with default permission
-PASS window.webkitNotifications.checkPermission() is 1
-PASS window.webkitNotifications.checkPermission() is 0
-Requesting permission with non-default permission
-PASS window.webkitNotifications.checkPermission() is 2
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
+++ /dev/null
-This test checks that requesting permission without a callback works. This supports legacy API.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-Requesting permission with default permission
-PASS window.webkitNotifications.checkPermission() is 1
-PASS webkitNotifications.requestPermission() did not throw exception.
-Requesting permission with non-default permission
-PASS window.webkitNotifications.checkPermission() is 2
-PASS webkitNotifications.requestPermission() did not throw exception.
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
+++ /dev/null
-<!DOCTYPE html>
-<script src="/resources/js-test-pre.js"></script>
-<script src="/resources/notifications-test-pre.js"></script>
-<p id="description"></p>
-<div id="console"></div>
-<script>
-description("This test checks that requesting permission without a callback works. This supports legacy API.");
-
-function step1() {
- debug("Requesting permission with default permission");
- shouldBe("window.webkitNotifications.checkPermission()", "1");
- shouldNotThrow("webkitNotifications.requestPermission()");
- setTimeout(step2, 0);
-}
-
-function step2() {
- testRunner.denyWebNotificationPermission(testURL);
- debug("Requesting permission with non-default permission");
- shouldBe("window.webkitNotifications.checkPermission()", "2");
- shouldNotThrow("webkitNotifications.requestPermission()");
- testCompleted();
-}
-
-if (window.testRunner) {
- testRunner.waitUntilDone();
- step1();
-}
-</script>
+++ /dev/null
-<!DOCTYPE html>
-<script src="/resources/js-test-pre.js"></script>
-<script src="/resources/notifications-test-pre.js"></script>
-<p id="description"></p>
-<div id="console"></div>
-<script>
-description("This test checks that a request for permission is made.");
-
-function step1() {
- debug("Requesting permission with default permission");
- shouldBe("window.webkitNotifications.checkPermission()", "1");
- webkitNotifications.requestPermission(function() {
- shouldBe("window.webkitNotifications.checkPermission()", "0");
- setTimeout(step2, 0);
- });
-}
-
-function step2() {
- testRunner.denyWebNotificationPermission(testURL);
- debug("Requesting permission with non-default permission");
- webkitNotifications.requestPermission(function() {
- shouldBe("window.webkitNotifications.checkPermission()", "2");
- testCompleted();
- });
-}
-
-if (window.testRunner) {
- testRunner.waitUntilDone();
- step1();
-}
-</script>
+++ /dev/null
-<!DOCTYPE html>
-<script>
-opener.postMessage("DONE", '*');
-</script>
+++ /dev/null
-<!DOCTYPE html>
-<script>
-function requestPermission()
-{
- window.webkitNotifications.requestPermission(function() { });
-}
-
-window.onunload = requestPermission;
-window.location = "notify-opener-done.html"
-</script>
+++ /dev/null
-This test looks for the dispatch of the onshow event handler.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS window.webkitNotifications.checkPermission() is 1
-PASS window.webkitNotifications.createNotification('', 'title 1', 'body'); threw exception SecurityError (DOM Exception 18): The operation is insecure..
-Granting permission to http://127.0.0.1:8000
-PASS window.webkitNotifications.checkPermission() is 0
-PASS ondisplay event handler was called
-PASS this.ondisplay is this.onshow
-Denying permission to http://127.0.0.1:8000
-PASS window.webkitNotifications.checkPermission() is 2
-PASS window.webkitNotifications.createNotification('', 'title 3', 'body'); threw exception SecurityError (DOM Exception 18): The operation is insecure..
-Resetting all permissions
-PASS window.webkitNotifications.checkPermission() is 1
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
+++ /dev/null
-<!DOCTYPE html>
-<script src="/resources/js-test-pre.js"></script>
-<script src="/resources/notifications-test-pre.js"></script>
-<p id="description"></p>
-<div id="console"></div>
-<script>
-if (window.testRunner)
- testRunner.waitUntilDone();
-
-description("This test looks for the dispatch of the onshow event handler.");
-
-var n = null;
-function part1() {
- shouldBe("window.webkitNotifications.checkPermission()", "1");
- shouldThrow("window.webkitNotifications.createNotification('', 'title 1', 'body');");
- setTimeout(part2, 0);
-}
-
-function part2() {
- debug("Granting permission to " + testURL);
- testRunner.grantWebNotificationPermission(testURL);
- shouldBe("window.webkitNotifications.checkPermission()", "0");
-
- n = window.webkitNotifications.createNotification("", "title 2", "body");
- n.ondisplay = function() {
- testPassed("ondisplay event handler was called");
- shouldBe("this.ondisplay", "this.onshow");
- setTimeout(part3, 0);
- };
- n.onerror = function() {
- testFailed("onerror event handler should not be called");
- setTimeout(part3, 0);
- };
- n.show();
-}
-
-function part3() {
- debug("Denying permission to " + testURL);
- testRunner.denyWebNotificationPermission(testURL);
- shouldBe("window.webkitNotifications.checkPermission()", "2");
- shouldThrow("window.webkitNotifications.createNotification('', 'title 3', 'body');");
- setTimeout(part4, 0);
-}
-
-function part4() {
- debug("Resetting all permissions");
- testRunner.removeAllWebNotificationPermissions();
- shouldBe("window.webkitNotifications.checkPermission()", "1");
- testCompleted();
-}
-
-part1();
-</script>
+++ /dev/null
-This test checks that a script can open windows when the user clicks on a native notification.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS webkitNotifications.checkPermission() is 0
-PASS clicking on notification successfully opened a window
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
+++ /dev/null
-<!DOCTYPE html>
-<script src="/resources/js-test-pre.js"></script>
-<script src="/resources/notifications-test-pre.js"></script>
-<p id="description"></p>
-<div id="console"></div>
-<script>
-if (window.testRunner) {
- testRunner.grantWebNotificationPermission(testURL);
- testRunner.setCanOpenWindows(true);
- testRunner.waitUntilDone();
-}
-
-description("This test checks that a script can open windows when the user clicks on a native notification.");
-
-shouldBe("webkitNotifications.checkPermission()", "0");
-var n = webkitNotifications.createNotification("", "", "");
-n.ondisplay = function() {
- if (window.testRunner)
- testRunner.simulateWebNotificationClick(this);
-};
-n.onclick = function() {
- window.open('/notifications/resources/window-show-on-click.html');
-};
-n.show();
-
-function onWindowOpen() {
- testPassed('clicking on notification successfully opened a window');
- testCompleted();
-}
-</script>
webkit.org/b/98927 fast/dom/DeviceOrientation [ Skip ]
# https://bugs.webkit.org/show_bug.cgi?id=81697 Skip file:// based notifications tests
-fast/notifications
fast/history/page-cache-notification-non-suspendable.html
fast/history/page-cache-notification-suspendable.html
-# we do not enable legacy notifications
-http/tests/notifications/legacy/window-show-on-click.html
-http/tests/notifications/legacy/request.html
-http/tests/notifications/legacy/request-no-callback.html
-http/tests/notifications/legacy/events.html
-http/tests/notifications/legacy/show.html
-http/tests/notifications/legacy/double-show.html
-http/tests/notifications/legacy/notification-request-permission-then-navigate.html
-
# Datalist is not yet enabled.
webkit.org/b/98934 fast/forms/datalist [ Skip ]
printing
# Web Notifications are not supported on iOS.
-fast/notifications
http/tests/notifications
fast/history/page-cache-notification-non-suspendable.html
fast/history/page-cache-notification-suspendable.html
# Pixel test doesn't repaint entire view so result is corrupted by previous test
webkit.org/b/21916 tables/mozilla_expected_failures/bugs/bug178855.xml [ Pass ImageOnlyFailure Failure ]
-# https://bugs.webkit.org/show_bug.cgi?id=81697 Skip file:// based notifications tests
-fast/notifications
-
# This port doesn't support detecting slow unload handlers.
fast/dom/Window/slow-unload-handler.html
fast/dom/Window/slow-unload-handler-only-frame-is-stopped.html
fast/dom/Geolocation/ [ Skip ]
# TODO This port doesn't support Notifications.
-fast/notifications/ [ Skip ]
http/tests/notifications/ [ Skip ]
fast/history/page-cache-notification-non-suspendable.html [ Skip ]
fast/history/page-cache-notification-suspendable.html [ Skip ]
+2017-05-04 Sam Weinig <sam@webkit.org>
+
+ Remove support for legacy Notifications
+ https://bugs.webkit.org/show_bug.cgi?id=171487
+
+ Reviewed by Jon Lee.
+
+ * Configurations/FeatureDefines.xcconfig:
+ Remove definition of ENABLE_LEGACY_NOTIFICATIONS.
+
2017-05-04 Konstantin Tokarev <annulen@yandex.ru>
Fix compilation with ICU 59.1
ENABLE_KEYBOARD_CODE_ATTRIBUTE = ENABLE_KEYBOARD_CODE_ATTRIBUTE;
ENABLE_LEGACY_CSS_VENDOR_PREFIXES = ENABLE_LEGACY_CSS_VENDOR_PREFIXES;
ENABLE_LEGACY_ENCRYPTED_MEDIA[sdk=macosx*] = ENABLE_LEGACY_ENCRYPTED_MEDIA;
-ENABLE_LEGACY_NOTIFICATIONS[sdk=macosx*] = ENABLE_LEGACY_NOTIFICATIONS;
ENABLE_LEGACY_VENDOR_PREFIXES = ENABLE_LEGACY_VENDOR_PREFIXES;
ENABLE_LETTERPRESS[sdk=iphone*] = ENABLE_LETTERPRESS;
ENABLE_LINK_PREFETCH = ;
ENABLE_VARIATION_FONTS_IF_NOT_NO = ENABLE_VARIATION_FONTS;
ENABLE_VARIATION_FONTS_IF_NOT_YES = ;
-FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_DELEGATE) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CSS3_TEXT) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FETCH_API) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_KEYBOARD_KEY_ATTRIBUTE) $(ENABLE_KEYBOARD_CODE_ATTRIBUTE) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOSNIFF) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_RTC) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
+FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_DELEGATE) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CSS3_TEXT) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FETCH_API) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_KEYBOARD_KEY_ATTRIBUTE) $(ENABLE_KEYBOARD_CODE_ATTRIBUTE) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOSNIFF) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_RTC) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
+2017-05-04 Sam Weinig <sam@webkit.org>
+
+ Remove support for legacy Notifications
+ https://bugs.webkit.org/show_bug.cgi?id=171487
+
+ Reviewed by Jon Lee.
+
+ * wtf/FeatureDefines.h:
+ Remove definition of ENABLE_LEGACY_NOTIFICATIONS.
+
2017-05-04 Yusuke Suzuki <utatane.tea@gmail.com>
[GTK][JSCOnly] Implement memoryFootprint for Linux
#define ENABLE_LEGACY_ENCRYPTED_MEDIA 0
#endif
-#if !defined(ENABLE_LEGACY_NOTIFICATIONS)
-#define ENABLE_LEGACY_NOTIFICATIONS 0
-#endif
-
#if !defined(ENABLE_LEGACY_VENDOR_PREFIXES)
#define ENABLE_LEGACY_VENDOR_PREFIXES 0
#endif
Modules/navigatorcontentutils/NavigatorContentUtils.idl
- Modules/notifications/DOMWindowNotifications.idl
Modules/notifications/Notification.idl
- Modules/notifications/NotificationCenter.idl
Modules/notifications/NotificationPermissionCallback.idl
- Modules/notifications/WorkerGlobalScopeNotifications.idl
Modules/proximity/DeviceProximityEvent.idl
Modules/navigatorcontentutils/NavigatorContentUtils.cpp
- Modules/notifications/DOMWindowNotifications.cpp
Modules/notifications/Notification.cpp
- Modules/notifications/NotificationCenter.cpp
Modules/notifications/NotificationController.cpp
- Modules/notifications/WorkerGlobalScopeNotifications.cpp
Modules/proximity/DeviceProximityController.cpp
Modules/proximity/DeviceProximityEvent.cpp
+2017-05-04 Sam Weinig <sam@webkit.org>
+
+ Remove support for legacy Notifications
+ https://bugs.webkit.org/show_bug.cgi?id=171487
+
+ Reviewed by Jon Lee.
+
+ * CMakeLists.txt:
+ * WebCore.xcodeproj/project.pbxproj:
+ Remove files.
+
+ * Configurations/FeatureDefines.xcconfig:
+ Remove definition of ENABLE_LEGACY_NOTIFICATIONS.
+
+ * DerivedSources.make:
+ Remove IDL files.
+
+ * Modules/notifications/DOMWindowNotifications.cpp: Removed.
+ * Modules/notifications/DOMWindowNotifications.h: Removed.
+ * Modules/notifications/DOMWindowNotifications.idl: Removed.
+ * Modules/notifications/NotificationCenter.cpp: Removed.
+ * Modules/notifications/NotificationCenter.h: Removed.
+ * Modules/notifications/NotificationCenter.idl: Removed.
+ * Modules/notifications/NotificationClient.h:
+ * Modules/notifications/NotificationController.cpp:
+ * Modules/notifications/NotificationController.h:
+ * Modules/notifications/WorkerGlobalScopeNotifications.cpp: Removed.
+ * Modules/notifications/WorkerGlobalScopeNotifications.h: Removed.
+ * Modules/notifications/WorkerGlobalScopeNotifications.idl: Removed.
+ * Modules/notifications/Notification.idl:
+ * Modules/notifications/Notification.cpp:
+ * Modules/notifications/Notification.h:
+ * dom/EventTargetFactory.in:
+ * page/DOMWindow.cpp:
+ * workers/WorkerThread.h:
+ Remove code legacy Notification code. Replace use of NotificationCenter with direct
+ calls to the NotificationClient.
+
2017-05-04 Antti Koivisto <antti@apple.com>
REGRESSION (Safari 10.1): When 'transition' contains -ms-transform, transform-origin is also transitioned
ENABLE_KEYBOARD_CODE_ATTRIBUTE = ENABLE_KEYBOARD_CODE_ATTRIBUTE;
ENABLE_LEGACY_CSS_VENDOR_PREFIXES = ENABLE_LEGACY_CSS_VENDOR_PREFIXES;
ENABLE_LEGACY_ENCRYPTED_MEDIA[sdk=macosx*] = ENABLE_LEGACY_ENCRYPTED_MEDIA;
-ENABLE_LEGACY_NOTIFICATIONS[sdk=macosx*] = ENABLE_LEGACY_NOTIFICATIONS;
ENABLE_LEGACY_VENDOR_PREFIXES = ENABLE_LEGACY_VENDOR_PREFIXES;
ENABLE_LETTERPRESS[sdk=iphone*] = ENABLE_LETTERPRESS;
ENABLE_LINK_PREFETCH = ;
ENABLE_VARIATION_FONTS_IF_NOT_NO = ENABLE_VARIATION_FONTS;
ENABLE_VARIATION_FONTS_IF_NOT_YES = ;
-FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_DELEGATE) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CSS3_TEXT) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FETCH_API) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_KEYBOARD_KEY_ATTRIBUTE) $(ENABLE_KEYBOARD_CODE_ATTRIBUTE) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOSNIFF) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_RTC) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
+FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_DELEGATE) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CSS3_TEXT) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FETCH_API) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_KEYBOARD_KEY_ATTRIBUTE) $(ENABLE_KEYBOARD_CODE_ATTRIBUTE) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOSNIFF) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_RTC) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
#include "JSDOMWindow.cpp"
#include "JSDOMWindowFetch.cpp"
#include "JSDOMWindowIndexedDatabase.cpp"
-#include "JSDOMWindowNotifications.cpp"
#include "JSDOMWindowSpeechSynthesis.cpp"
#include "JSDOMWindowWebDatabase.cpp"
#include "JSElement.cpp"
#include "JSNonDocumentTypeChildNode.cpp"
#include "JSNonElementParentNode.cpp"
#include "JSNotification.cpp"
-#include "JSNotificationCenter.cpp"
#include "JSNotificationPermissionCallback.cpp"
#include "JSOverflowEvent.cpp"
#include "JSOfflineAudioCompletionEvent.cpp"
#include "JSWorkerGlobalScope.cpp"
#include "JSWorkerGlobalScopeFetch.cpp"
#include "JSWorkerGlobalScopeIndexedDatabase.cpp"
-#include "JSWorkerGlobalScopeNotifications.cpp"
#include "JSWorkerLocation.cpp"
#include "JSWorkerNavigator.cpp"
#include "JSWritableStream.cpp"
$(WebCore)/Modules/mediastream/RTCSignalingState.idl \
$(WebCore)/Modules/mediastream/RTCStatsReport.idl \
$(WebCore)/Modules/mediastream/RTCTrackEvent.idl \
- $(WebCore)/Modules/notifications/DOMWindowNotifications.idl \
$(WebCore)/Modules/notifications/Notification.idl \
- $(WebCore)/Modules/notifications/NotificationCenter.idl \
$(WebCore)/Modules/notifications/NotificationPermissionCallback.idl \
- $(WebCore)/Modules/notifications/WorkerGlobalScopeNotifications.idl \
$(WebCore)/Modules/plugins/QuickTimePluginReplacement.idl \
$(WebCore)/Modules/quota/DOMWindowQuota.idl \
$(WebCore)/Modules/quota/NavigatorStorageQuota.idl \
+++ /dev/null
-/*
- * Copyright (C) 2006, 2007, 2008, 2010 Apple Inc. All rights reserved.
- * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "DOMWindowNotifications.h"
-
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
-
-#include "DOMWindow.h"
-#include "Document.h"
-#include "NotificationCenter.h"
-#include "NotificationController.h"
-#include "Page.h"
-
-namespace WebCore {
-
-DOMWindowNotifications::DOMWindowNotifications(DOMWindow* window)
- : DOMWindowProperty(window->frame())
- , m_window(window)
-{
-}
-
-DOMWindowNotifications::~DOMWindowNotifications()
-{
-}
-
-const char* DOMWindowNotifications::supplementName()
-{
- return "DOMWindowNotifications";
-}
-
-DOMWindowNotifications* DOMWindowNotifications::from(DOMWindow* window)
-{
- DOMWindowNotifications* supplement = static_cast<DOMWindowNotifications*>(Supplement<DOMWindow>::from(window, supplementName()));
- if (!supplement) {
- auto newSupplement = std::make_unique<DOMWindowNotifications>(window);
- supplement = newSupplement.get();
- provideTo(window, supplementName(), WTFMove(newSupplement));
- }
- return supplement;
-}
-
-NotificationCenter* DOMWindowNotifications::webkitNotifications(DOMWindow& window)
-{
- return DOMWindowNotifications::from(&window)->webkitNotifications();
-}
-
-void DOMWindowNotifications::disconnectFrameForDocumentSuspension()
-{
- m_suspendedNotificationCenter = WTFMove(m_notificationCenter);
- DOMWindowProperty::disconnectFrameForDocumentSuspension();
-}
-
-void DOMWindowNotifications::reconnectFrameFromDocumentSuspension(Frame* frame)
-{
- DOMWindowProperty::reconnectFrameFromDocumentSuspension(frame);
- m_notificationCenter = WTFMove(m_suspendedNotificationCenter);
-}
-
-void DOMWindowNotifications::willDestroyGlobalObjectInCachedFrame()
-{
- m_suspendedNotificationCenter = nullptr;
- DOMWindowProperty::willDestroyGlobalObjectInCachedFrame();
-}
-
-void DOMWindowNotifications::willDestroyGlobalObjectInFrame()
-{
- m_notificationCenter = nullptr;
- DOMWindowProperty::willDestroyGlobalObjectInFrame();
-}
-
-void DOMWindowNotifications::willDetachGlobalObjectFromFrame()
-{
- m_notificationCenter = nullptr;
- DOMWindowProperty::willDetachGlobalObjectFromFrame();
-}
-
-NotificationCenter* DOMWindowNotifications::webkitNotifications()
-{
- if (!m_window->isCurrentlyDisplayedInFrame())
- return nullptr;
-
- if (m_notificationCenter)
- return m_notificationCenter.get();
-
- auto* document = m_window->document();
- if (!document)
- return nullptr;
-
- auto* page = document->page();
- if (!page)
- return nullptr;
-
- auto* provider = NotificationController::clientFrom(*page);
- if (!provider)
- return nullptr;
-
- m_notificationCenter = NotificationCenter::create(*document, provider);
- return m_notificationCenter.get();
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+++ /dev/null
-/*
- * Copyright (C) 2006, 2007, 2009, 2010 Apple Inc. All rights reserved.
- * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#pragma once
-
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
-
-#include "DOMWindowProperty.h"
-#include "Supplementable.h"
-#include <wtf/text/WTFString.h>
-
-namespace WebCore {
-
-class DOMWindow;
-class NotificationCenter;
-
-class DOMWindowNotifications : public Supplement<DOMWindow>, public DOMWindowProperty {
-public:
- explicit DOMWindowNotifications(DOMWindow*);
- virtual ~DOMWindowNotifications();
-
- static NotificationCenter* webkitNotifications(DOMWindow&);
- static DOMWindowNotifications* from(DOMWindow*);
-
- void disconnectFrameForDocumentSuspension() override;
- void reconnectFrameFromDocumentSuspension(Frame*) override;
- void willDestroyGlobalObjectInCachedFrame() override;
- void willDestroyGlobalObjectInFrame() override;
- void willDetachGlobalObjectFromFrame() override;
-
-private:
- NotificationCenter* webkitNotifications();
- static const char* supplementName();
-
- DOMWindow* m_window;
- RefPtr<NotificationCenter> m_notificationCenter;
- RefPtr<NotificationCenter> m_suspendedNotificationCenter;
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+++ /dev/null
-/*
- * Copyright (C) 2006, 2007, 2008, 2009, 2012 Apple Inc. All rights reserved.
- * Copyright (C) 2011 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-[
- Conditional=NOTIFICATIONS|LEGACY_NOTIFICATIONS,
-] partial interface DOMWindow {
-#if defined(ENABLE_LEGACY_NOTIFICATIONS) && ENABLE_LEGACY_NOTIFICATIONS
- readonly attribute NotificationCenter webkitNotifications;
-#endif
-};
-
#include "config.h"
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
#include "Notification.h"
-#include "DOMWindow.h"
-#include "DOMWindowNotifications.h"
#include "Document.h"
#include "Event.h"
#include "EventNames.h"
#include "ExceptionCode.h"
-#include "NotificationCenter.h"
#include "NotificationController.h"
#include "NotificationPermissionCallback.h"
-#include "VoidCallback.h"
#include "WindowFocusAllowedIndicator.h"
namespace WebCore {
-#if ENABLE(LEGACY_NOTIFICATIONS)
-
-Notification::Notification(const String& title, const String& body, URL&& iconURL, ScriptExecutionContext& context, NotificationCenter& notificationCenter)
- : ActiveDOMObject(&context)
- , m_icon(WTFMove(iconURL))
- , m_title(title)
- , m_body(body)
- , m_notificationCenter(¬ificationCenter)
-{
-}
-
-#endif
-
-#if ENABLE(NOTIFICATIONS)
-
Notification::Notification(Document& document, const String& title)
: ActiveDOMObject(&document)
, m_title(title)
, m_state(Idle)
- , m_notificationCenter(DOMWindowNotifications::webkitNotifications(*document.domWindow()))
, m_taskTimer(std::make_unique<Timer>([this] () { show(); }))
{
- // FIXME: Seems that m_notificationCenter can be null so should not be changed from RefPtr to Ref.
- // But the rest of the code in this class isn't trying to handle that case.
- ASSERT(m_notificationCenter->client());
m_taskTimer->startOneShot(0_s);
}
-#endif
-
Notification::~Notification()
{
}
-#if ENABLE(LEGACY_NOTIFICATIONS)
-
-ExceptionOr<Ref<Notification>> Notification::create(const String& title, const String& body, const String& iconURL, ScriptExecutionContext& context, NotificationCenter& provider)
-{
- if (provider.checkPermission() != NotificationClient::PermissionAllowed)
- return Exception { SECURITY_ERR };
-
- URL completedIconURL = iconURL.isEmpty() ? URL() : context.completeURL(iconURL);
- if (!completedIconURL.isEmpty() && !completedIconURL.isValid())
- return Exception { SYNTAX_ERR };
-
- auto notification = adoptRef(*new Notification(title, body, WTFMove(completedIconURL), context, provider));
- notification.get().suspendIfNeeded();
- return WTFMove(notification);
-}
-
-#endif
-
-#if ENABLE(NOTIFICATIONS)
-
static String directionString(Notification::Direction direction)
{
// FIXME: Storing this as a string is not the right way to do it.
Ref<Notification> Notification::create(Document& context, const String& title, const Options& options)
{
auto notification = adoptRef(*new Notification(context, title));
- notification.get().m_body = options.body;
- notification.get().m_tag = options.tag;
- notification.get().m_lang = options.lang;
- notification.get().m_direction = directionString(options.dir);
+ notification->m_body = options.body;
+ notification->m_tag = options.tag;
+ notification->m_lang = options.lang;
+ notification->m_direction = directionString(options.dir);
if (!options.icon.isEmpty()) {
auto iconURL = context.completeURL(options.icon);
if (iconURL.isValid())
- notification.get().m_icon = iconURL;
+ notification->m_icon = iconURL;
}
- notification.get().suspendIfNeeded();
+ notification->suspendIfNeeded();
return notification;
}
-#endif
-
void Notification::show()
{
// prevent double-showing
- if (m_state == Idle && m_notificationCenter->client()) {
-#if ENABLE(NOTIFICATIONS)
- auto* page = downcast<Document>(*scriptExecutionContext()).page();
- if (!page)
- return;
- if (NotificationController::from(page)->client().checkPermission(scriptExecutionContext()) != NotificationClient::PermissionAllowed) {
- dispatchErrorEvent();
- return;
- }
-#endif
- if (m_notificationCenter->client()->show(this)) {
- m_state = Showing;
- setPendingActivity(this);
- }
+ if (m_state != Idle)
+ return;
+
+ auto* page = downcast<Document>(*scriptExecutionContext()).page();
+ if (!page)
+ return;
+
+ auto& client = NotificationController::from(page)->client();
+
+ if (client.checkPermission(scriptExecutionContext()) != NotificationClient::PermissionAllowed) {
+ dispatchErrorEvent();
+ return;
+ }
+ if (client.show(this)) {
+ m_state = Showing;
+ setPendingActivity(this);
}
}
switch (m_state) {
case Idle:
break;
- case Showing:
- if (m_notificationCenter->client())
- m_notificationCenter->client()->cancel(this);
+ case Showing: {
+ auto* page = downcast<Document>(*scriptExecutionContext()).page();
+ if (page)
+ NotificationController::from(page)->client().cancel(this);
break;
+ }
case Closed:
break;
}
void Notification::contextDestroyed()
{
ActiveDOMObject::contextDestroyed();
- if (m_notificationCenter->client())
- m_notificationCenter->client()->notificationObjectDestroyed(this);
+
+ auto* page = downcast<Document>(*scriptExecutionContext()).page();
+ if (page)
+ NotificationController::from(page)->client().notificationObjectDestroyed(this);
}
const char* Notification::activeDOMObjectName() const
dispatchEvent(Event::create(eventNames().errorEvent, false, false));
}
-#if ENABLE(NOTIFICATIONS)
-
String Notification::permission(Document& document)
{
return permissionString(NotificationController::from(document.page())->client().checkPermission(&document));
NotificationController::from(document.page())->client().requestPermission(&document, WTFMove(callback));
}
-#endif
-
} // namespace WebCore
-#endif // ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#endif // ENABLE(NOTIFICATIONS)
#pragma once
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
#include "ActiveDOMObject.h"
#include "EventTarget.h"
namespace WebCore {
class Document;
-class NotificationCenter;
class NotificationPermissionCallback;
class Notification final : public RefCounted<Notification>, public ActiveDOMObject, public EventTargetWithInlineData {
WTF_MAKE_FAST_ALLOCATED;
public:
-#if ENABLE(LEGACY_NOTIFICATIONS)
- static ExceptionOr<Ref<Notification>> create(const String& title, const String& body, const String& iconURL, ScriptExecutionContext&, NotificationCenter&);
-#endif
-
-#if ENABLE(NOTIFICATIONS)
enum class Direction { Auto, Ltr, Rtl };
struct Options {
Direction dir;
String icon;
};
static Ref<Notification> create(Document&, const String& title, const Options&);
-#endif
virtual ~Notification();
WEBCORE_EXPORT void finalize();
-#if ENABLE(NOTIFICATIONS)
static String permission(Document&);
WEBCORE_EXPORT static String permissionString(NotificationClient::Permission);
static void requestPermission(Document&, RefPtr<NotificationPermissionCallback>&&);
-#endif
ScriptExecutionContext* scriptExecutionContext() const final { return ActiveDOMObject::scriptExecutionContext(); }
using RefCounted::deref;
private:
-#if ENABLE(LEGACY_NOTIFICATIONS)
- Notification(const String& title, const String& body, URL&& iconURL, ScriptExecutionContext&, NotificationCenter&);
-#endif
-
-#if ENABLE(NOTIFICATIONS)
Notification(Document&, const String& title);
-#endif
EventTargetInterface eventTargetInterface() const final { return NotificationEventTargetInterfaceType; }
enum State { Idle, Showing, Closed };
State m_state { Idle };
- RefPtr<NotificationCenter> m_notificationCenter;
-
-#if ENABLE(NOTIFICATIONS)
std::unique_ptr<Timer> m_taskTimer;
-#endif
};
} // namespace WebCore
-#endif // ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#endif // ENABLE(NOTIFICATIONS)
*/
[
- Conditional=NOTIFICATIONS|LEGACY_NOTIFICATIONS,
+ Conditional=NOTIFICATIONS,
ActiveDOMObject,
ExportMacro=WEBCORE_EXPORT,
-#if defined(ENABLE_NOTIFICATIONS) && ENABLE_NOTIFICATIONS
Constructor(DOMString title, optional NotificationOptions options),
ConstructorCallWith=Document,
-#endif
] interface Notification : EventTarget {
void show();
- [Conditional=LEGACY_NOTIFICATIONS, ImplementedAs=close] void cancel();
- [Conditional=NOTIFICATIONS] void close();
+ void close();
- [Conditional=NOTIFICATIONS, CallWith=Document] static readonly attribute DOMString permission;
- [Conditional=NOTIFICATIONS, CallWith=Document] static void requestPermission(optional NotificationPermissionCallback? callback);
+ [CallWith=Document] static readonly attribute DOMString permission;
+ [CallWith=Document] static void requestPermission(optional NotificationPermissionCallback? callback);
attribute EventHandler onclick;
+ attribute EventHandler onerror;
attribute EventHandler onclose;
[ImplementedAs=onshow] attribute EventHandler ondisplay;
- attribute EventHandler onerror;
attribute EventHandler onshow;
- [Conditional=LEGACY_NOTIFICATIONS] attribute DOMString dir;
- [Conditional=LEGACY_NOTIFICATIONS] attribute DOMString replaceId;
-
- [Conditional=NOTIFICATIONS] attribute DOMString tag;
+ attribute DOMString tag;
};
-[Conditional=NOTIFICATIONS] enum NotificationDirection { "auto", "ltr", "rtl" };
+[
+ Conditional=NOTIFICATIONS
+] enum NotificationDirection {
+ "auto",
+ "ltr",
+ "rtl"
+};
-[Conditional=NOTIFICATIONS] dictionary NotificationOptions {
+[
+ Conditional=NOTIFICATIONS
+] dictionary NotificationOptions {
NotificationDirection dir = "auto";
DOMString lang = "";
DOMString body = "";
+++ /dev/null
-/*
- * Copyright (C) 2009 Google Inc. All rights reserved.
- * Copyright (C) 2012, 2015 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
-
-#include "NotificationCenter.h"
-
-#include "ExceptionCode.h"
-#include "Notification.h"
-#include "ScriptExecutionContext.h"
-#include "SecurityOrigin.h"
-#include "VoidCallback.h"
-
-namespace WebCore {
-
-Ref<NotificationCenter> NotificationCenter::create(ScriptExecutionContext& context, NotificationClient* client)
-{
- auto notificationCenter = adoptRef(*new NotificationCenter(context, client));
- notificationCenter->suspendIfNeeded();
- return notificationCenter;
-}
-
-NotificationCenter::NotificationCenter(ScriptExecutionContext& context, NotificationClient* client)
- : ActiveDOMObject(&context)
- , m_client(client)
- , m_timer([this]() { timerFired(); })
-{
-}
-
-#if ENABLE(LEGACY_NOTIFICATIONS)
-
-ExceptionOr<Ref<Notification>> NotificationCenter::createNotification(const String& iconURI, const String& title, const String& body)
-{
- if (!m_client || !scriptExecutionContext())
- return Exception { INVALID_STATE_ERR };
- return Notification::create(title, body, iconURI, *scriptExecutionContext(), *this);
-}
-
-int NotificationCenter::checkPermission()
-{
- if (!m_client || !scriptExecutionContext())
- return NotificationClient::PermissionDenied;
-
- switch (scriptExecutionContext()->securityOrigin()->canShowNotifications()) {
- case SecurityOrigin::AlwaysAllow:
- return NotificationClient::PermissionAllowed;
- case SecurityOrigin::AlwaysDeny:
- return NotificationClient::PermissionDenied;
- case SecurityOrigin::Ask:
- return m_client->checkPermission(scriptExecutionContext());
- }
-
- ASSERT_NOT_REACHED();
- return m_client->checkPermission(scriptExecutionContext());
-}
-
-void NotificationCenter::requestPermission(RefPtr<VoidCallback>&& callback)
-{
- if (!m_client || !scriptExecutionContext())
- return;
-
- switch (scriptExecutionContext()->securityOrigin()->canShowNotifications()) {
- case SecurityOrigin::AlwaysAllow:
- case SecurityOrigin::AlwaysDeny:
- if (m_callbacks.isEmpty()) {
- ref(); // Balanced by the derefs in NotificationCenter::stop and NotificationCenter::timerFired.
- m_timer.startOneShot(0_s);
- }
- m_callbacks.append([callback]() {
- if (callback)
- callback->handleEvent();
- });
- return;
- case SecurityOrigin::Ask:
- m_client->requestPermission(scriptExecutionContext(), WTFMove(callback));
- return;
- }
-
- ASSERT_NOT_REACHED();
- m_client->requestPermission(scriptExecutionContext(), WTFMove(callback));
-}
-
-#endif
-
-void NotificationCenter::stop()
-{
- if (!m_client)
- return;
-
- // Clear m_client immediately to guarantee reentrant calls to NotificationCenter do nothing.
- // Also protect |this| so it's not indirectly destroyed under us by work done by the client.
- auto& client = *std::exchange(m_client, nullptr);
- Ref<NotificationCenter> protectedThis(*this);
-
- if (!m_callbacks.isEmpty())
- deref(); // Balanced by the ref in NotificationCenter::requestPermission.
-
- m_timer.stop();
- m_callbacks.clear();
-
- client.cancelRequestsForPermission(scriptExecutionContext());
- client.clearNotifications(scriptExecutionContext());
-}
-
-const char* NotificationCenter::activeDOMObjectName() const
-{
- return "NotificationCenter";
-}
-
-bool NotificationCenter::canSuspendForDocumentSuspension() const
-{
- // We don't need to worry about Notifications because those are ActiveDOMObject too.
- // The NotificationCenter can safely be suspended if there are no pending permission requests.
- return m_callbacks.isEmpty() && (!m_client || !m_client->hasPendingPermissionRequests(scriptExecutionContext()));
-}
-
-void NotificationCenter::timerFired()
-{
- ASSERT(m_client);
- auto callbacks = WTFMove(m_callbacks);
- for (auto& callback : callbacks)
- callback();
- deref(); // Balanced by the ref in NotificationCenter::requestPermission.
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+++ /dev/null
-/*
- * Copyright (C) 2009 Google Inc. All rights reserved.
- * Copyright (C) 2011, 2012, 2015 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#pragma once
-
-#include "ActiveDOMObject.h"
-#include "ExceptionOr.h"
-#include "Timer.h"
-#include <wtf/RefCounted.h>
-
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
-
-namespace WebCore {
-
-class Notification;
-class NotificationClient;
-class VoidCallback;
-
-class NotificationCenter final : public RefCounted<NotificationCenter>, private ActiveDOMObject {
-public:
- static Ref<NotificationCenter> create(ScriptExecutionContext&, NotificationClient*);
-
-#if ENABLE(LEGACY_NOTIFICATIONS)
- ExceptionOr<Ref<Notification>> createNotification(const String& iconURL, const String& title, const String& body);
-
- int checkPermission();
- void requestPermission(RefPtr<VoidCallback>&&);
-#endif
-
- NotificationClient* client() const { return m_client; }
-
- using ActiveDOMObject::hasPendingActivity;
-
-private:
- NotificationCenter(ScriptExecutionContext&, NotificationClient*);
-
- void stop() final;
- const char* activeDOMObjectName() const final;
- bool canSuspendForDocumentSuspension() const final;
-
- void timerFired();
-
- NotificationClient* m_client;
- Vector<std::function<void ()>> m_callbacks;
- Timer m_timer;
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+++ /dev/null
-/*
- * Copyright (C) 2009 Google Inc. All rights reserved.
- * Copyright (C) 2011, 2012 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-[
- ActiveDOMObject,
- Conditional=LEGACY_NOTIFICATIONS,
- NoInterfaceObject,
-] interface NotificationCenter {
- [MayThrowException] Notification createNotification(DOMString iconUrl, DOMString title, DOMString body);
-
- long checkPermission();
- void requestPermission(optional VoidCallback? callback);
-};
// Requests user permission to show desktop notifications from a particular
// script context. The callback parameter should be run when the user has
// made a decision.
-#if ENABLE(LEGACY_NOTIFICATIONS)
- virtual void requestPermission(ScriptExecutionContext*, RefPtr<VoidCallback>&&) = 0;
-#endif
-#if ENABLE(NOTIFICATIONS)
virtual void requestPermission(ScriptExecutionContext*, RefPtr<NotificationPermissionCallback>&&) = 0;
-#endif
virtual bool hasPendingPermissionRequests(ScriptExecutionContext*) const = 0;
#include "config.h"
#include "NotificationController.h"
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
#include "NotificationClient.h"
} // namespace WebCore
-#endif // ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#endif // ENABLE(NOTIFICATIONS)
#pragma once
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
#include "Page.h"
#include <wtf/Forward.h>
} // namespace WebCore
-#endif // ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#endif // ENABLE(NOTIFICATIONS)
+++ /dev/null
-/*
- * Copyright (C) 2008 Apple Inc. All Rights Reserved.
- * Copyright (C) 2009, 2011 Google Inc. All Rights Reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "config.h"
-#include "WorkerGlobalScopeNotifications.h"
-
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
-
-#include "NotificationCenter.h"
-#include "WorkerGlobalScope.h"
-#include "WorkerThread.h"
-
-namespace WebCore {
-
-WorkerGlobalScopeNotifications::WorkerGlobalScopeNotifications(WorkerGlobalScope& scope)
- : m_context(&scope)
-{
-}
-
-WorkerGlobalScopeNotifications::~WorkerGlobalScopeNotifications()
-{
-}
-
-const char* WorkerGlobalScopeNotifications::supplementName()
-{
- return "WorkerGlobalScopeNotifications";
-}
-
-WorkerGlobalScopeNotifications* WorkerGlobalScopeNotifications::from(WorkerGlobalScope& scope)
-{
- WorkerGlobalScopeNotifications* supplement = static_cast<WorkerGlobalScopeNotifications*>(Supplement<WorkerGlobalScope>::from(&scope, supplementName()));
- if (!supplement) {
- auto newSupplement = std::make_unique<WorkerGlobalScopeNotifications>(scope);
- supplement = newSupplement.get();
- provideTo(&scope, supplementName(), WTFMove(newSupplement));
- }
- return supplement;
-}
-
-NotificationCenter* WorkerGlobalScopeNotifications::webkitNotifications(WorkerGlobalScope& scope)
-{
- return WorkerGlobalScopeNotifications::from(scope)->webkitNotifications();
-}
-
-NotificationCenter* WorkerGlobalScopeNotifications::webkitNotifications()
-{
- // FIXME: As of this writing, this always passes nullptr for the client.
- // If it wasn't for that, the notification center create function could be taking a reference.
- // How is it useful to create a notification center with no client?
- if (!m_notificationCenter)
- m_notificationCenter = NotificationCenter::create(*m_context, m_context->thread().getNotificationClient());
- return m_notificationCenter.get();
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+++ /dev/null
-/*
- * Copyright (C) 2008, 2009, 2013, 2014, 2015, 2016 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#pragma once
-
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
-
-#include "Supplementable.h"
-
-namespace WebCore {
-
-class NotificationCenter;
-class WorkerGlobalScope;
-
-class WorkerGlobalScopeNotifications : public Supplement<WorkerGlobalScope> {
-public:
- explicit WorkerGlobalScopeNotifications(WorkerGlobalScope&);
- virtual ~WorkerGlobalScopeNotifications();
-
- static NotificationCenter* webkitNotifications(WorkerGlobalScope&);
- static WorkerGlobalScopeNotifications* from(WorkerGlobalScope&);
-
-private:
- NotificationCenter* webkitNotifications();
- static const char* supplementName();
-
- WorkerGlobalScope* m_context;
- RefPtr<NotificationCenter> m_notificationCenter;
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+++ /dev/null
-/*
- * Copyright (C) 2008 Apple Inc. All Rights Reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-[
- Conditional=NOTIFICATIONS|LEGACY_NOTIFICATIONS,
-] partial interface WorkerGlobalScope {
-#if defined(ENABLE_LEGACY_NOTIFICATIONS) && ENABLE_LEGACY_NOTIFICATIONS
- readonly attribute NotificationCenter webkitNotifications;
-#endif
-};
-
+2017-05-04 Sam Weinig <sam@webkit.org>
+
+ Remove support for legacy Notifications
+ https://bugs.webkit.org/show_bug.cgi?id=171487
+
+ Reviewed by Jon Lee.
+
+ * Configurations/FeatureDefines.xcconfig:
+ Remove definition of ENABLE_LEGACY_NOTIFICATIONS.
+
2017-05-02 Yoshiaki Jitsukawa <Yoshiaki.Jitsukawa@sony.com>
Make "PAL/pal" and "PAL/pal/crypto" directories private
ENABLE_KEYBOARD_CODE_ATTRIBUTE = ENABLE_KEYBOARD_CODE_ATTRIBUTE;
ENABLE_LEGACY_CSS_VENDOR_PREFIXES = ENABLE_LEGACY_CSS_VENDOR_PREFIXES;
ENABLE_LEGACY_ENCRYPTED_MEDIA[sdk=macosx*] = ENABLE_LEGACY_ENCRYPTED_MEDIA;
-ENABLE_LEGACY_NOTIFICATIONS[sdk=macosx*] = ENABLE_LEGACY_NOTIFICATIONS;
ENABLE_LEGACY_VENDOR_PREFIXES = ENABLE_LEGACY_VENDOR_PREFIXES;
ENABLE_LETTERPRESS[sdk=iphone*] = ENABLE_LETTERPRESS;
ENABLE_LINK_PREFETCH = ;
ENABLE_VARIATION_FONTS_IF_NOT_NO = ENABLE_VARIATION_FONTS;
ENABLE_VARIATION_FONTS_IF_NOT_YES = ;
-FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_DELEGATE) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CSS3_TEXT) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FETCH_API) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_KEYBOARD_KEY_ATTRIBUTE) $(ENABLE_KEYBOARD_CODE_ATTRIBUTE) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOSNIFF) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_RTC) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
+FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_DELEGATE) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CSS3_TEXT) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FETCH_API) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_KEYBOARD_KEY_ATTRIBUTE) $(ENABLE_KEYBOARD_CODE_ATTRIBUTE) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOSNIFF) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_RTC) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
33503C9A10179A74003B47E1 /* NotificationClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 33503C9910179A74003B47E1 /* NotificationClient.h */; settings = {ATTRIBUTES = (Private, ); }; };
33503CA310179AD7003B47E1 /* JSNotification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 33503C9F10179AD7003B47E1 /* JSNotification.cpp */; };
33503CA410179AD7003B47E1 /* JSNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 33503CA010179AD7003B47E1 /* JSNotification.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 33503CA510179AD7003B47E1 /* JSNotificationCenter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 33503CA110179AD7003B47E1 /* JSNotificationCenter.cpp */; };
- 33503CA610179AD7003B47E1 /* JSNotificationCenter.h in Headers */ = {isa = PBXBuildFile; fileRef = 33503CA210179AD7003B47E1 /* JSNotificationCenter.h */; };
33503CC71017A1B1003B47E1 /* Notification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 33503CC61017A1B1003B47E1 /* Notification.cpp */; };
- 3390CA550FFC157B00921962 /* NotificationCenter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3390CA510FFC157B00921962 /* NotificationCenter.cpp */; };
- 3390CA560FFC157B00921962 /* NotificationCenter.h in Headers */ = {isa = PBXBuildFile; fileRef = 3390CA520FFC157B00921962 /* NotificationCenter.h */; };
339B5B63131DAA3200F48D02 /* CookiesStrategy.h in Headers */ = {isa = PBXBuildFile; fileRef = 339B5B62131DAA3200F48D02 /* CookiesStrategy.h */; settings = {ATTRIBUTES = (Private, ); }; };
33D0212D131DB37B004091A8 /* CookieStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = E13F01EA1270E10D00DFBA71 /* CookieStorage.h */; settings = {ATTRIBUTES = (Private, ); }; };
3571883EEF618793751E4089 /* RenderMathMLMenclose.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3662F984047CEDBE5DDDAFAA /* RenderMathMLMenclose.cpp */; };
97AABD2714FA09D5007457AE /* WebSocketHandshake.h in Headers */ = {isa = PBXBuildFile; fileRef = 97AABD0C14FA09D5007457AE /* WebSocketHandshake.h */; };
97AABD2C14FA09D5007457AE /* WorkerThreadableWebSocketChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 97AABD1114FA09D5007457AE /* WorkerThreadableWebSocketChannel.cpp */; };
97AABD2D14FA09D5007457AE /* WorkerThreadableWebSocketChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 97AABD1214FA09D5007457AE /* WorkerThreadableWebSocketChannel.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 97B38E27151C4271004622E9 /* DOMWindowNotifications.h in Headers */ = {isa = PBXBuildFile; fileRef = 97B38E24151C4264004622E9 /* DOMWindowNotifications.h */; };
- 97B38E28151C4273004622E9 /* DOMWindowNotifications.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 97B38E23151C4264004622E9 /* DOMWindowNotifications.cpp */; };
97B8FFD116AE7F960038388D /* CharacterReferenceParserInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 97B8FFCF16AE7F920038388D /* CharacterReferenceParserInlines.h */; };
97BC69DC1505F076001B74AC /* ChangeVersionWrapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 97BC69D81505F076001B74AC /* ChangeVersionWrapper.cpp */; };
97BC69DD1505F076001B74AC /* ChangeVersionWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = 97BC69D91505F076001B74AC /* ChangeVersionWrapper.h */; };
97DCE20210807C750057D394 /* HistoryController.h in Headers */ = {isa = PBXBuildFile; fileRef = 97DCE20010807C750057D394 /* HistoryController.h */; settings = {ATTRIBUTES = (Private, ); }; };
97E4028F13A696ED00913D67 /* IconController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 97E4028D13A696ED00913D67 /* IconController.cpp */; };
97E4029013A696ED00913D67 /* IconController.h in Headers */ = {isa = PBXBuildFile; fileRef = 97E4028E13A696ED00913D67 /* IconController.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 97F8E665151D4A4B00D2D181 /* WorkerGlobalScopeNotifications.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 97F8E661151D4A3F00D2D181 /* WorkerGlobalScopeNotifications.cpp */; };
- 97F8E666151D4A4E00D2D181 /* WorkerGlobalScopeNotifications.h in Headers */ = {isa = PBXBuildFile; fileRef = 97F8E662151D4A3F00D2D181 /* WorkerGlobalScopeNotifications.h */; };
9831AE4A154225C900FE2644 /* ReferrerPolicy.h in Headers */ = {isa = PBXBuildFile; fileRef = 9831AE49154225A200FE2644 /* ReferrerPolicy.h */; settings = {ATTRIBUTES = (Private, ); }; };
984264F112D5280A000D88A4 /* LinkLoaderClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 984264EF12D5280A000D88A4 /* LinkLoaderClient.h */; settings = {ATTRIBUTES = (Private, ); }; };
985BB96D13A94058007A0B69 /* LinkRelAttribute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 985BB96B13A94058007A0B69 /* LinkRelAttribute.cpp */; };
33503C9910179A74003B47E1 /* NotificationClient.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = NotificationClient.h; sourceTree = "<group>"; };
33503C9F10179AD7003B47E1 /* JSNotification.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSNotification.cpp; sourceTree = "<group>"; };
33503CA010179AD7003B47E1 /* JSNotification.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSNotification.h; sourceTree = "<group>"; };
- 33503CA110179AD7003B47E1 /* JSNotificationCenter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSNotificationCenter.cpp; sourceTree = "<group>"; };
- 33503CA210179AD7003B47E1 /* JSNotificationCenter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSNotificationCenter.h; sourceTree = "<group>"; };
33503CC61017A1B1003B47E1 /* Notification.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Notification.cpp; sourceTree = "<group>"; };
- 3390CA510FFC157B00921962 /* NotificationCenter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NotificationCenter.cpp; sourceTree = "<group>"; };
- 3390CA520FFC157B00921962 /* NotificationCenter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NotificationCenter.h; sourceTree = "<group>"; };
- 3390CA530FFC157B00921962 /* NotificationCenter.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = NotificationCenter.idl; sourceTree = "<group>"; };
339B5B62131DAA3200F48D02 /* CookiesStrategy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CookiesStrategy.h; sourceTree = "<group>"; };
3662F984047CEDBE5DDDAFAA /* RenderMathMLMenclose.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderMathMLMenclose.cpp; sourceTree = "<group>"; };
3717D7E517ECC3A6003C276D /* extract-localizable-strings.pl */ = {isa = PBXFileReference; lastKnownFileType = text.script.perl; path = "extract-localizable-strings.pl"; sourceTree = "<group>"; };
97AABD0C14FA09D5007457AE /* WebSocketHandshake.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebSocketHandshake.h; sourceTree = "<group>"; };
97AABD1114FA09D5007457AE /* WorkerThreadableWebSocketChannel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WorkerThreadableWebSocketChannel.cpp; sourceTree = "<group>"; };
97AABD1214FA09D5007457AE /* WorkerThreadableWebSocketChannel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WorkerThreadableWebSocketChannel.h; sourceTree = "<group>"; };
- 97B38E23151C4264004622E9 /* DOMWindowNotifications.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DOMWindowNotifications.cpp; sourceTree = "<group>"; };
- 97B38E24151C4264004622E9 /* DOMWindowNotifications.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMWindowNotifications.h; sourceTree = "<group>"; };
- 97B38E25151C4264004622E9 /* DOMWindowNotifications.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DOMWindowNotifications.idl; sourceTree = "<group>"; };
97B8FFCF16AE7F920038388D /* CharacterReferenceParserInlines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CharacterReferenceParserInlines.h; sourceTree = "<group>"; };
97BC69D81505F076001B74AC /* ChangeVersionWrapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ChangeVersionWrapper.cpp; sourceTree = "<group>"; };
97BC69D91505F076001B74AC /* ChangeVersionWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChangeVersionWrapper.h; sourceTree = "<group>"; };
97E4028E13A696ED00913D67 /* IconController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IconController.h; sourceTree = "<group>"; };
97E9EC8B15DC492F004F2E71 /* JSVoidCallback.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSVoidCallback.cpp; sourceTree = "<group>"; };
97E9EC8C15DC492F004F2E71 /* JSVoidCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSVoidCallback.h; sourceTree = "<group>"; };
- 97F8E661151D4A3F00D2D181 /* WorkerGlobalScopeNotifications.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WorkerGlobalScopeNotifications.cpp; sourceTree = "<group>"; };
- 97F8E662151D4A3F00D2D181 /* WorkerGlobalScopeNotifications.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WorkerGlobalScopeNotifications.h; sourceTree = "<group>"; };
- 97F8E663151D4A3F00D2D181 /* WorkerGlobalScopeNotifications.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WorkerGlobalScopeNotifications.idl; sourceTree = "<group>"; };
9831AE49154225A200FE2644 /* ReferrerPolicy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReferrerPolicy.h; sourceTree = "<group>"; };
984264EF12D5280A000D88A4 /* LinkLoaderClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LinkLoaderClient.h; sourceTree = "<group>"; };
985BB96B13A94058007A0B69 /* LinkRelAttribute.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LinkRelAttribute.cpp; sourceTree = "<group>"; };
333F703D0FB49C16008E12A6 /* notifications */ = {
isa = PBXGroup;
children = (
- 97B38E23151C4264004622E9 /* DOMWindowNotifications.cpp */,
- 97B38E24151C4264004622E9 /* DOMWindowNotifications.h */,
- 97B38E25151C4264004622E9 /* DOMWindowNotifications.idl */,
33503CC61017A1B1003B47E1 /* Notification.cpp */,
333F704F0FB49CA2008E12A6 /* Notification.h */,
333F704E0FB49CA2008E12A6 /* Notification.idl */,
- 3390CA510FFC157B00921962 /* NotificationCenter.cpp */,
- 3390CA520FFC157B00921962 /* NotificationCenter.h */,
- 3390CA530FFC157B00921962 /* NotificationCenter.idl */,
33503C9910179A74003B47E1 /* NotificationClient.h */,
3128CA67147331520074C72A /* NotificationController.cpp */,
3128CA6A147331630074C72A /* NotificationController.h */,
31EC1DAC14FF26EA00C94662 /* NotificationPermissionCallback.h */,
31EC1D5014FEFD0800C94662 /* NotificationPermissionCallback.idl */,
- 97F8E661151D4A3F00D2D181 /* WorkerGlobalScopeNotifications.cpp */,
- 97F8E662151D4A3F00D2D181 /* WorkerGlobalScopeNotifications.h */,
- 97F8E663151D4A3F00D2D181 /* WorkerGlobalScopeNotifications.idl */,
);
path = notifications;
sourceTree = "<group>";
children = (
33503C9F10179AD7003B47E1 /* JSNotification.cpp */,
33503CA010179AD7003B47E1 /* JSNotification.h */,
- 33503CA110179AD7003B47E1 /* JSNotificationCenter.cpp */,
- 33503CA210179AD7003B47E1 /* JSNotificationCenter.h */,
31EC1E2614FF60EE00C94662 /* JSNotificationPermissionCallback.cpp */,
31EC1E2714FF60EE00C94662 /* JSNotificationPermissionCallback.h */,
);
1403B99709EB13AF00797C7F /* DOMWindow.h in Headers */,
51FA2D78152132B300C1BA0B /* DOMWindowExtension.h in Headers */,
5185FC751BB4C4E80012898F /* DOMWindowIndexedDatabase.h in Headers */,
- 97B38E27151C4271004622E9 /* DOMWindowNotifications.h in Headers */,
97D2AD0414B823A60093DF32 /* DOMWindowProperty.h in Headers */,
89F60B11157F686E0075E157 /* DOMWindowQuota.h in Headers */,
AA2A5AD616A4861600975A25 /* DOMWindowSpeechSynthesis.h in Headers */,
BCD9C2C30C17B69E005C90A2 /* JSNodeList.h in Headers */,
AD20B18D18E9D237005A8083 /* JSNodeListCustom.h in Headers */,
33503CA410179AD7003B47E1 /* JSNotification.h in Headers */,
- 33503CA610179AD7003B47E1 /* JSNotificationCenter.h in Headers */,
31EC1E2914FF60EE00C94662 /* JSNotificationPermissionCallback.h in Headers */,
7E46F6FB1627A2CA00062223 /* JSOESElementIndexUint.h in Headers */,
9001788112E0370700648462 /* JSOESStandardDerivatives.h in Headers */,
9382AAB40D8C386100F357A6 /* NodeWithIndex.h in Headers */,
E46B41F91CB24E70008F11DE /* NoEventDispatchAssertion.h in Headers */,
312C0C41146DC6CC0016C911 /* Notification.h in Headers */,
- 3390CA560FFC157B00921962 /* NotificationCenter.h in Headers */,
33503C9A10179A74003B47E1 /* NotificationClient.h in Headers */,
3128CA6B147331630074C72A /* NotificationController.h in Headers */,
31FE6DFA15004C2A0004EBC4 /* NotificationPermissionCallback.h in Headers */,
A3E2643114748991005A8588 /* WorkerEventQueue.h in Headers */,
2E4346490F546A8200B0F1BA /* WorkerGlobalScope.h in Headers */,
5185FCB41BB4C4E80012898F /* WorkerGlobalScopeIndexedDatabase.h in Headers */,
- 97F8E666151D4A4E00D2D181 /* WorkerGlobalScopeNotifications.h in Headers */,
2E43464B0F546A8200B0F1BA /* WorkerGlobalScopeProxy.h in Headers */,
A54A0C621DB7F8C10017A90B /* WorkerInspectorController.h in Headers */,
A54A0C6C1DB831F90017A90B /* WorkerInspectorProxy.h in Headers */,
517FBA1E151AB17C00B57959 /* DOMWindowExtension.cpp in Sources */,
418C39561C8DAC7F0051C8A3 /* DOMWindowFetch.cpp in Sources */,
5185FC741BB4C4E80012898F /* DOMWindowIndexedDatabase.cpp in Sources */,
- 97B38E28151C4273004622E9 /* DOMWindowNotifications.cpp in Sources */,
97D2AD0314B823A60093DF32 /* DOMWindowProperty.cpp in Sources */,
AA2A5AD716A4861A00975A25 /* DOMWindowSpeechSynthesis.cpp in Sources */,
A8CCBB48151F831600AB7CE9 /* DOMWindowWebDatabase.cpp in Sources */,
BCD9C2C20C17B69E005C90A2 /* JSNodeList.cpp in Sources */,
BCD9C2650C17AA67005C90A2 /* JSNodeListCustom.cpp in Sources */,
33503CA310179AD7003B47E1 /* JSNotification.cpp in Sources */,
- 33503CA510179AD7003B47E1 /* JSNotificationCenter.cpp in Sources */,
31EC1E2814FF60EE00C94662 /* JSNotificationPermissionCallback.cpp in Sources */,
7E46F6FA1627A2CA00062223 /* JSOESElementIndexUint.cpp in Sources */,
9001788012E0370700648462 /* JSOESStandardDerivatives.cpp in Sources */,
4FFC022B1643B710004E1638 /* NodeRareData.cpp in Sources */,
E43105B816750F0C00DB2FB8 /* NodeTraversal.cpp in Sources */,
33503CC71017A1B1003B47E1 /* Notification.cpp in Sources */,
- 3390CA550FFC157B00921962 /* NotificationCenter.cpp in Sources */,
3128CA68147331520074C72A /* NotificationController.cpp in Sources */,
E1513D511677F08800149FCB /* NotImplemented.cpp in Sources */,
1A569D0A0D7E2B82007C3983 /* NP_jsobject.cpp in Sources */,
2E4346480F546A8200B0F1BA /* WorkerGlobalScope.cpp in Sources */,
418C395A1C8DD6990051C8A3 /* WorkerGlobalScopeFetch.cpp in Sources */,
5185FCB31BB4C4E80012898F /* WorkerGlobalScopeIndexedDatabase.cpp in Sources */,
- 97F8E665151D4A4B00D2D181 /* WorkerGlobalScopeNotifications.cpp in Sources */,
A54A0C611DB7F8C10017A90B /* WorkerInspectorController.cpp in Sources */,
A54A0C6B1DB831F90017A90B /* WorkerInspectorProxy.cpp in Sources */,
2E43464C0F546A8200B0F1BA /* WorkerLocation.cpp in Sources */,
MediaStreamTrack conditional=MEDIA_STREAM
MessagePort
Node
-Notification conditional=NOTIFICATIONS|LEGACY_NOTIFICATIONS
+Notification conditional=NOTIFICATIONS
Performance conditional=WEB_TIMING
RTCDataChannel conditional=WEB_RTC
RTCDTMFSender conditional=WEB_RTC_DTMF
#include "DOMTokenList.h"
#include "DOMURL.h"
#include "DOMWindowExtension.h"
-#include "DOMWindowNotifications.h"
#include "DeviceMotionController.h"
#include "DeviceOrientationController.h"
#include "Document.h"
WEBCORE_EXPORT static unsigned workerThreadCount();
static void releaseFastMallocFreeMemoryInAllThreads();
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
NotificationClient* getNotificationClient() { return m_notificationClient; }
void setNotificationClient(NotificationClient* client) { m_notificationClient = client; }
#endif
std::unique_ptr<WorkerThreadStartupData> m_startupData;
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
NotificationClient* m_notificationClient { nullptr };
#endif
+2017-05-04 Sam Weinig <sam@webkit.org>
+
+ Remove support for legacy Notifications
+ https://bugs.webkit.org/show_bug.cgi?id=171487
+
+ Reviewed by Jon Lee.
+
+ * Configurations/FeatureDefines.xcconfig:
+ * WebCoreSupport/WebNotificationClient.h:
+ * WebCoreSupport/WebNotificationClient.mm:
+ * WebView/WebNotification.mm:
+ * WebView/WebNotificationInternal.h:
+ * WebView/WebView.mm:
+ (-[WebView _commonInitializationWithFrameName:groupName:]):
+ (-[WebView _notificationIDForTesting:]):
+ Remove legacy notification specific code.
+
2017-05-03 Joseph Pecoraro <pecoraro@apple.com>
[Cocoa] Stop exporting symbols for ivars that were made private
ENABLE_KEYBOARD_CODE_ATTRIBUTE = ENABLE_KEYBOARD_CODE_ATTRIBUTE;
ENABLE_LEGACY_CSS_VENDOR_PREFIXES = ENABLE_LEGACY_CSS_VENDOR_PREFIXES;
ENABLE_LEGACY_ENCRYPTED_MEDIA[sdk=macosx*] = ENABLE_LEGACY_ENCRYPTED_MEDIA;
-ENABLE_LEGACY_NOTIFICATIONS[sdk=macosx*] = ENABLE_LEGACY_NOTIFICATIONS;
ENABLE_LEGACY_VENDOR_PREFIXES = ENABLE_LEGACY_VENDOR_PREFIXES;
ENABLE_LETTERPRESS[sdk=iphone*] = ENABLE_LETTERPRESS;
ENABLE_LINK_PREFETCH = ;
ENABLE_VARIATION_FONTS_IF_NOT_NO = ENABLE_VARIATION_FONTS;
ENABLE_VARIATION_FONTS_IF_NOT_YES = ;
-FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_DELEGATE) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CSS3_TEXT) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FETCH_API) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_KEYBOARD_KEY_ATTRIBUTE) $(ENABLE_KEYBOARD_CODE_ATTRIBUTE) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOSNIFF) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_RTC) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
+FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_DELEGATE) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CSS3_TEXT) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FETCH_API) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_KEYBOARD_KEY_ATTRIBUTE) $(ENABLE_KEYBOARD_CODE_ATTRIBUTE) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOSNIFF) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_RTC) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
#import <WebCore/NotificationClient.h>
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
#import <WebCore/Notification.h>
#import <wtf/HashMap.h>
#import <wtf/RefPtr.h>
WebNotificationClient(WebView *);
WebView *webView() { return m_webView; }
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
// For testing purposes.
uint64_t notificationIDForTesting(WebCore::Notification*);
#endif
void clearNotifications(WebCore::ScriptExecutionContext*) override;
void notificationObjectDestroyed(WebCore::Notification*) override;
void notificationControllerDestroyed() override;
-#if ENABLE(LEGACY_NOTIFICATIONS)
- void requestPermission(WebCore::ScriptExecutionContext*, RefPtr<WebCore::VoidCallback>&&) override;
-#endif
#if ENABLE(NOTIFICATIONS)
void requestPermission(WebCore::ScriptExecutionContext*, RefPtr<WebCore::NotificationPermissionCallback>&&) override;
#endif
bool hasPendingPermissionRequests(WebCore::ScriptExecutionContext*) const override;
WebCore::NotificationClient::Permission checkPermission(WebCore::ScriptExecutionContext*) override;
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
void requestPermission(WebCore::ScriptExecutionContext*, WebNotificationPolicyListener *);
#endif
WebView *m_webView;
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
HashMap<RefPtr<WebCore::Notification>, RetainPtr<WebNotification>> m_notificationMap;
typedef HashMap<RefPtr<WebCore::ScriptExecutionContext>, Vector<RetainPtr<WebNotification>>> NotificationContextMap;
#import "WebNotificationClient.h"
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
#import "WebDelegateImplementationCaching.h"
#import "WebNotificationInternal.h"
#import "WebPreferencesPrivate.h"
#import "WebSecurityOriginInternal.h"
#import "WebUIDelegatePrivate.h"
#import "WebViewInternal.h"
+#import <WebCore/NotificationPermissionCallback.h>
#import <WebCore/ScriptExecutionContext.h>
#import <wtf/BlockObjCExceptions.h>
#endif
-#if ENABLE(NOTIFICATIONS)
-#import <WebCore/NotificationPermissionCallback.h>
-#endif
-#if ENABLE(LEGACY_NOTIFICATIONS)
-#import <WebCore/VoidCallback.h>
-#endif
-
using namespace WebCore;
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
@interface WebNotificationPolicyListener : NSObject <WebAllowDenyPolicyListener>
{
-#if ENABLE(NOTIFICATIONS)
RefPtr<NotificationPermissionCallback> _callback;
-#endif
-#if ENABLE(LEGACY_NOTIFICATIONS)
- RefPtr<VoidCallback> _voidCallback;
- bool _isLegacyRequest;
-#endif
}
-#if ENABLE(NOTIFICATIONS)
- (id)initWithCallback:(PassRefPtr<NotificationPermissionCallback>)callback;
-#endif
-#if ENABLE(LEGACY_NOTIFICATIONS)
-- (id)initWithVoidCallback:(PassRefPtr<VoidCallback>)callback;
-#endif
-
@end
#endif
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
static uint64_t generateNotificationID()
{
static uint64_t uniqueNotificationID = 1;
bool WebNotificationClient::show(Notification* notification)
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
if (![m_webView _notificationProvider])
return false;
RetainPtr<WebNotification> webNotification = adoptNS([[WebNotification alloc] initWithCoreNotification:notification notificationID:notificationID]);
m_notificationMap.set(notification, webNotification);
- NotificationContextMap::iterator it = m_notificationContextMap.add(notification->scriptExecutionContext(), Vector<RetainPtr<WebNotification>>()).iterator;
+ auto it = m_notificationContextMap.add(notification->scriptExecutionContext(), Vector<RetainPtr<WebNotification>>()).iterator;
it->value.append(webNotification);
[[m_webView _notificationProvider] showNotification:webNotification.get() fromWebView:m_webView];
void WebNotificationClient::cancel(Notification* notification)
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
WebNotification *webNotification = m_notificationMap.get(notification).get();
if (!webNotification)
return;
void WebNotificationClient::clearNotifications(ScriptExecutionContext* context)
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- NotificationContextMap::iterator it = m_notificationContextMap.find(context);
+#if ENABLE(NOTIFICATIONS)
+ auto it = m_notificationContextMap.find(context);
if (it == m_notificationContextMap.end())
return;
void WebNotificationClient::notificationObjectDestroyed(Notification* notification)
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
RetainPtr<WebNotification> webNotification = m_notificationMap.take(notification);
if (!webNotification)
return;
- NotificationContextMap::iterator it = m_notificationContextMap.find(notification->scriptExecutionContext());
+ auto it = m_notificationContextMap.find(notification->scriptExecutionContext());
ASSERT(it != m_notificationContextMap.end());
size_t index = it->value.find(webNotification);
ASSERT(index != notFound);
delete this;
}
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
void WebNotificationClient::requestPermission(ScriptExecutionContext* context, WebNotificationPolicyListener *listener)
{
SEL selector = @selector(webView:decidePolicyForNotificationRequestFromOrigin:listener:);
}
#endif
-#if ENABLE(LEGACY_NOTIFICATIONS)
-void WebNotificationClient::requestPermission(ScriptExecutionContext* context, RefPtr<VoidCallback>&& callback)
-{
- BEGIN_BLOCK_OBJC_EXCEPTIONS;
- WebNotificationPolicyListener *listener = [[WebNotificationPolicyListener alloc] initWithVoidCallback:callback];
- requestPermission(context, listener);
- [listener release];
- END_BLOCK_OBJC_EXCEPTIONS;
-}
-#endif
-
bool WebNotificationClient::hasPendingPermissionRequests(ScriptExecutionContext*) const
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
// We know permission was requested but we don't know if the client responded. In this case, we play it
// safe and presume there is one pending so that ActiveDOMObjects don't get suspended.
return m_everRequestedPermission;
NotificationClient::Permission WebNotificationClient::checkPermission(ScriptExecutionContext* context)
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
if (!context || !context->isDocument())
return NotificationClient::PermissionDenied;
if (![[m_webView preferences] notificationsEnabled])
#endif
}
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
+
uint64_t WebNotificationClient::notificationIDForTesting(WebCore::Notification* notification)
{
return [m_notificationMap.get(notification).get() notificationID];
@implementation WebNotificationPolicyListener
-#if ENABLE(NOTIFICATIONS)
- (id)initWithCallback:(PassRefPtr<NotificationPermissionCallback>)callback
{
if (!(self = [super init]))
_callback = callback;
return self;
}
-#endif
-
-#if ENABLE(LEGACY_NOTIFICATIONS)
-- (id)initWithVoidCallback:(PassRefPtr<VoidCallback>)callback
-{
- if (!(self = [super init]))
- return nil;
-
- _isLegacyRequest = true;
- _voidCallback = callback;
- return self;
-}
-#endif
- (void)allow
{
-#if ENABLE(LEGACY_NOTIFICATIONS)
- if (_isLegacyRequest) {
- if (_voidCallback)
- _voidCallback->handleEvent();
- return;
- }
-#endif
-#if ENABLE(NOTIFICATIONS)
if (_callback)
_callback->handleEvent(Notification::permissionString(NotificationClient::PermissionAllowed));
-#endif
}
- (void)deny
{
-#if ENABLE(LEGACY_NOTIFICATIONS)
- if (_isLegacyRequest) {
- if (_voidCallback)
- _voidCallback->handleEvent();
- return;
- }
-#endif
-#if ENABLE(NOTIFICATIONS)
if (_callback)
_callback->handleEvent(Notification::permissionString(NotificationClient::PermissionDenied));
-#endif
}
#if PLATFORM(IOS)
#import "WebNotificationInternal.h"
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
#import "WebSecurityOriginInternal.h"
#import <WebCore/Notification.h>
#import <WebCore/ScriptExecutionContext.h>
@interface WebNotificationPrivate : NSObject
{
@public
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
RefPtr<Notification> _internal;
uint64_t _notificationID;
#endif
@implementation WebNotificationPrivate
@end
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
@implementation WebNotification (WebNotificationInternal)
+
Notification* core(WebNotification *notification)
{
if (!notification->_private)
- (NSString *)title
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
return core(self)->title();
#else
return nil;
- (NSString *)body
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
return core(self)->body();
#else
return nil;
- (NSString *)tag
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
return core(self)->tag();
#else
return nil;
- (NSString *)iconURL
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
return core(self)->iconURL();
#else
return nil;
- (NSString *)lang
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
return core(self)->lang();
#else
return nil;
- (NSString *)dir
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
return core(self)->dir();
#else
return nil;
- (WebSecurityOrigin *)origin
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
return [[[WebSecurityOrigin alloc] _initWithWebCoreSecurityOrigin:core(self)->scriptExecutionContext()->securityOrigin()] autorelease];
#else
return nil;
- (uint64_t)notificationID
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
return _private->_notificationID;
#else
return 0;
- (void)dispatchShowEvent
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
core(self)->dispatchShowEvent();
#endif
}
- (void)dispatchCloseEvent
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
core(self)->dispatchCloseEvent();
#endif
}
- (void)dispatchClickEvent
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
core(self)->dispatchClickEvent();
#endif
}
- (void)dispatchErrorEvent
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
core(self)->dispatchErrorEvent();
#endif
}
#import "WebNotification.h"
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
namespace WebCore {
class Notification;
#if ENABLE(GEOLOCATION)
WebCore::provideGeolocationTo(_private->page, new WebGeolocationClient(self));
#endif
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
WebCore::provideNotification(_private->page, new WebNotificationClient(self));
#endif
#if ENABLE(DEVICE_ORIENTATION)
- (uint64_t)_notificationIDForTesting:(JSValueRef)jsNotification
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
auto* page = _private->page;
if (!page)
return 0;
+2017-05-04 Sam Weinig <sam@webkit.org>
+
+ Remove support for legacy Notifications
+ https://bugs.webkit.org/show_bug.cgi?id=171487
+
+ Reviewed by Jon Lee.
+
+ * WebCoreSupport/WebChromeClient.cpp:
+ (WebChromeClient::WebChromeClient):
+ * WebCoreSupport/WebChromeClient.h:
+ * WebCoreSupport/WebDesktopNotificationsDelegate.cpp:
+ * WebCoreSupport/WebDesktopNotificationsDelegate.h:
+ Remove legacy notification specific code.
+
2017-04-27 Alex Christensen <achristensen@webkit.org>
Modernize Frame.h
WebChromeClient::WebChromeClient(WebView* webView)
: m_webView(webView)
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
, m_notificationsDelegate(std::make_unique<WebDesktopNotificationsDelegate>(webView))
#endif
{
void exitVideoFullscreenForVideoElement(WebCore::HTMLVideoElement&) final;
#endif
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
WebCore::NotificationClient* notificationPresenter() const final { return reinterpret_cast<WebCore::NotificationClient*>(m_notificationsDelegate.get()); }
#endif
WebView* m_webView;
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
std::unique_ptr<WebDesktopNotificationsDelegate> m_notificationsDelegate;
#endif
};
#include <WebCore/Document.h>
#include <WebCore/URL.h>
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
using namespace WebCore;
return delegate;
}
-#endif // ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#endif // ENABLE(NOTIFICATIONS)
#include <WebCore/Notification.h>
#include <WebCore/NotificationClient.h>
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
interface IWebDesktopNotificationPresenter;
virtual void cancel(WebCore::Notification* object);
virtual void notificationObjectDestroyed(WebCore::Notification* object);
virtual void notificationControllerDestroyed();
-#if ENABLE(LEGACY_NOTIFICATIONS)
- virtual void requestPermission(WebCore::SecurityOrigin*, RefPtr<WebCore::VoidCallback>&&);
-#endif
-#if ENABLE(NOTIFICATIONS)
virtual void requestPermission(WebCore::SecurityOrigin*, RefPtr<WebCore::NotificationPermissionCallback>&&);
-#endif
bool hasPendingPermissionRequests(WebCore::ScriptExecutionContext*) const override;
virtual void cancelRequestsForPermission(WebCore::ScriptExecutionContext*);
virtual WebCore::NotificationClient::Permission checkPermission(const URL&);
+2017-05-04 Sam Weinig <sam@webkit.org>
+
+ Remove support for legacy Notifications
+ https://bugs.webkit.org/show_bug.cgi?id=171487
+
+ Reviewed by Jon Lee.
+
+ * Configurations/FeatureDefines.xcconfig:
+ * Shared/WebProcessCreationParameters.cpp:
+ * Shared/WebProcessCreationParameters.h:
+ * UIProcess/WebProcessPool.cpp:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
+ * WebProcess/Notifications/NotificationPermissionRequestManager.h:
+ * WebProcess/Notifications/WebNotificationManager.cpp:
+ * WebProcess/Notifications/WebNotificationManager.h:
+ * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
+ * WebProcess/WebCoreSupport/WebNotificationClient.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ * WebProcess/WebProcess.cpp:
+ Remove legacy notification specific code.
+
2017-05-04 Eric Carlson <eric.carlson@apple.com>
[MediaStream] Allow host application to enable/disable media capture
ENABLE_KEYBOARD_CODE_ATTRIBUTE = ENABLE_KEYBOARD_CODE_ATTRIBUTE;
ENABLE_LEGACY_CSS_VENDOR_PREFIXES = ENABLE_LEGACY_CSS_VENDOR_PREFIXES;
ENABLE_LEGACY_ENCRYPTED_MEDIA[sdk=macosx*] = ENABLE_LEGACY_ENCRYPTED_MEDIA;
-ENABLE_LEGACY_NOTIFICATIONS[sdk=macosx*] = ENABLE_LEGACY_NOTIFICATIONS;
ENABLE_LEGACY_VENDOR_PREFIXES = ENABLE_LEGACY_VENDOR_PREFIXES;
ENABLE_LETTERPRESS[sdk=iphone*] = ENABLE_LETTERPRESS;
ENABLE_LINK_PREFETCH = ;
ENABLE_VARIATION_FONTS_IF_NOT_NO = ENABLE_VARIATION_FONTS;
ENABLE_VARIATION_FONTS_IF_NOT_YES = ;
-FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_DELEGATE) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CSS3_TEXT) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FETCH_API) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_KEYBOARD_KEY_ATTRIBUTE) $(ENABLE_KEYBOARD_CODE_ATTRIBUTE) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOSNIFF) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_RTC) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
+FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_DELEGATE) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CSS3_TEXT) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FETCH_API) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_KEYBOARD_KEY_ATTRIBUTE) $(ENABLE_KEYBOARD_CODE_ATTRIBUTE) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOSNIFF) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_RTC) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
encoder << bundleParameterData->dataReference();
#endif
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
encoder << notificationPermissions;
#endif
}
#endif
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
if (!decoder.decode(parameters.notificationPermissions))
return false;
#endif
RefPtr<API::Data> bundleParameterData;
#endif // PLATFORM(COCOA)
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
HashMap<String, bool> notificationPermissions;
#endif
parameters.defaultRequestTimeoutInterval = API::URLRequest::defaultTimeoutInterval();
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
// FIXME: There should be a generic way for supplements to add to the intialization parameters.
supplement<WebNotificationManagerProxy>()->populateCopyOfNotificationPermissions(parameters.notificationPermissions);
#endif
#include <WebCore/UserScript.h>
#include <WebCore/UserStyleSheet.h>
-
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
#include "WebNotificationManager.h"
#endif
void InjectedBundle::setWebNotificationPermission(WebPage* page, const String& originString, bool allowed)
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
page->notificationPermissionRequestManager()->setPermissionLevelForTesting(originString, allowed);
#else
UNUSED_PARAM(page);
void InjectedBundle::removeAllWebNotificationPermissions(WebPage* page)
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
page->notificationPermissionRequestManager()->removeAllPermissionsForTesting();
#else
UNUSED_PARAM(page);
uint64_t InjectedBundle::webNotificationID(JSContextRef jsContext, JSValueRef jsNotification)
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
WebCore::Notification* notification = JSNotification::toWrapped(toJS(jsContext)->vm(), toJS(toJS(jsContext), jsNotification));
if (!notification)
return 0;
#include <WebCore/SecurityOrigin.h>
#include <WebCore/Settings.h>
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
#include "WebNotificationManager.h"
#endif
namespace WebKit {
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
static uint64_t generateRequestID()
{
static uint64_t uniqueRequestID = 1;
return adoptRef(*new NotificationPermissionRequestManager(page));
}
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
NotificationPermissionRequestManager::NotificationPermissionRequestManager(WebPage* page)
: m_page(page)
{
}
#endif
-#if ENABLE(LEGACY_NOTIFICATIONS)
-void NotificationPermissionRequestManager::startRequest(SecurityOrigin* origin, RefPtr<WebCore::VoidCallback>&& callback)
-{
- NotificationClient::Permission permission = permissionLevel(origin);
- if (permission != NotificationClient::PermissionNotAllowed) {
- if (callback)
- callback->handleEvent();
- return;
- }
-
- uint64_t requestID = generateRequestID();
- m_originToIDMap.set(origin, requestID);
- m_idToOriginMap.set(requestID, origin);
- m_idToVoidCallbackMap.set(requestID, WTFMove(callback));
- m_page->send(Messages::WebPageProxy::RequestNotificationPermission(requestID, origin->toString()));
-}
-#endif
-
void NotificationPermissionRequestManager::cancelRequest(SecurityOrigin* origin)
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
uint64_t id = m_originToIDMap.take(origin);
if (!id)
return;
m_idToOriginMap.remove(id);
-#if ENABLE(NOTIFICATIONS)
m_idToCallbackMap.remove(id);
-#endif
-#if ENABLE(LEGACY_NOTIFICATIONS)
- m_idToVoidCallbackMap.remove(id);
-#endif
#else
UNUSED_PARAM(origin);
#endif
bool NotificationPermissionRequestManager::hasPendingPermissionRequests(SecurityOrigin* origin) const
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
return m_originToIDMap.contains(origin);
#else
UNUSED_PARAM(origin);
NotificationClient::Permission NotificationPermissionRequestManager::permissionLevel(SecurityOrigin* securityOrigin)
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
if (!m_page->corePage()->settings().notificationsEnabled())
return NotificationClient::PermissionDenied;
void NotificationPermissionRequestManager::setPermissionLevelForTesting(const String& originString, bool allowed)
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
WebProcess::singleton().supplement<WebNotificationManager>()->didUpdateNotificationDecision(originString, allowed);
#else
UNUSED_PARAM(originString);
void NotificationPermissionRequestManager::removeAllPermissionsForTesting()
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
WebProcess::singleton().supplement<WebNotificationManager>()->removeAllPermissionsForTesting();
#endif
}
void NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision(uint64_t requestID, bool allowed)
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
if (!isRequestIDValid(requestID))
return;
WebProcess::singleton().supplement<WebNotificationManager>()->didUpdateNotificationDecision(origin->toString(), allowed);
-#if ENABLE(LEGACY_NOTIFICATIONS)
- RefPtr<WebCore::VoidCallback> voidCallback = m_idToVoidCallbackMap.take(requestID);
- if (voidCallback) {
- voidCallback->handleEvent();
- return;
- }
-#endif
-
-#if ENABLE(NOTIFICATIONS)
RefPtr<NotificationPermissionCallback> callback = m_idToCallbackMap.take(requestID);
if (!callback)
return;
callback->handleEvent(Notification::permissionString(allowed ? NotificationClient::PermissionAllowed : NotificationClient::PermissionDenied));
-#endif
-
#else
UNUSED_PARAM(requestID);
UNUSED_PARAM(allowed);
#if ENABLE(NOTIFICATIONS)
void startRequest(WebCore::SecurityOrigin*, RefPtr<WebCore::NotificationPermissionCallback>&&);
#endif
-#if ENABLE(LEGACY_NOTIFICATIONS)
- void startRequest(WebCore::SecurityOrigin*, RefPtr<WebCore::VoidCallback>&&);
-#endif
void cancelRequest(WebCore::SecurityOrigin*);
bool hasPendingPermissionRequests(WebCore::SecurityOrigin*) const;
#if ENABLE(NOTIFICATIONS)
HashMap<uint64_t, RefPtr<WebCore::NotificationPermissionCallback>> m_idToCallbackMap;
#endif
-#if ENABLE(LEGACY_NOTIFICATIONS)
- HashMap<uint64_t, RefPtr<WebCore::VoidCallback>> m_idToVoidCallbackMap;
-#endif
HashMap<RefPtr<WebCore::SecurityOrigin>, uint64_t> m_originToIDMap;
HashMap<uint64_t, RefPtr<WebCore::SecurityOrigin>> m_idToOriginMap;
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
WebPage* m_page;
#endif
};
#include "WebProcess.h"
#include "WebProcessCreationParameters.h"
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
#include "WebNotification.h"
#include "WebNotificationManagerMessages.h"
#include "WebPageProxyMessages.h"
namespace WebKit {
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
static uint64_t generateNotificationID()
{
static uint64_t uniqueNotificationID = 1;
WebNotificationManager::WebNotificationManager(WebProcess* process)
: m_process(process)
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
m_process->addMessageReceiver(Messages::WebNotificationManager::messageReceiverName(), *this);
#endif
}
void WebNotificationManager::initialize(const WebProcessCreationParameters& parameters)
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
m_permissionsMap = parameters.notificationPermissions;
#else
UNUSED_PARAM(parameters);
void WebNotificationManager::didUpdateNotificationDecision(const String& originString, bool allowed)
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
m_permissionsMap.set(originString, allowed);
#else
UNUSED_PARAM(originString);
void WebNotificationManager::didRemoveNotificationDecisions(const Vector<String>& originStrings)
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- size_t count = originStrings.size();
- for (size_t i = 0; i < count; ++i)
- m_permissionsMap.remove(originStrings[i]);
+#if ENABLE(NOTIFICATIONS)
+ for (auto& originString : originStrings)
+ m_permissionsMap.remove(originString);
#else
UNUSED_PARAM(originStrings);
#endif
}
-NotificationClient::Permission WebNotificationManager::policyForOrigin(WebCore::SecurityOrigin *origin) const
+NotificationClient::Permission WebNotificationManager::policyForOrigin(WebCore::SecurityOrigin* origin) const
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
if (!origin)
return NotificationClient::PermissionNotAllowed;
ASSERT(!origin->isUnique());
- HashMap<String, bool>::const_iterator it = m_permissionsMap.find(origin->toRawString());
+ auto it = m_permissionsMap.find(origin->toRawString());
if (it != m_permissionsMap.end())
return it->value ? NotificationClient::PermissionAllowed : NotificationClient::PermissionDenied;
#else
void WebNotificationManager::removeAllPermissionsForTesting()
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
m_permissionsMap.clear();
#endif
}
uint64_t WebNotificationManager::notificationIDForTesting(Notification* notification)
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
if (!notification)
return 0;
return m_notificationMap.get(notification);
bool WebNotificationManager::show(Notification* notification, WebPage* page)
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
if (!notification || !page->corePage()->settings().notificationsEnabled())
return false;
m_notificationMap.set(notification, notificationID);
m_notificationIDMap.set(notificationID, notification);
- NotificationContextMap::iterator it = m_notificationContextMap.add(notification->scriptExecutionContext(), Vector<uint64_t>()).iterator;
+ auto it = m_notificationContextMap.add(notification->scriptExecutionContext(), Vector<uint64_t>()).iterator;
it->value.append(notificationID);
-#if ENABLE(NOTIFICATIONS)
m_process->parentProcessConnection()->send(Messages::WebPageProxy::ShowNotification(notification->title(), notification->body(), notification->iconURL().string(), notification->tag(), notification->lang(), notification->dir(), notification->scriptExecutionContext()->securityOrigin()->toString(), notificationID), page->pageID());
-#else
- m_process->parentProcessConnection()->send(Messages::WebPageProxy::ShowNotification(notification->title(), notification->body(), notification->iconURL().string(), notification->replaceId(), notification->lang(), notification->dir(), notification->scriptExecutionContext()->securityOrigin()->toString(), notificationID), page->pageID());
-#endif
return true;
#else
UNUSED_PARAM(notification);
void WebNotificationManager::cancel(Notification* notification, WebPage* page)
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
if (!notification || !page->corePage()->settings().notificationsEnabled())
return;
void WebNotificationManager::clearNotifications(WebCore::ScriptExecutionContext* context, WebPage* page)
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
NotificationContextMap::iterator it = m_notificationContextMap.find(context);
if (it == m_notificationContextMap.end())
return;
void WebNotificationManager::didDestroyNotification(Notification* notification, WebPage* page)
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
uint64_t notificationID = m_notificationMap.take(notification);
if (!notificationID)
return;
void WebNotificationManager::didShowNotification(uint64_t notificationID)
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
if (!isNotificationIDValid(notificationID))
return;
void WebNotificationManager::didClickNotification(uint64_t notificationID)
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
if (!isNotificationIDValid(notificationID))
return;
void WebNotificationManager::didCloseNotifications(const Vector<uint64_t>& notificationIDs)
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
size_t count = notificationIDs.size();
for (size_t i = 0; i < count; ++i) {
uint64_t notificationID = notificationIDs[i];
#endif
}
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
void WebNotificationManager::removeNotificationFromContextMap(uint64_t notificationID, Notification* notification)
{
// This is a helper function for managing the hash maps.
void didCloseNotifications(const Vector<uint64_t>& notificationIDs);
void didRemoveNotificationDecisions(const Vector<String>& originStrings);
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
void removeNotificationFromContextMap(uint64_t notificationID, WebCore::Notification*);
#endif
WebProcess* m_process;
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
typedef HashMap<RefPtr<WebCore::Notification>, uint64_t> NotificationMap;
NotificationMap m_notificationMap;
#include "config.h"
#include "WebNotificationClient.h"
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
#include "NotificationPermissionRequestManager.h"
#include "WebNotificationManager.h"
delete this;
}
-#if ENABLE(LEGACY_NOTIFICATIONS)
-void WebNotificationClient::requestPermission(ScriptExecutionContext* context, RefPtr<WebCore::VoidCallback>&& callback)
-{
- m_page->notificationPermissionRequestManager()->startRequest(context->securityOrigin(), WTFMove(callback));
-}
-#endif
-
-#if ENABLE(NOTIFICATIONS)
void WebNotificationClient::requestPermission(ScriptExecutionContext* context, RefPtr<NotificationPermissionCallback>&& callback)
{
m_page->notificationPermissionRequestManager()->startRequest(context->securityOrigin(), WTFMove(callback));
}
-#endif
bool WebNotificationClient::hasPendingPermissionRequests(ScriptExecutionContext* context) const
{
} // namespace WebKit
-#endif // ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#endif // ENABLE(NOTIFICATIONS)
#ifndef WebNotificationClient_h
#define WebNotificationClient_h
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
#include <WebCore/NotificationClient.h>
void clearNotifications(WebCore::ScriptExecutionContext*) override;
void notificationObjectDestroyed(WebCore::Notification*) override;
void notificationControllerDestroyed() override;
-#if ENABLE(LEGACY_NOTIFICATIONS)
- void requestPermission(WebCore::ScriptExecutionContext*, RefPtr<WebCore::VoidCallback>&&) override;
-#endif
-#if ENABLE(NOTIFICATIONS)
void requestPermission(WebCore::ScriptExecutionContext*, RefPtr<WebCore::NotificationPermissionCallback>&&) override;
-#endif
void cancelRequestsForPermission(WebCore::ScriptExecutionContext*) override;
bool hasPendingPermissionRequests(WebCore::ScriptExecutionContext*) const override;
NotificationClient::Permission checkPermission(WebCore::ScriptExecutionContext*) override;
} // namespace WebKit
-#endif // ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#endif // ENABLE(NOTIFICATIONS)
#endif // WebNotificationClient_h
#if ENABLE(GEOLOCATION)
WebCore::provideGeolocationTo(m_page.get(), new WebGeolocationClient(this));
#endif
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
WebCore::provideNotification(m_page.get(), new WebNotificationClient(this));
#endif
#if ENABLE(VIBRATION)
settings.setShouldDisplayTextDescriptions(store.getBoolValueForKey(WebPreferencesKey::shouldDisplayTextDescriptionsKey()));
#endif
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
settings.setNotificationsEnabled(store.getBoolValueForKey(WebPreferencesKey::notificationsEnabledKey()));
#endif
#include "WebToDatabaseProcessConnection.h"
#endif
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
#include "WebNotificationManager.h"
#endif
addSupplement<WebCookieManager>();
addSupplement<AuthenticationManager>();
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
addSupplement<WebNotificationManager>();
#endif
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_TIME PRIVATE ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LEGACY_CSS_VENDOR_PREFIXES PRIVATE ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LEGACY_ENCRYPTED_MEDIA PRIVATE ON)
-WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LEGACY_NOTIFICATIONS PRIVATE ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LEGACY_VENDOR_PREFIXES PRIVATE ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LETTERPRESS PRIVATE ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LINK_PREFETCH PRIVATE OFF)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_TIME PUBLIC OFF)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_WEEK PUBLIC OFF)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LEGACY_CSS_VENDOR_PREFIXES PUBLIC ON)
-WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LEGACY_NOTIFICATIONS PUBLIC OFF)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LEGACY_VENDOR_PREFIXES PUBLIC OFF)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LINK_PREFETCH PUBLIC OFF)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MATHML PUBLIC ON)
WEBKIT_OPTION_DEFINE(ENABLE_JIT "Enable JustInTime javascript support" PRIVATE ON)
WEBKIT_OPTION_DEFINE(ENABLE_LEGACY_CSS_VENDOR_PREFIXES "Toggle legacy css vendor prefix support" PRIVATE OFF)
WEBKIT_OPTION_DEFINE(ENABLE_LEGACY_ENCRYPTED_MEDIA "Support legacy EME" PRIVATE OFF)
- WEBKIT_OPTION_DEFINE(ENABLE_LEGACY_NOTIFICATIONS "Toggle Legacy Desktop Notifications Support" PRIVATE OFF)
WEBKIT_OPTION_DEFINE(ENABLE_LEGACY_VENDOR_PREFIXES "Toggle Legacy Vendor Prefix Support" PRIVATE ON)
WEBKIT_OPTION_DEFINE(ENABLE_LETTERPRESS "Toggle letterpress support" PRIVATE OFF)
WEBKIT_OPTION_DEFINE(ENABLE_LINK_PREFETCH "Toggle pre fetching support" PRIVATE OFF)
<ENABLE_INTL>ENABLE_INTL</ENABLE_INTL>
<ENABLE_LEGACY_CSS_VENDOR_PREFIXES>ENABLE_LEGACY_CSS_VENDOR_PREFIXES</ENABLE_LEGACY_CSS_VENDOR_PREFIXES>
<ENABLE_LEGACY_ENCRYPTED_MEDIA>ENABLE_LEGACY_ENCRYPTED_MEDIA</ENABLE_LEGACY_ENCRYPTED_MEDIA>
- <ENABLE_LEGACY_NOTIFICATIONS />
<ENABLE_LINK_PREFETCH />
<ENABLE_LINK_PRERENDER />
<ENABLE_MATHML>ENABLE_MATHML</ENABLE_MATHML>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
- <PreprocessorDefinitions>$(ENABLE_3D_TRANSFORMS);$(ENABLE_ACCELERATED_2D_CANVAS);$(ENABLE_ACCELERATED_OVERFLOW_SCROLLING);$(ENABLE_ATTACHMENT_ELEMENT);$(ENABLE_CANVAS_PATH);$(ENABLE_CANVAS_PROXY);$(ENABLE_CHANNEL_MESSAGING);$(ENABLE_CSS3_CONDITIONAL_RULES);$(ENABLE_CSS_IMAGE_SET);$(ENABLE_CSS3_TEXT);$(ENABLE_CSS_BOX_DECORATION_BREAK);$(ENABLE_CSS_SHADERS);$(ENABLE_CSS_COMPOSITING);$(ENABLE_CSS_REGIONS);$(ENABLE_CSS_SELECTORS_LEVEL4);$(ENABLE_CSS_SHAPE_INSIDE);$(ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED);$(ENABLE_CURSOR_VISIBILITY);$(ENABLE_CUSTOM_SCHEME_HANDLER);$(ENABLE_DATAGRID);$(ENABLE_DATALIST_ELEMENT);$(ENABLE_DATA_TRANSFER_ITEMS);$(ENABLE_DEVICE_ORIENTATION);$(ENABLE_DIRECTORY_UPLOAD);$(ENABLE_ENCRYPTED_MEDIA);$(ENABLE_FETCH_API);$(ENABLE_FILE_SYSTEM);$(ENABLE_FULLSCREEN_API);$(ENABLE_GAMEPAD);$(ENABLE_GEOLOCATION);$(ENABLE_HIGH_DPI_CANVAS);$(ENABLE_ICONDATABASE);$(ENABLE_INDEXED_DATABASE);$(ENABLE_INPUT_TYPE_COLOR);$(ENABLE_INPUT_SPEECH);$(ENABLE_INPUT_TYPE_DATE);$(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE);$(ENABLE_INPUT_TYPE_DATETIMELOCAL);$(ENABLE_INPUT_TYPE_MONTH);$(ENABLE_INPUT_TYPE_TIME);$(ENABLE_INPUT_TYPE_WEEK);$(ENABLE_INTL);$(ENABLE_LEGACY_CSS_VENDOR_PREFIXES);$(ENABLE_LEGACY_ENCRYPTED_MEDIA);$(ENABLE_LEGACY_NOTIFICATIONS);$(ENABLE_LINK_PREFETCH);$(ENABLE_LINK_PRERENDER);$(ENABLE_MATHML);$(ENABLE_METER_ELEMENT);$(ENABLE_MICRODATA);$(ENABLE_MOUSE_CURSOR_SCALE);$(ENABLE_NOTIFICATIONS);$(ENABLE_PROXIMITY_EVENTS);$(ENABLE_QUOTA);$(ENABLE_NAVIGATOR_CONTENT_UTILS);$(ENABLE_STREAMS_API);$(ENABLE_SCRIPTED_SPEECH);$(ENABLE_SHARED_WORKERS);$(ENABLE_MEDIA_CONTROLS_SCRIPT);$(ENABLE_MEDIA_SOURCE);$(ENABLE_MEDIA_STATISTICS);$(ENABLE_SQL_DATABASE);$(ENABLE_STYLE_SCOPED);$(ENABLE_SUBPIXEL_LAYOUT);$(ENABLE_SVG_DOM_OBJC_BINDINGS);$(ENABLE_SVG_FONTS);$(ENABLE_VIDEO);$(ENABLE_VIDEO_TRACK);$(ENABLE_VIEW_MODE_CSS_MEDIA);$(ENABLE_WEB_ANIMATIONS);$(ENABLE_WEB_AUDIO);$(ENABLE_WEB_SOCKETS);$(ENABLE_WEB_TIMING);$(ENABLE_WEBGL);$(ENABLE_WEBGPU);$(ENABLE_WEBVTT_REGIONS);$(ENABLE_XHR_TIMEOUT);$(ENABLE_XSLT);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>$(ENABLE_3D_TRANSFORMS);$(ENABLE_ACCELERATED_2D_CANVAS);$(ENABLE_ACCELERATED_OVERFLOW_SCROLLING);$(ENABLE_ATTACHMENT_ELEMENT);$(ENABLE_CANVAS_PATH);$(ENABLE_CANVAS_PROXY);$(ENABLE_CHANNEL_MESSAGING);$(ENABLE_CSS3_CONDITIONAL_RULES);$(ENABLE_CSS_IMAGE_SET);$(ENABLE_CSS3_TEXT);$(ENABLE_CSS_BOX_DECORATION_BREAK);$(ENABLE_CSS_SHADERS);$(ENABLE_CSS_COMPOSITING);$(ENABLE_CSS_REGIONS);$(ENABLE_CSS_SELECTORS_LEVEL4);$(ENABLE_CSS_SHAPE_INSIDE);$(ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED);$(ENABLE_CURSOR_VISIBILITY);$(ENABLE_CUSTOM_SCHEME_HANDLER);$(ENABLE_DATAGRID);$(ENABLE_DATALIST_ELEMENT);$(ENABLE_DATA_TRANSFER_ITEMS);$(ENABLE_DEVICE_ORIENTATION);$(ENABLE_DIRECTORY_UPLOAD);$(ENABLE_ENCRYPTED_MEDIA);$(ENABLE_FETCH_API);$(ENABLE_FILE_SYSTEM);$(ENABLE_FULLSCREEN_API);$(ENABLE_GAMEPAD);$(ENABLE_GEOLOCATION);$(ENABLE_HIGH_DPI_CANVAS);$(ENABLE_ICONDATABASE);$(ENABLE_INDEXED_DATABASE);$(ENABLE_INPUT_TYPE_COLOR);$(ENABLE_INPUT_SPEECH);$(ENABLE_INPUT_TYPE_DATE);$(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE);$(ENABLE_INPUT_TYPE_DATETIMELOCAL);$(ENABLE_INPUT_TYPE_MONTH);$(ENABLE_INPUT_TYPE_TIME);$(ENABLE_INPUT_TYPE_WEEK);$(ENABLE_INTL);$(ENABLE_LEGACY_CSS_VENDOR_PREFIXES);$(ENABLE_LEGACY_ENCRYPTED_MEDIA);$(ENABLE_LINK_PREFETCH);$(ENABLE_LINK_PRERENDER);$(ENABLE_MATHML);$(ENABLE_METER_ELEMENT);$(ENABLE_MICRODATA);$(ENABLE_MOUSE_CURSOR_SCALE);$(ENABLE_NOTIFICATIONS);$(ENABLE_PROXIMITY_EVENTS);$(ENABLE_QUOTA);$(ENABLE_NAVIGATOR_CONTENT_UTILS);$(ENABLE_STREAMS_API);$(ENABLE_SCRIPTED_SPEECH);$(ENABLE_SHARED_WORKERS);$(ENABLE_MEDIA_CONTROLS_SCRIPT);$(ENABLE_MEDIA_SOURCE);$(ENABLE_MEDIA_STATISTICS);$(ENABLE_SQL_DATABASE);$(ENABLE_STYLE_SCOPED);$(ENABLE_SUBPIXEL_LAYOUT);$(ENABLE_SVG_DOM_OBJC_BINDINGS);$(ENABLE_SVG_FONTS);$(ENABLE_VIDEO);$(ENABLE_VIDEO_TRACK);$(ENABLE_VIEW_MODE_CSS_MEDIA);$(ENABLE_WEB_ANIMATIONS);$(ENABLE_WEB_AUDIO);$(ENABLE_WEB_SOCKETS);$(ENABLE_WEB_TIMING);$(ENABLE_WEBGL);$(ENABLE_WEBGPU);$(ENABLE_WEBVTT_REGIONS);$(ENABLE_XHR_TIMEOUT);$(ENABLE_XSLT);%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<Value>$(ENABLE_LEGACY_ENCRYPTED_MEDIA)</Value>
<EnvironmentVariable>true</EnvironmentVariable>
</BuildMacro>
- <BuildMacro Include="ENABLE_LEGACY_NOTIFICATIONS">
- <Value>$(ENABLE_LEGACY_NOTIFICATIONS)</Value>
- <EnvironmentVariable>true</EnvironmentVariable>
- </BuildMacro>
<BuildMacro Include="ENABLE_LINK_PREFETCH">
<Value>$(ENABLE_LINK_PREFETCH)</Value>
<EnvironmentVariable>true</EnvironmentVariable>
<ENABLE_INTL>ENABLE_INTL</ENABLE_INTL>
<ENABLE_LEGACY_CSS_VENDOR_PREFIXES>ENABLE_LEGACY_CSS_VENDOR_PREFIXES</ENABLE_LEGACY_CSS_VENDOR_PREFIXES>
<ENABLE_LEGACY_ENCRYPTED_MEDIA />
- <ENABLE_LEGACY_NOTIFICATIONS />
<ENABLE_LINK_PREFETCH />
<ENABLE_LINK_PRERENDER />
<ENABLE_MATHML>ENABLE_MATHML</ENABLE_MATHML>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
- <PreprocessorDefinitions>$(ENABLE_3D_TRANSFORMS);$(ENABLE_ACCELERATED_2D_CANVAS);$(ENABLE_ACCELERATED_OVERFLOW_SCROLLING);$(ENABLE_ATTACHMENT_ELEMENT);$(ENABLE_CANVAS_PATH);$(ENABLE_CANVAS_PROXY);$(ENABLE_CHANNEL_MESSAGING);$(ENABLE_CSS3_CONDITIONAL_RULES);$(ENABLE_CSS_IMAGE_SET);$(ENABLE_CSS3_TEXT);$(ENABLE_CSS_BOX_DECORATION_BREAK);$(ENABLE_CSS_SHADERS);$(ENABLE_CSS_COMPOSITING);$(ENABLE_CSS_REGIONS);$(ENABLE_CSS_SELECTORS_LEVEL4);$(ENABLE_CSS_SHAPE_INSIDE);$(ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED);$(ENABLE_CURSOR_VISIBILITY);$(ENABLE_CUSTOM_SCHEME_HANDLER);$(ENABLE_DATAGRID);$(ENABLE_DATALIST_ELEMENT);$(ENABLE_DATA_TRANSFER_ITEMS);$(ENABLE_DEVICE_ORIENTATION);$(ENABLE_DIRECTORY_UPLOAD);$(ENABLE_ENCRYPTED_MEDIA);$(ENABLE_FETCH_API);$(ENABLE_FILE_SYSTEM);$(ENABLE_FULLSCREEN_API);$(ENABLE_GAMEPAD);$(ENABLE_GEOLOCATION);$(ENABLE_HIGH_DPI_CANVAS);$(ENABLE_ICONDATABASE);$(ENABLE_INDEXED_DATABASE);$(ENABLE_INPUT_TYPE_COLOR);$(ENABLE_INPUT_SPEECH);$(ENABLE_INPUT_TYPE_DATE);$(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE);$(ENABLE_INPUT_TYPE_DATETIMELOCAL);$(ENABLE_INPUT_TYPE_MONTH);$(ENABLE_INPUT_TYPE_TIME);$(ENABLE_INPUT_TYPE_WEEK);$(ENABLE_INTL);$(ENABLE_LEGACY_CSS_VENDOR_PREFIXES);$(ENABLE_LEGACY_ENCRYPTED_MEDIA);$(ENABLE_LEGACY_NOTIFICATIONS);$(ENABLE_LINK_PREFETCH);$(ENABLE_LINK_PRERENDER);$(ENABLE_MATHML);$(ENABLE_METER_ELEMENT);$(ENABLE_MICRODATA);$(ENABLE_MOUSE_CURSOR_SCALE);$(ENABLE_NOTIFICATIONS);$(ENABLE_PROXIMITY_EVENTS);$(ENABLE_QUOTA);$(ENABLE_NAVIGATOR_CONTENT_UTILS);$(ENABLE_SCRIPTED_SPEECH);$(ENABLE_SHARED_WORKERS);$(ENABLE_MEDIA_CONTROLS_SCRIPT);$(ENABLE_MEDIA_SOURCE);$(ENABLE_MEDIA_STATISTICS);$(ENABLE_SQL_DATABASE);$(ENABLE_STYLE_SCOPED);$(ENABLE_SUBPIXEL_LAYOUT);$(ENABLE_SVG_DOM_OBJC_BINDINGS);$(ENABLE_SVG_FONTS);$(ENABLE_VIDEO);$(ENABLE_VIDEO_TRACK);$(ENABLE_VIEW_MODE_CSS_MEDIA);$(ENABLE_WEB_ANIMATIONS);$(ENABLE_WEB_AUDIO);$(ENABLE_WEB_SOCKETS);$(ENABLE_WEB_TIMING);$(ENABLE_WEBGL);$(ENABLE_WEBVTT_REGIONS);$(ENABLE_XHR_TIMEOUT);$(ENABLE_XSLT);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>$(ENABLE_3D_TRANSFORMS);$(ENABLE_ACCELERATED_2D_CANVAS);$(ENABLE_ACCELERATED_OVERFLOW_SCROLLING);$(ENABLE_ATTACHMENT_ELEMENT);$(ENABLE_CANVAS_PATH);$(ENABLE_CANVAS_PROXY);$(ENABLE_CHANNEL_MESSAGING);$(ENABLE_CSS3_CONDITIONAL_RULES);$(ENABLE_CSS_IMAGE_SET);$(ENABLE_CSS3_TEXT);$(ENABLE_CSS_BOX_DECORATION_BREAK);$(ENABLE_CSS_SHADERS);$(ENABLE_CSS_COMPOSITING);$(ENABLE_CSS_REGIONS);$(ENABLE_CSS_SELECTORS_LEVEL4);$(ENABLE_CSS_SHAPE_INSIDE);$(ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED);$(ENABLE_CURSOR_VISIBILITY);$(ENABLE_CUSTOM_SCHEME_HANDLER);$(ENABLE_DATAGRID);$(ENABLE_DATALIST_ELEMENT);$(ENABLE_DATA_TRANSFER_ITEMS);$(ENABLE_DEVICE_ORIENTATION);$(ENABLE_DIRECTORY_UPLOAD);$(ENABLE_ENCRYPTED_MEDIA);$(ENABLE_FETCH_API);$(ENABLE_FILE_SYSTEM);$(ENABLE_FULLSCREEN_API);$(ENABLE_GAMEPAD);$(ENABLE_GEOLOCATION);$(ENABLE_HIGH_DPI_CANVAS);$(ENABLE_ICONDATABASE);$(ENABLE_INDEXED_DATABASE);$(ENABLE_INPUT_TYPE_COLOR);$(ENABLE_INPUT_SPEECH);$(ENABLE_INPUT_TYPE_DATE);$(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE);$(ENABLE_INPUT_TYPE_DATETIMELOCAL);$(ENABLE_INPUT_TYPE_MONTH);$(ENABLE_INPUT_TYPE_TIME);$(ENABLE_INPUT_TYPE_WEEK);$(ENABLE_INTL);$(ENABLE_LEGACY_CSS_VENDOR_PREFIXES);$(ENABLE_LEGACY_ENCRYPTED_MEDIA);$(ENABLE_LINK_PREFETCH);$(ENABLE_LINK_PRERENDER);$(ENABLE_MATHML);$(ENABLE_METER_ELEMENT);$(ENABLE_MICRODATA);$(ENABLE_MOUSE_CURSOR_SCALE);$(ENABLE_NOTIFICATIONS);$(ENABLE_PROXIMITY_EVENTS);$(ENABLE_QUOTA);$(ENABLE_NAVIGATOR_CONTENT_UTILS);$(ENABLE_SCRIPTED_SPEECH);$(ENABLE_SHARED_WORKERS);$(ENABLE_MEDIA_CONTROLS_SCRIPT);$(ENABLE_MEDIA_SOURCE);$(ENABLE_MEDIA_STATISTICS);$(ENABLE_SQL_DATABASE);$(ENABLE_STYLE_SCOPED);$(ENABLE_SUBPIXEL_LAYOUT);$(ENABLE_SVG_DOM_OBJC_BINDINGS);$(ENABLE_SVG_FONTS);$(ENABLE_VIDEO);$(ENABLE_VIDEO_TRACK);$(ENABLE_VIEW_MODE_CSS_MEDIA);$(ENABLE_WEB_ANIMATIONS);$(ENABLE_WEB_AUDIO);$(ENABLE_WEB_SOCKETS);$(ENABLE_WEB_TIMING);$(ENABLE_WEBGL);$(ENABLE_WEBVTT_REGIONS);$(ENABLE_XHR_TIMEOUT);$(ENABLE_XSLT);%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<Value>$(ENABLE_LEGACY_CSS_VENDOR_PREFIXES)</Value>
<EnvironmentVariable>true</EnvironmentVariable>
</BuildMacro>
- <BuildMacro Include="ENABLE_LEGACY_NOTIFICATIONS">
- <Value>$(ENABLE_LEGACY_NOTIFICATIONS)</Value>
- <EnvironmentVariable>true</EnvironmentVariable>
- </BuildMacro>
<BuildMacro Include="ENABLE_LINK_PREFETCH">
<Value>$(ENABLE_LINK_PREFETCH)</Value>
<EnvironmentVariable>true</EnvironmentVariable>
+2017-05-04 Sam Weinig <sam@webkit.org>
+
+ Remove support for legacy Notifications
+ https://bugs.webkit.org/show_bug.cgi?id=171487
+
+ Reviewed by Jon Lee.
+
+ * DumpRenderTree/win/DRTDesktopNotificationPresenter.cpp:
+ (DRTDesktopNotificationPresenter::checkNotificationPermission):
+ * Scripts/webkitperl/FeatureList.pm:
+ * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
+ Remove use and definition of ENABLE_LEGACY_NOTIFICATIONS.
+
2017-05-04 Andy Estes <aestes@apple.com>
Give +testwebkitapi_configurationWithTestPlugInClassName: a shorter name
*result = 0;
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+#if ENABLE(NOTIFICATIONS)
JSStringRef jsOrigin = JSStringCreateWithBSTR(origin);
bool allowed = ::gTestRunner->checkDesktopNotificationPermission(jsOrigin);
{ option => "legacy-encrypted-media", desc => "Toggle Legacy EME V2 support",
define => "ENABLE_LEGACY_ENCRYPTED_MEDIA", default => 0, value => \$legacyEncryptedMediaSupport },
- { option => "legacy-notifications", desc => "Toggle Legacy Notifications support",
- define => "ENABLE_LEGACY_NOTIFICATIONS", default => 0, value => \$legacyNotificationsSupport },
-
{ option => "legacy-vendor-prefixes", desc => "Toggle Legacy Vendor Prefix support",
define => "ENABLE_LEGACY_VENDOR_PREFIXES", default => 1, value => \$legacyVendorPrefixSupport },
ENABLE_KEYBOARD_CODE_ATTRIBUTE = ENABLE_KEYBOARD_CODE_ATTRIBUTE;
ENABLE_LEGACY_CSS_VENDOR_PREFIXES = ENABLE_LEGACY_CSS_VENDOR_PREFIXES;
ENABLE_LEGACY_ENCRYPTED_MEDIA[sdk=macosx*] = ENABLE_LEGACY_ENCRYPTED_MEDIA;
-ENABLE_LEGACY_NOTIFICATIONS[sdk=macosx*] = ENABLE_LEGACY_NOTIFICATIONS;
ENABLE_LEGACY_VENDOR_PREFIXES = ENABLE_LEGACY_VENDOR_PREFIXES;
ENABLE_LETTERPRESS[sdk=iphone*] = ENABLE_LETTERPRESS;
ENABLE_LINK_PREFETCH = ;
ENABLE_VARIATION_FONTS_IF_NOT_NO = ENABLE_VARIATION_FONTS;
ENABLE_VARIATION_FONTS_IF_NOT_YES = ;
-FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_DELEGATE) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CSS3_TEXT) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FETCH_API) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_KEYBOARD_KEY_ATTRIBUTE) $(ENABLE_KEYBOARD_CODE_ATTRIBUTE) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOSNIFF) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_RTC) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
+FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_DELEGATE) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CSS3_TEXT) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FETCH_API) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_KEYBOARD_KEY_ATTRIBUTE) $(ENABLE_KEYBOARD_CODE_ATTRIBUTE) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOSNIFF) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_RTC) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);