Backed out changeset 0228e00caf59 (
bug 1255569) for m8 perma failures
--- a/toolkit/components/extensions/ext-cookies.js
+++ b/toolkit/components/extensions/ext-cookies.js
@@ -333,17 +333,17 @@ extensions.registerSchemaAPI("cookies",
case "changed":
notify(true, subject, "overwrite");
notify(false, subject, "explicit");
break;
case "batch-deleted":
subject.QueryInterface(Ci.nsIArray);
for (let i = 0; i < subject.length; i++) {
let cookie = subject.queryElementAt(i, Ci.nsICookie2);
- if (!cookie.isSession && cookie.expiry * 1000 <= Date.now()) {
+ if (!cookie.isSession && (cookie.expiry + 1) * 1000 <= Date.now()) {
notify(true, cookie, "expired");
} else {
notify(true, cookie, "evicted");
}
}
break;
}
};
--- a/toolkit/components/extensions/test/mochitest/test_ext_cookies.html
+++ b/toolkit/components/extensions/test/mochitest/test_ext_cookies.html
@@ -176,64 +176,12 @@ add_task(function* test_cookies() {
yield extension.startup();
info("extension loaded");
yield extension.awaitFinish("cookies");
yield extension.unload();
info("extension unloaded");
});
-add_task(function* test_cookies_expiry() {
- function background() {
- let expectedEvents = [];
-
- browser.cookies.onChanged.addListener(event => {
- expectedEvents.push(`${event.removed}:${event.cause}`);
- if (expectedEvents.length === 1) {
- browser.test.assertEq("true:expired", expectedEvents[0], "expired cookie removed");
- browser.test.assertEq("first", event.cookie.name, "expired cookie has the expected name");
- browser.test.assertEq("one", event.cookie.value, "expired cookie has the expected value");
- } else {
- browser.test.assertEq("false:explicit", expectedEvents[1], "new cookie added");
- browser.test.assertEq("first", event.cookie.name, "new cookie has the expected name");
- browser.test.assertEq("one-again", event.cookie.value, "new cookie has the expected value");
- browser.test.notifyPass("cookie-expiry");
- }
- });
-
- setTimeout(() => {
- browser.test.sendMessage("change-cookies");
- }, 1000);
- }
-
- let domain = ".example.com";
- let extension = ExtensionTestUtils.loadExtension({
- manifest: {
- "permissions": ["http://example.com/", "cookies"],
- },
- background: `(${background})()`,
- });
-
- let cookieSvc = SpecialPowers.Services.cookies;
-
- let cookie = {
- host: domain,
- name: "first",
- path: "/",
- };
-
- do {
- cookieSvc.add(cookie.host, cookie.path, cookie.name, "one", false, false, false, Date.now() / 1000 + 1);
- } while (!cookieSvc.cookieExists(cookie));
-
- yield extension.startup();
- yield extension.awaitMessage("change-cookies");
-
- cookieSvc.add(cookie.host, cookie.path, cookie.name, "one-again", false, false, false, Date.now() / 1000 + 10);
-
- yield extension.awaitFinish("cookie-expiry");
- yield extension.unload();
-});
-
</script>
</body>
</html>