Index: content/browser/permissions/permission_service_impl.cc |
diff --git a/content/browser/permissions/permission_service_impl.cc b/content/browser/permissions/permission_service_impl.cc |
index 686bb31b76543a9297021711b8524a51d9cc71f4..9f550a3420b10da2229dce013ec4a065130ee229 100644 |
--- a/content/browser/permissions/permission_service_impl.cc |
+++ b/content/browser/permissions/permission_service_impl.cc |
@@ -338,11 +338,13 @@ PermissionStatus PermissionServiceImpl::GetPermissionStatusFromType( |
} |
GURL requesting_origin(origin.Serialize()); |
- // If the embedding_origin is empty we'll use |origin| instead. |
- GURL embedding_origin = context_->GetEmbeddingOrigin(); |
- return browser_context->GetPermissionManager()->GetPermissionStatus( |
- type, requesting_origin, |
- embedding_origin.is_empty() ? requesting_origin : embedding_origin); |
+ if (context_->render_frame_host()) { |
+ return browser_context->GetPermissionManager()->GetPermissionStatusForFrame( |
+ type, context_->render_frame_host(), requesting_origin); |
+ } else { |
+ return browser_context->GetPermissionManager() |
+ ->GetPermissionStatusForWorker(type, requesting_origin); |
+ } |
} |
void PermissionServiceImpl::ResetPermissionStatus(PermissionType type, |