Add API to verify `TOP_LEVEL_STORAGE_ACCESS` permission status

This CL adds a new API `GetPermissionStatusForEmbeddedRequester()` into `PermissionControllerDelegate`. The API is needed for `PermissionType::TOP_LEVEL_STORAGE_ACCESS` to allow a top frame to verify permission on behalf of embedded cross-origin iframes.

Bug: 1421772,1414468
Change-Id: I048ca47ebaa86d7a419883d69241fb78d02b2a59
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4306712
Reviewed-by: Peter Beverloo <[email protected]>
Reviewed-by: Wez <[email protected]>
Commit-Queue: Elias Klim <[email protected]>
Reviewed-by: Sean Topping <[email protected]>
Reviewed-by: Andy Paicu <[email protected]>
Reviewed-by: Avi Drissman <[email protected]>
Reviewed-by: Andrey Kosyakov <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1118289}
diff --git a/components/permissions/permission_manager.h b/components/permissions/permission_manager.h
index 07fc7fa..c7a0b11 100644
--- a/components/permissions/permission_manager.h
+++ b/components/permissions/permission_manager.h
@@ -145,6 +145,10 @@
       blink::PermissionType permission,
       content::RenderProcessHost* render_process_host,
       const GURL& worker_origin) override;
+  blink::mojom::PermissionStatus GetPermissionStatusForEmbeddedRequester(
+      blink::PermissionType permission,
+      content::RenderFrameHost* render_frame_host,
+      const url::Origin& requesting_origin) override;
   bool IsPermissionOverridable(
       blink::PermissionType permission,
       const absl::optional<url::Origin>& origin) override;