| 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 73f4f1af30fd11ea1ec80dd466bb55b15eb1b0c0..d0a8ab104380a79485f150f5a6cf84066bbffd8a 100644
|
| --- a/chrome/renderer/resources/extensions/web_view.js
|
| +++ b/chrome/renderer/resources/extensions/web_view.js
|
| @@ -7,6 +7,10 @@
|
| // The actual tag is implemented via the browser plugin. The internals of this
|
| // are hidden via Shadow DOM.
|
|
|
| +var GetExtensionAPIDefinition =
|
| + requireNative('apiDefinitions').GetExtensionAPIDefinition;
|
| +var WebRequestEvent = require('webRequest').webRequestEvent;
|
| +
|
| var watchForTag = require("tagWatcher").watchForTag;
|
|
|
| var WEB_VIEW_ATTRIBUTES = ['name', 'src', 'partition', 'autosize', 'minheight',
|
| @@ -111,6 +115,30 @@ function WebView(node) {
|
| });
|
| }, this);
|
|
|
| +
|
| + // Populate the WebRequest events from the API definition.
|
| + var webRequestDefinition =
|
| + GetExtensionAPIDefinition('webRequest')[0];
|
| + for (var i = 0; i < webRequestDefinition.events.length; ++i) {
|
| + Object.defineProperty(self.node_, webRequestDefinition.events[i].name, {
|
| + get: function(webRequestEvent) {
|
| + return function() {
|
| + if (!self[webRequestEvent.name + '_']) {
|
| + self[webRequestEvent.name + '_'] =
|
| + new WebRequestEvent(
|
| + 'webview.' + webRequestEvent.name,
|
| + webRequestEvent.parameters,
|
| + webRequestEvent.extraParameters, null,
|
| + self.objectNode_.getInstanceId());
|
| + }
|
| + return self[webRequestEvent.name + '_'];
|
| + }
|
| + }(webRequestDefinition.events[i]),
|
| + // No setter.
|
| + enumerable: true
|
| + });
|
| + }
|
| +
|
| // We cannot use {writable: true} property descriptor because we want dynamic
|
| // getter value.
|
| Object.defineProperty(this.node_, 'contentWindow', {
|
|
|