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

Unified Diff: chrome/renderer/resources/extensions/experimental.socket_custom_bindings.js

Issue 9958147: Fix some uses of global variables in transient pages. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: review Created 8 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: chrome/renderer/resources/extensions/experimental.socket_custom_bindings.js
diff --git a/chrome/renderer/resources/extensions/experimental.socket_custom_bindings.js b/chrome/renderer/resources/extensions/experimental.socket_custom_bindings.js
index c87f3c10feadb49faf3576dbaa83d2788d4d93a2..40011b249d2454b2d92a8775b65ad9a3d3742205 100644
--- a/chrome/renderer/resources/extensions/experimental.socket_custom_bindings.js
+++ b/chrome/renderer/resources/extensions/experimental.socket_custom_bindings.js
@@ -9,6 +9,7 @@
var chromeHidden = requireNative('chrome_hidden').GetChromeHidden();
var sendRequest = require('sendRequest').sendRequest;
+ var lazyBG = requireNative('lazy_background_page');
chromeHidden.registerCustomHook('experimental.socket', function(api) {
var apiFunctions = api.apiFunctions;
@@ -19,6 +20,10 @@
var id = GetNextSocketEventId();
args[3].srcId = id;
chromeHidden.socket.handlers[id] = args[3].onEvent;
+
+ // Keep the page alive until the event finishes.
+ // Balanced in eventHandler.
+ lazyBG.IncrementKeepaliveCount();
}
sendRequest(this.name, args, this.definition.parameters);
return id;
@@ -51,6 +56,8 @@
}
if (event.isFinalEvent) {
delete chromeHidden.socket.handlers[event.srcId];
+ // Balanced in 'create' handler.
+ lazyBG.DecrementKeepaliveCount();
}
}
});
« no previous file with comments | « chrome/renderer/extensions/extension_dispatcher.cc ('k') | chrome/renderer/resources/extensions/tts_custom_bindings.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698