SAA: Query for embargoed StorageAccess permissions
Ensure that embargoed permissions are correctly displayed by querying for the embedder and requester origin of blocked permissions. The main change is page_info.cc and chrome_page_info_delegate.cc. Everything else is adding a second parameter to a PermissionManager function that is implemented a dozen times. Bug: 1433644 Change-Id: Ib75b4cc0785764bee9f1c68998233cc62e65e2f6 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4746465 Reviewed-by: Eric Seckler <eseckler@chromium.org> Reviewed-by: Rakina Zata Amni <rakina@chromium.org> Commit-Queue: Christian Dullweber <dullweber@chromium.org> Reviewed-by: Elias Klim <elklm@chromium.org> Reviewed-by: Peter Beverloo <peter@chromium.org> Reviewed-by: Sergey Ulanov <sergeyu@chromium.org> Reviewed-by: Sean Topping <seantopping@chromium.org> Cr-Commit-Position: refs/heads/main@{#1180362}
This commit is contained in:

committed by
Chromium LUCI CQ

parent
498fe62760
commit
a475f4a3c1
android_webview/browser
chrome/browser
geolocation
notifications
ui
chromecast/browser
components
browser_ui
site_settings
android
page_info
permissions
content
browser
notifications
payments
permissions
renderer_host
public
browser
test
shell
web_test
fuchsia_web/webengine/browser
headless/lib/browser
@ -481,9 +481,10 @@ PermissionStatus AwPermissionManager::GetPermissionStatus(
|
||||
content::PermissionResult
|
||||
AwPermissionManager::GetPermissionResultForOriginWithoutContext(
|
||||
blink::PermissionType permission,
|
||||
const url::Origin& origin) {
|
||||
blink::mojom::PermissionStatus status =
|
||||
GetPermissionStatus(permission, origin.GetURL(), origin.GetURL());
|
||||
const url::Origin& requesting_origin,
|
||||
const url::Origin& embedding_origin) {
|
||||
blink::mojom::PermissionStatus status = GetPermissionStatus(
|
||||
permission, requesting_origin.GetURL(), embedding_origin.GetURL());
|
||||
|
||||
return content::PermissionResult(
|
||||
status, content::PermissionStatusSource::UNSPECIFIED);
|
||||
|
@ -64,7 +64,8 @@ class AwPermissionManager : public content::PermissionControllerDelegate {
|
||||
const GURL& embedding_origin) override;
|
||||
content::PermissionResult GetPermissionResultForOriginWithoutContext(
|
||||
blink::PermissionType permission,
|
||||
const url::Origin& origin) override;
|
||||
const url::Origin& requesting_origin,
|
||||
const url::Origin& embedding_origin) override;
|
||||
blink::mojom::PermissionStatus GetPermissionStatusForCurrentDocument(
|
||||
blink::PermissionType permission,
|
||||
content::RenderFrameHost* render_frame_host) override;
|
||||
|
@ -93,7 +93,8 @@ class GeolocationPermissionContextDelegateTests
|
||||
blink::PermissionType permission,
|
||||
const url::Origin& origin) {
|
||||
return PermissionManagerFactory::GetForProfile(profile)
|
||||
->GetPermissionResultForOriginWithoutContext(permission, origin);
|
||||
->GetPermissionResultForOriginWithoutContext(permission, origin,
|
||||
origin);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -52,8 +52,9 @@ class TestingProfileWithPermissionManager : public TestingProfile {
|
||||
// Sets the notification permission status to |permission_status|.
|
||||
void SetNotificationPermissionStatus(
|
||||
blink::mojom::PermissionStatus permission_status) {
|
||||
ON_CALL(*permission_manager_, GetPermissionResultForOriginWithoutContext(
|
||||
blink::PermissionType::NOTIFICATIONS, _))
|
||||
ON_CALL(*permission_manager_,
|
||||
GetPermissionResultForOriginWithoutContext(
|
||||
blink::PermissionType::NOTIFICATIONS, _, _))
|
||||
.WillByDefault(Return(content::PermissionResult(
|
||||
permission_status, content::PermissionStatusSource::UNSPECIFIED)));
|
||||
}
|
||||
|
@ -177,12 +177,19 @@ std::u16string ChromePageInfoDelegate::GetWarningDetailText() {
|
||||
|
||||
permissions::PermissionResult ChromePageInfoDelegate::GetPermissionResult(
|
||||
blink::PermissionType permission,
|
||||
const url::Origin& origin) {
|
||||
content::PermissionResult permission_result =
|
||||
GetProfile()
|
||||
->GetPermissionController()
|
||||
->GetPermissionResultForOriginWithoutContext(permission, origin);
|
||||
return permissions::PermissionUtil::ToPermissionResult(permission_result);
|
||||
const url::Origin& origin,
|
||||
const absl::optional<url::Origin>& requesting_origin) {
|
||||
auto* controller = GetProfile()->GetPermissionController();
|
||||
|
||||
if (requesting_origin.has_value()) {
|
||||
return permissions::PermissionUtil::ToPermissionResult(
|
||||
controller->GetPermissionResultForOriginWithoutContext(
|
||||
permission, *requesting_origin, origin));
|
||||
} else {
|
||||
return permissions::PermissionUtil::ToPermissionResult(
|
||||
controller->GetPermissionResultForOriginWithoutContext(permission,
|
||||
origin));
|
||||
}
|
||||
}
|
||||
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
|
@ -50,7 +50,8 @@ class ChromePageInfoDelegate : public PageInfoDelegate {
|
||||
#endif
|
||||
permissions::PermissionResult GetPermissionResult(
|
||||
blink::PermissionType permission,
|
||||
const url::Origin& origin) override;
|
||||
const url::Origin& origin,
|
||||
const absl::optional<url::Origin>& requesting_origin) override;
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
absl::optional<std::u16string> GetFpsOwner(const GURL& site_url) override;
|
||||
bool IsFpsManaged() override;
|
||||
|
@ -189,9 +189,10 @@ blink::mojom::PermissionStatus CastPermissionManager::GetPermissionStatus(
|
||||
content::PermissionResult
|
||||
CastPermissionManager::GetPermissionResultForOriginWithoutContext(
|
||||
blink::PermissionType permission,
|
||||
const url::Origin& origin) {
|
||||
blink::mojom::PermissionStatus status =
|
||||
GetPermissionStatus(permission, origin.GetURL(), origin.GetURL());
|
||||
const url::Origin& requesting_origin,
|
||||
const url::Origin& embedding_origin) {
|
||||
blink::mojom::PermissionStatus status = GetPermissionStatus(
|
||||
permission, requesting_origin.GetURL(), embedding_origin.GetURL());
|
||||
|
||||
return content::PermissionResult(
|
||||
status, content::PermissionStatusSource::UNSPECIFIED);
|
||||
|
@ -59,7 +59,8 @@ class CastPermissionManager : public content::PermissionControllerDelegate {
|
||||
const GURL& embedding_origin) override;
|
||||
content::PermissionResult GetPermissionResultForOriginWithoutContext(
|
||||
blink::PermissionType permission,
|
||||
const url::Origin& origin) override;
|
||||
const url::Origin& requesting_origin,
|
||||
const url::Origin& embedding_origin) override;
|
||||
blink::mojom::PermissionStatus GetPermissionStatusForCurrentDocument(
|
||||
blink::PermissionType permission,
|
||||
content::RenderFrameHost* render_frame_host) override;
|
||||
|
@ -45,6 +45,7 @@
|
||||
#include "content/public/browser/browser_context.h"
|
||||
#include "content/public/browser/browser_thread.h"
|
||||
#include "content/public/browser/permission_controller.h"
|
||||
#include "content/public/browser/permission_result.h"
|
||||
#include "content/public/browser/storage_partition.h"
|
||||
#include "net/cookies/cookie_util.h"
|
||||
#include "net/extras/shared_dictionary/shared_dictionary_isolation_key.h"
|
||||
@ -222,14 +223,14 @@ ContentSetting GetPermissionSettingForOrigin(
|
||||
BrowserContext* browser_context = unwrap(jbrowser_context_handle);
|
||||
content::PermissionController* permission_controller =
|
||||
browser_context->GetPermissionController();
|
||||
blink::mojom::PermissionStatus status =
|
||||
permission_controller->GetPermissionStatusForOriginWithoutContext(
|
||||
content::PermissionResult result =
|
||||
permission_controller->GetPermissionResultForOriginWithoutContext(
|
||||
permissions::PermissionUtil::ContentSettingTypeToPermissionType(
|
||||
content_type),
|
||||
url::Origin::Create(requesting_origin),
|
||||
url::Origin::Create(embedding_origin));
|
||||
return permissions::PermissionUtil::PermissionStatusToContentSetting(
|
||||
status);
|
||||
result.status);
|
||||
} else {
|
||||
// If `content_type` is not permission, then we can directly read its value
|
||||
// from `HostContentSettingsMap`.
|
||||
|
@ -1204,7 +1204,7 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
|
||||
permission_result = delegate_->GetPermissionResult(
|
||||
permissions::PermissionUtil::ContentSettingTypeToPermissionType(
|
||||
permission_info.type),
|
||||
url::Origin::Create(site_url_));
|
||||
url::Origin::Create(site_url_), permission_info.requesting_origin);
|
||||
} else if (permission_info.type ==
|
||||
ContentSettingsType::FEDERATED_IDENTITY_API) {
|
||||
absl::optional<permissions::PermissionResult> embargo_result =
|
||||
|
@ -16,6 +16,7 @@
|
||||
#include "components/safe_browsing/buildflags.h"
|
||||
#include "components/safe_browsing/core/browser/password_protection/metrics_util.h"
|
||||
#include "components/security_state/core/security_state.h"
|
||||
#include "third_party/abseil-cpp/absl/types/optional.h"
|
||||
|
||||
namespace blink {
|
||||
enum class PermissionType;
|
||||
@ -64,7 +65,8 @@ class PageInfoDelegate {
|
||||
// type |type|.
|
||||
virtual permissions::PermissionResult GetPermissionResult(
|
||||
blink::PermissionType permission,
|
||||
const url::Origin& origin) = 0;
|
||||
const url::Origin& origin,
|
||||
const absl::optional<url::Origin>& requesting_origin) = 0;
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
// Returns absl::nullopt if `site_url` is not recognised as a member of any
|
||||
// FPS or if FPS functionality is not allowed .
|
||||
|
@ -349,12 +349,14 @@ PermissionStatus PermissionManager::GetPermissionStatus(
|
||||
content::PermissionResult
|
||||
PermissionManager::GetPermissionResultForOriginWithoutContext(
|
||||
blink::PermissionType permission,
|
||||
const url::Origin& origin) {
|
||||
const url::Origin& requesting_origin,
|
||||
const url::Origin& embedding_origin) {
|
||||
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
||||
PermissionResult result = GetPermissionStatusInternal(
|
||||
PermissionUtil::PermissionTypeToContentSettingType(permission),
|
||||
/*render_process_host=*/nullptr,
|
||||
/*render_frame_host=*/nullptr, origin.GetURL(), origin.GetURL());
|
||||
/*render_frame_host=*/nullptr, requesting_origin.GetURL(),
|
||||
embedding_origin.GetURL());
|
||||
|
||||
return PermissionUtil::ToContentPermissionResult(result);
|
||||
}
|
||||
|
@ -135,7 +135,8 @@ class PermissionManager : public KeyedService,
|
||||
const GURL& embedding_origin) override;
|
||||
content::PermissionResult GetPermissionResultForOriginWithoutContext(
|
||||
blink::PermissionType permission,
|
||||
const url::Origin& origin) override;
|
||||
const url::Origin& requesting_origin,
|
||||
const url::Origin& embedding_origin) override;
|
||||
blink::mojom::PermissionStatus GetPermissionStatusForCurrentDocument(
|
||||
blink::PermissionType permission,
|
||||
content::RenderFrameHost* render_frame_host) override;
|
||||
|
@ -98,7 +98,8 @@ class PermissionManagerTest : public content::RenderViewHostTestHarness {
|
||||
void CheckPermissionStatus(PermissionType type, PermissionStatus expected) {
|
||||
EXPECT_EQ(expected, GetPermissionManager()
|
||||
->GetPermissionResultForOriginWithoutContext(
|
||||
type, url::Origin::Create(url_))
|
||||
type, url::Origin::Create(url_),
|
||||
url::Origin::Create(url_))
|
||||
.status);
|
||||
}
|
||||
|
||||
@ -108,7 +109,7 @@ class PermissionManagerTest : public content::RenderViewHostTestHarness {
|
||||
content::PermissionStatusSource expected_status_source) {
|
||||
content::PermissionResult result =
|
||||
GetPermissionManager()->GetPermissionResultForOriginWithoutContext(
|
||||
type, url::Origin::Create(url_));
|
||||
type, url::Origin::Create(url_), url::Origin::Create(url_));
|
||||
EXPECT_EQ(expected_status, result.status);
|
||||
EXPECT_EQ(expected_status_source, result.source);
|
||||
}
|
||||
|
@ -212,9 +212,10 @@ class PlatformNotificationContextTest : public ::testing::Test {
|
||||
|
||||
void SetPermissionStatus(const GURL& origin,
|
||||
blink::mojom::PermissionStatus permission_status) {
|
||||
ON_CALL(*permission_manager_, GetPermissionResultForOriginWithoutContext(
|
||||
blink::PermissionType::NOTIFICATIONS,
|
||||
url::Origin::Create(origin)))
|
||||
ON_CALL(*permission_manager_,
|
||||
GetPermissionResultForOriginWithoutContext(
|
||||
blink::PermissionType::NOTIFICATIONS,
|
||||
url::Origin::Create(origin), url::Origin::Create(origin)))
|
||||
.WillByDefault(Return(content::PermissionResult(
|
||||
permission_status, PermissionStatusSource::UNSPECIFIED)));
|
||||
}
|
||||
|
@ -74,7 +74,7 @@ class PaymentAppProviderTest : public PaymentAppContentUnitTestBase {
|
||||
new testing::NiceMock<MockPermissionManager>());
|
||||
ON_CALL(*mock_permission_manager,
|
||||
GetPermissionResultForOriginWithoutContext(
|
||||
blink::PermissionType::PAYMENT_HANDLER, testing::_))
|
||||
blink::PermissionType::PAYMENT_HANDLER, testing::_, testing::_))
|
||||
.WillByDefault(testing::Return(
|
||||
PermissionResult(blink::mojom::PermissionStatus::GRANTED,
|
||||
PermissionStatusSource::UNSPECIFIED)));
|
||||
|
@ -578,28 +578,29 @@ PermissionResult
|
||||
PermissionControllerImpl::GetPermissionResultForOriginWithoutContext(
|
||||
PermissionType permission,
|
||||
const url::Origin& origin) {
|
||||
absl::optional<blink::mojom::PermissionStatus> status =
|
||||
permission_overrides_.Get(origin, permission);
|
||||
if (status)
|
||||
return PermissionResult(*status, PermissionStatusSource::UNSPECIFIED);
|
||||
|
||||
PermissionControllerDelegate* delegate =
|
||||
browser_context_->GetPermissionControllerDelegate();
|
||||
if (!delegate)
|
||||
return PermissionResult(blink::mojom::PermissionStatus::DENIED,
|
||||
PermissionStatusSource::UNSPECIFIED);
|
||||
|
||||
return delegate->GetPermissionResultForOriginWithoutContext(permission,
|
||||
origin);
|
||||
return GetPermissionResultForOriginWithoutContext(permission, origin, origin);
|
||||
}
|
||||
|
||||
blink::mojom::PermissionStatus
|
||||
PermissionControllerImpl::GetPermissionStatusForOriginWithoutContext(
|
||||
PermissionResult
|
||||
PermissionControllerImpl::GetPermissionResultForOriginWithoutContext(
|
||||
PermissionType permission,
|
||||
const url::Origin& requesting_origin,
|
||||
const url::Origin& embedding_origin) {
|
||||
return GetPermissionStatusInternal(permission, requesting_origin.GetURL(),
|
||||
embedding_origin.GetURL());
|
||||
absl::optional<blink::mojom::PermissionStatus> status =
|
||||
permission_overrides_.Get(requesting_origin, permission);
|
||||
if (status) {
|
||||
return PermissionResult(*status, PermissionStatusSource::UNSPECIFIED);
|
||||
}
|
||||
|
||||
PermissionControllerDelegate* delegate =
|
||||
browser_context_->GetPermissionControllerDelegate();
|
||||
if (!delegate) {
|
||||
return PermissionResult(blink::mojom::PermissionStatus::DENIED,
|
||||
PermissionStatusSource::UNSPECIFIED);
|
||||
}
|
||||
|
||||
return delegate->GetPermissionResultForOriginWithoutContext(
|
||||
permission, requesting_origin, embedding_origin);
|
||||
}
|
||||
|
||||
blink::mojom::PermissionStatus
|
||||
|
@ -135,7 +135,7 @@ class CONTENT_EXPORT PermissionControllerImpl : public PermissionController {
|
||||
PermissionResult GetPermissionResultForOriginWithoutContext(
|
||||
PermissionType permission,
|
||||
const url::Origin& origin) override;
|
||||
blink::mojom::PermissionStatus GetPermissionStatusForOriginWithoutContext(
|
||||
PermissionResult GetPermissionResultForOriginWithoutContext(
|
||||
blink::PermissionType permission,
|
||||
const url::Origin& requesting_origin,
|
||||
const url::Origin& embedding_origin) override;
|
||||
|
@ -166,8 +166,8 @@ class PendingBeaconHostTestBase : public RenderViewHostTestHarness {
|
||||
browser_context()->GetPermissionControllerDelegate());
|
||||
|
||||
ON_CALL(*mock_permission_manager,
|
||||
GetPermissionResultForOriginWithoutContext(permission_type,
|
||||
::testing::_))
|
||||
GetPermissionResultForOriginWithoutContext(
|
||||
permission_type, ::testing::_, ::testing::_))
|
||||
.WillByDefault(::testing::Return(PermissionResult(
|
||||
permission_status, PermissionStatusSource::UNSPECIFIED)));
|
||||
}
|
||||
|
@ -68,9 +68,8 @@ class CONTENT_EXPORT PermissionController
|
||||
|
||||
// The method does the same as `GetPermissionResultForOriginWithoutContext`
|
||||
// but it can be used for `PermissionType` that are keyed on a combination of
|
||||
// requesting and embedding origins, e.g., Notifications.
|
||||
virtual blink::mojom::PermissionStatus
|
||||
GetPermissionStatusForOriginWithoutContext(
|
||||
// requesting and embedding origins, e.g., Notifications or StorageAccess.
|
||||
virtual PermissionResult GetPermissionResultForOriginWithoutContext(
|
||||
blink::PermissionType permission,
|
||||
const url::Origin& requesting_origin,
|
||||
const url::Origin& embedding_origin) = 0;
|
||||
|
@ -82,7 +82,8 @@ class CONTENT_EXPORT PermissionControllerDelegate {
|
||||
|
||||
virtual PermissionResult GetPermissionResultForOriginWithoutContext(
|
||||
blink::PermissionType permission,
|
||||
const url::Origin& origin) = 0;
|
||||
const url::Origin& requesting_origin,
|
||||
const url::Origin& embedding_origin) = 0;
|
||||
|
||||
// Returns the permission status for the current document in the given
|
||||
// RenderFrameHost. Use this over `GetPermissionStatus` whenever possible as
|
||||
|
@ -45,11 +45,10 @@ class MockPermissionController : public PermissionController {
|
||||
MOCK_METHOD2(GetPermissionResultForOriginWithoutContext,
|
||||
content::PermissionResult(blink::PermissionType permission,
|
||||
const url::Origin& requesting_origin));
|
||||
MOCK_METHOD3(
|
||||
GetPermissionStatusForOriginWithoutContext,
|
||||
blink::mojom::PermissionStatus(blink::PermissionType permission,
|
||||
const url::Origin& requesting_origin,
|
||||
const url::Origin& embedding_origin));
|
||||
MOCK_METHOD3(GetPermissionResultForOriginWithoutContext,
|
||||
content::PermissionResult(blink::PermissionType permission,
|
||||
const url::Origin& requesting_origin,
|
||||
const url::Origin& embedding_origin));
|
||||
MOCK_METHOD3(
|
||||
GetPermissionStatusForEmbeddedRequester,
|
||||
blink::mojom::PermissionStatus(blink::PermissionType permission,
|
||||
|
@ -32,9 +32,10 @@ class MockPermissionManager : public PermissionControllerDelegate {
|
||||
blink::mojom::PermissionStatus(blink::PermissionType permission,
|
||||
const GURL& requesting_origin,
|
||||
const GURL& embedding_origin));
|
||||
MOCK_METHOD2(GetPermissionResultForOriginWithoutContext,
|
||||
MOCK_METHOD3(GetPermissionResultForOriginWithoutContext,
|
||||
content::PermissionResult(blink::PermissionType permission,
|
||||
const url::Origin& origin));
|
||||
const url::Origin& requesting_origin,
|
||||
const url::Origin& embedding_origin));
|
||||
MOCK_METHOD2(GetPermissionStatusForCurrentDocument,
|
||||
blink::mojom::PermissionStatus(
|
||||
blink::PermissionType permission,
|
||||
|
@ -161,9 +161,10 @@ blink::mojom::PermissionStatus ShellPermissionManager::GetPermissionStatus(
|
||||
PermissionResult
|
||||
ShellPermissionManager::GetPermissionResultForOriginWithoutContext(
|
||||
blink::PermissionType permission,
|
||||
const url::Origin& origin) {
|
||||
blink::mojom::PermissionStatus status =
|
||||
GetPermissionStatus(permission, origin.GetURL(), origin.GetURL());
|
||||
const url::Origin& requesting_origin,
|
||||
const url::Origin& embedding_origin) {
|
||||
blink::mojom::PermissionStatus status = GetPermissionStatus(
|
||||
permission, requesting_origin.GetURL(), embedding_origin.GetURL());
|
||||
|
||||
return PermissionResult(status, content::PermissionStatusSource::UNSPECIFIED);
|
||||
}
|
||||
|
@ -56,7 +56,8 @@ class ShellPermissionManager : public PermissionControllerDelegate {
|
||||
const GURL& embedding_origin) override;
|
||||
PermissionResult GetPermissionResultForOriginWithoutContext(
|
||||
blink::PermissionType permission,
|
||||
const url::Origin& origin) override;
|
||||
const url::Origin& requesting_origin,
|
||||
const url::Origin& embedding_origin) override;
|
||||
blink::mojom::PermissionStatus GetPermissionStatusForCurrentDocument(
|
||||
blink::PermissionType permission,
|
||||
content::RenderFrameHost* render_frame_host) override;
|
||||
|
@ -250,9 +250,10 @@ blink::mojom::PermissionStatus WebTestPermissionManager::GetPermissionStatus(
|
||||
PermissionResult
|
||||
WebTestPermissionManager::GetPermissionResultForOriginWithoutContext(
|
||||
blink::PermissionType permission,
|
||||
const url::Origin& origin) {
|
||||
blink::mojom::PermissionStatus status =
|
||||
GetPermissionStatus(permission, origin.GetURL(), origin.GetURL());
|
||||
const url::Origin& requesting_origin,
|
||||
const url::Origin& embedding_origin) {
|
||||
blink::mojom::PermissionStatus status = GetPermissionStatus(
|
||||
permission, requesting_origin.GetURL(), embedding_origin.GetURL());
|
||||
|
||||
return PermissionResult(status, content::PermissionStatusSource::UNSPECIFIED);
|
||||
}
|
||||
|
@ -69,7 +69,8 @@ class WebTestPermissionManager
|
||||
const GURL& embedding_origin) override;
|
||||
PermissionResult GetPermissionResultForOriginWithoutContext(
|
||||
blink::PermissionType permission,
|
||||
const url::Origin& origin) override;
|
||||
const url::Origin& requesting_origin,
|
||||
const url::Origin& embedding_origin) override;
|
||||
blink::mojom::PermissionStatus GetPermissionStatusForCurrentDocument(
|
||||
blink::PermissionType permission,
|
||||
content::RenderFrameHost* render_frame_host) override;
|
||||
|
@ -87,9 +87,10 @@ blink::mojom::PermissionStatus WebEnginePermissionDelegate::GetPermissionStatus(
|
||||
content::PermissionResult
|
||||
WebEnginePermissionDelegate::GetPermissionResultForOriginWithoutContext(
|
||||
blink::PermissionType permission,
|
||||
const url::Origin& origin) {
|
||||
blink::mojom::PermissionStatus status =
|
||||
GetPermissionStatus(permission, origin.GetURL(), origin.GetURL());
|
||||
const url::Origin& requesting_origin,
|
||||
const url::Origin& embedding_origin) {
|
||||
blink::mojom::PermissionStatus status = GetPermissionStatus(
|
||||
permission, requesting_origin.GetURL(), embedding_origin.GetURL());
|
||||
|
||||
return content::PermissionResult(
|
||||
status, content::PermissionStatusSource::UNSPECIFIED);
|
||||
|
@ -56,7 +56,8 @@ class WebEnginePermissionDelegate
|
||||
const GURL& embedding_origin) override;
|
||||
content::PermissionResult GetPermissionResultForOriginWithoutContext(
|
||||
blink::PermissionType permission,
|
||||
const url::Origin& origin) override;
|
||||
const url::Origin& requesting_origin,
|
||||
const url::Origin& embedding_origin) override;
|
||||
blink::mojom::PermissionStatus GetPermissionStatusForCurrentDocument(
|
||||
blink::PermissionType permission,
|
||||
content::RenderFrameHost* render_frame_host) override;
|
||||
|
@ -80,9 +80,10 @@ blink::mojom::PermissionStatus HeadlessPermissionManager::GetPermissionStatus(
|
||||
content::PermissionResult
|
||||
HeadlessPermissionManager::GetPermissionResultForOriginWithoutContext(
|
||||
blink::PermissionType permission,
|
||||
const url::Origin& origin) {
|
||||
blink::mojom::PermissionStatus status =
|
||||
GetPermissionStatus(permission, origin.GetURL(), origin.GetURL());
|
||||
const url::Origin& requesting_origin,
|
||||
const url::Origin& embedding_origin) {
|
||||
blink::mojom::PermissionStatus status = GetPermissionStatus(
|
||||
permission, requesting_origin.GetURL(), embedding_origin.GetURL());
|
||||
|
||||
return content::PermissionResult(
|
||||
status, content::PermissionStatusSource::UNSPECIFIED);
|
||||
|
@ -62,7 +62,8 @@ class HeadlessPermissionManager : public content::PermissionControllerDelegate {
|
||||
const GURL& embedding_origin) override;
|
||||
content::PermissionResult GetPermissionResultForOriginWithoutContext(
|
||||
blink::PermissionType permission,
|
||||
const url::Origin& origin) override;
|
||||
const url::Origin& requesting_origin,
|
||||
const url::Origin& embedding_origin) override;
|
||||
blink::mojom::PermissionStatus GetPermissionStatusForCurrentDocument(
|
||||
blink::PermissionType permission,
|
||||
content::RenderFrameHost* render_frame_host) override;
|
||||
|
Reference in New Issue
Block a user