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

Unified Diff: chrome/browser/plugins/plugin_utils.cc

Issue 2945243002: Permissions: Allow PermissionManager to return more PermissionStatusSources.
Patch Set: Cleanup. Created 3 years, 6 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
« no previous file with comments | « chrome/browser/plugins/plugin_utils.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « chrome/browser/plugins/plugin_utils.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698