Browse Source

update origin source

Samuel Attard 7 months ago
parent
commit
d7ff2bf7b7
1 changed files with 23 additions and 16 deletions
  1. 23 16
      shell/browser/electron_permission_manager.cc

+ 23 - 16
shell/browser/electron_permission_manager.cc

@@ -212,13 +212,15 @@ void ElectronPermissionManager::RequestPermissionsWithDetails(
   details.Set("isMainFrame", render_frame_host->GetParent() == nullptr);
   base::Value dict_value(std::move(details));
 
+  url::Origin origin =
+      url::Origin::Create(request_description.requesting_origin);
+
   for (size_t i = 0; i < permissions.size(); ++i) {
     auto permission = permissions[i];
     const auto callback =
         base::BindRepeating(&ElectronPermissionManager::OnPermissionResponse,
                             base::Unretained(this), request_id, i);
-    // TODO: Fix origin
-    on_request_handler_.Run(nullptr, permission, callback, dict_value, render_frame_host->GetLastCommittedOrigin());
+    on_request_handler_.Run(nullptr, permission, callback, dict_value, origin);
   }
 }
 
@@ -264,8 +266,8 @@ blink::mojom::PermissionStatus ElectronPermissionManager::GetPermissionStatus(
     const GURL& embedding_origin) {
   base::Value::Dict details;
   details.Set("embeddingOrigin", embedding_origin.spec());
-  return CheckPermissionWithDetails(permission, url::Origin::Create(effective_origin),
-                                            std::move(details));
+  return CheckPermissionWithDetails(
+      permission, url::Origin::Create(effective_origin), std::move(details));
 }
 
 content::PermissionResult
@@ -291,7 +293,8 @@ void ElectronPermissionManager::CheckBluetoothDevicePair(
   }
 }
 
-blink::mojom::PermissionStatus ElectronPermissionManager::CheckPermissionWithDetails(
+blink::mojom::PermissionStatus
+ElectronPermissionManager::CheckPermissionWithDetails(
     blink::PermissionType permission,
     const url::Origin& effective_origin,
     base::Value::Dict details) const {
@@ -308,20 +311,25 @@ blink::mojom::PermissionStatus ElectronPermissionManager::CheckPermissionWithDet
     default:
       break;
   }
-  return is_granted_handler_.Run(nullptr, permission, effective_origin,
-                            base::Value(std::move(details))).value_or(blink::mojom::PermissionStatus::DENIED);
+  return is_granted_handler_
+      .Run(nullptr, permission, effective_origin,
+           base::Value(std::move(details)))
+      .value_or(blink::mojom::PermissionStatus::DENIED);
 }
 
-blink::mojom::PermissionStatus ElectronPermissionManager::CheckPermissionWithDetailsAndFrame(blink::PermissionType permission,
-                                          const url::Origin& effective_origin,
-                                          content::RenderFrameHost* requesting_frame,
-                                          base::Value::Dict details) const {
+blink::mojom::PermissionStatus
+ElectronPermissionManager::CheckPermissionWithDetailsAndFrame(
+    blink::PermissionType permission,
+    const url::Origin& effective_origin,
+    content::RenderFrameHost* requesting_frame,
+    base::Value::Dict details) const {
   details.Set("isMainFrame", requesting_frame->GetParent() == nullptr);
   details.Set("embeddingOrigin",
               content::PermissionUtil::GetLastCommittedOriginAsURL(
                   requesting_frame->GetMainFrame())
                   .spec());
-  return CheckPermissionWithDetails(permission, effective_origin, std::move(details));
+  return CheckPermissionWithDetails(permission, effective_origin,
+                                    std::move(details));
 }
 
 bool ElectronPermissionManager::CheckDevicePermission(
@@ -383,8 +391,8 @@ ElectronPermissionManager::GetPermissionStatusForCurrentDocument(
 
   base::Value::Dict details;
   return CheckPermissionWithDetailsAndFrame(
-      permission,
-      render_frame_host->GetLastCommittedOrigin(), render_frame_host, std::move(details));
+      permission, render_frame_host->GetLastCommittedOrigin(),
+      render_frame_host, std::move(details));
 }
 
 blink::mojom::PermissionStatus
@@ -405,8 +413,7 @@ ElectronPermissionManager::GetPermissionStatusForEmbeddedRequester(
 
   base::Value::Dict details;
   return CheckPermissionWithDetailsAndFrame(
-      permission, overridden_origin,
-      render_frame_host, std::move(details));
+      permission, overridden_origin, render_frame_host, std::move(details));
 }
 
 ElectronPermissionManager::SubscriptionId