| Index: chrome/browser/permissions/permission_context_base.cc
|
| diff --git a/chrome/browser/permissions/permission_context_base.cc b/chrome/browser/permissions/permission_context_base.cc
|
| index 776322302c31e92852741a3b92d17d648e41a30b..0e5ac6a0873f5bbfcc05b2bc236ff69f23734567 100644
|
| --- a/chrome/browser/permissions/permission_context_base.cc
|
| +++ b/chrome/browser/permissions/permission_context_base.cc
|
| @@ -225,10 +225,15 @@ PermissionResult PermissionContextBase::GetPermissionStatus(
|
| PermissionStatusSource::KILL_SWITCH);
|
| }
|
|
|
| - if (IsRestrictedToSecureOrigins() &&
|
| - !content::IsOriginSecure(requesting_origin)) {
|
| - return PermissionResult(CONTENT_SETTING_BLOCK,
|
| - PermissionStatusSource::UNSPECIFIED);
|
| + if (IsRestrictedToSecureOrigins()) {
|
| + // TODO(raymes): We should check the entire chain of embedders here whenever
|
| + // possible as this corresponds to the requirements of the secure contexts
|
| + // spec and matches what is implemented in blink.
|
| + if (!content::IsOriginSecure(requesting_origin) ||
|
| + !content::IsOriginSecure(embedding_origin)) {
|
| + return PermissionResult(CONTENT_SETTING_BLOCK,
|
| + PermissionStatusSource::UNSPECIFIED);
|
| + }
|
| }
|
|
|
| ContentSetting content_setting = GetPermissionStatusInternal(
|
|
|