Chromium Code Reviews| 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 f52429ad87fbecc3dd8a2a49a9bb66c7d749f199..d2f703729bf7e815a4a0c23e4d56f965dcedf2c6 100644 |
| --- a/chrome/renderer/resources/extensions/web_view.js |
| +++ b/chrome/renderer/resources/extensions/web_view.js |
| @@ -58,10 +58,13 @@ function WebView(node) { |
| shadowRoot.appendChild(this.objectNode_); |
| - // this.objectNode_[apiMethod] are defined after the shadow object is appended |
| - // to the shadow root. |
| + // this.objectNode_[apiMethod] are not necessarily defined immediately after |
| + // the shadow object is appended to the shadow root. |
|
sadrul
2013/01/09 18:51:24
Interesting. Is this because of a race, or is that
Fady Samuel
2013/01/09 19:18:42
It works some of the time, so this is a race. This
|
| WEB_VIEW_API_METHODS.forEach(function(apiMethod) { |
| - node[apiMethod] = this.objectNode_[apiMethod].bind(this.objectNode_); |
| + var self = this; |
|
arv (Not doing code reviews)
2013/01/09 19:40:01
Move self out of inner function?
var self = this;
Fady Samuel
2013/01/09 19:49:25
Done.
|
| + node[apiMethod] = function(var_args) { |
| + return self.objectNode_[apiMethod].apply(self.objectNode_, arguments); |
| + }; |
| }, this); |
| // Map attribute modifications on the <webview> tag to property changes in |