| Index: ppapi/tests/extensions/background_keepalive/background.js
|
| diff --git a/ppapi/tests/extensions/background_keepalive/background.js b/ppapi/tests/extensions/background_keepalive/background.js
|
| index cd649c105d06e0b7933596e5f80fce5675c48a66..456374ef8d05cf9b95e3f584ff7a1a03da2aa99a 100644
|
| --- a/ppapi/tests/extensions/background_keepalive/background.js
|
| +++ b/ppapi/tests/extensions/background_keepalive/background.js
|
| @@ -2,40 +2,53 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -var NaClModulesExpected = 0;
|
| -var NaClModulesLoaded = 0;
|
| +var modulesCreated = 0;
|
|
|
| // Indicate load success.
|
| -function moduleDidLoad() {
|
| - NaClModulesLoaded++;
|
| - if (NaClModulesLoaded == NaClModulesExpected)
|
| - chrome.test.sendMessage("nacl_modules_loaded", handleChromeTestMessage);
|
| +function moduleDidLoad(moduleNumber) {
|
| + chrome.test.sendMessage('created_module:' + moduleNumber.toString(),
|
| + handleChromeTestMessage);
|
| }
|
|
|
| var handleChromeTestMessage = function (message) {
|
| - NaClModules = document.querySelectorAll('embed');
|
| - for (var i = 0; i < NaClModules.length; i++) {
|
| - NaClModules[i].postMessage(message);
|
| + if (message == 'create_module') {
|
| + createNaClEmbed(true);
|
| + } else if (message == 'create_module_without_hack') {
|
| + createNaClEmbed(false);
|
| + } else if (message == 'destroy_module') {
|
| + destroyNaClEmbed();
|
| }
|
| }
|
|
|
| -function handleNaclMessage(message_event) {
|
| - console.log("handleNaclMessage: " + message_event.data);
|
| +function handleNaclMessage(messageEvent) {
|
| + console.log('handleNaclMessage: ' + messageEvent.data);
|
| }
|
|
|
| -function createNaClEmbed() {
|
| - NaClModulesExpected++;
|
| +function createNaClEmbed(touchEmbedHack) {
|
| + modulesCreated++;
|
| +
|
| + var embed = document.createElement('embed');
|
| + embed.src = 'ppapi_tests_extensions_background_keepalive.nmf';
|
| + embed.type = 'application/x-nacl';
|
| +
|
| + var listener = document.createElement('div');
|
| + listener.addEventListener('load', moduleDidLoad.bind(null, modulesCreated),
|
| + true);
|
| + listener.addEventListener('message', handleNaclMessage, true);
|
| + listener.appendChild(embed);
|
|
|
| - var listener = document.createElement("div");
|
| - listener.addEventListener("load", moduleDidLoad, true);
|
| - listener.addEventListener("message", handleNaclMessage, true);
|
| - listener.innerHTML = '<embed' +
|
| - ' src="ppapi_tests_extensions_background_keepalive.nmf"' +
|
| - ' type="application/x-nacl" />';
|
| document.body.appendChild(listener);
|
| +
|
| + if (touchEmbedHack)
|
| + console.assert(embed.lastError == 0);
|
| }
|
|
|
| -// Create 2 embeds to verify that we can handle more than one.
|
| -createNaClEmbed();
|
| -createNaClEmbed();
|
| +function destroyNaClEmbed() {
|
| + moduleDivs = document.querySelectorAll('div');
|
| + console.assert(moduleDivs.length > 0);
|
| + document.body.removeChild(moduleDivs[0]);
|
| +
|
| + chrome.test.sendMessage('destroyed_module', handleChromeTestMessage);
|
| +}
|
|
|
| +chrome.test.sendMessage('ready', handleChromeTestMessage);
|
|
|