Index: chrome/browser/renderer_host/chrome_render_message_filter.cc |
diff --git a/chrome/browser/renderer_host/chrome_render_message_filter.cc b/chrome/browser/renderer_host/chrome_render_message_filter.cc |
index 6e8f263a9dc2744896ecf88c91b48b2eb3e35b68..0c02c9260668d19e11ae94552ac5bc73d3e9262a 100644 |
--- a/chrome/browser/renderer_host/chrome_render_message_filter.cc |
+++ b/chrome/browser/renderer_host/chrome_render_message_filter.cc |
@@ -609,23 +609,19 @@ void ChromeRenderMessageFilter::GetPluginInfo( |
status->value = ChromeViewHostMsg_GetPluginInfo_Status::kAllowed; |
} |
-void ChromeRenderMessageFilter::OnCanTriggerClipboardRead(const GURL& url, |
- bool* allowed) { |
- const Extension* extension = |
- extension_info_map_->extensions().GetByURL(url); |
- *allowed = extension && |
- extension->HasAPIPermission(ExtensionAPIPermission::kClipboardRead); |
+void ChromeRenderMessageFilter::OnCanTriggerClipboardRead( |
+ const GURL& origin, bool* allowed) { |
+ *allowed = extension_info_map_->SecurityOriginHasAPIPermission( |
+ origin, render_process_id_, ExtensionAPIPermission::kClipboardRead); |
} |
-void ChromeRenderMessageFilter::OnCanTriggerClipboardWrite(const GURL& url, |
- bool* allowed) { |
+void ChromeRenderMessageFilter::OnCanTriggerClipboardWrite( |
+ const GURL& origin, bool* allowed) { |
// Since all extensions could historically write to the clipboard, preserve it |
// for compatibility. |
- const Extension* extension = |
- extension_info_map_->extensions().GetByURL(url); |
- *allowed = url.SchemeIs(chrome::kExtensionScheme) || |
- (extension && |
- extension->HasAPIPermission(ExtensionAPIPermission::kClipboardWrite)); |
+ *allowed = (origin.SchemeIs(chrome::kExtensionScheme) || |
+ extension_info_map_->SecurityOriginHasAPIPermission( |
+ origin, render_process_id_, ExtensionAPIPermission::kClipboardWrite)); |
} |
void ChromeRenderMessageFilter::OnGetCookies( |