| 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 1617e5c4108ed464472bd9812dba6365dcb925f7..0d46f217d60e0f92bb64eb8f8776912f4e57d38a 100644
|
| --- a/chrome/renderer/resources/extensions/web_view.js
|
| +++ b/chrome/renderer/resources/extensions/web_view.js
|
| @@ -90,6 +90,14 @@ function WebView(node) {
|
| this.node_,
|
| {attributes: true, attributeFilter: WEB_VIEW_ATTRIBUTES});
|
|
|
| + var handleObjectMutation = this.handleObjectMutation_.bind(this);
|
| + var objectObserver = new WebKitMutationObserver(function(mutations) {
|
| + mutations.forEach(handleObjectMutation);
|
| + });
|
| + objectObserver.observe(
|
| + this.objectNode_,
|
| + {attributes: true, attributeFilter: WEB_VIEW_ATTRIBUTES});
|
| +
|
| var objectNode = this.objectNode_;
|
| // Expose getters and setters for the attributes.
|
| WEB_VIEW_ATTRIBUTES.forEach(function(attributeName) {
|
| @@ -126,13 +134,21 @@ function WebView(node) {
|
| * @private
|
| */
|
| WebView.prototype.handleMutation_ = function(mutation) {
|
| - this.node_[mutation.attributeName] =
|
| + this.objectNode_[mutation.attributeName] =
|
| this.node_.getAttribute(mutation.attributeName);
|
| };
|
|
|
| /**
|
| * @private
|
| */
|
| +WebView.prototype.handleObjectMutation_ = function(mutation) {
|
| + this.node_.setAttribute(mutation.attributeName,
|
| + this.objectNode_.getAttribute(mutation.attributeName));
|
| +};
|
| +
|
| +/**
|
| + * @private
|
| + */
|
| WebView.prototype.setupEvent_ = function(eventname, attribs) {
|
| var node = this.node_;
|
| this.objectNode_.addEventListener('-internal-' + eventname, function(e) {
|
|
|