| Index: chrome/test/data/budget_service/budget_test.js
|
| diff --git a/chrome/test/data/budget_service/budget_test.js b/chrome/test/data/budget_service/budget_test.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..72bd50e8019961478c2f42a431181df2ceceb316
|
| --- /dev/null
|
| +++ b/chrome/test/data/budget_service/budget_test.js
|
| @@ -0,0 +1,62 @@
|
| +// Copyright 2016 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +'use strict';
|
| +
|
| +// The ResultQueue is a mechanism for passing messages back to the test
|
| +// framework.
|
| +var resultQueue = new ResultQueue();
|
| +
|
| +function registerServiceWorker() {
|
| + // The base dir used to resolve service_worker.js.
|
| + navigator.serviceWorker.register('service_worker.js', {scope: './'}).then(
|
| + function(swRegistration) {
|
| + sendResultToTest('ok - service worker registered');
|
| + }, sendErrorToTest);
|
| +}
|
| +
|
| +// Query for the budget and return the current total.
|
| +function documentGetBudget() {
|
| + navigator.budget.getBudget().then(function(budget) {
|
| + sendResultToTest("ok - budget returned value of " + budget[0].budgetAt);
|
| + }, function() {
|
| + sendResultToTest("failed - unable to get budget values");
|
| + });
|
| +}
|
| +
|
| +// Request a reservation for a silent push.
|
| +function documentReserveBudget() {
|
| + navigator.budget.reserve('silent-push').then(function(reserved) {
|
| + if (reserved)
|
| + sendResultToTest("ok - reserved budget");
|
| + else
|
| + sendResultToTest("failed - not able to reserve budget");
|
| + }, function() {
|
| + sendResultToTest("failed - error while trying to reserve budget");
|
| + });
|
| +}
|
| +
|
| +function workerGetBudget() {
|
| + navigator.serviceWorker.controller.postMessage({command: 'workerGet'});
|
| +}
|
| +
|
| +function workerReserveBudget() {
|
| + navigator.serviceWorker.controller.postMessage({command: 'workerReserve'});
|
| +}
|
| +
|
| +function isControlled() {
|
| + if (navigator.serviceWorker.controller) {
|
| + sendResultToTest('true - is controlled');
|
| + } else {
|
| + sendResultToTest('false - is not controlled');
|
| + }
|
| +}
|
| +
|
| +navigator.serviceWorker.addEventListener('message', function(event) {
|
| + var message = JSON.parse(event.data);
|
| + if (message.type == 'push')
|
| + resultQueue.push(message.data);
|
| + else
|
| + sendResultToTest(message.data);
|
| +}, false);
|
|
|