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 6e81a03a69ddc59872e0d328601af60af1a6251e..4c600cb84dd0e3cb79a0d76b8f5f0f286601bcfa 100644 |
--- a/chrome/renderer/resources/extensions/web_view.js |
+++ b/chrome/renderer/resources/extensions/web_view.js |
@@ -7,9 +7,9 @@ |
// The actual tag is implemented via the browser plugin. The internals of this |
// are hidden via Shadow DOM. |
-var watchForTag = require('tagWatcher').watchForTag; |
- |
var chrome = requireNative('chrome').GetChrome(); |
+var forEach = require('utils').forEach; |
+var watchForTag = require('tagWatcher').watchForTag; |
var WEB_VIEW_ATTRIBUTES = ['name', 'src', 'partition', 'autosize', 'minheight', |
'minwidth', 'maxheight', 'maxwidth']; |
@@ -54,7 +54,7 @@ function WebView(node) { |
// The <object> node fills in the <webview> container. |
this.objectNode_.style.width = '100%'; |
this.objectNode_.style.height = '100%'; |
- WEB_VIEW_ATTRIBUTES.forEach(function(attributeName) { |
+ forEach(WEB_VIEW_ATTRIBUTES, function(i, attributeName) { |
// Only copy attributes that have been assigned values, rather than copying |
// a series of undefined attributes to BrowserPlugin. |
if (this.node_.hasAttribute(attributeName)) { |
@@ -68,7 +68,7 @@ function WebView(node) { |
// this.objectNode_[apiMethod] are not necessarily defined immediately after |
// the shadow object is appended to the shadow root. |
var self = this; |
- WEB_VIEW_API_METHODS.forEach(function(apiMethod) { |
+ forEach(WEB_VIEW_API_METHODS, function(i, apiMethod) { |
node[apiMethod] = function(var_args) { |
return self.objectNode_[apiMethod].apply(self.objectNode_, arguments); |
}; |
@@ -76,17 +76,21 @@ function WebView(node) { |
// Map attribute modifications on the <webview> tag to property changes in |
// the underlying <object> node. |
- var handleMutation = this.handleMutation_.bind(this); |
+ var handleMutation = function(i, mutation) { |
+ this.handleMutation_(mutation); |
+ }.bind(this); |
var observer = new WebKitMutationObserver(function(mutations) { |
- mutations.forEach(handleMutation); |
+ forEach(mutations, handleMutation); |
}); |
observer.observe( |
this.node_, |
{attributes: true, attributeFilter: WEB_VIEW_ATTRIBUTES}); |
- var handleObjectMutation = this.handleObjectMutation_.bind(this); |
+ var handleObjectMutation = function(i, mutation) { |
+ this.handleObjectMutation_(mutation); |
+ }.bind(this); |
var objectObserver = new WebKitMutationObserver(function(mutations) { |
- mutations.forEach(handleObjectMutation); |
+ forEach(mutations, handleObjectMutation); |
}); |
objectObserver.observe( |
this.objectNode_, |
@@ -94,7 +98,7 @@ function WebView(node) { |
var objectNode = this.objectNode_; |
// Expose getters and setters for the attributes. |
- WEB_VIEW_ATTRIBUTES.forEach(function(attributeName) { |
+ forEach(WEB_VIEW_ATTRIBUTES, function(i, attributeName) { |
Object.defineProperty(this.node_, attributeName, { |
get: function() { |
return objectNode[attributeName]; |
@@ -175,7 +179,7 @@ WebView.prototype.setupEvent_ = function(eventname, attribs) { |
this.objectNode_.addEventListener('-internal-' + eventname, function(e) { |
var evt = new Event(eventname, { bubbles: true }); |
var detail = e.detail ? JSON.parse(e.detail) : {}; |
- attribs.forEach(function(attribName) { |
+ forEach(attribs, function(i, attribName) { |
evt[attribName] = detail[attribName]; |
}); |
node.dispatchEvent(evt); |