| 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 WebView. | 5 // Event management for WebView. |
| 6 | 6 |
| 7 var DeclarativeWebRequestSchema = | 7 var DeclarativeWebRequestSchema = |
| 8 requireNative('schema_registry').GetSchema('declarativeWebRequest'); | 8 requireNative('schema_registry').GetSchema('declarativeWebRequest'); |
| 9 var EventBindings = require('event_bindings'); | 9 var EventBindings = require('event_bindings'); |
| 10 var IdGenerator = requireNative('id_generator'); | 10 var IdGenerator = requireNative('id_generator'); |
| (...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 184 this.permissionTypes = ['media', | 184 this.permissionTypes = ['media', |
| 185 'geolocation', | 185 'geolocation', |
| 186 'pointerLock', | 186 'pointerLock', |
| 187 'download', | 187 'download', |
| 188 'loadplugin', | 188 'loadplugin', |
| 189 'filesystem']; | 189 'filesystem']; |
| 190 | 190 |
| 191 // Set up the events. | 191 // Set up the events. |
| 192 this.setupFrameNameChangedEvent(); | 192 this.setupFrameNameChangedEvent(); |
| 193 this.setupWebRequestEvents(); | 193 this.setupWebRequestEvents(); |
| 194 this.webViewImpl.setupExperimentalContextMenus(); | |
| 195 var events = this.getEvents(); | 194 var events = this.getEvents(); |
| 196 for (var eventName in events) { | 195 for (var eventName in events) { |
| 197 this.setupEvent(eventName, events[eventName]); | 196 this.setupEvent(eventName, events[eventName]); |
| 198 } | 197 } |
| 199 } | 198 } |
| 200 | 199 |
| 201 WebViewEvents.prototype.setupFrameNameChangedEvent = function() { | 200 WebViewEvents.prototype.setupFrameNameChangedEvent = function() { |
| 202 FrameNameChangedEvent.addListener(function(e) { | 201 FrameNameChangedEvent.addListener(function(e) { |
| 203 this.webViewImpl.onFrameNameChanged(e.name); | 202 this.webViewImpl.onFrameNameChanged(e.name); |
| 204 }.bind(this), {instanceId: this.viewInstanceId}); | 203 }.bind(this), {instanceId: this.viewInstanceId}); |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 262 get: webRequestEvent, | 261 get: webRequestEvent, |
| 263 enumerable: true | 262 enumerable: true |
| 264 } | 263 } |
| 265 ); | 264 ); |
| 266 } | 265 } |
| 267 | 266 |
| 268 this.webViewImpl.setRequestPropertyOnWebViewNode(request); | 267 this.webViewImpl.setRequestPropertyOnWebViewNode(request); |
| 269 }; | 268 }; |
| 270 | 269 |
| 271 WebViewEvents.prototype.getEvents = function() { | 270 WebViewEvents.prototype.getEvents = function() { |
| 272 var experimentalEvents = this.webViewImpl.maybeGetExperimentalEvents(); | |
| 273 for (var eventName in experimentalEvents) { | |
| 274 WEB_VIEW_EVENTS[eventName] = experimentalEvents[eventName]; | |
| 275 } | |
| 276 var chromeEvents = this.webViewImpl.maybeGetChromeWebViewEvents(); | 271 var chromeEvents = this.webViewImpl.maybeGetChromeWebViewEvents(); |
| 277 for (var eventName in chromeEvents) { | 272 for (var eventName in chromeEvents) { |
| 278 WEB_VIEW_EVENTS[eventName] = chromeEvents[eventName]; | 273 WEB_VIEW_EVENTS[eventName] = chromeEvents[eventName]; |
| 279 } | 274 } |
| 280 return WEB_VIEW_EVENTS; | 275 return WEB_VIEW_EVENTS; |
| 281 }; | 276 }; |
| 282 | 277 |
| 283 WebViewEvents.prototype.setupEvent = function(name, info) { | 278 WebViewEvents.prototype.setupEvent = function(name, info) { |
| 284 info.evt.addListener(function(e) { | 279 info.evt.addListener(function(e) { |
| 285 var details = {bubbles: true}; | 280 var details = {bubbles: true}; |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 320 var ERROR_MSG_DIALOG_ACTION_ALREADY_TAKEN = '<webview>: ' + | 315 var ERROR_MSG_DIALOG_ACTION_ALREADY_TAKEN = '<webview>: ' + |
| 321 'An action has already been taken for this "dialog" event.'; | 316 'An action has already been taken for this "dialog" event.'; |
| 322 | 317 |
| 323 if (actionTaken) { | 318 if (actionTaken) { |
| 324 throw new Error(ERROR_MSG_DIALOG_ACTION_ALREADY_TAKEN); | 319 throw new Error(ERROR_MSG_DIALOG_ACTION_ALREADY_TAKEN); |
| 325 } | 320 } |
| 326 actionTaken = true; | 321 actionTaken = true; |
| 327 }; | 322 }; |
| 328 | 323 |
| 329 var getGuestInstanceId = function() { | 324 var getGuestInstanceId = function() { |
| 330 return this.webViewImpl.getGuestInstanceId(); | 325 return this.webViewImpl.guestInstanceId; |
| 331 }.bind(this); | 326 }.bind(this); |
| 332 | 327 |
| 333 var dialog = { | 328 var dialog = { |
| 334 ok: function(user_input) { | 329 ok: function(user_input) { |
| 335 validateCall(); | 330 validateCall(); |
| 336 user_input = user_input || ''; | 331 user_input = user_input || ''; |
| 337 WebViewInternal.setPermission(getGuestInstanceId(), requestId, 'allow', | 332 WebViewInternal.setPermission(getGuestInstanceId(), requestId, 'allow', |
| 338 user_input); | 333 user_input); |
| 339 }, | 334 }, |
| 340 cancel: function() { | 335 cancel: function() { |
| (...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 597 } | 592 } |
| 598 }; | 593 }; |
| 599 | 594 |
| 600 WebViewEvents.prototype.handleSizeChangedEvent = function( | 595 WebViewEvents.prototype.handleSizeChangedEvent = function( |
| 601 event, webViewEvent) { | 596 event, webViewEvent) { |
| 602 this.webViewImpl.onSizeChanged(webViewEvent); | 597 this.webViewImpl.onSizeChanged(webViewEvent); |
| 603 }; | 598 }; |
| 604 | 599 |
| 605 exports.WebViewEvents = WebViewEvents; | 600 exports.WebViewEvents = WebViewEvents; |
| 606 exports.CreateEvent = CreateEvent; | 601 exports.CreateEvent = CreateEvent; |
| OLD | NEW |