OLD | NEW |
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 Loading... |
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 Loading... |
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; |
OLD | NEW |