mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-06 17:16:12 +00:00
2a55d065b7
This change renames OriginAttributes.mInBrowser to mInIsolatedMozBrowser and nsIPrincipal::GetIsInBrowserElement to GetIsInIsolatedMozBrowserElement. Other methods that pass these values around also have name changes. Tokens such as "inBrowser" have previously been serialized into cache keys, used as DB column names, stored in app registries, etc. No changes are made to any serialization formats. Only runtime method and variable names are updated. No behavior changes are made in this patch, so some renamed methods may have nonsensical implementations. These are corrected in subsequent patches focused on behavior. MozReview-Commit-ID: 66HfMlsXFLs
89 lines
2.7 KiB
JavaScript
89 lines
2.7 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
'use strict';
|
|
|
|
Cu.import("resource://gre/modules/Services.jsm");
|
|
Cu.import("resource://testing-common/PromiseTestUtils.jsm");
|
|
|
|
///////////////////
|
|
//
|
|
// Whitelisting this test.
|
|
// As part of bug 1077403, the leaking uncaught rejection should be fixed.
|
|
//
|
|
// Instances of the rejection "record is undefined" may or may not appear.
|
|
PromiseTestUtils.thisTestLeaksUncaughtRejectionsAndShouldBeFixed();
|
|
|
|
const {PushDB, PushService, PushServiceHttp2} = serviceExports;
|
|
|
|
var prefs;
|
|
|
|
var serverPort = -1;
|
|
|
|
function run_test() {
|
|
var env = Cc["@mozilla.org/process/environment;1"].getService(Ci.nsIEnvironment);
|
|
serverPort = env.get("MOZHTTP2_PORT");
|
|
do_check_neq(serverPort, null);
|
|
|
|
do_get_profile();
|
|
prefs = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefBranch);
|
|
|
|
run_next_test();
|
|
}
|
|
|
|
add_task(function* test_pushNotifications() {
|
|
|
|
let db = PushServiceHttp2.newPushDB();
|
|
do_register_cleanup(() => {
|
|
return db.drop().then(_ => db.close());
|
|
});
|
|
|
|
var serverURL = "https://localhost:" + serverPort;
|
|
|
|
let records = [{
|
|
subscriptionUri: serverURL + '/subscriptionA',
|
|
pushEndpoint: serverURL + '/pushEndpointA',
|
|
pushReceiptEndpoint: serverURL + '/pushReceiptEndpointA',
|
|
scope: 'https://example.net/a',
|
|
originAttributes: ChromeUtils.originAttributesToSuffix(
|
|
{ appId: Ci.nsIScriptSecurityManager.NO_APP_ID, inIsolatedMozBrowser: false }),
|
|
quota: Infinity,
|
|
}, {
|
|
subscriptionUri: serverURL + '/subscriptionB',
|
|
pushEndpoint: serverURL + '/pushEndpointB',
|
|
pushReceiptEndpoint: serverURL + '/pushReceiptEndpointB',
|
|
scope: 'https://example.net/b',
|
|
originAttributes: ChromeUtils.originAttributesToSuffix(
|
|
{ appId: Ci.nsIScriptSecurityManager.NO_APP_ID, inIsolatedMozBrowser: false }),
|
|
quota: Infinity,
|
|
}, {
|
|
subscriptionUri: serverURL + '/subscriptionC',
|
|
pushEndpoint: serverURL + '/pushEndpointC',
|
|
pushReceiptEndpoint: serverURL + '/pushReceiptEndpointC',
|
|
scope: 'https://example.net/c',
|
|
originAttributes: ChromeUtils.originAttributesToSuffix(
|
|
{ appId: Ci.nsIScriptSecurityManager.NO_APP_ID, inIsolatedMozBrowser: false }),
|
|
quota: Infinity,
|
|
}];
|
|
|
|
for (let record of records) {
|
|
yield db.put(record);
|
|
}
|
|
|
|
PushService.init({
|
|
serverURI: serverURL,
|
|
db
|
|
});
|
|
|
|
let registration = yield PushService.registration({
|
|
scope: 'https://example.net/a',
|
|
originAttributes: ChromeUtils.originAttributesToSuffix(
|
|
{ appId: Ci.nsIScriptSecurityManager.NO_APP_ID, inIsolatedMozBrowser: false }),
|
|
});
|
|
equal(
|
|
registration.endpoint,
|
|
serverURL + '/pushEndpointA',
|
|
'Wrong push endpoint for scope'
|
|
);
|
|
});
|