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

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: Rebase and add script tag for result_queue.js to subscope tests. Created 4 years, 2 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
« no previous file with comments | « chrome/test/data/budget_service/test.html ('k') | chrome/test/data/push_messaging/subscope1/test.html » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 a61a2bc59cfc040c8a0745cbe12344b8f77dd744..9a1336067db956d91f95e0205b977dca81d08427 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);
-};
-
// Waits for the given ServiceWorkerRegistration to become ready.
// Shim for https://github.com/w3c/ServiceWorker/issues/770.
function swRegistrationReady(reg) {
« no previous file with comments | « chrome/test/data/budget_service/test.html ('k') | chrome/test/data/push_messaging/subscope1/test.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698