summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/permission_manager_qt.cpp19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/core/permission_manager_qt.cpp b/src/core/permission_manager_qt.cpp
index 502f4deb9..7a7f24b67 100644
--- a/src/core/permission_manager_qt.cpp
+++ b/src/core/permission_manager_qt.cpp
@@ -469,8 +469,15 @@ QList<QWebEnginePermission> PermissionManagerQt::listPermissions(
Q_ASSERT(origin.isEmpty() || permissionType == QWebEnginePermission::PermissionType::Unsupported);
QList<QWebEnginePermission> returnList;
- const GURL gorigin = toGurl(origin).DeprecatedGetOriginAsURL();
- const std::string originSpec = gorigin.spec();
+ const GURL gorigin = toGurl(origin);
+ std::string originString = url::Origin::Create(gorigin).Serialize();
+
+ if (originString == "null") {
+ // Origin::Serialize() returns "null" for empty URLs.
+ // Set originString to empty string so we don't have to do
+ // string comparisons for every permission in the loop below.
+ originString.clear();
+ }
if (!origin.isEmpty() && !gorigin.is_valid())
return returnList;
@@ -495,7 +502,7 @@ QList<QWebEnginePermission> PermissionManagerQt::listPermissions(
Q_ASSERT(prefDict);
for (auto &&entry : *prefDict) {
- if (!originSpec.empty() && entry.first != originSpec)
+ if (!originString.empty() && entry.first != originString)
continue;
auto *pvt = new QWebEnginePermissionPrivate(
@@ -695,7 +702,7 @@ blink::mojom::PermissionStatus PermissionManagerQt::GetPermissionStatus(
const auto *permissionsDict = pref->GetValue()->GetIfDict();
Q_ASSERT(permissionsDict);
- const auto requestedPermission = permissionsDict->FindBool(requesting_origin.DeprecatedGetOriginAsURL().spec());
+ const auto requestedPermission = permissionsDict->FindBool(url::Origin::Create(requesting_origin).Serialize());
if (!requestedPermission)
return blink::mojom::PermissionStatus::ASK; // Origin is not in the current permission type's database
@@ -790,7 +797,7 @@ void PermissionManagerQt::ResetPermission(
return;
ScopedDictPrefUpdate updater(m_prefService.get(), permissionTypeString(permissionType));
- updater.Get().Remove(requesting_origin.spec());
+ updater.Get().Remove(url::Origin::Create(requesting_origin).Serialize());
}
blink::mojom::PermissionStatus PermissionManagerQt::getTransientPermissionStatus(
@@ -829,7 +836,7 @@ void PermissionManagerQt::setPersistentPermission(
return;
ScopedDictPrefUpdate updater(m_prefService.get(), permissionTypeString(permissionTypeQt));
- updater.Get().Set(requesting_origin.spec(), granted);
+ updater.Get().Set(url::Origin::Create(requesting_origin).Serialize(), granted);
m_prefService->SchedulePendingLossyWrites();
}