<!doctype html>
<html>
  <head>
    <title>Notifications: The "tag" property is able to replace existing notifications.</title>
    <script src="../resources/testharness.js"></script>
    <script src="../resources/testharnessreport.js"></script>
    <script src="resources/test-helpers.js"></script>
  </head>
  <body>
    <script>
      // Tests that Shared Worker-bound notifications can be replaced using the
      // "tag" property in the constructor's options. When the test is being ran
      // manually, grant Notification permission first and verify that only a
      // single notification will be shown at the end of the test.
      if (window.testRunner)
          testRunner.setPermission('notifications', 'granted', location.origin, location.origin);

      sharedWorkerTest("resources/update-event-test.js");
    </script>
  </body>
</html>
