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

Unified Diff: extensions/renderer/resources/guest_view/web_view_events.js

Issue 988853002: Moved the javascript files for each respective guest_view type into subdirectories of guest_view/ . (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 9 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: extensions/renderer/resources/guest_view/web_view_events.js
diff --git a/extensions/renderer/resources/guest_view/web_view_events.js b/extensions/renderer/resources/guest_view/web_view_events.js
deleted file mode 100644
index cb782cab5acf866963d461ac8171f2e07adfcd13..0000000000000000000000000000000000000000
--- a/extensions/renderer/resources/guest_view/web_view_events.js
+++ /dev/null
@@ -1,280 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Event management for WebView.
-
-var CreateEvent = require('guestViewEvents').CreateEvent;
-var DeclarativeWebRequestSchema =
- requireNative('schema_registry').GetSchema('declarativeWebRequest');
-var EventBindings = require('event_bindings');
-var GuestViewEvents = require('guestViewEvents').GuestViewEvents;
-var IdGenerator = requireNative('id_generator');
-var WebRequestEvent = require('webRequestInternal').WebRequestEvent;
-var WebRequestSchema =
- requireNative('schema_registry').GetSchema('webRequest');
-var WebViewActionRequests =
- require('webViewActionRequests').WebViewActionRequests;
-
-var WebRequestMessageEvent = CreateEvent('webViewInternal.onMessage');
-
-function WebViewEvents(webViewImpl) {
- GuestViewEvents.call(this, webViewImpl);
-
- this.setupWebRequestEvents();
- this.view.setupExperimentalContextMenus();
-}
-
-WebViewEvents.prototype.__proto__ = GuestViewEvents.prototype;
-
-// A dictionary of <webview> extension events to be listened for. This
-// dictionary augments |GuestViewEvents.EVENTS| in guest_view_events.js. See the
-// documentation there for details.
-WebViewEvents.EVENTS = {
- 'close': {
- evt: CreateEvent('webViewInternal.onClose')
- },
- 'consolemessage': {
- evt: CreateEvent('webViewInternal.onConsoleMessage'),
- fields: ['level', 'message', 'line', 'sourceId']
- },
- 'contentload': {
- evt: CreateEvent('webViewInternal.onContentLoad')
- },
- 'dialog': {
- cancelable: true,
- evt: CreateEvent('webViewInternal.onDialog'),
- fields: ['defaultPromptText', 'messageText', 'messageType', 'url'],
- handler: 'handleDialogEvent'
- },
- 'droplink': {
- evt: CreateEvent('webViewInternal.onDropLink'),
- fields: ['url']
- },
- 'exit': {
- evt: CreateEvent('webViewInternal.onExit'),
- fields: ['processId', 'reason']
- },
- 'findupdate': {
- evt: CreateEvent('webViewInternal.onFindReply'),
- fields: [
- 'searchText',
- 'numberOfMatches',
- 'activeMatchOrdinal',
- 'selectionRect',
- 'canceled',
- 'finalUpdate'
- ]
- },
- 'framenamechanged': {
- evt: CreateEvent('webViewInternal.onFrameNameChanged'),
- handler: 'handleFrameNameChangedEvent'
- },
- 'loadabort': {
- cancelable: true,
- evt: CreateEvent('webViewInternal.onLoadAbort'),
- fields: ['url', 'isTopLevel', 'reason'],
- handler: 'handleLoadAbortEvent'
- },
- 'loadcommit': {
- evt: CreateEvent('webViewInternal.onLoadCommit'),
- fields: ['url', 'isTopLevel'],
- handler: 'handleLoadCommitEvent'
- },
- 'loadprogress': {
- evt: CreateEvent('webViewInternal.onLoadProgress'),
- fields: ['url', 'progress']
- },
- 'loadredirect': {
- evt: CreateEvent('webViewInternal.onLoadRedirect'),
- fields: ['isTopLevel', 'oldUrl', 'newUrl']
- },
- 'loadstart': {
- evt: CreateEvent('webViewInternal.onLoadStart'),
- fields: ['url', 'isTopLevel']
- },
- 'loadstop': {
- evt: CreateEvent('webViewInternal.onLoadStop')
- },
- 'newwindow': {
- cancelable: true,
- evt: CreateEvent('webViewInternal.onNewWindow'),
- fields: [
- 'initialHeight',
- 'initialWidth',
- 'targetUrl',
- 'windowOpenDisposition',
- 'name'
- ],
- handler: 'handleNewWindowEvent'
- },
- 'permissionrequest': {
- cancelable: true,
- evt: CreateEvent('webViewInternal.onPermissionRequest'),
- fields: [
- 'identifier',
- 'lastUnlockedBySelf',
- 'name',
- 'permission',
- 'requestMethod',
- 'url',
- 'userGesture'
- ],
- handler: 'handlePermissionEvent'
- },
- 'responsive': {
- evt: CreateEvent('webViewInternal.onResponsive'),
- fields: ['processId']
- },
- 'sizechanged': {
- evt: CreateEvent('webViewInternal.onSizeChanged'),
- fields: ['oldHeight', 'oldWidth', 'newHeight', 'newWidth'],
- handler: 'handleSizeChangedEvent'
- },
- 'unresponsive': {
- evt: CreateEvent('webViewInternal.onUnresponsive'),
- fields: ['processId']
- },
- 'zoomchange': {
- evt: CreateEvent('webViewInternal.onZoomChange'),
- fields: ['oldZoomFactor', 'newZoomFactor']
- }
-};
-
-WebViewEvents.prototype.setupWebRequestEvents = 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.view.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.declarativeWebRequest.' + webRequestEvent.name,
- webRequestEvent.parameters,
- webRequestEvent.options,
- this.view.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.view.setRequestPropertyOnWebViewElement(request);
-};
-
-WebViewEvents.prototype.getEvents = function() {
- return WebViewEvents.EVENTS;
-};
-
-WebViewEvents.prototype.handleDialogEvent = function(event, eventName) {
- var webViewEvent = this.makeDomEvent(event, eventName);
- new WebViewActionRequests.Dialog(this.view, event, webViewEvent);
-};
-
-WebViewEvents.prototype.handleFrameNameChangedEvent = function(event) {
- this.view.onFrameNameChanged(event.name);
-};
-
-WebViewEvents.prototype.handleLoadAbortEvent = function(event, eventName) {
- var showWarningMessage = function(reason) {
- var WARNING_MSG_LOAD_ABORTED = '<webview>: ' +
- 'The load has aborted with reason "%1".';
- window.console.warn(WARNING_MSG_LOAD_ABORTED.replace('%1', reason));
- };
- var webViewEvent = this.makeDomEvent(event, eventName);
- if (this.view.dispatchEvent(webViewEvent)) {
- showWarningMessage(event.reason);
- }
-};
-
-WebViewEvents.prototype.handleLoadCommitEvent = function(event, eventName) {
- this.view.onLoadCommit(event.baseUrlForDataUrl,
- event.currentEntryIndex,
- event.entryCount,
- event.processId,
- event.url,
- event.isTopLevel);
- var webViewEvent = this.makeDomEvent(event, eventName);
- this.view.dispatchEvent(webViewEvent);
-};
-
-WebViewEvents.prototype.handleNewWindowEvent = function(event, eventName) {
- var webViewEvent = this.makeDomEvent(event, eventName);
- new WebViewActionRequests.NewWindow(this.view, event, webViewEvent);
-};
-
-WebViewEvents.prototype.handlePermissionEvent = function(event, eventName) {
- var webViewEvent = this.makeDomEvent(event, eventName);
- new WebViewActionRequests.PermissionRequest(this.view, event, webViewEvent);
-};
-
-WebViewEvents.prototype.handleSizeChangedEvent = function(event, eventName) {
- var webViewEvent = this.makeDomEvent(event, eventName);
- this.view.onSizeChanged(webViewEvent);
-};
-
-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;
-
-// Exports.
-exports.WebViewEvents = WebViewEvents;

Powered by Google App Engine
This is Rietveld 408576698