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

Unified Diff: ppapi/tests/extensions/background_keepalive/background.js

Issue 2762513002: Remove keep-alive impulse IPCs from NaCl modules. (Closed)
Patch Set: Created 3 years, 9 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: 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..6c4e3f9d8caa9171e94038d642ee59c00ebeca0c 100644
--- a/ppapi/tests/extensions/background_keepalive/background.js
+++ b/ppapi/tests/extensions/background_keepalive/background.js
@@ -2,20 +2,21 @@
// 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(),
Devlin 2017/03/21 01:08:15 nit: pref single quotes in js (looks like we were
Wez 2017/03/21 23:59:22 Done.
+ 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();
}
}
@@ -23,19 +24,31 @@ function handleNaclMessage(message_event) {
console.log("handleNaclMessage: " + message_event.data);
}
-function createNaClEmbed() {
- NaClModulesExpected++;
+function createNaClEmbed(touch_embed_hack) {
Devlin 2017/03/21 01:08:15 nit: prefer camelCaseVariableNames in JS
Wez 2017/03/21 23:59:22 Done.
+ modulesCreated++;
+
+ var embed = document.createElement('embed');
+ embed.src = 'ppapi_tests_extensions_background_keepalive.nmf';
+ embed.type = 'application/x-nacl';
var listener = document.createElement("div");
Devlin 2017/03/21 01:08:15 nit: do we need to wrap in a div?
Wez 2017/03/21 23:59:22 This is how the code was originally, and removing
- listener.addEventListener("load", moduleDidLoad, true);
+ listener.addEventListener("load", moduleDidLoad.bind(null, modulesCreated),
+ true);
Devlin 2017/03/21 01:08:15 nit: do we need to use capture?
Wez 2017/03/21 23:59:22 Yes, this is capturing modulesCreated as the first
listener.addEventListener("message", handleNaclMessage, true);
- listener.innerHTML = '<embed' +
- ' src="ppapi_tests_extensions_background_keepalive.nmf"' +
- ' type="application/x-nacl" />';
+ listener.appendChild(embed);
+
document.body.appendChild(listener);
+
+ if (touch_embed_hack)
+ 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);

Powered by Google App Engine
This is Rietveld 408576698