--- a/Source/WebKit/UIProcess/API/glib/WebKitWebsitePolicies.cpp
+++ b/Source/WebKit/UIProcess/API/glib/WebKitWebsitePolicies.cpp
@@ -24,6 +24,7 @@
 #include "WebKitEnumTypes.h"
 #include <glib/gi18n-lib.h>
 #include <wtf/glib/WTFGType.h>
+#include <WebCore/AdvancedPrivacyProtections.h>
 
 using namespace WebKit;
 
@@ -46,6 +47,7 @@
 
     PROP_AUTOPLAY_POLICY,
     PROP_CUSTOM_USER_AGENT,
+    PROP_ENABLE_FINGERPRINTING_PROTECTION,
 };
 
 struct _WebKitWebsitePoliciesPrivate {
@@ -55,6 +57,7 @@
     }
     RefPtr<API::WebsitePolicies> websitePolicies;
     CString customUserAgent;
+    bool enableFingerprintingProtection { false };
 };
 
 WEBKIT_DEFINE_FINAL_TYPE(WebKitWebsitePolicies, webkit_website_policies, G_TYPE_OBJECT, GObject)
@@ -75,6 +78,9 @@
     case PROP_CUSTOM_USER_AGENT:
         g_value_set_string(value, webkit_website_policies_get_custom_user_agent(policies));
         break;
+    case PROP_ENABLE_FINGERPRINTING_PROTECTION:
+        g_value_set_boolean(value, webkit_website_policies_get_fingerprinting_protection_enabled(policies));
+        break;
     default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propID, paramSpec);
     }
@@ -109,6 +115,14 @@
         if (const auto* customUserAgent = g_value_get_string(value))
             policies->priv->websitePolicies->setCustomUserAgent(String::fromUTF8(customUserAgent));
         break;
+    case PROP_ENABLE_FINGERPRINTING_PROTECTION:
+        if (g_value_get_boolean(value)) {
+            policies->priv->enableFingerprintingProtection = true;
+            auto existing = policies->priv->websitePolicies->advancedPrivacyProtections();
+            existing.add(WebCore::AdvancedPrivacyProtections::FingerprintingProtections);
+            policies->priv->websitePolicies->setAdvancedPrivacyProtections(existing);
+        }
+        break;
     default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propID, paramSpec);
     }
@@ -154,6 +168,35 @@
             nullptr, nullptr,
             nullptr,
             static_cast<GParamFlags>(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)));
+
+    /**
+     * WebKitWebsitePolicies:enable-fingerprinting-protection: (getter get_fingerprinting_protection_enabled):
+     *
+     * Whether to enable fingerprinting protection for navigations governed by
+     * these #WebKitWebsitePolicies.
+     *
+     * When enabled, JavaScript APIs that would normally expose the actual
+     * screen size will instead report the WebView's own viewport size. This
+     * affects `window.screen.width`, `window.screen.height`,
+     * `window.screen.availWidth`, `window.screen.availHeight`,
+     * `window.screen.availLeft`, `window.screen.availTop`,
+     * `window.outerWidth`, and `window.outerHeight`. `window.innerWidth` and
+     * `window.innerHeight` are unchanged (they already return the viewport).
+     *
+     * This is similar to the protections offered by Tor Browser, and is
+     * intended to make WebView-based applications less identifiable through
+     * screen fingerprinting.
+     *
+     * Since: 2.56
+     */
+    g_object_class_install_property(
+        gObjectClass,
+        PROP_ENABLE_FINGERPRINTING_PROTECTION,
+        g_param_spec_boolean(
+            "enable-fingerprinting-protection",
+            nullptr, nullptr,
+            FALSE,
+            static_cast<GParamFlags>(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)));
 }
 
 /**
@@ -260,3 +303,19 @@
     }
     return policies->priv->customUserAgent.data();
 }
+
+/**
+ * webkit_website_policies_get_fingerprinting_protection_enabled: (get-property enable-fingerprinting-protection):
+ * @policies: a #WebKitWebsitePolicies
+ *
+ * Get the [property@WebsitePolicies:enable-fingerprinting-protection] property.
+ *
+ * Returns: %TRUE if fingerprinting protection is enabled, %FALSE otherwise
+ *
+ * Since: 2.56
+ */
+gboolean webkit_website_policies_get_fingerprinting_protection_enabled(WebKitWebsitePolicies* policies)
+{
+    g_return_val_if_fail(WEBKIT_IS_WEBSITE_POLICIES(policies), FALSE);
+    return policies->priv->enableFingerprintingProtection;
+}

--- a/Source/WebKit/UIProcess/API/glib/WebKitWebsitePolicies.h.in
+++ b/Source/WebKit/UIProcess/API/glib/WebKitWebsitePolicies.h.in
@@ -77,4 +77,7 @@
 WEBKIT_API const gchar *
 webkit_website_policies_get_custom_user_agent                 (WebKitWebsitePolicies *policies);
 
+WEBKIT_API gboolean
+webkit_website_policies_get_fingerprinting_protection_enabled (WebKitWebsitePolicies *policies);
+
 G_END_DECLS
