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

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

Issue 2370103003: Added browser tests to test the BudgetAPI. Also added BudgetAPI to ExperimentalWebPlatformFeatures. (Closed)
Patch Set: Code review comments and separated out shared code. Created 4 years, 3 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 cc817eefd1af48b656097e659a0c9915447375c4..95ad762207e3ce2d64a47b15d8c8d6349d6f597b 100644
--- a/chrome/test/data/push_messaging/push_test.js
+++ b/chrome/test/data/push_messaging/push_test.js
@@ -4,61 +4,14 @@
'use strict';
+// The ResultQueue is a mechanism for passing messages back to the test
+// framework.
var resultQueue = new ResultQueue();
var pushSubscriptionOptions = {
userVisibleOnly: true
};
-// Sends data back to the test. This must be in response to an earlier
-// request, but it's ok to respond asynchronously. The request blocks until
-// the response is sent.
-function sendResultToTest(result) {
- console.log('sendResultToTest: ' + result);
- if (window.domAutomationController) {
- domAutomationController.send('' + result);
- }
-}
-
-function sendErrorToTest(error) {
- sendResultToTest(error.name + ' - ' + error.message);
-}
-
-// Queue storing asynchronous results received from the Service Worker. Results
-// are sent to the test when requested.
-function ResultQueue() {
- // Invariant: this.queue.length == 0 || this.pendingGets == 0
- this.queue = [];
- this.pendingGets = 0;
-}
-
-// Adds a data item to the queue. Will be sent to the test if there are
-// pendingGets.
-ResultQueue.prototype.push = function(data) {
- if (this.pendingGets > 0) {
- this.pendingGets--;
- sendResultToTest(data);
- } else {
- this.queue.unshift(data);
- }
-};
-
-// Called by native. Sends the next data item to the test if it is available.
-// Otherwise increments pendingGets so it will be delivered when received.
-ResultQueue.prototype.pop = function() {
- if (this.queue.length) {
- sendResultToTest(this.queue.pop());
- } else {
- this.pendingGets++;
- }
-};
-
-// Called by native. Immediately sends the next data item to the test if it is
-// available, otherwise sends null.
-ResultQueue.prototype.popImmediately = function() {
- sendResultToTest(this.queue.length ? this.queue.pop() : null);
-};
-
// Notification permission has been coalesced with Push permission. After
// this is granted, Push API subscription can succeed.
function requestNotificationPermission() {

Powered by Google App Engine
This is Rietveld 408576698