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

Side by Side Diff: extensions/renderer/resources/web_view_events.js

Issue 618823002: GuestView: Move lifetime management out of content (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed browser_pluign_browsertest + fixed lifetime issue (brittle) Created 6 years, 2 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Event management for WebViewInternal. 5 // Event management for WebViewInternal.
6 6
7 var EventBindings = require('event_bindings'); 7 var EventBindings = require('event_bindings');
8 var MessagingNatives = requireNative('messaging_natives'); 8 var MessagingNatives = requireNative('messaging_natives');
9 var WebView = require('webViewInternal').WebView; 9 var WebView = require('webViewInternal').WebView;
10 10
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 // Constructor. 151 // Constructor.
152 function WebViewEvents(webViewInternal, viewInstanceId) { 152 function WebViewEvents(webViewInternal, viewInstanceId) {
153 this.webViewInternal = webViewInternal; 153 this.webViewInternal = webViewInternal;
154 this.viewInstanceId = viewInstanceId; 154 this.viewInstanceId = viewInstanceId;
155 this.setup(); 155 this.setup();
156 } 156 }
157 157
158 // Sets up events. 158 // Sets up events.
159 WebViewEvents.prototype.setup = function() { 159 WebViewEvents.prototype.setup = function() {
160 this.setupFrameNameChangedEvent(); 160 this.setupFrameNameChangedEvent();
161 this.setupPluginDestroyedEvent();
162 this.webViewInternal.maybeSetupChromeWebViewEvents(); 161 this.webViewInternal.maybeSetupChromeWebViewEvents();
163 this.webViewInternal.setupExperimentalContextMenus(); 162 this.webViewInternal.setupExperimentalContextMenus();
164 163
165 var events = this.getEvents(); 164 var events = this.getEvents();
166 for (var eventName in events) { 165 for (var eventName in events) {
167 this.setupEvent(eventName, events[eventName]); 166 this.setupEvent(eventName, events[eventName]);
168 } 167 }
169 }; 168 };
170 169
171 WebViewEvents.prototype.setupFrameNameChangedEvent = function() { 170 WebViewEvents.prototype.setupFrameNameChangedEvent = function() {
172 FrameNameChangedEvent.addListener(function(e) { 171 FrameNameChangedEvent.addListener(function(e) {
173 this.webViewInternal.onFrameNameChanged(e.name); 172 this.webViewInternal.onFrameNameChanged(e.name);
174 }.bind(this), {instanceId: this.viewInstanceId}); 173 }.bind(this), {instanceId: this.viewInstanceId});
175 }; 174 };
176 175
177 WebViewEvents.prototype.setupPluginDestroyedEvent = function() {
178 PluginDestroyedEvent.addListener(function(e) {
179 this.webViewInternal.onPluginDestroyed();
180 }.bind(this), {instanceId: this.viewInstanceId});
181 };
182
183 WebViewEvents.prototype.getEvents = function() { 176 WebViewEvents.prototype.getEvents = function() {
184 var experimentalEvents = this.webViewInternal.maybeGetExperimentalEvents(); 177 var experimentalEvents = this.webViewInternal.maybeGetExperimentalEvents();
185 for (var eventName in experimentalEvents) { 178 for (var eventName in experimentalEvents) {
186 WEB_VIEW_EVENTS[eventName] = experimentalEvents[eventName]; 179 WEB_VIEW_EVENTS[eventName] = experimentalEvents[eventName];
187 } 180 }
188 var chromeEvents = this.webViewInternal.maybeGetChromeWebViewEvents(); 181 var chromeEvents = this.webViewInternal.maybeGetChromeWebViewEvents();
189 for (var eventName in chromeEvents) { 182 for (var eventName in chromeEvents) {
190 WEB_VIEW_EVENTS[eventName] = chromeEvents[eventName]; 183 WEB_VIEW_EVENTS[eventName] = chromeEvents[eventName];
191 } 184 }
192 return WEB_VIEW_EVENTS; 185 return WEB_VIEW_EVENTS;
(...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after
523 } 516 }
524 }; 517 };
525 518
526 WebViewEvents.prototype.handleSizeChangedEvent = function( 519 WebViewEvents.prototype.handleSizeChangedEvent = function(
527 event, webViewEvent) { 520 event, webViewEvent) {
528 this.webViewInternal.onSizeChanged(webViewEvent); 521 this.webViewInternal.onSizeChanged(webViewEvent);
529 }; 522 };
530 523
531 exports.WebViewEvents = WebViewEvents; 524 exports.WebViewEvents = WebViewEvents;
532 exports.CreateEvent = CreateEvent; 525 exports.CreateEvent = CreateEvent;
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698