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

Unified Diff: chrome/browser/content_settings/permission_context_base.cc

Issue 1153873003: Add way for PermissionContext to be automatically restricted to secure origins. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@midi_permission_sysex
Patch Set: Created 5 years, 7 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
Index: chrome/browser/content_settings/permission_context_base.cc
diff --git a/chrome/browser/content_settings/permission_context_base.cc b/chrome/browser/content_settings/permission_context_base.cc
index d4d5322e4649b89fc745f74b43849acde32dcae8..3eb184f35c351f1ab3a27031d3f3bf1986ca1b50 100644
--- a/chrome/browser/content_settings/permission_context_base.cc
+++ b/chrome/browser/content_settings/permission_context_base.cc
@@ -17,6 +17,7 @@
#include "components/content_settings/core/common/permission_request_id.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/web_contents.h"
+#include "content/public/common/origin_util.h"
PermissionContextBase::PermissionContextBase(
Profile* profile,
@@ -51,6 +52,9 @@ void PermissionContextBase::RequestPermission(
ContentSetting PermissionContextBase::GetPermissionStatus(
const GURL& requesting_origin,
const GURL& embedding_origin) const {
+ if (RestrictToSecureOrigins() && !content::IsOriginSecure(requesting_origin))
+ return CONTENT_SETTING_BLOCK;
+
return profile_->GetHostContentSettingsMap()->GetContentSetting(
requesting_origin, embedding_origin, permission_type_, std::string());
}
@@ -104,6 +108,13 @@ void PermissionContextBase::DecidePermission(
return;
}
+ if (RestrictToSecureOrigins() &&
+ !content::IsOriginSecure(requesting_origin)) {
+ NotifyPermissionSet(id, requesting_origin, embedding_origin, callback,
+ false /* persist */, CONTENT_SETTING_BLOCK);
+ return;
+ }
+
ContentSetting content_setting =
profile_->GetHostContentSettingsMap()
->GetContentSettingAndMaybeUpdateLastUsage(

Powered by Google App Engine
This is Rietveld 408576698