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

Unified Diff: chrome/renderer/resources/extensions/web_view.js

Issue 24576003: <webview>: Change how plugin load works inside guests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 7 years, 3 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: 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);
}
};

Powered by Google App Engine
This is Rietveld 408576698