Chromium Code Reviews| Index: chrome/renderer/resources/extensions/web_view.js |
| diff --git a/chrome/renderer/resources/extensions/web_view.js b/chrome/renderer/resources/extensions/web_view.js |
| index ff785e93fa37cbdab71572dc1b27d566e4630d65..ad6ffa8c2a9630bf6dadc6bfc150f79aee7c2667 100644 |
| --- a/chrome/renderer/resources/extensions/web_view.js |
| +++ b/chrome/renderer/resources/extensions/web_view.js |
| @@ -111,7 +111,9 @@ var WEB_VIEW_EVENTS = { |
| }, |
| evt: CreateEvent('webview.onPermissionRequest'), |
| fields: [ |
| + 'identifier', |
| 'lastUnlockedBySelf', |
| + 'name', |
| 'permission', |
| 'requestMethod', |
| 'url', |
| @@ -628,7 +630,7 @@ WebViewInternal.prototype.setupEventProperty_ = function(eventName) { |
| * @private |
| */ |
| WebViewInternal.prototype.getPermissionTypes_ = function() { |
| - return ['media', 'geolocation', 'pointerLock', 'download']; |
| + return ['media', 'geolocation', 'pointerLock', 'download', 'loadplugin']; |
|
Fady Samuel
2013/09/26 12:53:32
We usually let new API bake a bit in canary/dev an
sadrul
2013/09/26 15:28:10
Done.
|
| }; |
| /** |
| @@ -782,6 +784,9 @@ WebViewInternal.prototype.handlePermissionEvent_ = |
| return; |
| } |
| + var PERMISSIONS_DEFAULT_ALLOWED = ['loadplugin']; |
| + var defaultAllowed = |
| + PERMISSIONS_DEFAULT_ALLOWED.indexOf(event.permission) >= 0; |
| if (defaultPrevented) { |
| // Make browser plugin track lifetime of |request|. |
| MessagingNatives.BindToGC(request, function() { |
| @@ -789,13 +794,15 @@ WebViewInternal.prototype.handlePermissionEvent_ = |
| if (decisionMade) { |
| return; |
| } |
| - WebView.setPermission(self.instanceId_, requestId, false, ''); |
| - showWarningMessage(event.permission); |
| + WebView.setPermission(self.instanceId_, requestId, defaultAllowed, ''); |
| + if (!defaultAllowed) |
| + showWarningMessage(event.permission); |
| }); |
| } else { |
| decisionMade = true; |
| - WebView.setPermission(self.instanceId_, requestId, false, ''); |
| - showWarningMessage(event.permission); |
| + WebView.setPermission(self.instanceId_, requestId, defaultAllowed, ''); |
| + if (!defaultAllowed) |
| + showWarningMessage(event.permission); |
| } |
| }; |