зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1255692
. Add another test for calling ServiceWorkerRegistration.showNotification. r=wchen
--HG-- rename : dom/workers/test/serviceworkers/notificationclick.html => dom/workers/test/serviceworkers/notificationclick-otherwindow.html rename : dom/workers/test/serviceworkers/test_notificationclick.html => dom/workers/test/serviceworkers/test_notificationclick-otherwindow.html
This commit is contained in:
Родитель
f4472d1237
Коммит
b393092634
|
@ -128,6 +128,7 @@ support-files =
|
|||
bug1151916_worker.js
|
||||
bug1151916_driver.html
|
||||
notificationclick.html
|
||||
notificationclick-otherwindow.html
|
||||
notificationclick.js
|
||||
notificationclick_focus.html
|
||||
notificationclick_focus.js
|
||||
|
@ -264,6 +265,8 @@ support-files =
|
|||
skip-if = e10s && debug && os == 'win'
|
||||
[test_notificationclick.html]
|
||||
skip-if = e10s && debug && os == 'win'
|
||||
[test_notificationclick-otherwindow.html]
|
||||
skip-if = e10s && debug && os == 'win'
|
||||
[test_notificationclick_focus.html]
|
||||
skip-if = toolkit == "android" || toolkit == "gonk" || (e10s && debug && os == 'win')
|
||||
[test_notification_constructor_error.html]
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/publicdomain/zero/1.0/
|
||||
-->
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Bug 1114554 - controlled page</title>
|
||||
<script class="testbody" type="text/javascript">
|
||||
var testWindow = parent;
|
||||
if (opener) {
|
||||
testWindow = opener;
|
||||
}
|
||||
|
||||
navigator.serviceWorker.ready.then(function(swr) {
|
||||
var ifr = document.createElement("iframe");
|
||||
document.documentElement.appendChild(ifr);
|
||||
ifr.contentWindow.ServiceWorkerRegistration.prototype.showNotification
|
||||
.call(swr, "Hi there. The ServiceWorker should receive a click event for this.", { data: { complex: ["jsval", 5] }});
|
||||
});
|
||||
|
||||
navigator.serviceWorker.onmessage = function(msg) {
|
||||
testWindow.callback(msg.data.result);
|
||||
};
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,62 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<!--
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=916893
|
||||
-->
|
||||
<head>
|
||||
<title>Bug 1114554 - Test ServiceWorkerGlobalScope.notificationclick event.</title>
|
||||
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
||||
<script type="text/javascript" src="/tests/dom/tests/mochitest/notification/MockServices.js"></script>
|
||||
<script type="text/javascript" src="/tests/dom/tests/mochitest/notification/NotificationTest.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
|
||||
</head>
|
||||
<body>
|
||||
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1114554">Bug 1114554</a>
|
||||
<p id="display"></p>
|
||||
<div id="content" style="display: none">
|
||||
</div>
|
||||
<pre id="test">
|
||||
</pre>
|
||||
<script type="text/javascript">
|
||||
SimpleTest.requestFlakyTimeout("Mock alert service dispatches show and click events.");
|
||||
|
||||
function testFrame(src) {
|
||||
var iframe = document.createElement("iframe");
|
||||
iframe.src = src;
|
||||
window.callback = function(result) {
|
||||
window.callback = null;
|
||||
document.body.removeChild(iframe);
|
||||
iframe = null;
|
||||
ok(result, "Got notificationclick event with correct data.");
|
||||
MockServices.unregister();
|
||||
registration.unregister().then(function() {
|
||||
SimpleTest.finish();
|
||||
});
|
||||
};
|
||||
document.body.appendChild(iframe);
|
||||
}
|
||||
|
||||
var registration;
|
||||
|
||||
function runTest() {
|
||||
MockServices.register();
|
||||
testFrame('notificationclick-otherwindow.html');
|
||||
navigator.serviceWorker.register("notificationclick.js", { scope: "notificationclick-otherwindow.html" }).then(function(reg) {
|
||||
registration = reg;
|
||||
}, function(e) {
|
||||
ok(false, "registration should have passed!");
|
||||
});
|
||||
};
|
||||
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
SpecialPowers.pushPrefEnv({"set": [
|
||||
["dom.serviceWorkers.exemptFromPerDomainMax", true],
|
||||
["dom.serviceWorkers.enabled", true],
|
||||
["dom.serviceWorkers.testing.enabled", true],
|
||||
["dom.webnotifications.workers.enabled", true],
|
||||
["dom.webnotifications.serviceworker.enabled", true],
|
||||
["notification.prompt.testing", true],
|
||||
]}, runTest);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
Загрузка…
Ссылка в новой задаче