Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3752)

Unified Diff: chrome/renderer/resources/extensions/chrome_web_view.js

Issue 596003002: Allow declarative webrequest and webrequest in extensions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Small changes are made accoding to Ken's comments. Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/renderer/resources/extensions/chrome_web_view.js
diff --git a/chrome/renderer/resources/extensions/chrome_web_view.js b/chrome/renderer/resources/extensions/chrome_web_view.js
index 8028ff041044bcdffa6e024a1683cf2be4df95f4..badbf62d70f555c26dadceec38ba3d1b0c360a70 100644
--- a/chrome/renderer/resources/extensions/chrome_web_view.js
+++ b/chrome/renderer/resources/extensions/chrome_web_view.js
@@ -6,17 +6,9 @@
var ChromeWebView = require('chromeWebViewInternal').ChromeWebView;
var CreateEvent = require('webViewEvents').CreateEvent;
-var DeclarativeWebRequestSchema =
- requireNative('schema_registry').GetSchema('declarativeWebRequest');
var EventBindings = require('event_bindings');
-var IdGenerator = requireNative('id_generator');
-var WebRequestEvent = require('webRequestInternal').WebRequestEvent;
-var WebRequestSchema =
- requireNative('schema_registry').GetSchema('webRequest');
var WebViewInternal = require('webView').WebViewInternal
-var WebRequestMessageEvent = CreateEvent('webViewInternal.onMessage');
-
var CHROME_WEB_VIEW_EVENTS = {
'contextmenu': {
evt: CreateEvent('chromeWebViewInternal.contextmenu'),
@@ -28,25 +20,6 @@ var CHROME_WEB_VIEW_EVENTS = {
}
};
-function DeclarativeWebRequestEvent(opt_eventName,
- opt_argSchemas,
- opt_eventOptions,
- opt_webViewInstanceId) {
- var subEventName = opt_eventName + '/' + IdGenerator.GetNextId();
- EventBindings.Event.call(this, subEventName, opt_argSchemas, opt_eventOptions,
- opt_webViewInstanceId);
-
- // TODO(lazyboy): When do we dispose this listener?
- WebRequestMessageEvent.addListener(function() {
- // Re-dispatch to subEvent's listeners.
- $Function.apply(this.dispatch, this, $Array.slice(arguments));
- }.bind(this), {instanceId: opt_webViewInstanceId || 0});
-}
-
-DeclarativeWebRequestEvent.prototype = {
- __proto__: EventBindings.Event.prototype
-};
-
/**
* Implemented when the ChromeWebView API is available.
* @private
@@ -68,67 +41,3 @@ WebViewInternal.prototype.maybeHandleContextMenu = function(e, webViewEvent) {
var params = undefined;
ChromeWebView.showContextMenu(this.guestInstanceId, requestId, params);
};
-
-WebViewInternal.prototype.maybeSetupChromeWebViewEvents = function() {
- var request = {};
- var createWebRequestEvent = function(webRequestEvent) {
- return function() {
- if (!this[webRequestEvent.name]) {
- this[webRequestEvent.name] =
- new WebRequestEvent(
- 'webViewInternal.' + webRequestEvent.name,
- webRequestEvent.parameters,
- webRequestEvent.extraParameters, webRequestEvent.options,
- this.viewInstanceId);
- }
- return this[webRequestEvent.name];
- }.bind(this);
- }.bind(this);
-
- var createDeclarativeWebRequestEvent = function(webRequestEvent) {
- return function() {
- 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;
- this[webRequestEvent.name] =
- new EventClass(
- 'webViewInternal.' + webRequestEvent.name,
- webRequestEvent.parameters,
- webRequestEvent.options,
- this.viewInstanceId);
- }
- return this[webRequestEvent.name];
- }.bind(this);
- }.bind(this);
-
- for (var i = 0; i < DeclarativeWebRequestSchema.events.length; ++i) {
- var eventSchema = DeclarativeWebRequestSchema.events[i];
- var webRequestEvent = createDeclarativeWebRequestEvent(eventSchema);
- Object.defineProperty(
- request,
- eventSchema.name,
- {
- get: webRequestEvent,
- enumerable: true
- }
- );
- }
-
- // Populate the WebRequest events from the API definition.
- for (var i = 0; i < WebRequestSchema.events.length; ++i) {
- var webRequestEvent = createWebRequestEvent(WebRequestSchema.events[i]);
- Object.defineProperty(
- request,
- WebRequestSchema.events[i].name,
- {
- get: webRequestEvent,
- enumerable: true
- }
- );
- }
-
- this.setRequestPropertyOnWebViewNode(request);
-};

Powered by Google App Engine
This is Rietveld 408576698