Index: chrome/browser/plugins/plugin_utils.cc |
diff --git a/chrome/browser/plugins/plugin_utils.cc b/chrome/browser/plugins/plugin_utils.cc |
index 966da49505a26b89f07545222b81d52149460aa5..391f35e8804a6ea3450b3d1f2e88bddfc94c4ee1 100644 |
--- a/chrome/browser/plugins/plugin_utils.cc |
+++ b/chrome/browser/plugins/plugin_utils.cc |
@@ -5,6 +5,8 @@ |
#include "chrome/browser/plugins/plugin_utils.h" |
#include "base/values.h" |
+#include "chrome/browser/permissions/permission_result.h" |
+#include "chrome/browser/permissions/permission_util.h" |
#include "chrome/common/chrome_features.h" |
#include "chrome/common/plugin_utils.h" |
#include "components/content_settings/core/browser/host_content_settings_map.h" |
@@ -23,7 +25,7 @@ void GetPluginContentSettingInternal( |
const url::Origin& main_frame_origin, |
const GURL& plugin_url, |
const std::string& resource, |
- ContentSetting* setting, |
+ PermissionResult* permission_result, |
bool* uses_default_content_setting, |
bool* is_managed) { |
GURL main_frame_url = main_frame_origin.GetURL(); |
@@ -58,7 +60,10 @@ void GetPluginContentSettingInternal( |
info = general_info; |
} |
} |
- *setting = content_settings::ValueToContentSetting(value.get()); |
+ permission_result->content_setting = |
+ content_settings::ValueToContentSetting(value.get()); |
+ permission_result->source = |
+ PermissionUtil::ConvertSettingSourceToPermissionStatusSource(info.source); |
if (uses_default_content_setting) { |
*uses_default_content_setting = |
!uses_plugin_specific_setting && |
@@ -70,10 +75,11 @@ void GetPluginContentSettingInternal( |
// For non-JavaScript treated plugins (Flash): unless the user has explicitly |
// ALLOWed plugins, return BLOCK for any non-HTTP and non-FILE origin. |
- if (!use_javascript_setting && *setting != CONTENT_SETTING_ALLOW && |
+ if (!use_javascript_setting && |
+ permission_result->content_setting != CONTENT_SETTING_ALLOW && |
PluginUtils::ShouldPreferHtmlOverPlugins(host_content_settings_map) && |
!main_frame_url.SchemeIsHTTPOrHTTPS() && !main_frame_url.SchemeIsFile()) { |
- *setting = CONTENT_SETTING_BLOCK; |
+ permission_result->content_setting = CONTENT_SETTING_BLOCK; |
} |
} |
@@ -86,27 +92,28 @@ void PluginUtils::GetPluginContentSetting( |
const url::Origin& main_frame_origin, |
const GURL& plugin_url, |
const std::string& resource, |
- ContentSetting* setting, |
+ PermissionResult* permission_result, |
bool* uses_default_content_setting, |
bool* is_managed) { |
GetPluginContentSettingInternal( |
host_content_settings_map, ShouldUseJavaScriptSettingForPlugin(plugin), |
- main_frame_origin, plugin_url, resource, setting, |
+ main_frame_origin, plugin_url, resource, permission_result, |
uses_default_content_setting, is_managed); |
} |
// static |
-ContentSetting PluginUtils::GetFlashPluginContentSetting( |
+PermissionResult PluginUtils::GetFlashPluginContentSetting( |
const HostContentSettingsMap* host_content_settings_map, |
const url::Origin& main_frame_origin, |
const GURL& plugin_url, |
bool* is_managed) { |
- ContentSetting plugin_setting = CONTENT_SETTING_DEFAULT; |
+ PermissionResult result = PermissionResult( |
+ CONTENT_SETTING_DEFAULT, PermissionStatusSource::UNSPECIFIED); |
GetPluginContentSettingInternal(host_content_settings_map, |
false /* use_javascript_setting */, |
main_frame_origin, plugin_url, kFlashPluginID, |
- &plugin_setting, nullptr, is_managed); |
- return plugin_setting; |
+ &result, nullptr, is_managed); |
+ return result; |
} |
// static |