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

Unified Diff: chrome/renderer/resources/extensions/web_view.js

Issue 23514016: <webview>: Cleanup WebRequest event listeners when embedder destroyed (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed WebRequest unit test Created 7 years, 3 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/web_view.js
diff --git a/chrome/renderer/resources/extensions/web_view.js b/chrome/renderer/resources/extensions/web_view.js
index 7954261e68bc070439401a51e69f8772a52f4507..de17ea12d6dd2dee40a5ebbf2d726d44eca505d0 100644
--- a/chrome/renderer/resources/extensions/web_view.js
+++ b/chrome/renderer/resources/extensions/web_view.js
@@ -16,6 +16,7 @@ var WebRequestEvent = require('webRequestInternal').WebRequestEvent;
var WebRequestSchema =
requireNative('schema_registry').GetSchema('webRequest');
var WebView = require('binding').Binding.create('webview').generate();
+var WebViewNatives = requireNative('webview_natives');
// This secret enables hiding <webview> private members from the outside scope.
// Outside of this file, |secret| is inaccessible. The only way to access the
@@ -40,8 +41,6 @@ var WEB_VIEW_ATTRIBUTES = [
WEB_VIEW_ATTRIBUTE_MAXWIDTH
];
-var webViewInstanceIdCounter = 0;
-
var CreateEvent = function(name) {
var eventOpts = {supportsListeners: true, supportsFilters: true};
return new EventBindings.Event(name, undefined, eventOpts);
@@ -551,7 +550,7 @@ WebViewInternal.prototype.handleSizeChangedEvent_ =
*/
WebViewInternal.prototype.setupWebviewNodeEvents_ = function() {
var self = this;
- this.viewInstanceId_ = ++webViewInstanceIdCounter;
+ this.viewInstanceId_ = WebViewNatives.GetNextInstanceID();
var onInstanceIdAllocated = function(e) {
var detail = e.detail ? JSON.parse(e.detail) : {};
self.instanceId_ = detail.windowId;

Powered by Google App Engine
This is Rietveld 408576698