Index: chrome/renderer/resources/extensions/web_view_events.js |
diff --git a/chrome/renderer/resources/extensions/web_view_events.js b/chrome/renderer/resources/extensions/web_view_events.js |
index c7c40e7af0d044fbc56d9de719ea82d7203b487f..1a7a504bd7ba6479576fb7a465df79bfdc3ed3a9 100644 |
--- a/chrome/renderer/resources/extensions/web_view_events.js |
+++ b/chrome/renderer/resources/extensions/web_view_events.js |
@@ -171,12 +171,11 @@ function DeclarativeWebRequestEvent(opt_eventName, |
EventBindings.Event.call(this, subEventName, opt_argSchemas, opt_eventOptions, |
opt_webViewInstanceId); |
- var self = this; |
// TODO(lazyboy): When do we dispose this listener? |
WebRequestMessageEvent.addListener(function() { |
// Re-dispatch to subEvent's listeners. |
- $Function.apply(self.dispatch, self, $Array.slice(arguments)); |
- }, {instanceId: opt_webViewInstanceId || 0}); |
+ $Function.apply(this.dispatch, this, $Array.slice(arguments)); |
+ }.bind(this), {instanceId: opt_webViewInstanceId || 0}); |
} |
DeclarativeWebRequestEvent.prototype = { |
@@ -216,40 +215,39 @@ WebViewEvents.prototype.setupPluginDestroyedEvent = function() { |
}; |
WebViewEvents.prototype.setupWebRequestEvents = function() { |
- var self = this; |
var request = {}; |
var createWebRequestEvent = function(webRequestEvent) { |
return function() { |
- if (!self[webRequestEvent.name]) { |
- self[webRequestEvent.name] = |
+ if (!this[webRequestEvent.name]) { |
+ this[webRequestEvent.name] = |
new WebRequestEvent( |
'webViewInternal.' + webRequestEvent.name, |
webRequestEvent.parameters, |
webRequestEvent.extraParameters, webRequestEvent.options, |
- self.viewInstanceId); |
+ this.viewInstanceId); |
} |
- return self[webRequestEvent.name]; |
- }; |
- }; |
+ return this[webRequestEvent.name]; |
+ }.bind(this); |
+ }.bind(this); |
var createDeclarativeWebRequestEvent = function(webRequestEvent) { |
return function() { |
- if (!self[webRequestEvent.name]) { |
+ if (!this[webRequestEvent.name]) { |
// The onMessage event gets a special event type because we want |
// the listener to fire only for messages targeted for this particular |
// <webview>. |
var EventClass = webRequestEvent.name === 'onMessage' ? |
DeclarativeWebRequestEvent : EventBindings.Event; |
- self[webRequestEvent.name] = |
+ this[webRequestEvent.name] = |
new EventClass( |
'webViewInternal.' + webRequestEvent.name, |
webRequestEvent.parameters, |
webRequestEvent.options, |
- self.viewInstanceId); |
+ this.viewInstanceId); |
} |
- return self[webRequestEvent.name]; |
- }; |
- }; |
+ return this[webRequestEvent.name]; |
+ }.bind(this); |
+ }.bind(this); |
for (var i = 0; i < DeclarativeWebRequestSchema.events.length; ++i) { |
var eventSchema = DeclarativeWebRequestSchema.events[i]; |
@@ -289,23 +287,23 @@ WebViewEvents.prototype.getEvents = function() { |
}; |
WebViewEvents.prototype.setupEvent = function(name, info) { |
- var self = this; |
info.evt.addListener(function(e) { |
var details = {bubbles:true}; |
- if (info.cancelable) |
+ if (info.cancelable) { |
details.cancelable = true; |
+ } |
var webViewEvent = new Event(name, details); |
$Array.forEach(info.fields, function(field) { |
if (e[field] !== undefined) { |
webViewEvent[field] = e[field]; |
} |
- }); |
+ }.bind(this)); |
if (info.customHandler) { |
- info.customHandler(self, e, webViewEvent); |
+ info.customHandler(this, e, webViewEvent); |
return; |
} |
- self.webViewInternal.dispatchEvent(webViewEvent); |
- }, {instanceId: self.viewInstanceId}); |
+ this.webViewInternal.dispatchEvent(webViewEvent); |
+ }.bind(this), {instanceId: this.viewInstanceId}); |
this.webViewInternal.setupEventProperty(name); |
}; |
@@ -326,7 +324,6 @@ WebViewEvents.prototype.handleDialogEvent = function(event, webViewEvent) { |
window.console.warn(output); |
}; |
- var self = this; |
var requestId = event.requestId; |
var actionTaken = false; |
@@ -341,8 +338,8 @@ WebViewEvents.prototype.handleDialogEvent = function(event, webViewEvent) { |
}; |
var getGuestInstanceId = function() { |
- return self.webViewInternal.getGuestInstanceId(); |
- }; |
+ return this.webViewInternal.getGuestInstanceId(); |
+ }.bind(this); |
var dialog = { |
ok: function(user_input) { |
@@ -358,7 +355,7 @@ WebViewEvents.prototype.handleDialogEvent = function(event, webViewEvent) { |
}; |
webViewEvent.dialog = dialog; |
- var defaultPrevented = !self.webViewInternal.dispatchEvent(webViewEvent); |
+ var defaultPrevented = !this.webViewInternal.dispatchEvent(webViewEvent); |
if (actionTaken) { |
return; |
} |
@@ -426,10 +423,9 @@ WebViewEvents.prototype.handleNewWindowEvent = function(event, webViewEvent) { |
var requestId = event.requestId; |
var actionTaken = false; |
- var self = this; |
var getGuestInstanceId = function() { |
- return self.webViewInternal.getGuestInstanceId(); |
- }; |
+ return this.webViewInternal.getGuestInstanceId(); |
+ }.bind(this); |
var validateCall = function () { |
if (actionTaken) { |
@@ -475,7 +471,7 @@ WebViewEvents.prototype.handleNewWindowEvent = function(event, webViewEvent) { |
}; |
webViewEvent.window = windowObj; |
- var defaultPrevented = !self.webViewInternal.dispatchEvent(webViewEvent); |
+ var defaultPrevented = !this.webViewInternal.dispatchEvent(webViewEvent); |
if (actionTaken) { |
return; |
} |
@@ -533,10 +529,9 @@ WebViewEvents.prototype.handlePermissionEvent = |
}; |
var requestId = event.requestId; |
- var self = this; |
var getGuestInstanceId = function() { |
- return self.webViewInternal.getGuestInstanceId(); |
- }; |
+ return this.webViewInternal.getGuestInstanceId(); |
+ }.bind(this); |
if (this.getPermissionTypes().indexOf(event.permission) < 0) { |
// The permission type is not allowed. Trigger the default response. |
@@ -571,7 +566,7 @@ WebViewEvents.prototype.handlePermissionEvent = |
}; |
webViewEvent.request = request; |
- var defaultPrevented = !self.webViewInternal.dispatchEvent(webViewEvent); |
+ var defaultPrevented = !this.webViewInternal.dispatchEvent(webViewEvent); |
if (decisionMade) { |
return; |
} |