Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5412)

Unified Diff: chrome/test/data/push_messaging/push_test.js

Issue 1701313002: Partial implementation of subscription restrictions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix module export build issue Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/test/data/push_messaging/push_test.js
diff --git a/chrome/test/data/push_messaging/push_test.js b/chrome/test/data/push_messaging/push_test.js
index c1fe6aa2edb0638936982fdcb8d1a27fa0770c5a..73a307e52b4d3fa6084dd087fd94d2e02b814b77 100644
--- a/chrome/test/data/push_messaging/push_test.js
+++ b/chrome/test/data/push_messaging/push_test.js
@@ -7,6 +7,16 @@
var resultQueue = new ResultQueue();
var pushSubscription = null;
+// NIST P-256 public key made available to tests. Must be an uncompressed
+// point in accordance with SEC1 2.3.3.
+var applicationServerKey = new Uint8Array([
+ 0x04, 0x55, 0x52, 0x6A, 0xA5, 0x6E, 0x8E, 0xAA, 0x47, 0x97, 0x36, 0x10, 0xC1,
+ 0x66, 0x3C, 0x1E, 0x65, 0xBF, 0xA1, 0x7B, 0xEE, 0x48, 0xC9, 0xC6, 0xBB, 0xBF,
+ 0x02, 0x18, 0x53, 0x72, 0x1D, 0x0C, 0x7B, 0xA9, 0xE3, 0x11, 0xB7, 0x03, 0x52,
+ 0x21, 0xD3, 0x71, 0x90, 0x13, 0xA8, 0xC1, 0xCF, 0xED, 0x20, 0xF7, 0x1F, 0xD1,
+ 0x7F, 0xF2, 0x76, 0xB6, 0x01, 0x20, 0xD8, 0x35, 0xA5, 0xD9, 0x3C, 0x43, 0xFD
+]);
+
var pushSubscriptionOptions = {
userVisibleOnly: true
};
@@ -106,8 +116,36 @@ function swapManifestNoSenderId() {
}
}
+// This is the old style of push subscriptions which we are phasing away
+// from, where the subscription used a sender ID instead of public key.
+function subscribePushWithoutKey() {
+ navigator.serviceWorker.ready.then(function(swRegistration) {
+ return swRegistration.pushManager.subscribe(
+ pushSubscriptionOptions)
+ .then(function(subscription) {
+ pushSubscription = subscription;
+ sendResultToTest(subscription.endpoint);
+ });
+ }).catch(sendErrorToTest);
+}
+
function subscribePush() {
navigator.serviceWorker.ready.then(function(swRegistration) {
+ pushSubscriptionOptions.applicationServerKey = applicationServerKey.buffer;
+ return swRegistration.pushManager.subscribe(pushSubscriptionOptions)
+ .then(function(subscription) {
+ pushSubscription = subscription;
+ sendResultToTest(subscription.endpoint);
+ });
+ }).catch(sendErrorToTest);
+}
+
+function subscribePushBadKey() {
+ navigator.serviceWorker.ready.then(function(swRegistration) {
+ var invalidApplicationServerKey = Uint8Array.from(applicationServerKey);
+ invalidApplicationServerKey[0] = 0x05;
+ pushSubscriptionOptions.applicationServerKey =
+ invalidApplicationServerKey.buffer;
return swRegistration.pushManager.subscribe(pushSubscriptionOptions)
.then(function(subscription) {
pushSubscription = subscription;

Powered by Google App Engine
This is Rietveld 408576698