| 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
|
|
|