{
  "results": [
    {
      "test": "/notifications/idlharness.https.any.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "idl_test setup",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Partial interface ServiceWorkerRegistration: original interface defined",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Partial interface ServiceWorkerGlobalScope: original interface defined",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: existence and properties of interface object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface object length",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface object name",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: existence and properties of interface prototype object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: existence and properties of interface prototype object's \"constructor\" property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: existence and properties of interface prototype object's @@unscopables property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: attribute permission",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: operation requestPermission(NotificationPermissionCallback)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: attribute maxActions",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: attribute onclick",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: attribute onshow",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: attribute onerror",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: attribute onclose",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: attribute title",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: attribute dir",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: attribute lang",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: attribute body",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: attribute tag",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: attribute image",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: attribute icon",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: attribute badge",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: attribute vibrate",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: attribute timestamp",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: attribute renotify",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: attribute silent",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: attribute requireInteraction",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: attribute data",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: attribute actions",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: operation close()",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification must be primary interface of notification",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Stringification of notification",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: notification must inherit property \"permission\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: notification must inherit property \"requestPermission(NotificationPermissionCallback)\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: calling requestPermission(NotificationPermissionCallback) on notification with too few arguments must throw TypeError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: notification must inherit property \"maxActions\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: notification must inherit property \"onclick\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: notification must inherit property \"onshow\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: notification must inherit property \"onerror\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: notification must inherit property \"onclose\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: notification must inherit property \"title\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: notification must inherit property \"dir\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: notification must inherit property \"lang\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: notification must inherit property \"body\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: notification must inherit property \"tag\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: notification must inherit property \"image\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: notification must inherit property \"icon\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: notification must inherit property \"badge\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: notification must inherit property \"vibrate\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: notification must inherit property \"timestamp\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: notification must inherit property \"renotify\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: notification must inherit property \"silent\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: notification must inherit property \"requireInteraction\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: notification must inherit property \"data\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: notification must inherit property \"actions\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Notification interface: notification must inherit property \"close()\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "NotificationEvent interface: existence and properties of interface object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: operation showNotification(DOMString, NotificationOptions)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: operation getNotifications(GetNotificationOptions)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope interface: existence and properties of interface object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ExtendableEvent interface: existence and properties of interface object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WorkerGlobalScope interface: existence and properties of interface object",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/notifications/constructor-invalid.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Called the notification constructor with no arguments.",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        }
      ]
    },
    {
      "test": "/notifications/constructor-basic.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Called the notification constructor with one argument.",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        }
      ]
    },
    {
      "test": "/notifications/permission.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Checked the Notification.permission property.",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/notifications/lang.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Roundtripping lang \"\". Expecting \"\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        },
        {
          "name": "Roundtripping lang \"en\". Expecting \"en\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        },
        {
          "name": "Roundtripping lang \"en-US-x-hixie\". Expecting \"en-US-x-hixie\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        },
        {
          "name": "Roundtripping lang \"de-DE\". Expecting \"de-DE\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        },
        {
          "name": "Roundtripping lang \"de-de\". Expecting \"de-de\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        },
        {
          "name": "Roundtripping lang \"de-De\". Expecting \"de-De\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        },
        {
          "name": "Roundtripping lang \"de-dE\". Expecting \"de-dE\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        },
        {
          "name": "Roundtripping lang \"de-DE-1996\". Expecting \"de-DE-1996\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        },
        {
          "name": "Roundtripping lang \"de-Latn-DE\". Expecting \"de-Latn-DE\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        },
        {
          "name": "Roundtripping lang \"de-Latf-DE\". Expecting \"de-Latf-DE\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        },
        {
          "name": "Roundtripping lang \"de-Latn-DE-1996\". Expecting \"de-Latn-DE-1996\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        },
        {
          "name": "Roundtripping lang \"de-CH\". Expecting \"de-CH\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        },
        {
          "name": "Roundtripping lang \"it-CH\". Expecting \"it-CH\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        },
        {
          "name": "Roundtripping lang \"fr-CH\". Expecting \"fr-CH\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        },
        {
          "name": "Roundtripping lang \"rm-CH\". Expecting \"rm-CH\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        },
        {
          "name": "Roundtripping lang \"es-CH\". Expecting \"es-CH\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        },
        {
          "name": "Roundtripping lang \"Latn-de\". Expecting \"\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        },
        {
          "name": "Roundtripping lang \"Latf-de\". Expecting \"\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        },
        {
          "name": "Roundtripping lang \"tic-tac-tac-toe\". Expecting \"\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        },
        {
          "name": "Roundtripping lang \"cocoa-1-bar\". Expecting \"\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        },
        {
          "name": "Roundtripping lang \"cocoa-a-bar\". Expecting \"\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        },
        {
          "name": "Roundtripping lang \"en-\". Expecting \"\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        },
        {
          "name": "Roundtripping lang \"en--\". Expecting \"\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        },
        {
          "name": "Roundtripping lang \"foo--bar\". Expecting \"\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        },
        {
          "name": "Roundtripping lang \"id---Java\". Expecting \"\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        },
        {
          "name": "Roundtripping lang \"fr-x\". Expecting \"\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        },
        {
          "name": "Roundtripping lang \"fr-xenomorph\". Expecting \"\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        },
        {
          "name": "Roundtripping lang \"fr-x-xenomorph\". Expecting \"\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        },
        {
          "name": "Roundtripping lang \"a\". Expecting \"\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        },
        {
          "name": "Roundtripping lang \"a-fr-lang\". Expecting \"\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        },
        {
          "name": "Roundtripping lang \"b-fr-lang\". Expecting \"\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        },
        {
          "name": "Roundtripping lang \"es1-KK-aa-bb-cc-dd\". Expecting \"\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        },
        {
          "name": "Roundtripping lang \"es2-KL-aa-bb-cc-dd\". Expecting \"\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        },
        {
          "name": "Roundtripping lang \"es3-KM-aa-bb-cc-dd\". Expecting \"\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        },
        {
          "name": "Roundtripping lang \"fooÉ\". Expecting \"\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        },
        {
          "name": "Roundtripping lang \"foöÉ-bÁr\". Expecting \"\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        },
        {
          "name": "Roundtripping lang \"foöÉbÁr\". Expecting \"\".",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        }
      ]
    },
    {
      "test": "/notifications/event-onshow.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Checked test prerequisites.",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        }
      ]
    },
    {
      "test": "/notifications/instance.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Notification instance basic tests",
          "status": "NOTRUN",
          "message": "You must allow notifications for this origin before running this test."
        }
      ]
    },
    {
      "test": "/notifications/event-onclose.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Checked test prerequisites.",
          "status": "NOTRUN",
          "message": "You must allow notifications for thisorigin before running this test."
        }
      ]
    }
  ]
}