Index: chrome/browser/plugins/plugin_info_message_filter.cc |
diff --git a/chrome/browser/plugins/plugin_info_message_filter.cc b/chrome/browser/plugins/plugin_info_message_filter.cc |
index 657357c71703c311a8b9f877ce86c486f5581c44..31d2f2505f843b1db550b4e8007171c097ec2b37 100644 |
--- a/chrome/browser/plugins/plugin_info_message_filter.cc |
+++ b/chrome/browser/plugins/plugin_info_message_filter.cc |
@@ -37,6 +37,7 @@ |
#include "extensions/browser/extension_registry.h" |
#include "extensions/browser/guest_view/guest_view_base.h" |
#include "extensions/browser/guest_view/web_view/web_view_renderer_state.h" |
+#include "extensions/common/constants.h" |
#include "extensions/common/extension.h" |
#include "extensions/common/manifest_constants.h" |
#include "extensions/common/manifest_handlers/webview_info.h" |
@@ -158,8 +159,11 @@ bool IsPluginLoadingAccessibleResourceInWebView( |
extension_registry->GetExtensionById(extension_id, |
extensions::ExtensionRegistry::ENABLED); |
const extensions::WebviewInfo* webview_info = |
- static_cast<const extensions::WebviewInfo*>(extension->GetManifestData( |
- extensions::manifest_keys::kWebviewAccessibleResources)); |
+ extension |
+ ? static_cast<const extensions::WebviewInfo*>( |
+ extension->GetManifestData( |
+ extensions::manifest_keys::kWebviewAccessibleResources)) |
+ : nullptr; |
if (!webview_info || |
!webview_info->IsResourceWebviewAccessible(extension, partition_id, |
resource.path())) { |
@@ -417,7 +421,8 @@ void PluginInfoMessageFilter::Context::DecidePluginStatus( |
// If an app has explicitly made internal resources available by listing them |
// in |accessible_resources| in the manifest, then allow them to be loaded by |
// plugins inside a guest-view. |
- if (!is_managed && plugin_setting == CONTENT_SETTING_BLOCK && |
+ if (params.url.SchemeIs(extensions::kExtensionScheme) && !is_managed && |
+ plugin_setting == CONTENT_SETTING_BLOCK && |
IsPluginLoadingAccessibleResourceInWebView( |
extension_registry_, render_process_id_, params.url)) { |
plugin_setting = CONTENT_SETTING_ALLOW; |