diff -urp webkitgtk-2.51.90.atk/Source/cmake/OptionsGTK.cmake webkitgtk-2.51.90.gcrypt/Source/cmake/OptionsGTK.cmake
--- webkitgtk-2.51.90.atk/Source/cmake/OptionsGTK.cmake	2026-01-28 03:09:12.968315108 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/cmake/OptionsGTK.cmake	2026-01-28 19:30:30.073679671 -0600
@@ -10,7 +10,7 @@ set(USER_AGENT_BRANDING "" CACHE STRING
 # Update Source/WTF/wtf/Platform.h to match required GLib versions.
 find_package(GLib 2.48.2 REQUIRED COMPONENTS GioUnix Thread Module)
 find_package(Cairo 1.15.2 REQUIRED)
-find_package(LibGcrypt 1.7.0 REQUIRED)
+find_package(LibGcrypt 1.6.0 REQUIRED)
 find_package(Tasn1 REQUIRED)
 find_package(HarfBuzz 1.4.5 REQUIRED COMPONENTS ICU)
 find_package(ICU 52.1 REQUIRED COMPONENTS data i18n uc)
@@ -109,6 +109,7 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_PDFJS PUBLIC ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SPELLCHECK PUBLIC ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_TOUCH_EVENTS PUBLIC ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_CRYPTO PUBLIC ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEBDRIVER PUBLIC ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SPEECH_SYNTHESIS PUBLIC ON)
 
@@ -317,6 +318,16 @@ if (ENABLE_DOCUMENTATION AND NOT GIDocge
     message(FATAL_ERROR "gi-docgen is needed for ENABLE_DOCUMENTATION.")
 endif ()
 
+if (ENABLE_WEB_CRYPTO)
+    find_package(Libtasn1 REQUIRED)
+    if (NOT LIBTASN1_FOUND)
+        message(FATAL_ERROR "libtasn1 is required to enable Web Crypto API support.")
+    endif ()
+    if (LibGcrypt_VERSION VERSION_LESS 1.7.0)
+        message(FATAL_ERROR "libgcrypt 1.7.0 is required to enable Web Crypto API support.")
+    endif ()
+endif ()
+
 if (ENABLE_WEBDRIVER)
     SET_AND_EXPOSE_TO_BUILD(ENABLE_WEBDRIVER_KEYBOARD_INTERACTIONS ON)
     SET_AND_EXPOSE_TO_BUILD(ENABLE_WEBDRIVER_MOUSE_INTERACTIONS ON)
diff -urp webkitgtk-2.51.90.atk/Source/cmake/WebKitFeatures.cmake webkitgtk-2.51.90.gcrypt/Source/cmake/WebKitFeatures.cmake
--- webkitgtk-2.51.90.atk/Source/cmake/WebKitFeatures.cmake	2026-01-26 13:24:51.435385590 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/cmake/WebKitFeatures.cmake	2026-01-28 19:30:30.074679690 -0600
@@ -249,6 +249,7 @@ macro(WEBKIT_OPTION_BEGIN)
     WEBKIT_OPTION_DEFINE(ENABLE_WEB_AUDIO "Toggle Web Audio support" PRIVATE ON)
     WEBKIT_OPTION_DEFINE(ENABLE_WEB_AUTHN "Toggle Web AuthN support" PRIVATE OFF)
     WEBKIT_OPTION_DEFINE(ENABLE_WEB_CODECS "Toggle WebCodecs support" PRIVATE OFF)
+    WEBKIT_OPTION_DEFINE(ENABLE_WEB_CRYPTO "Toggle WebCrypto Subtle-Crypto support" PRIVATE ON)
     WEBKIT_OPTION_DEFINE(ENABLE_WEB_RTC "Toggle WebRTC support" PRIVATE OFF)
     WEBKIT_OPTION_DEFINE(ENABLE_WIRELESS_PLAYBACK_TARGET "Toggle wireless playback target support" PRIVATE OFF)
     WEBKIT_OPTION_DEFINE(ENABLE_WK_WEB_EXTENSIONS "Toggle WebExtensions support" PRIVATE OFF)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/bindings/js/SerializedScriptValue.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/bindings/js/SerializedScriptValue.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/bindings/js/SerializedScriptValue.cpp	2026-01-23 02:35:25.359464200 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/bindings/js/SerializedScriptValue.cpp	2026-01-28 19:31:17.078597543 -0600
@@ -205,7 +205,9 @@ enum SerializationTag {
     MapObjectTag = 30,
     NonMapPropertiesTag = 31,
     NonSetPropertiesTag = 32,
+#if ENABLE(WEB_CRYPTO)
     CryptoKeyTag = 33,
+#endif
     SharedArrayBufferTag = 34,
 #if ENABLE(WEBASSEMBLY)
     WasmModuleTag = 35,
@@ -312,7 +314,9 @@ static ASCIILiteral name(SerializationTa
     case MapObjectTag: return "MapObjectTag"_s;
     case NonMapPropertiesTag: return "NonMapPropertiesTag"_s;
     case NonSetPropertiesTag: return "NonSetPropertiesTag"_s;
+#if ENABLE(WEB_CRYPTO)
     case CryptoKeyTag: return "CryptoKeyTag"_s;
+#endif
     case SharedArrayBufferTag: return "SharedArrayBufferTag"_s;
 #if ENABLE(WEBASSEMBLY)
     case WasmModuleTag: return "WasmModuleTag"_s;
@@ -474,7 +478,9 @@ static bool isTypeExposedToGlobalObject(
     case FileListTag:
     case ImageDataTag:
     case BlobTag:
+#if ENABLE(WEB_CRYPTO)
     case CryptoKeyTag:
+#endif
     case DOMPointReadOnlyTag:
     case DOMPointTag:
     case DOMRectReadOnlyTag:
@@ -641,6 +647,8 @@ static String agentClusterIDFromGlobalOb
 }
 #endif
 
+#if ENABLE(WEB_CRYPTO)
+
 const uint32_t currentKeyFormatVersion = 1;
 
 enum class CryptoKeyClassSubtag : uint8_t {
@@ -713,6 +721,8 @@ enum class CryptoKeyOKPOpNameTag : bool
     ED25519 = 1,
 };
 const uint8_t cryptoKeyOKPOpNameTagMaximumValue = 1;
+#endif
+
 static constexpr unsigned CurrentMajorVersion = 15;
 static constexpr unsigned CurrentMinorVersion = 0;
 static constexpr unsigned majorVersionFor(unsigned version) { return version & 0x00FFFFFF; }
@@ -984,6 +994,7 @@ protected:
     StackCheck m_stackCheck;
 };
 
+#if ENABLE(WEB_CRYPTO)
 static std::optional<Vector<uint8_t>> serializeAndWrapCryptoKey(JSGlobalObject* lexicalGlobalObject, WebCore::CryptoKeyData&& key)
 {
     RefPtr context = executionContext(lexicalGlobalObject);
@@ -1001,6 +1012,7 @@ static std::optional<Vector<uint8_t>> un
 
     return context->unwrapCryptoKey(wrappedKey);
 }
+#endif
 
 #if ASSUME_LITTLE_ENDIAN
 template <typename T> static void writeLittleEndian(Vector<uint8_t>& buffer, T value)
@@ -2099,6 +2111,7 @@ private:
                 addToObjectPool<ArrayBufferViewTag>(obj);
                 return success;
             }
+#if ENABLE(WEB_CRYPTO)
             if (RefPtr key = JSCryptoKey::toWrapped(vm, obj)) {
                 write(CryptoKeyTag);
                 auto wrappedKey = serializeAndWrapCryptoKey(m_lexicalGlobalObject, key->data());
@@ -2110,6 +2123,7 @@ private:
                 write(*wrappedKey);
                 return true;
             }
+#endif
 #if ENABLE(WEB_RTC)
             if (RefPtr rtcCertificate = JSRTCCertificate::toWrapped(vm, obj)) {
                 write(RTCCertificateTag);
@@ -2265,6 +2279,7 @@ private:
         writeLittleEndian<uint8_t>(m_buffer, static_cast<uint8_t>(tag));
     }
 
+#if ENABLE(WEB_CRYPTO)
     void write(CryptoKeyClassSubtag tag)
     {
         writeLittleEndian<uint8_t>(m_buffer, static_cast<uint8_t>(tag));
@@ -2289,6 +2304,7 @@ private:
     {
         writeLittleEndian<uint8_t>(m_buffer, static_cast<uint8_t>(tag));
     }
+#endif
 
     void write(bool b)
     {
@@ -2504,6 +2520,7 @@ private:
         write(DestinationColorSpaceSRGBTag);
     }
 
+#if ENABLE(WEB_CRYPTO)
     void write(CryptoKeyOKP::NamedCurve curve)
     {
         switch (curve) {
@@ -2708,6 +2725,7 @@ private:
             break;
         }
     }
+#endif
 
     void write(std::span<const uint8_t> data)
     {
@@ -4001,6 +4019,7 @@ private:
         return false;
     }
 
+#if ENABLE(WEB_CRYPTO)
     bool read(CryptoKeyOKP::NamedCurve& result)
     {
         uint8_t nameTag;
@@ -4373,6 +4392,7 @@ private:
         cryptoKey = getJSValue(result.releaseNonNull());
         return true;
     }
+#endif
 
     bool read(SerializableErrorType& errorType)
     {
@@ -5375,6 +5395,7 @@ private:
             addToObjectPool<ArrayBufferViewTag>(arrayBufferView);
             return arrayBufferView;
         }
+#if ENABLE(WEB_CRYPTO)
         case CryptoKeyTag: {
             Vector<uint8_t> wrappedKey;
             if (!read(wrappedKey)) {
@@ -5399,6 +5420,7 @@ private:
             }
             return cryptoKey;
         }
+#endif
         case DOMPointReadOnlyTag:
             return readDOMPoint<DOMPointReadOnly>();
         case DOMPointTag:
@@ -6799,7 +6821,9 @@ auto SerializedScriptValue::deserializat
         || object.inherits<JSMessagePort>()
         || object.inherits<JSArrayBuffer>()
         || object.inherits<JSArrayBufferView>()
+#if ENABLE(WEBCRYPTO)
         || object.inherits<JSCryptoKey>()
+#endif
 #if ENABLE(WEBASSEMBLY)
         || object.inherits<JSWebAssemblyModule>()
         || object.inherits<JSWebAssemblyMemory>()
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCBC.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCBC.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCBC.cpp	2026-01-23 02:35:25.397134800 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCBC.cpp	2026-01-28 19:30:30.078679768 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmAESCBC.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmAesCbcCfbParams.h"
 #include "CryptoAlgorithmAesKeyParams.h"
 #include "CryptoKeyAES.h"
@@ -194,3 +196,5 @@ ExceptionOr<std::optional<size_t>> Crypt
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCBC.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCBC.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCBC.h	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCBC.h	2026-01-28 19:30:30.080358471 -0600
@@ -27,6 +27,8 @@
 
 #include <WebCore/CryptoAlgorithm.h>
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmAesCbcCfbParams;
@@ -57,3 +59,5 @@ private:
 };
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCFB.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCFB.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCFB.cpp	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCFB.cpp	2026-01-28 19:30:30.080853700 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmAESCFB.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmAesCbcCfbParams.h"
 #include "CryptoAlgorithmAesKeyParams.h"
 #include "CryptoKeyAES.h"
@@ -194,3 +196,5 @@ ExceptionOr<std::optional<size_t>> Crypt
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCFB.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCFB.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCFB.h	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCFB.h	2026-01-28 19:30:30.081211047 -0600
@@ -27,6 +27,8 @@
 
 #include "CryptoAlgorithm.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmAesCbcCfbParams;
@@ -54,3 +56,5 @@ private:
 };
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCTR.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCTR.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCTR.cpp	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCTR.cpp	2026-01-28 19:30:30.081628559 -0600
@@ -27,6 +27,8 @@
 #include "config.h"
 #include "CryptoAlgorithmAESCTR.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmAesCtrParams.h"
 #include "CryptoAlgorithmAesKeyParams.h"
 #include "CryptoKeyAES.h"
@@ -316,3 +318,5 @@ auto CryptoAlgorithmAESCTR::CounterBlock
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCTR.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCTR.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCTR.h	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCTR.h	2026-01-28 19:30:30.081995554 -0600
@@ -28,6 +28,8 @@
 
 #include "CryptoAlgorithm.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmAesCtrParams;
@@ -82,3 +84,5 @@ private:
 };
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESGCM.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESGCM.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESGCM.cpp	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESGCM.cpp	2026-01-28 19:30:30.082342852 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmAESGCM.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmAesGcmParams.h"
 #include "CryptoAlgorithmAesKeyParams.h"
 #include "CryptoKeyAES.h"
@@ -240,3 +242,5 @@ ExceptionOr<std::optional<size_t>> Crypt
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESGCM.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESGCM.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESGCM.h	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESGCM.h	2026-01-28 19:30:30.082713154 -0600
@@ -27,6 +27,8 @@
 
 #include "CryptoAlgorithm.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmAesGcmParams;
@@ -55,3 +57,5 @@ private:
 };
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESKW.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESKW.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESKW.cpp	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESKW.cpp	2026-01-28 19:30:30.083077445 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmAESKW.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmAesKeyParams.h"
 #include "CryptoKeyAES.h"
 #include "ExceptionOr.h"
@@ -182,3 +184,5 @@ ExceptionOr<std::optional<size_t>> Crypt
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESKW.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESKW.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESKW.h	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESKW.h	2026-01-28 19:30:30.083432257 -0600
@@ -27,6 +27,8 @@
 
 #include "CryptoAlgorithm.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoKeyAES;
@@ -54,3 +56,5 @@ private:
 };
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmECDH.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmECDH.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmECDH.cpp	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmECDH.cpp	2026-01-28 19:30:30.083788362 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmECDH.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmEcKeyParams.h"
 #include "CryptoAlgorithmEcdhKeyDeriveParams.h"
 #include "CryptoKeyEC.h"
@@ -234,3 +236,5 @@ void CryptoAlgorithmECDH::exportKey(Cryp
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmECDH.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmECDH.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmECDH.h	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmECDH.h	2026-01-28 19:30:30.084144226 -0600
@@ -27,6 +27,8 @@
 
 #include <WebCore/CryptoAlgorithm.h>
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoKeyEC;
@@ -51,3 +53,5 @@ private:
 };
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmECDSA.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmECDSA.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmECDSA.cpp	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmECDSA.cpp	2026-01-28 19:30:30.084437041 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmECDSA.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmEcKeyParams.h"
 #include "CryptoAlgorithmEcdsaParams.h"
 #include "CryptoKeyEC.h"
@@ -216,3 +218,5 @@ void CryptoAlgorithmECDSA::exportKey(Cry
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmECDSA.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmECDSA.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmECDSA.h	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmECDSA.h	2026-01-28 19:30:30.084870343 -0600
@@ -27,6 +27,8 @@
 
 #include "CryptoAlgorithm.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmEcdsaParams;
@@ -53,3 +55,5 @@ private:
 };
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmEd25519.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmEd25519.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmEd25519.cpp	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmEd25519.cpp	2026-01-28 19:30:30.085233912 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmEd25519.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoKeyOKP.h"
 #include "ExceptionOr.h"
 #include "NotImplemented.h"
@@ -195,3 +197,4 @@ void CryptoAlgorithmEd25519::exportKey(C
 }
 
 } // namespace WebCore
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmEd25519.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmEd25519.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmEd25519.h	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmEd25519.h	2026-01-28 19:30:30.085540833 -0600
@@ -26,6 +26,7 @@
 
 #include "CryptoAlgorithm.h"
 
+#if ENABLE(WEB_CRYPTO)
 namespace WebCore {
 
 constexpr auto ed25519KeySize = 32;
@@ -59,3 +60,5 @@ inline CryptoAlgorithmIdentifier CryptoA
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmHKDF.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmHKDF.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmHKDF.cpp	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmHKDF.cpp	2026-01-28 19:30:30.085800215 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmHKDF.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmHkdfParams.h"
 #include "CryptoKeyRaw.h"
 #include "ExceptionOr.h"
@@ -87,3 +89,5 @@ ExceptionOr<Vector<uint8_t>> CryptoAlgor
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmHKDF.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmHKDF.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmHKDF.h	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmHKDF.h	2026-01-28 19:30:30.086138596 -0600
@@ -27,6 +27,8 @@
 
 #include "CryptoAlgorithm.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmHkdfParams;
@@ -54,3 +56,5 @@ private:
 };
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmHMAC.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmHMAC.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmHMAC.cpp	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmHMAC.cpp	2026-01-28 19:30:30.086493288 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmHMAC.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmHmacKeyParams.h"
 #include "CryptoKeyHMAC.h"
 #include "ExceptionOr.h"
@@ -196,4 +198,6 @@ ExceptionOr<std::optional<size_t>> Crypt
     return CryptoKeyHMAC::getKeyLength(parameters);
 }
 
-} // namespace WebCore
+}
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmHMAC.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmHMAC.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmHMAC.h	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmHMAC.h	2026-01-28 19:30:30.086775393 -0600
@@ -27,6 +27,8 @@
 
 #include "CryptoAlgorithm.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoKeyHMAC;
@@ -54,3 +56,5 @@ private:
 };
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmPBKDF2.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmPBKDF2.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmPBKDF2.cpp	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmPBKDF2.cpp	2026-01-28 19:30:30.087071454 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmPBKDF2.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmPbkdf2Params.h"
 #include "CryptoKeyRaw.h"
 #include "ExceptionOr.h"
@@ -81,3 +83,5 @@ ExceptionOr<std::optional<size_t>> Crypt
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmPBKDF2.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmPBKDF2.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmPBKDF2.h	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmPBKDF2.h	2026-01-28 19:30:30.087385820 -0600
@@ -27,6 +27,8 @@
 
 #include "CryptoAlgorithm.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmPbkdf2Params;
@@ -50,3 +52,5 @@ private:
 };
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp	2026-01-28 19:30:30.087705476 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmRSA_OAEP.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmRsaHashedImportParams.h"
 #include "CryptoAlgorithmRsaHashedKeyGenParams.h"
 #include "CryptoAlgorithmRsaOaepParams.h"
@@ -253,4 +255,6 @@ void CryptoAlgorithmRSA_OAEP::exportKey(
     callback(format, WTF::move(result));
 }
 
-} // namespace WebCore
+}
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_OAEP.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_OAEP.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_OAEP.h	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_OAEP.h	2026-01-28 19:30:30.088066470 -0600
@@ -27,6 +27,8 @@
 
 #include "CryptoAlgorithm.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmRsaOaepParams;
@@ -53,3 +55,5 @@ private:
 };
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_PSS.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_PSS.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_PSS.cpp	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_PSS.cpp	2026-01-28 19:30:30.088342563 -0600
@@ -26,7 +26,7 @@
 #include "config.h"
 #include "CryptoAlgorithmRSA_PSS.h"
 
-#if HAVE(RSA_PSS)
+#if ENABLE(WEB_CRYPTO) && HAVE(RSA_PSS)
 
 #include "CryptoAlgorithmRsaHashedImportParams.h"
 #include "CryptoAlgorithmRsaHashedKeyGenParams.h"
@@ -243,4 +243,4 @@ void CryptoAlgorithmRSA_PSS::exportKey(C
 
 }
 
-#endif // HAVE(RSA_PSS)
+#endif // ENABLE(WEB_CRYPTO) && HAVE(RSA_PSS)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_PSS.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_PSS.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_PSS.h	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_PSS.h	2026-01-28 19:30:30.088647932 -0600
@@ -27,7 +27,7 @@
 
 #include "CryptoAlgorithm.h"
 
-#if HAVE(RSA_PSS)
+#if ENABLE(WEB_CRYPTO) && HAVE(RSA_PSS)
 
 namespace WebCore {
 
@@ -56,4 +56,4 @@ private:
 
 } // namespace WebCore
 
-#endif // HAVE(RSA_PSS)
+#endif // ENABLE(WEB_CRYPTO) && HAVE(RSA_PSS)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp	2026-01-28 19:30:30.088988948 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmRSASSA_PKCS1_v1_5.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmRsaHashedImportParams.h"
 #include "CryptoAlgorithmRsaHashedKeyGenParams.h"
 #include "CryptoKeyPair.h"
@@ -231,4 +233,6 @@ void CryptoAlgorithmRSASSA_PKCS1_v1_5::e
     callback(format, WTF::move(result));
 }
 
-} // namespace WebCore
+}
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h	2026-01-28 19:30:30.089348991 -0600
@@ -27,6 +27,8 @@
 
 #include "CryptoAlgorithm.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoKeyRSA;
@@ -52,3 +54,5 @@ private:
 };
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA1.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA1.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA1.cpp	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA1.cpp	2026-01-28 19:30:30.089619864 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmSHA1.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "ScriptExecutionContext.h"
 #include <pal/crypto/CryptoDigest.h>
 
@@ -46,4 +48,6 @@ void CryptoAlgorithmSHA1::digest(Vector<
     CryptoAlgorithm::dispatchDigest(workQueue, context, WTF::move(callback), WTF::move(exceptionCallback), WTF::move(message), PAL::CryptoDigest::Algorithm::SHA_1);
 }
 
-} // namespace WebCore
+}
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA1.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA1.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA1.h	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA1.h	2026-01-28 19:30:30.089840612 -0600
@@ -27,6 +27,8 @@
 
 #include "CryptoAlgorithm.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmSHA1 final : public CryptoAlgorithm {
@@ -42,3 +44,5 @@ private:
 };
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA256.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA256.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA256.cpp	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA256.cpp	2026-01-28 19:30:30.090066290 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmSHA256.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "ScriptExecutionContext.h"
 #include <pal/crypto/CryptoDigest.h>
 
@@ -46,4 +48,6 @@ void CryptoAlgorithmSHA256::digest(Vecto
     CryptoAlgorithm::dispatchDigest(workQueue, context, WTF::move(callback), WTF::move(exceptionCallback), WTF::move(message), PAL::CryptoDigest::Algorithm::SHA_256);
 }
 
-} // namespace WebCore
+}
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA256.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA256.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA256.h	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA256.h	2026-01-28 19:30:30.090294072 -0600
@@ -27,6 +27,8 @@
 
 #include "CryptoAlgorithm.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmSHA256 final : public CryptoAlgorithm {
@@ -42,3 +44,5 @@ private:
 };
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA384.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA384.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA384.cpp	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA384.cpp	2026-01-28 19:30:30.090636751 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmSHA384.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "ScriptExecutionContext.h"
 #include <pal/crypto/CryptoDigest.h>
 
@@ -46,4 +48,6 @@ void CryptoAlgorithmSHA384::digest(Vecto
     CryptoAlgorithm::dispatchDigest(workQueue, context, WTF::move(callback), WTF::move(exceptionCallback), WTF::move(message), PAL::CryptoDigest::Algorithm::SHA_384);
 }
 
-} // namespace WebCore
+}
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA384.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA384.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA384.h	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA384.h	2026-01-28 19:30:30.090917383 -0600
@@ -27,6 +27,8 @@
 
 #include "CryptoAlgorithm.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmSHA384 final : public CryptoAlgorithm {
@@ -42,3 +44,5 @@ private:
 };
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA512.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA512.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA512.cpp	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA512.cpp	2026-01-28 19:30:30.091263980 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmSHA512.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "ScriptExecutionContext.h"
 #include <pal/crypto/CryptoDigest.h>
 
@@ -46,4 +48,6 @@ void CryptoAlgorithmSHA512::digest(Vecto
     CryptoAlgorithm::dispatchDigest(workQueue, context, WTF::move(callback), WTF::move(exceptionCallback), WTF::move(message), PAL::CryptoDigest::Algorithm::SHA_512);
 }
 
-} // namespace WebCore
+}
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA512.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA512.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA512.h	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA512.h	2026-01-28 19:30:30.091494898 -0600
@@ -27,6 +27,8 @@
 
 #include "CryptoAlgorithm.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmSHA512 final : public CryptoAlgorithm {
@@ -42,3 +44,5 @@ private:
 };
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmX25519.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmX25519.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmX25519.cpp	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmX25519.cpp	2026-01-28 19:30:30.091816217 -0600
@@ -20,6 +20,8 @@
 #include "config.h"
 #include "CryptoAlgorithmX25519.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmEcKeyParams.h"
 #include "CryptoAlgorithmX25519Params.h"
 #include "CryptoKeyOKP.h"
@@ -243,3 +245,5 @@ void CryptoAlgorithmX25519::exportKey(Cr
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmX25519.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmX25519.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/algorithms/CryptoAlgorithmX25519.h	2026-01-23 02:35:25.398765000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/algorithms/CryptoAlgorithmX25519.h	2026-01-28 19:30:30.092108721 -0600
@@ -21,6 +21,7 @@
 
 #include "CryptoAlgorithm.h"
 
+#if ENABLE(WEB_CRYPTO)
 namespace WebCore {
 
 class CryptoKeyOKP;
@@ -44,3 +45,5 @@ private:
 };
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/CommonCryptoUtilities.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/CommonCryptoUtilities.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/CommonCryptoUtilities.cpp	2026-01-23 02:35:25.395463700 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/CommonCryptoUtilities.cpp	2026-01-28 19:30:30.092517967 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CommonCryptoUtilities.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 bool getCommonCryptoDigestAlgorithm(CryptoAlgorithmIdentifier hashFunction, CCDigestAlgorithm& algorithm)
@@ -55,3 +57,5 @@ ALLOW_DEPRECATED_DECLARATIONS_END
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/CommonCryptoUtilities.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/CommonCryptoUtilities.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/CommonCryptoUtilities.h	2026-01-23 02:35:25.397134800 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/CommonCryptoUtilities.h	2026-01-28 19:30:30.092747712 -0600
@@ -31,8 +31,12 @@
 #include <pal/spi/cocoa/CommonCryptoSPI.h>
 #include <wtf/Vector.h>
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 bool getCommonCryptoDigestAlgorithm(CryptoAlgorithmIdentifier, CCDigestAlgorithm&);
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/CryptoAlgorithm.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/CryptoAlgorithm.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/CryptoAlgorithm.cpp	2026-01-23 02:35:25.397134800 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/CryptoAlgorithm.cpp	2026-01-28 19:30:30.093232280 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithm.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "ExceptionOr.h"
 #include "ScriptExecutionContext.h"
 
@@ -134,4 +136,6 @@ void CryptoAlgorithm::dispatchDigest(Wor
     });
 }
 
-} // namespace WebCore
+}
+
+#endif
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/CryptoAlgorithm.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/CryptoAlgorithm.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/CryptoAlgorithm.h	2026-01-23 02:35:25.397134800 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/CryptoAlgorithm.h	2026-01-28 19:30:30.093821878 -0600
@@ -38,6 +38,8 @@
 #include <wtf/Vector.h>
 #include <wtf/WorkQueue.h>
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmParameters;
@@ -84,3 +86,5 @@ public:
 };
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/CryptoAlgorithmParameters.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/CryptoAlgorithmParameters.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/CryptoAlgorithmParameters.h	2026-01-23 02:35:25.397134800 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/CryptoAlgorithmParameters.h	2026-01-28 19:30:30.094352554 -0600
@@ -29,6 +29,8 @@
 #include <wtf/TypeCasts.h>
 #include <wtf/text/WTFString.h>
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmParameters {
@@ -69,3 +71,5 @@ public:
 SPECIALIZE_TYPE_TRAITS_BEGIN(WebCore::CryptoAlgorithm##ToClassName) \
 static bool isType(const WebCore::CryptoAlgorithmParameters& parameters) { return parameters.parametersClass() == WebCore::CryptoAlgorithmParameters::Class::ToClassName; } \
 SPECIALIZE_TYPE_TRAITS_END()
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/CryptoAlgorithmParameters.idl webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/CryptoAlgorithmParameters.idl
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/CryptoAlgorithmParameters.idl	2026-01-23 02:35:25.397134800 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/CryptoAlgorithmParameters.idl	2026-01-28 19:30:30.094841981 -0600
@@ -25,6 +25,7 @@
 
 [
     LegacyNativeDictionaryRequiredInterfaceNullability,
+    Conditional=WEB_CRYPTO,
 ] dictionary CryptoAlgorithmParameters {
     required DOMString name;
 };
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/CryptoAlgorithmRegistry.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/CryptoAlgorithmRegistry.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/CryptoAlgorithmRegistry.cpp	2026-01-23 02:35:25.397134800 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/CryptoAlgorithmRegistry.cpp	2026-01-28 19:30:30.095265133 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmRegistry.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithm.h"
 #include <wtf/NeverDestroyed.h>
 
@@ -92,3 +94,5 @@ void CryptoAlgorithmRegistry::registerAl
 
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/CryptoAlgorithmRegistry.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/CryptoAlgorithmRegistry.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/CryptoAlgorithmRegistry.h	2026-01-23 02:35:25.397134800 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/CryptoAlgorithmRegistry.h	2026-01-28 19:30:30.095680100 -0600
@@ -32,6 +32,8 @@
 #include <wtf/Noncopyable.h>
 #include <wtf/text/StringHash.h>
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithm;
@@ -67,3 +69,5 @@ private:
 };
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/CryptoKey.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/CryptoKey.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/CryptoKey.cpp	2026-01-23 02:35:25.397134800 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/CryptoKey.cpp	2026-01-28 19:30:30.097541828 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoKey.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmRegistry.h"
 #include "CryptoKeyAES.h"
 #include "CryptoKeyEC.h"
@@ -123,3 +125,5 @@ RefPtr<CryptoKey> CryptoKey::create(Cryp
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/CryptoKeyFormat.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/CryptoKeyFormat.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/CryptoKeyFormat.h	2026-01-23 02:35:25.397134800 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/CryptoKeyFormat.h	2026-01-28 19:30:30.097802342 -0600
@@ -25,13 +25,17 @@
 
 #pragma once
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
-enum class CryptoKeyFormat : uint8_t {
+enum class CryptoKeyFormat {
     Raw,
     Spki,
     Pkcs8,
     Jwk
 };
 
-} // namespace WebCore
+}
+
+#endif
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/CryptoKey.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/CryptoKey.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/CryptoKey.h	2026-01-23 02:35:25.397134800 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/CryptoKey.h	2026-01-28 19:30:30.098021066 -0600
@@ -25,6 +25,8 @@
 
 #pragma once
 
+#if ENABLE(WEB_CRYPTO)
+
 #include <WebCore/CryptoAesKeyAlgorithm.h>
 #include <WebCore/CryptoEcKeyAlgorithm.h>
 #include <WebCore/CryptoHmacKeyAlgorithm.h>
@@ -88,3 +90,5 @@ WebCoreOpaqueRoot root(CryptoKey*);
 SPECIALIZE_TYPE_TRAITS_BEGIN(WebCore::ToClassName) \
     static bool isType(const WebCore::CryptoKey& key) { return key.keyClass() == WebCore::KeyClass; } \
 SPECIALIZE_TYPE_TRAITS_END()
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/CryptoKey.idl webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/CryptoKey.idl
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/CryptoKey.idl	2026-01-23 02:35:25.397134800 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/CryptoKey.idl	2026-01-28 19:30:30.098213752 -0600
@@ -32,6 +32,7 @@ enum KeyType {
 typedef (CryptoKeyAlgorithm or CryptoAesKeyAlgorithm or CryptoEcKeyAlgorithm or CryptoHmacKeyAlgorithm or CryptoRsaHashedKeyAlgorithm or CryptoRsaKeyAlgorithm) KeyAlgorithm;
 
 [
+    Conditional=WEB_CRYPTO,
     Exposed=(Window,Worker),
     GenerateIsReachable=Impl,
     SecureContext,
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/CryptoKeyPair.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/CryptoKeyPair.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/CryptoKeyPair.h	2026-01-23 02:35:25.397134800 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/CryptoKeyPair.h	2026-01-28 19:30:30.098390917 -0600
@@ -27,6 +27,8 @@
 
 #include <wtf/RefPtr.h>
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoKey;
@@ -37,3 +39,5 @@ struct CryptoKeyPair {
 };
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/CryptoKeyPair.idl webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/CryptoKeyPair.idl
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/CryptoKeyPair.idl	2026-01-23 02:35:25.397134800 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/CryptoKeyPair.idl	2026-01-28 19:30:30.098551492 -0600
@@ -24,6 +24,7 @@
  */
 
 [
+    Conditional=WEB_CRYPTO,
     JSGenerateToJSObject,
     LegacyNativeDictionaryRequiredInterfaceNullability,
 ] dictionary CryptoKeyPair {
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/CryptoKeyUsage.idl webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/CryptoKeyUsage.idl
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/CryptoKeyUsage.idl	2026-01-23 02:35:25.397134800 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/CryptoKeyUsage.idl	2026-01-28 19:30:30.098712427 -0600
@@ -23,7 +23,9 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-enum CryptoKeyUsage {
+[
+    Conditional=WEB_CRYPTO,
+] enum CryptoKeyUsage {
     "encrypt",
     "decrypt",
     "sign",
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/gcrypt/CryptoAlgorithmECDHGCrypt.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/gcrypt/CryptoAlgorithmECDHGCrypt.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/gcrypt/CryptoAlgorithmECDHGCrypt.cpp	2026-01-23 02:35:25.401940300 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/gcrypt/CryptoAlgorithmECDHGCrypt.cpp	2026-01-28 19:30:30.098995613 -0600
@@ -28,6 +28,8 @@
 #include "config.h"
 #include "CryptoAlgorithmECDH.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoKeyEC.h"
 #include "GCryptUtilities.h"
 #include <pal/crypto/gcrypt/Handle.h>
@@ -104,3 +106,5 @@ std::optional<Vector<uint8_t>> CryptoAlg
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/gcrypt/CryptoAlgorithmECDSAGCrypt.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/gcrypt/CryptoAlgorithmECDSAGCrypt.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/gcrypt/CryptoAlgorithmECDSAGCrypt.cpp	2026-01-23 02:35:25.401940300 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/gcrypt/CryptoAlgorithmECDSAGCrypt.cpp	2026-01-28 19:30:30.099360365 -0600
@@ -28,6 +28,8 @@
 #include "config.h"
 #include "CryptoAlgorithmECDSA.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmEcdsaParams.h"
 #include "CryptoKeyEC.h"
 #include "ExceptionOr.h"
@@ -186,3 +188,5 @@ ExceptionOr<bool> CryptoAlgorithmECDSA::
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/gcrypt/CryptoAlgorithmEd25519GCrypt.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/gcrypt/CryptoAlgorithmEd25519GCrypt.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/gcrypt/CryptoAlgorithmEd25519GCrypt.cpp	2026-01-23 02:35:25.401940300 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/gcrypt/CryptoAlgorithmEd25519GCrypt.cpp	2026-01-28 19:30:30.099672917 -0600
@@ -20,6 +20,8 @@
 #include "config.h"
 #include "CryptoAlgorithmEd25519.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoKeyOKP.h"
 #include "ExceptionOr.h"
 #include "GCryptUtilities.h"
@@ -154,4 +156,5 @@ ExceptionOr<bool> CryptoAlgorithmEd25519
     return verifyEd25519(key.platformKey(), key.keySizeInBytes(), signature, data);
 }
 
-} // namespace WebCore
+}
+#endif
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/gcrypt/CryptoAlgorithmHKDFGCrypt.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/gcrypt/CryptoAlgorithmHKDFGCrypt.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/gcrypt/CryptoAlgorithmHKDFGCrypt.cpp	2026-01-23 02:35:25.401940300 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/gcrypt/CryptoAlgorithmHKDFGCrypt.cpp	2026-01-28 19:30:30.099991301 -0600
@@ -28,6 +28,8 @@
 #include "config.h"
 #include "CryptoAlgorithmHKDF.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmHkdfParams.h"
 #include "CryptoKeyRaw.h"
 #include "ExceptionOr.h"
@@ -160,3 +162,5 @@ ExceptionOr<Vector<uint8_t>> CryptoAlgor
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/gcrypt/CryptoAlgorithmHMACGCrypt.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/gcrypt/CryptoAlgorithmHMACGCrypt.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/gcrypt/CryptoAlgorithmHMACGCrypt.cpp	2026-01-23 02:35:25.401940300 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/gcrypt/CryptoAlgorithmHMACGCrypt.cpp	2026-01-28 19:30:30.100341685 -0600
@@ -29,6 +29,8 @@
 #include "config.h"
 #include "CryptoAlgorithmHMAC.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoKeyHMAC.h"
 #include "ExceptionOr.h"
 #include <pal/crypto/gcrypt/Handle.h>
@@ -107,4 +109,6 @@ ExceptionOr<bool> CryptoAlgorithmHMAC::p
     return signature.size() == expectedSignature->size() && !constantTimeMemcmp(expectedSignature->span(), signature.span());
 }
 
-} // namespace WebCore
+}
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/gcrypt/CryptoAlgorithmPBKDF2GCrypt.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/gcrypt/CryptoAlgorithmPBKDF2GCrypt.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/gcrypt/CryptoAlgorithmPBKDF2GCrypt.cpp	2026-01-23 02:35:25.401940300 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/gcrypt/CryptoAlgorithmPBKDF2GCrypt.cpp	2026-01-28 19:30:30.100638818 -0600
@@ -28,6 +28,8 @@
 #include "config.h"
 #include "CryptoAlgorithmPBKDF2.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmPbkdf2Params.h"
 #include "CryptoKeyRaw.h"
 #include "ExceptionOr.h"
@@ -65,3 +67,5 @@ ExceptionOr<Vector<uint8_t>> CryptoAlgor
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/gcrypt/CryptoAlgorithmRegistryGCrypt.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/gcrypt/CryptoAlgorithmRegistryGCrypt.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/gcrypt/CryptoAlgorithmRegistryGCrypt.cpp	2026-01-23 02:35:25.401940300 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/gcrypt/CryptoAlgorithmRegistryGCrypt.cpp	2026-01-28 19:30:30.100903630 -0600
@@ -26,6 +26,7 @@
 #include "config.h"
 #include "CryptoAlgorithmRegistry.h"
 
+#if ENABLE(WEB_CRYPTO)
 #include "CryptoAlgorithmAESCBC.h"
 #include "CryptoAlgorithmAESCTR.h"
 #include "CryptoAlgorithmAESGCM.h"
@@ -69,4 +70,6 @@ void CryptoAlgorithmRegistry::platformRe
     registerAlgorithm<CryptoAlgorithmX25519>();
 }
 
-} // namespace WebCore
+}
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/gcrypt/CryptoAlgorithmRSA_OAEPGCrypt.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/gcrypt/CryptoAlgorithmRSA_OAEPGCrypt.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/gcrypt/CryptoAlgorithmRSA_OAEPGCrypt.cpp	2026-01-23 02:35:25.401940300 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/gcrypt/CryptoAlgorithmRSA_OAEPGCrypt.cpp	2026-01-28 19:30:30.101232974 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmRSA_OAEP.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmRsaOaepParams.h"
 #include "CryptoKeyRSA.h"
 #include "ExceptionOr.h"
@@ -127,3 +129,5 @@ ExceptionOr<Vector<uint8_t>> CryptoAlgor
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/gcrypt/CryptoAlgorithmRSA_PSSGCrypt.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/gcrypt/CryptoAlgorithmRSA_PSSGCrypt.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/gcrypt/CryptoAlgorithmRSA_PSSGCrypt.cpp	2026-01-23 02:35:25.401940300 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/gcrypt/CryptoAlgorithmRSA_PSSGCrypt.cpp	2026-01-28 19:30:30.101606772 -0600
@@ -28,6 +28,8 @@
 #include "config.h"
 #include "CryptoAlgorithmRSA_PSS.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmRsaPssParams.h"
 #include "CryptoKeyRSA.h"
 #include "ExceptionOr.h"
@@ -153,3 +155,5 @@ ExceptionOr<bool> CryptoAlgorithmRSA_PSS
 
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/gcrypt/CryptoAlgorithmRSASSA_PKCS1_v1_5GCrypt.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/gcrypt/CryptoAlgorithmRSASSA_PKCS1_v1_5GCrypt.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/gcrypt/CryptoAlgorithmRSASSA_PKCS1_v1_5GCrypt.cpp	2026-01-23 02:35:25.401940300 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/gcrypt/CryptoAlgorithmRSASSA_PKCS1_v1_5GCrypt.cpp	2026-01-28 19:30:30.101988967 -0600
@@ -27,6 +27,8 @@
 #include "config.h"
 #include "CryptoAlgorithmRSASSA_PKCS1_v1_5.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoKeyRSA.h"
 #include "ExceptionOr.h"
 #include "GCryptUtilities.h"
@@ -151,3 +153,5 @@ ExceptionOr<bool> CryptoAlgorithmRSASSA_
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/gcrypt/CryptoAlgorithmX25519GCrypt.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/gcrypt/CryptoAlgorithmX25519GCrypt.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/gcrypt/CryptoAlgorithmX25519GCrypt.cpp	2026-01-23 02:35:25.401940300 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/gcrypt/CryptoAlgorithmX25519GCrypt.cpp	2026-01-28 19:30:30.102226958 -0600
@@ -20,6 +20,8 @@
 #include "config.h"
 #include "CryptoAlgorithmX25519.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoKeyOKP.h"
 #include "GCryptRFC7748.h"
 #include <pal/crypto/gcrypt/Handle.h>
@@ -38,3 +40,6 @@ std::optional<Vector<uint8_t>> CryptoAlg
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
+
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/gcrypt/CryptoKeyECGCrypt.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/gcrypt/CryptoKeyECGCrypt.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/gcrypt/CryptoKeyECGCrypt.cpp	2026-01-23 02:35:25.401940300 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/gcrypt/CryptoKeyECGCrypt.cpp	2026-01-28 19:30:30.102648687 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoKeyEC.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoKeyPair.h"
 #include "GCryptUtilities.h"
 #include "JsonWebKey.h"
@@ -726,3 +728,5 @@ Vector<uint8_t> CryptoKeyEC::platformExp
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/gcrypt/CryptoKeyOKPGCrypt.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/gcrypt/CryptoKeyOKPGCrypt.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/gcrypt/CryptoKeyOKPGCrypt.cpp	2026-01-23 02:35:25.401940300 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/gcrypt/CryptoKeyOKPGCrypt.cpp	2026-01-28 19:30:30.103185344 -0600
@@ -20,6 +20,8 @@
 #include "config.h"
 #include "CryptoKeyOKP.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoKeyPair.h"
 #include "ExceptionOr.h"
 #include "GCryptRFC7748.h"
@@ -513,3 +515,5 @@ Vector<uint8_t> CryptoKeyOKP::platformEx
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/gcrypt/CryptoKeyRSAGCrypt.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/gcrypt/CryptoKeyRSAGCrypt.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/gcrypt/CryptoKeyRSAGCrypt.cpp	2026-01-23 02:35:25.401940300 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/gcrypt/CryptoKeyRSAGCrypt.cpp	2026-01-28 19:30:30.103660284 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoKeyRSA.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmRegistry.h"
 #include "CryptoKeyPair.h"
 #include "CryptoKeyRSAComponents.h"
@@ -711,3 +713,5 @@ std::unique_ptr<CryptoKeyRSAComponents>
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/gcrypt/SerializedCryptoKeyWrapGCrypt.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/gcrypt/SerializedCryptoKeyWrapGCrypt.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/gcrypt/SerializedCryptoKeyWrapGCrypt.cpp	2026-01-23 02:35:25.401940300 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/gcrypt/SerializedCryptoKeyWrapGCrypt.cpp	2026-01-28 19:30:30.104128622 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "SerializedCryptoKeyWrap.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "NotImplemented.h"
 #include "WrappedCryptoKey.h"
 
@@ -64,4 +66,6 @@ std::optional<Vector<uint8_t>> unwrapCry
     return wrappedKey.encryptedKey;
 }
 
-} // namespace WebCore
+}
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/JsonWebKey.idl webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/JsonWebKey.idl
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/JsonWebKey.idl	2026-01-23 02:35:25.397134800 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/JsonWebKey.idl	2026-01-28 19:30:30.104440503 -0600
@@ -24,6 +24,7 @@
  */
 
 [
+    Conditional=WEB_CRYPTO,
     JSGenerateToJSObject,
     JSGenerateToNativeObject,
     LegacyNativeDictionaryRequiredInterfaceNullability,
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoAesKeyAlgorithm.idl webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoAesKeyAlgorithm.idl
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoAesKeyAlgorithm.idl	2026-01-23 02:35:25.403555600 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoAesKeyAlgorithm.idl	2026-01-28 19:30:30.104675739 -0600
@@ -24,6 +24,7 @@
  */
 
 [
+    Conditional=WEB_CRYPTO,
     JSGenerateToJSObject,
     LegacyNativeDictionaryRequiredInterfaceNullability,
 ] dictionary CryptoAesKeyAlgorithm : CryptoKeyAlgorithm {
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoEcKeyAlgorithm.idl webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoEcKeyAlgorithm.idl
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoEcKeyAlgorithm.idl	2026-01-23 02:35:25.403555600 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoEcKeyAlgorithm.idl	2026-01-28 19:30:30.104859457 -0600
@@ -26,6 +26,7 @@
 typedef DOMString NamedCurve;
 
 [
+    Conditional=WEB_CRYPTO,
     JSGenerateToJSObject,
     LegacyNativeDictionaryRequiredInterfaceNullability,
 ] dictionary CryptoEcKeyAlgorithm : CryptoKeyAlgorithm {
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoHmacKeyAlgorithm.idl webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoHmacKeyAlgorithm.idl
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoHmacKeyAlgorithm.idl	2026-01-23 02:35:25.403555600 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoHmacKeyAlgorithm.idl	2026-01-28 19:30:30.105034198 -0600
@@ -24,6 +24,7 @@
  */
 
 [
+    Conditional=WEB_CRYPTO,
     JSGenerateToJSObject,
     LegacyNativeDictionaryRequiredInterfaceNullability,
 ] dictionary CryptoHmacKeyAlgorithm : CryptoKeyAlgorithm {
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoKeyAES.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoKeyAES.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoKeyAES.cpp	2026-01-23 02:35:25.403555600 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoKeyAES.cpp	2026-01-28 19:30:30.105336771 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoKeyAES.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAesKeyAlgorithm.h"
 #include "CryptoAlgorithmAesKeyParams.h"
 #include "CryptoAlgorithmRegistry.h"
@@ -141,3 +143,5 @@ CryptoKey::Data CryptoKeyAES::data() con
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoKeyAES.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoKeyAES.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoKeyAES.h	2026-01-23 02:35:25.403555600 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoKeyAES.h	2026-01-28 19:30:30.105676425 -0600
@@ -30,6 +30,8 @@
 #include <wtf/Function.h>
 #include <wtf/Vector.h>
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmParameters;
@@ -76,3 +78,5 @@ private:
 } // namespace WebCore
 
 SPECIALIZE_TYPE_TRAITS_CRYPTO_KEY(CryptoKeyAES, CryptoKeyClass::AES)
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoKeyAlgorithm.idl webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoKeyAlgorithm.idl
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoKeyAlgorithm.idl	2026-01-23 02:35:25.403555600 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoKeyAlgorithm.idl	2026-01-28 19:30:30.105882766 -0600
@@ -24,6 +24,7 @@
  */
 
 [
+    Conditional=WEB_CRYPTO,
     JSGenerateToJSObject,
     LegacyNativeDictionaryRequiredInterfaceNullability,
 ] dictionary CryptoKeyAlgorithm {
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoKeyEC.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoKeyEC.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoKeyEC.cpp	2026-01-23 02:35:25.403555600 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoKeyEC.cpp	2026-01-28 19:30:30.106161575 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoKeyEC.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmRegistry.h"
 #include "ExceptionOr.h"
 #include "JsonWebKey.h"
@@ -261,3 +263,5 @@ CryptoKey::Data CryptoKeyEC::data() cons
 
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoKeyEC.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoKeyEC.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoKeyEC.h	2026-01-23 02:35:25.403555600 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoKeyEC.h	2026-01-28 19:30:30.106457736 -0600
@@ -28,6 +28,8 @@
 #include <WebCore/CryptoKey.h>
 #include <WebCore/CryptoKeyPair.h>
 
+#if ENABLE(WEB_CRYPTO)
+
 #include <wtf/Platform.h>
 #if OS(DARWIN) && !PLATFORM(GTK)
 #include <WebCore/CommonCryptoUtilities.h>
@@ -124,3 +126,5 @@ private:
 } // namespace WebCore
 
 SPECIALIZE_TYPE_TRAITS_CRYPTO_KEY(CryptoKeyEC, CryptoKeyClass::EC)
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoKeyHMAC.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoKeyHMAC.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoKeyHMAC.cpp	2026-01-23 02:35:25.403555600 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoKeyHMAC.cpp	2026-01-28 19:30:30.106794715 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoKeyHMAC.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmHmacKeyParams.h"
 #include "CryptoAlgorithmRegistry.h"
 #include "ExceptionOr.h"
@@ -164,3 +166,5 @@ CryptoKey::Data CryptoKeyHMAC::data() co
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoKeyHMAC.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoKeyHMAC.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoKeyHMAC.h	2026-01-23 02:35:25.403555600 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoKeyHMAC.h	2026-01-28 19:30:30.107160528 -0600
@@ -25,6 +25,8 @@
 
 #pragma once
 
+#if ENABLE(WEB_CRYPTO)
+
 #include <WebCore/CryptoKey.h>
 #include <wtf/Function.h>
 #include <wtf/Vector.h>
@@ -71,3 +73,5 @@ private:
 } // namespace WebCore
 
 SPECIALIZE_TYPE_TRAITS_CRYPTO_KEY(CryptoKeyHMAC, CryptoKeyClass::HMAC)
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoKeyOKP.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoKeyOKP.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoKeyOKP.cpp	2026-01-23 02:35:25.403555600 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoKeyOKP.cpp	2026-01-28 19:30:30.107455447 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoKeyOKP.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmRegistry.h"
 #include "ExceptionOr.h"
 #include "JsonWebKey.h"
@@ -288,3 +290,5 @@ Vector<uint8_t> CryptoKeyOKP::platformEx
 #endif
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoKeyOKP.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoKeyOKP.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoKeyOKP.h	2026-01-23 02:35:25.403555600 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoKeyOKP.h	2026-01-28 19:30:30.107865684 -0600
@@ -28,6 +28,8 @@
 #include <WebCore/CryptoKey.h>
 #include <WebCore/CryptoKeyPair.h>
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 struct JsonWebKey;
@@ -89,3 +91,5 @@ private:
 } // namespace WebCore
 
 SPECIALIZE_TYPE_TRAITS_CRYPTO_KEY(CryptoKeyOKP, CryptoKeyClass::OKP)
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoKeyRaw.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoKeyRaw.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoKeyRaw.cpp	2026-01-23 02:35:25.403555600 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoKeyRaw.cpp	2026-01-28 19:30:30.108133312 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoKeyRaw.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmRegistry.h"
 
 namespace WebCore {
@@ -55,3 +57,5 @@ CryptoKey::Data CryptoKeyRaw::data() con
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoKeyRaw.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoKeyRaw.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoKeyRaw.h	2026-01-23 02:35:25.403555600 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoKeyRaw.h	2026-01-28 19:30:30.108504946 -0600
@@ -27,6 +27,8 @@
 
 #include "CryptoKey.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoKeyRaw final : public CryptoKey {
@@ -51,3 +53,5 @@ private:
 } // namespace WebCore
 
 SPECIALIZE_TYPE_TRAITS_CRYPTO_KEY(CryptoKeyRaw, CryptoKeyClass::Raw)
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoKeyRSAComponents.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoKeyRSAComponents.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoKeyRSAComponents.cpp	2026-01-23 02:35:25.403555600 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoKeyRSAComponents.cpp	2026-01-28 19:30:30.108810715 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoKeyRSAComponents.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 CryptoKeyRSAComponents::CryptoKeyRSAComponents(const Vector<uint8_t>& modulus, const Vector<uint8_t>& exponent)
@@ -87,3 +89,5 @@ CryptoKeyRSAComponents::CryptoKeyRSAComp
 CryptoKeyRSAComponents::~CryptoKeyRSAComponents() = default;
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoKeyRSAComponents.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoKeyRSAComponents.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoKeyRSAComponents.h	2026-01-23 02:35:25.403555600 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoKeyRSAComponents.h	2026-01-28 19:30:30.109140721 -0600
@@ -27,11 +27,13 @@
 
 #include <wtf/Vector.h>
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoKeyRSAComponents {
 public:
-    enum class Type : bool {
+    enum class Type {
         Public,
         Private
     };
@@ -109,3 +111,5 @@ private:
 };
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoKeyRSA.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoKeyRSA.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoKeyRSA.cpp	2026-01-23 02:35:25.403555600 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoKeyRSA.cpp	2026-01-28 19:30:30.109523657 -0600
@@ -30,6 +30,8 @@
 #include "JsonWebKey.h"
 #include <wtf/text/Base64.h>
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 RefPtr<CryptoKeyRSA> CryptoKeyRSA::importJwk(CryptoAlgorithmIdentifier algorithm, std::optional<CryptoAlgorithmIdentifier> hash, JsonWebKey&& keyData, bool extractable, CryptoKeyUsageBitmap usages)
@@ -190,3 +192,5 @@ CryptoKey::Data CryptoKeyRSA::data() con
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoKeyRSA.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoKeyRSA.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoKeyRSA.h	2026-01-23 02:35:25.403555600 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoKeyRSA.h	2026-01-28 19:30:30.109908045 -0600
@@ -28,6 +28,8 @@
 #include "CryptoKey.h"
 #include <wtf/Function.h>
 
+#if ENABLE(WEB_CRYPTO)
+
 #if OS(DARWIN) && !PLATFORM(GTK)
 #include "CommonCryptoUtilities.h"
 
@@ -109,3 +111,5 @@ private:
 } // namespace WebCore
 
 SPECIALIZE_TYPE_TRAITS_CRYPTO_KEY(CryptoKeyRSA, CryptoKeyClass::RSA)
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoRsaHashedKeyAlgorithm.idl webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoRsaHashedKeyAlgorithm.idl
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoRsaHashedKeyAlgorithm.idl	2026-01-23 02:35:25.403555600 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoRsaHashedKeyAlgorithm.idl	2026-01-28 19:30:30.110146878 -0600
@@ -24,6 +24,7 @@
  */
 
 [
+    Conditional=WEB_CRYPTO,
     JSGenerateToJSObject,
     LegacyNativeDictionaryRequiredInterfaceNullability,
 ] dictionary CryptoRsaHashedKeyAlgorithm : CryptoRsaKeyAlgorithm {
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoRsaKeyAlgorithm.idl webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoRsaKeyAlgorithm.idl
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/keys/CryptoRsaKeyAlgorithm.idl	2026-01-23 02:35:25.403555600 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/keys/CryptoRsaKeyAlgorithm.idl	2026-01-28 19:30:30.110321098 -0600
@@ -26,6 +26,7 @@
 typedef Uint8Array BigInteger;
 
 [
+    Conditional=WEB_CRYPTO,
     JSGenerateToJSObject,
     LegacyNativeDictionaryRequiredInterfaceNullability,
 ] dictionary CryptoRsaKeyAlgorithm : CryptoKeyAlgorithm {
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/openssl/CryptoAlgorithmECDHOpenSSL.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/openssl/CryptoAlgorithmECDHOpenSSL.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/openssl/CryptoAlgorithmECDHOpenSSL.cpp	2026-01-23 02:35:25.404510500 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/openssl/CryptoAlgorithmECDHOpenSSL.cpp	2026-01-28 19:30:30.110581602 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmECDH.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoKeyEC.h"
 #include "OpenSSLUtilities.h"
 
@@ -59,3 +61,5 @@ std::optional<Vector<uint8_t>> CryptoAlg
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/openssl/CryptoAlgorithmECDSAOpenSSL.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/openssl/CryptoAlgorithmECDSAOpenSSL.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/openssl/CryptoAlgorithmECDSAOpenSSL.cpp	2026-01-23 02:35:25.404510500 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/openssl/CryptoAlgorithmECDSAOpenSSL.cpp	2026-01-28 19:30:30.110904504 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmECDSA.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmEcdsaParams.h"
 #include "CryptoKeyEC.h"
 #include "ExceptionOr.h"
@@ -98,3 +100,5 @@ ExceptionOr<bool> CryptoAlgorithmECDSA::
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/openssl/CryptoAlgorithmHKDFOpenSSL.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/openssl/CryptoAlgorithmHKDFOpenSSL.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/openssl/CryptoAlgorithmHKDFOpenSSL.cpp	2026-01-23 02:35:25.404510500 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/openssl/CryptoAlgorithmHKDFOpenSSL.cpp	2026-01-28 19:30:30.111230421 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmHKDF.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmHkdfParams.h"
 #include "CryptoKeyRaw.h"
 #include "ExceptionOr.h"
@@ -48,3 +50,5 @@ ExceptionOr<Vector<uint8_t>> CryptoAlgor
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/openssl/CryptoAlgorithmHMACOpenSSL.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/openssl/CryptoAlgorithmHMACOpenSSL.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/openssl/CryptoAlgorithmHMACOpenSSL.cpp	2026-01-23 02:35:25.404510500 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/openssl/CryptoAlgorithmHMACOpenSSL.cpp	2026-01-28 19:30:30.111543365 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmHMAC.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoKeyHMAC.h"
 #include "ExceptionOr.h"
 #include "OpenSSLCryptoUniquePtr.h"
@@ -84,3 +86,5 @@ ExceptionOr<bool> CryptoAlgorithmHMAC::p
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/openssl/CryptoAlgorithmPBKDF2OpenSSL.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/openssl/CryptoAlgorithmPBKDF2OpenSSL.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/openssl/CryptoAlgorithmPBKDF2OpenSSL.cpp	2026-01-23 02:35:25.404510500 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/openssl/CryptoAlgorithmPBKDF2OpenSSL.cpp	2026-01-28 19:30:30.111848874 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmPBKDF2.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmPbkdf2Params.h"
 #include "CryptoKeyRaw.h"
 #include "ExceptionOr.h"
@@ -52,3 +54,5 @@ ExceptionOr<Vector<uint8_t>> CryptoAlgor
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/openssl/CryptoAlgorithmRegistryOpenSSL.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/openssl/CryptoAlgorithmRegistryOpenSSL.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/openssl/CryptoAlgorithmRegistryOpenSSL.cpp	2026-01-23 02:35:25.404510500 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/openssl/CryptoAlgorithmRegistryOpenSSL.cpp	2026-01-28 19:30:30.112102204 -0600
@@ -26,6 +26,7 @@
 #include "config.h"
 #include "CryptoAlgorithmRegistry.h"
 
+-#if ENABLE(WEB_CRYPTO)
 #include "CryptoAlgorithmAESCBC.h"
 #include "CryptoAlgorithmAESCFB.h"
 #include "CryptoAlgorithmAESCTR.h"
@@ -68,3 +69,5 @@ void CryptoAlgorithmRegistry::platformRe
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/openssl/CryptoAlgorithmRSA_OAEPOpenSSL.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/openssl/CryptoAlgorithmRSA_OAEPOpenSSL.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/openssl/CryptoAlgorithmRSA_OAEPOpenSSL.cpp	2026-01-23 02:35:25.404510500 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/openssl/CryptoAlgorithmRSA_OAEPOpenSSL.cpp	2026-01-28 19:30:30.112444783 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmRSA_OAEP.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmRsaOaepParams.h"
 #include "CryptoKeyRSA.h"
 #include "ExceptionOr.h"
@@ -133,3 +135,5 @@ ExceptionOr<Vector<uint8_t>> CryptoAlgor
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/openssl/CryptoAlgorithmRSA_PSSOpenSSL.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/openssl/CryptoAlgorithmRSA_PSSOpenSSL.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/openssl/CryptoAlgorithmRSA_PSSOpenSSL.cpp	2026-01-23 02:35:25.404510500 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/openssl/CryptoAlgorithmRSA_PSSOpenSSL.cpp	2026-01-28 19:30:30.112775900 -0600
@@ -26,7 +26,7 @@
 #include "config.h"
 #include "CryptoAlgorithmRSA_PSS.h"
 
-#if HAVE(RSA_PSS)
+#if ENABLE(WEB_CRYPTO) && HAVE(RSA_PSS)
 
 #include "CryptoAlgorithmRsaPssParams.h"
 #include "CryptoKeyRSA.h"
@@ -120,4 +120,4 @@ ExceptionOr<bool> CryptoAlgorithmRSA_PSS
 
 } // namespace WebCore
 
-#endif // HAVE(RSA_PSS)
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/openssl/CryptoAlgorithmRSASSA_PKCS1_v1_5OpenSSL.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/openssl/CryptoAlgorithmRSASSA_PKCS1_v1_5OpenSSL.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/openssl/CryptoAlgorithmRSASSA_PKCS1_v1_5OpenSSL.cpp	2026-01-23 02:35:25.404510500 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/openssl/CryptoAlgorithmRSASSA_PKCS1_v1_5OpenSSL.cpp	2026-01-28 19:30:30.113058977 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmRSASSA_PKCS1_v1_5.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoKeyRSA.h"
 #include "ExceptionOr.h"
 #include "OpenSSLUtilities.h"
@@ -96,3 +98,5 @@ ExceptionOr<bool> CryptoAlgorithmRSASSA_
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/openssl/CryptoKeyECOpenSSL.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/openssl/CryptoKeyECOpenSSL.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/openssl/CryptoKeyECOpenSSL.cpp	2026-01-23 02:35:25.404510500 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/openssl/CryptoKeyECOpenSSL.cpp	2026-01-28 19:30:30.113369285 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoKeyEC.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "JsonWebKey.h"
 #include "OpenSSLUtilities.h"
 #include <wtf/text/Base64.h>
@@ -458,3 +460,5 @@ Vector<uint8_t> CryptoKeyEC::platformExp
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/openssl/CryptoKeyRSAOpenSSL.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/openssl/CryptoKeyRSAOpenSSL.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/openssl/CryptoKeyRSAOpenSSL.cpp	2026-01-23 02:35:25.404510500 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/openssl/CryptoKeyRSAOpenSSL.cpp	2026-01-28 19:30:30.113776868 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoKeyRSA.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmRegistry.h"
 #include "CryptoKeyPair.h"
 #include "CryptoKeyRSAComponents.h"
@@ -403,3 +405,5 @@ std::unique_ptr<CryptoKeyRSAComponents>
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/openssl/OpenSSLUtilities.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/openssl/OpenSSLUtilities.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/openssl/OpenSSLUtilities.cpp	2026-01-23 02:35:25.404510500 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/openssl/OpenSSLUtilities.cpp	2026-01-28 19:30:30.114189530 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "OpenSSLUtilities.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "OpenSSLCryptoUniquePtr.h"
 
 namespace WebCore {
@@ -132,3 +134,6 @@ AESKey::~AESKey()
 }
 
 } // namespace WebCore
+
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/openssl/OpenSSLUtilities.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/openssl/OpenSSLUtilities.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/openssl/OpenSSLUtilities.h	2026-01-23 02:35:25.404510500 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/openssl/OpenSSLUtilities.h	2026-01-28 19:30:30.114470482 -0600
@@ -33,6 +33,8 @@
 #include <wtf/Noncopyable.h>
 #include <wtf/Vector.h>
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 const EVP_MD* digestAlgorithm(CryptoAlgorithmIdentifier hashFunction);
@@ -59,3 +61,5 @@ private:
 };
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/openssl/SerializedCryptoKeyWrapOpenSSL.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/openssl/SerializedCryptoKeyWrapOpenSSL.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/openssl/SerializedCryptoKeyWrapOpenSSL.cpp	2026-01-23 02:35:25.404510500 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/openssl/SerializedCryptoKeyWrapOpenSSL.cpp	2026-01-28 19:30:30.114737889 -0600
@@ -26,6 +26,7 @@
 #include "config.h"
 #include "SerializedCryptoKeyWrap.h"
 
+-#if ENABLE(WEB_CRYPTO)
 #include "CryptoAlgorithmAESCTR.h"
 #include "NotImplemented.h"
 #include "WrappedCryptoKey.h"
@@ -66,3 +67,5 @@ std::optional<Vector<uint8_t>> unwrapCry
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/AesCbcCfbParams.idl webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/AesCbcCfbParams.idl
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/AesCbcCfbParams.idl	2026-01-23 02:35:25.404510500 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/AesCbcCfbParams.idl	2026-01-28 19:30:30.114954860 -0600
@@ -27,6 +27,7 @@
 // https://www.w3.org/TR/WebCryptoAPI/#dfn-AesCbcParams, and
 // https://www.w3.org/TR/2014/CR-WebCryptoAPI-20141211/#dfn-AesCfbParams
 [
+    Conditional=WEB_CRYPTO,
     ImplementedAs=CryptoAlgorithmAesCbcCfbParams,
     LegacyNativeDictionaryRequiredInterfaceNullability,
 ] dictionary AesCbcCfbParams : CryptoAlgorithmParameters {
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/AesCtrParams.idl webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/AesCtrParams.idl
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/AesCtrParams.idl	2026-01-23 02:35:25.405364000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/AesCtrParams.idl	2026-01-28 19:30:30.115251693 -0600
@@ -23,6 +23,7 @@
 */
 
 [
+    Conditional=WEB_CRYPTO,
     ImplementedAs=CryptoAlgorithmAesCtrParams,
     LegacyNativeDictionaryRequiredInterfaceNullability,
 ] dictionary AesCtrParams : CryptoAlgorithmParameters {
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/AesGcmParams.idl webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/AesGcmParams.idl
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/AesGcmParams.idl	2026-01-23 02:35:25.405364000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/AesGcmParams.idl	2026-01-28 19:30:30.115481959 -0600
@@ -23,6 +23,7 @@
  */
 
 [
+    Conditional=WEB_CRYPTO,
     ImplementedAs=CryptoAlgorithmAesGcmParams,
     LegacyNativeDictionaryRequiredInterfaceNullability,
 ] dictionary AesGcmParams : CryptoAlgorithmParameters {
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/AesKeyParams.idl webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/AesKeyParams.idl
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/AesKeyParams.idl	2026-01-23 02:35:25.405364000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/AesKeyParams.idl	2026-01-28 19:30:30.115670717 -0600
@@ -27,6 +27,7 @@
 // https://www.w3.org/TR/WebCryptoAPI/#aes-derivedkey-params, and
 // https://www.w3.org/TR/WebCryptoAPI/#aes-keygen-params
 [
+    Conditional=WEB_CRYPTO,
     ImplementedAs=CryptoAlgorithmAesKeyParams,
     LegacyNativeDictionaryRequiredInterfaceNullability,
 ] dictionary AesKeyParams : CryptoAlgorithmParameters {
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/CryptoAlgorithmAesCbcCfbParams.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/CryptoAlgorithmAesCbcCfbParams.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/CryptoAlgorithmAesCbcCfbParams.h	2026-01-23 02:35:25.405364000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/CryptoAlgorithmAesCbcCfbParams.h	2026-01-28 19:30:30.115999821 -0600
@@ -29,6 +29,8 @@
 #include <WebCore/CryptoAlgorithmParameters.h>
 #include <wtf/Vector.h>
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmAesCbcCfbParams final : public CryptoAlgorithmParameters {
@@ -63,3 +65,5 @@ private:
 } // namespace WebCore
 
 SPECIALIZE_TYPE_TRAITS_CRYPTO_ALGORITHM_PARAMETERS(AesCbcCfbParams)
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/CryptoAlgorithmAesCtrParams.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/CryptoAlgorithmAesCtrParams.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/CryptoAlgorithmAesCtrParams.h	2026-01-23 02:35:25.405364000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/CryptoAlgorithmAesCtrParams.h	2026-01-28 19:30:30.116322362 -0600
@@ -29,6 +29,8 @@
 #include "CryptoAlgorithmParameters.h"
 #include <wtf/Vector.h>
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmAesCtrParams final : public CryptoAlgorithmParameters {
@@ -65,3 +67,5 @@ private:
 } // namespace WebCore
 
 SPECIALIZE_TYPE_TRAITS_CRYPTO_ALGORITHM_PARAMETERS(AesCtrParams)
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/CryptoAlgorithmAesGcmParams.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/CryptoAlgorithmAesGcmParams.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/CryptoAlgorithmAesGcmParams.h	2026-01-23 02:35:25.405364000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/CryptoAlgorithmAesGcmParams.h	2026-01-28 19:30:30.116592905 -0600
@@ -29,6 +29,8 @@
 #include "CryptoAlgorithmParameters.h"
 #include <wtf/Vector.h>
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmAesGcmParams final : public CryptoAlgorithmParameters {
@@ -82,3 +84,5 @@ private:
 } // namespace WebCore
 
 SPECIALIZE_TYPE_TRAITS_CRYPTO_ALGORITHM_PARAMETERS(AesGcmParams)
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/CryptoAlgorithmAesKeyParams.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/CryptoAlgorithmAesKeyParams.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/CryptoAlgorithmAesKeyParams.h	2026-01-23 02:35:25.405364000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/CryptoAlgorithmAesKeyParams.h	2026-01-28 19:30:30.116818091 -0600
@@ -27,6 +27,8 @@
 
 #include "CryptoAlgorithmParameters.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmAesKeyParams final : public CryptoAlgorithmParameters {
@@ -40,3 +42,5 @@ public:
 } // namespace WebCore
 
 SPECIALIZE_TYPE_TRAITS_CRYPTO_ALGORITHM_PARAMETERS(AesKeyParams)
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/CryptoAlgorithmEcdhKeyDeriveParams.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/CryptoAlgorithmEcdhKeyDeriveParams.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/CryptoAlgorithmEcdhKeyDeriveParams.h	2026-01-23 02:35:25.405364000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/CryptoAlgorithmEcdhKeyDeriveParams.h	2026-01-28 19:30:30.116998604 -0600
@@ -27,6 +27,8 @@
 
 #include "CryptoAlgorithmParameters.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoKey;
@@ -42,3 +44,5 @@ public:
 } // namespace WebCore
 
 SPECIALIZE_TYPE_TRAITS_CRYPTO_ALGORITHM_PARAMETERS(EcdhKeyDeriveParams)
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/CryptoAlgorithmEcdsaParams.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/CryptoAlgorithmEcdsaParams.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/CryptoAlgorithmEcdsaParams.h	2026-01-23 02:35:25.405364000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/CryptoAlgorithmEcdsaParams.h	2026-01-28 19:30:30.117225654 -0600
@@ -29,6 +29,8 @@
 #include <JavaScriptCore/JSObject.h>
 #include <JavaScriptCore/Strong.h>
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmEcdsaParams final : public CryptoAlgorithmParameters {
@@ -53,3 +55,5 @@ public:
 } // namespace WebCore
 
 SPECIALIZE_TYPE_TRAITS_CRYPTO_ALGORITHM_PARAMETERS(EcdsaParams)
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/CryptoAlgorithmEcKeyParams.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/CryptoAlgorithmEcKeyParams.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/CryptoAlgorithmEcKeyParams.h	2026-01-23 02:35:25.405364000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/CryptoAlgorithmEcKeyParams.h	2026-01-28 19:30:30.117436694 -0600
@@ -27,6 +27,8 @@
 
 #include "CryptoAlgorithmParameters.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmEcKeyParams final : public CryptoAlgorithmParameters {
@@ -49,3 +51,5 @@ public:
 } // namespace WebCore
 
 SPECIALIZE_TYPE_TRAITS_CRYPTO_ALGORITHM_PARAMETERS(EcKeyParams)
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/CryptoAlgorithmHkdfParams.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/CryptoAlgorithmHkdfParams.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/CryptoAlgorithmHkdfParams.h	2026-01-23 02:35:25.405364000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/CryptoAlgorithmHkdfParams.h	2026-01-28 19:30:30.117679955 -0600
@@ -31,6 +31,8 @@
 #include <JavaScriptCore/Strong.h>
 #include <wtf/Vector.h>
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmHkdfParams final : public CryptoAlgorithmParameters {
@@ -81,3 +83,5 @@ private:
 } // namespace WebCore
 
 SPECIALIZE_TYPE_TRAITS_CRYPTO_ALGORITHM_PARAMETERS(HkdfParams)
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/CryptoAlgorithmHmacKeyParams.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/CryptoAlgorithmHmacKeyParams.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/CryptoAlgorithmHmacKeyParams.h	2026-01-23 02:35:25.405364000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/CryptoAlgorithmHmacKeyParams.h	2026-01-28 19:30:30.117958603 -0600
@@ -25,6 +25,8 @@
 
 #pragma once
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmParameters.h"
 #include <JavaScriptCore/JSObject.h>
 #include <JavaScriptCore/Strong.h>
@@ -55,3 +57,5 @@ public:
 } // namespace WebCore
 
 SPECIALIZE_TYPE_TRAITS_CRYPTO_ALGORITHM_PARAMETERS(HmacKeyParams)
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/CryptoAlgorithmPbkdf2Params.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/CryptoAlgorithmPbkdf2Params.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/CryptoAlgorithmPbkdf2Params.h	2026-01-23 02:35:25.405364000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/CryptoAlgorithmPbkdf2Params.h	2026-01-28 19:30:30.118271746 -0600
@@ -31,6 +31,8 @@
 #include <JavaScriptCore/Strong.h>
 #include <wtf/Vector.h>
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmPbkdf2Params final : public CryptoAlgorithmParameters {
@@ -71,3 +73,5 @@ private:
 } // namespace WebCore
 
 SPECIALIZE_TYPE_TRAITS_CRYPTO_ALGORITHM_PARAMETERS(Pbkdf2Params)
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaHashedImportParams.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaHashedImportParams.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaHashedImportParams.h	2026-01-23 02:35:25.405364000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaHashedImportParams.h	2026-01-28 19:30:30.118565233 -0600
@@ -29,6 +29,8 @@
 #include <JavaScriptCore/JSObject.h>
 #include <JavaScriptCore/Strong.h>
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmRsaHashedImportParams final : public CryptoAlgorithmParameters {
@@ -53,3 +55,5 @@ public:
 } // namespace WebCore
 
 SPECIALIZE_TYPE_TRAITS_CRYPTO_ALGORITHM_PARAMETERS(RsaHashedImportParams)
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaHashedKeyGenParams.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaHashedKeyGenParams.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaHashedKeyGenParams.h	2026-01-23 02:35:25.405364000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaHashedKeyGenParams.h	2026-01-28 19:30:30.118790399 -0600
@@ -29,6 +29,8 @@
 #include <JavaScriptCore/JSObject.h>
 #include <JavaScriptCore/Strong.h>
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmRsaHashedKeyGenParams final : public CryptoAlgorithmRsaKeyGenParams {
@@ -43,3 +45,5 @@ public:
 } // namespace WebCore
 
 SPECIALIZE_TYPE_TRAITS_CRYPTO_ALGORITHM_PARAMETERS(RsaHashedKeyGenParams)
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h	2026-01-23 02:35:25.405364000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h	2026-01-28 19:30:30.119010597 -0600
@@ -29,6 +29,8 @@
 #include <JavaScriptCore/Uint8Array.h>
 #include <wtf/Vector.h>
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmRsaKeyGenParams : public CryptoAlgorithmParameters {
@@ -54,3 +56,5 @@ private:
 } // namespace WebCore
 
 SPECIALIZE_TYPE_TRAITS_CRYPTO_ALGORITHM_PARAMETERS(RsaKeyGenParams)
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaOaepParams.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaOaepParams.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaOaepParams.h	2026-01-23 02:35:25.405364000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaOaepParams.h	2026-01-28 19:30:30.119263025 -0600
@@ -29,6 +29,8 @@
 #include "CryptoAlgorithmParameters.h"
 #include <wtf/Vector.h>
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmRsaOaepParams final : public CryptoAlgorithmParameters {
@@ -68,3 +70,5 @@ private:
 } // namespace WebCore
 
 SPECIALIZE_TYPE_TRAITS_CRYPTO_ALGORITHM_PARAMETERS(RsaOaepParams)
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaPssParams.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaPssParams.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaPssParams.h	2026-01-23 02:35:25.405364000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaPssParams.h	2026-01-28 19:30:30.119477472 -0600
@@ -27,6 +27,8 @@
 
 #include "CryptoAlgorithmParameters.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmRsaPssParams final : public CryptoAlgorithmParameters {
@@ -49,3 +51,5 @@ public:
 } // namespace WebCore
 
 SPECIALIZE_TYPE_TRAITS_CRYPTO_ALGORITHM_PARAMETERS(RsaPssParams)
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/CryptoAlgorithmX25519Params.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/CryptoAlgorithmX25519Params.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/CryptoAlgorithmX25519Params.h	2026-01-23 02:35:25.405364000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/CryptoAlgorithmX25519Params.h	2026-01-28 19:30:30.119685466 -0600
@@ -25,6 +25,8 @@
 #include <JavaScriptCore/JSObject.h>
 #include <JavaScriptCore/Strong.h>
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmX25519Params final : public CryptoAlgorithmParameters {
@@ -37,3 +39,5 @@ public:
 } // namespace WebCore
 
 SPECIALIZE_TYPE_TRAITS_CRYPTO_ALGORITHM_PARAMETERS(X25519Params)
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/EcdhKeyDeriveParams.idl webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/EcdhKeyDeriveParams.idl
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/EcdhKeyDeriveParams.idl	2026-01-23 02:35:25.405364000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/EcdhKeyDeriveParams.idl	2026-01-28 19:30:30.119895664 -0600
@@ -24,6 +24,7 @@
  */
 
 [
+    Conditional=WEB_CRYPTO,
     ImplementedAs=CryptoAlgorithmEcdhKeyDeriveParams,
     LegacyNativeDictionaryRequiredInterfaceNullability,
 ] dictionary EcdhKeyDeriveParams : CryptoAlgorithmParameters {
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/EcdsaParams.idl webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/EcdsaParams.idl
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/EcdsaParams.idl	2026-01-23 02:35:25.405364000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/EcdsaParams.idl	2026-01-28 19:30:30.120061288 -0600
@@ -26,6 +26,7 @@
 typedef (object or DOMString) HashAlgorithmIdentifier;
 
 [
+    Conditional=WEB_CRYPTO,
     ImplementedAs=CryptoAlgorithmEcdsaParams,
     LegacyNativeDictionaryRequiredInterfaceNullability,
 ] dictionary EcdsaParams : CryptoAlgorithmParameters {
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/EcKeyParams.idl webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/EcKeyParams.idl
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/EcKeyParams.idl	2026-01-23 02:35:25.405364000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/EcKeyParams.idl	2026-01-28 19:30:30.120236400 -0600
@@ -27,6 +27,7 @@
 // https://www.w3.org/TR/WebCryptoAPI/#EcKeyImportParams-dictionary, and
 // https://www.w3.org/TR/WebCryptoAPI/#EcKeyGenParams-dictionary
 [
+    Conditional=WEB_CRYPTO,
     ImplementedAs=CryptoAlgorithmEcKeyParams,
     LegacyNativeDictionaryRequiredInterfaceNullability,
 ] dictionary EcKeyParams : CryptoAlgorithmParameters {
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/HkdfParams.idl webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/HkdfParams.idl
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/HkdfParams.idl	2026-01-23 02:35:25.405364000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/HkdfParams.idl	2026-01-28 19:30:30.120401082 -0600
@@ -26,6 +26,7 @@
 typedef (object or DOMString) HashAlgorithmIdentifier;
 
 [
+    Conditional=WEB_CRYPTO,
     ImplementedAs=CryptoAlgorithmHkdfParams,
     LegacyNativeDictionaryRequiredInterfaceNullability,
 ] dictionary HkdfParams : CryptoAlgorithmParameters {
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/HmacKeyParams.idl webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/HmacKeyParams.idl
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/HmacKeyParams.idl	2026-01-23 02:35:25.405364000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/HmacKeyParams.idl	2026-01-28 19:30:30.120620598 -0600
@@ -29,6 +29,7 @@ typedef (object or DOMString) HashAlgori
 // https://www.w3.org/TR/WebCryptoAPI/#hmac-importparams, and
 // https://www.w3.org/TR/WebCryptoAPI/#hmac-keygen-params
 [
+    Conditional=WEB_CRYPTO,
     ImplementedAs=CryptoAlgorithmHmacKeyParams,
     LegacyNativeDictionaryRequiredInterfaceNullability,
 ] dictionary HmacKeyParams : CryptoAlgorithmParameters {
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/Pbkdf2Params.idl webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/Pbkdf2Params.idl
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/Pbkdf2Params.idl	2026-01-23 02:35:25.405364000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/Pbkdf2Params.idl	2026-01-28 19:30:30.120842869 -0600
@@ -26,6 +26,7 @@
 typedef (object or DOMString) HashAlgorithmIdentifier;
 
 [
+    Conditional=WEB_CRYPTO,
     ImplementedAs=CryptoAlgorithmPbkdf2Params,
     LegacyNativeDictionaryRequiredInterfaceNullability,
 ] dictionary Pbkdf2Params : CryptoAlgorithmParameters {
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/RsaHashedImportParams.idl webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/RsaHashedImportParams.idl
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/RsaHashedImportParams.idl	2026-01-23 02:35:25.405364000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/RsaHashedImportParams.idl	2026-01-28 19:30:30.121011629 -0600
@@ -26,6 +26,7 @@
 typedef (object or DOMString) HashAlgorithmIdentifier;
 
 [
+    Conditional=WEB_CRYPTO,
     ImplementedAs=CryptoAlgorithmRsaHashedImportParams,
     LegacyNativeDictionaryRequiredInterfaceNullability,
 ] dictionary RsaHashedImportParams : CryptoAlgorithmParameters {
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/RsaHashedKeyGenParams.idl webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/RsaHashedKeyGenParams.idl
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/RsaHashedKeyGenParams.idl	2026-01-23 02:35:25.405364000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/RsaHashedKeyGenParams.idl	2026-01-28 19:30:30.121212330 -0600
@@ -26,6 +26,7 @@
 typedef (object or DOMString) HashAlgorithmIdentifier;
 
 [
+    Conditional=WEB_CRYPTO,
     ImplementedAs=CryptoAlgorithmRsaHashedKeyGenParams,
     LegacyNativeDictionaryRequiredInterfaceNullability,
 ] dictionary RsaHashedKeyGenParams : RsaKeyGenParams {
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/RsaKeyGenParams.idl webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/RsaKeyGenParams.idl
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/RsaKeyGenParams.idl	2026-01-23 02:35:25.405364000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/RsaKeyGenParams.idl	2026-01-28 19:30:30.121387411 -0600
@@ -24,6 +24,7 @@
  */
 
 [
+    Conditional=WEB_CRYPTO,
     ImplementedAs=CryptoAlgorithmRsaKeyGenParams,
     LegacyNativeDictionaryRequiredInterfaceNullability,
 ] dictionary RsaKeyGenParams : CryptoAlgorithmParameters {
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/RsaOaepParams.idl webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/RsaOaepParams.idl
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/RsaOaepParams.idl	2026-01-23 02:35:25.405364000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/RsaOaepParams.idl	2026-01-28 19:30:30.121558886 -0600
@@ -24,6 +24,7 @@
 */
 
 [
+    Conditional=WEB_CRYPTO,
     ImplementedAs=CryptoAlgorithmRsaOaepParams,
     LegacyNativeDictionaryRequiredInterfaceNullability,
 ] dictionary RsaOaepParams : CryptoAlgorithmParameters {
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/RsaPssParams.idl webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/RsaPssParams.idl
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/RsaPssParams.idl	2026-01-23 02:35:25.405364000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/RsaPssParams.idl	2026-01-28 19:30:30.121733047 -0600
@@ -24,6 +24,7 @@
  */
 
 [
+    Conditional=WEB_CRYPTO,
     ImplementedAs=CryptoAlgorithmRsaPssParams,
     LegacyNativeDictionaryRequiredInterfaceNullability,
 ] dictionary RsaPssParams : CryptoAlgorithmParameters {
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/X25519Params.idl webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/X25519Params.idl
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/parameters/X25519Params.idl	2026-01-23 02:35:25.405364000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/parameters/X25519Params.idl	2026-01-28 19:30:30.121910322 -0600
@@ -1,4 +1,5 @@
 [
+    Conditional=WEB_CRYPTO,
     ImplementedAs=CryptoAlgorithmX25519Params,
     LegacyNativeDictionaryRequiredInterfaceNullability,
 ] dictionary X25519Params : CryptoAlgorithmParameters {
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/RsaOtherPrimesInfo.idl webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/RsaOtherPrimesInfo.idl
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/RsaOtherPrimesInfo.idl	2026-01-23 02:35:25.397134800 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/RsaOtherPrimesInfo.idl	2026-01-28 19:30:30.122076277 -0600
@@ -24,6 +24,7 @@
  */
 
 [
+    Conditional=WEB_CRYPTO,
     JSGenerateToJSObject,
     JSGenerateToNativeObject,
     LegacyNativeDictionaryRequiredInterfaceNullability,
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/SerializedCryptoKeyWrap.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/SerializedCryptoKeyWrap.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/SerializedCryptoKeyWrap.cpp	2026-01-23 02:35:25.397134800 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/SerializedCryptoKeyWrap.cpp	2026-01-28 19:30:30.122336640 -0600
@@ -31,6 +31,8 @@
 #include <wtf/Ref.h>
 #include <wtf/WorkQueue.h>
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 void getDefaultWebCryptoMasterKey(CompletionHandler<void(std::optional<Vector<uint8_t>>&&)>&& handler)
@@ -45,3 +47,5 @@ void getDefaultWebCryptoMasterKey(Comple
 }
 
 }
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/SerializedCryptoKeyWrap.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/SerializedCryptoKeyWrap.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/SerializedCryptoKeyWrap.h	2026-01-23 02:35:25.397134800 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/SerializedCryptoKeyWrap.h	2026-01-28 19:30:30.122593908 -0600
@@ -28,6 +28,8 @@
 #include <wtf/Forward.h>
 #include <wtf/text/WTFString.h>
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 struct WrappedCryptoKey;
@@ -49,3 +51,5 @@ WEBCORE_EXPORT std::optional<WrappedCryp
 WEBCORE_EXPORT std::optional<Vector<uint8_t>> unwrapCryptoKey(const Vector<uint8_t>& masterKey, const struct WrappedCryptoKey& wrappedKey);
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/SubtleCrypto.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/SubtleCrypto.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/SubtleCrypto.cpp	2026-01-23 02:35:25.397134800 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/SubtleCrypto.cpp	2026-01-28 19:30:30.123163598 -0600
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "SubtleCrypto.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "ContextDestructionObserverInlines.h"
 #include "CryptoAlgorithm.h"
 #include "CryptoAlgorithmRegistry.h"
@@ -68,7 +70,7 @@ SubtleCrypto::SubtleCrypto(ScriptExecuti
 
 SubtleCrypto::~SubtleCrypto() = default;
 
-enum class Operations : uint8_t {
+enum class Operations {
     Encrypt,
     Decrypt,
     Sign,
@@ -1289,4 +1291,6 @@ void SubtleCrypto::unwrapKey(JSC::JSGlob
     unwrapAlgorithm->decrypt(*unwrapParams, unwrappingKey, WTF::move(wrappedKey), WTF::move(callback), WTF::move(exceptionCallback), *protectedScriptExecutionContext(), m_workQueue);
 }
 
-} // namespace WebCore
+}
+
+#endif
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/SubtleCrypto.h webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/SubtleCrypto.h
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/SubtleCrypto.h	2026-01-23 02:35:25.397134800 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/SubtleCrypto.h	2026-01-28 19:30:30.123723008 -0600
@@ -25,6 +25,8 @@
 
 #pragma once
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "ContextDestructionObserver.h"
 #include "CryptoKeyFormat.h"
 #include <JavaScriptCore/Strong.h>
@@ -87,4 +89,6 @@ private:
     HashMap<DeferredPromise*, Ref<DeferredPromise>> m_pendingPromises;
 };
 
-} // namespace WebCore
+}
+
+#endif
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/crypto/SubtleCrypto.idl webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/SubtleCrypto.idl
--- webkitgtk-2.51.90.atk/Source/WebCore/crypto/SubtleCrypto.idl	2026-01-23 02:35:25.397134800 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/crypto/SubtleCrypto.idl	2026-01-28 19:30:30.124005253 -0600
@@ -28,6 +28,7 @@ enum KeyFormat { "raw", "spki", "pkcs8",
 typedef (object or DOMString) AlgorithmIdentifier;
 
 [
+    Conditional=WEB_CRYPTO,
     Exposed=(Window,Worker),
     GenerateIsReachable=ImplScriptExecutionContext,
     SecureContext,
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/dom/Document.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/dom/Document.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/dom/Document.cpp	2026-01-23 02:35:25.475462700 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/dom/Document.cpp	2026-01-28 19:30:30.125680686 -0600
@@ -10235,6 +10235,7 @@ void Document::didLoadResourceSynchronou
         page->cookieJar().clearCacheForHost(url.host().toString());
 }
 
+#if ENABLE(WEB_CRYPTO)
 std::optional<Vector<uint8_t>> Document::serializeAndWrapCryptoKey(CryptoKeyData&& keyData)
 {
     RefPtr page = this->page();
@@ -10252,6 +10253,8 @@ std::optional<Vector<uint8_t>>Document::
     return page->cryptoClient().unwrapCryptoKey(wrappedKey);
 }
 
+#endif // ENABLE(WEB_CRYPTO)
+
 Element* Document::activeElement()
 {
     if (Element* element = treeScope().focusedElementInScope())
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/dom/Document.h webkitgtk-2.51.90.gcrypt/Source/WebCore/dom/Document.h
--- webkitgtk-2.51.90.atk/Source/WebCore/dom/Document.h	2026-01-23 02:35:25.475462700 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/dom/Document.h	2026-01-28 19:30:30.127861592 -0600
@@ -1694,8 +1694,10 @@ public:
 
     void setVisualUpdatesAllowedByClient(bool);
 
+#if ENABLE(WEB_CRYPTO)
     std::optional<Vector<uint8_t>> serializeAndWrapCryptoKey(CryptoKeyData&&) final;
     std::optional<Vector<uint8_t>> unwrapCryptoKey(const Vector<uint8_t>&) final;
+#endif
 
     void setHasStyleWithViewportUnits() { m_hasStyleWithViewportUnits = true; }
     bool hasStyleWithViewportUnits() const { return m_hasStyleWithViewportUnits; }
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/dom/EmptyScriptExecutionContext.h webkitgtk-2.51.90.gcrypt/Source/WebCore/dom/EmptyScriptExecutionContext.h
--- webkitgtk-2.51.90.atk/Source/WebCore/dom/EmptyScriptExecutionContext.h	2026-01-23 02:35:25.483462600 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/dom/EmptyScriptExecutionContext.h	2026-01-28 19:30:30.128693168 -0600
@@ -82,8 +82,10 @@ public:
     void postTask(Task&&) final { ASSERT_NOT_REACHED(); }
     EventTarget* errorEventTarget() final { return nullptr; };
 
+#if ENABLE(WEB_CRYPTO)
     std::optional<Vector<uint8_t>> serializeAndWrapCryptoKey(CryptoKeyData&&) final { return std::nullopt; }
     std::optional<Vector<uint8_t>> unwrapCryptoKey(const Vector<uint8_t>&) final { return std::nullopt; }
+#endif
 
     JSC::VM& vm() final { return m_vm; }
     JSC::VM* vmIfExists() const final { return m_vm.ptr(); }
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/dom/ScriptExecutionContext.h webkitgtk-2.51.90.gcrypt/Source/WebCore/dom/ScriptExecutionContext.h
--- webkitgtk-2.51.90.atk/Source/WebCore/dom/ScriptExecutionContext.h	2026-01-23 02:35:25.503462000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/dom/ScriptExecutionContext.h	2026-01-28 19:30:30.129600507 -0600
@@ -319,8 +319,10 @@ public:
     // These two methods are used when CryptoKeys are serialized into IndexedDB. As a side effect, it is also
     // used for things that utilize the same structure clone algorithm, for example, message passing between
     // worker and document.
+#if ENABLE(WEB_CRYPTO)
     virtual std::optional<Vector<uint8_t>> serializeAndWrapCryptoKey(CryptoKeyData&&) = 0;
     virtual std::optional<Vector<uint8_t>> unwrapCryptoKey(const Vector<uint8_t>& wrappedKey) = 0;
+#endif
 
     int timerNestingLevel() const { return m_timerNestingLevel; }
     void setTimerNestingLevel(int timerNestingLevel) { m_timerNestingLevel = timerNestingLevel; }
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/page/Crypto.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/page/Crypto.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/page/Crypto.cpp	2026-01-23 02:35:25.671460000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/page/Crypto.cpp	2026-01-28 19:30:30.130166410 -0600
@@ -47,7 +47,9 @@ namespace WebCore {
 
 Crypto::Crypto(ScriptExecutionContext* context)
     : ContextDestructionObserver(context)
+#if ENABLE(WEB_CRYPTO)
     , m_subtle(SubtleCrypto::create(context))
+#endif
 {
 }
 
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/page/Crypto.h webkitgtk-2.51.90.gcrypt/Source/WebCore/page/Crypto.h
--- webkitgtk-2.51.90.atk/Source/WebCore/page/Crypto.h	2026-01-23 02:35:25.671460000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/page/Crypto.h	2026-01-28 19:30:30.130666718 -0600
@@ -52,12 +52,16 @@ public:
     ExceptionOr<void> getRandomValues(JSC::ArrayBufferView&);
     String randomUUID() const;
 
+#if ENABLE(WEB_CRYPTO)
     SubtleCrypto& subtle() { return m_subtle; }
+#endif
 
 private:
     Crypto(ScriptExecutionContext*);
 
+#if ENABLE(WEB_CRYPTO)
     const Ref<SubtleCrypto> m_subtle;
+#endif
 };
 
 }
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/page/Crypto.idl webkitgtk-2.51.90.gcrypt/Source/WebCore/page/Crypto.idl
--- webkitgtk-2.51.90.atk/Source/WebCore/page/Crypto.idl	2026-01-23 02:35:25.671460000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/page/Crypto.idl	2026-01-28 19:30:30.131067057 -0600
@@ -31,7 +31,7 @@
     Exposed=(Window,Worker),
     GenerateIsReachable=ImplScriptExecutionContext
 ] interface Crypto {
-    [SecureContext] readonly attribute SubtleCrypto subtle;
+    [Conditional=WEB_CRYPTO, SecureContext] readonly attribute SubtleCrypto subtle;
     ArrayBufferView getRandomValues([ReturnValue] ArrayBufferView array);
     [SecureContext] DOMString randomUUID();
 };
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/PAL/pal/PlatformGTK.cmake webkitgtk-2.51.90.gcrypt/Source/WebCore/PAL/pal/PlatformGTK.cmake
--- webkitgtk-2.51.90.atk/Source/WebCore/PAL/pal/PlatformGTK.cmake	2026-01-23 02:35:25.235466000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/PAL/pal/PlatformGTK.cmake	2026-01-28 19:30:30.131341777 -0600
@@ -3,16 +3,12 @@ list(APPEND PAL_PUBLIC_HEADERS
     crypto/gcrypt/Initialization.h
     crypto/gcrypt/Utilities.h
 
-    crypto/tasn1/Utilities.h
-
     system/glib/SleepDisablerGLib.h
 )
 
 list(APPEND PAL_SOURCES
     crypto/gcrypt/CryptoDigestGCrypt.cpp
 
-    crypto/tasn1/Utilities.cpp
-
     system/ClockGeneric.cpp
     system/Sound.cpp
 
@@ -21,6 +17,16 @@ list(APPEND PAL_SOURCES
     text/KillRing.cpp
 )
 
+if (ENABLE_WEB_CRYPTO)
+    list(APPEND PAL_PUBLIC_HEADERS
+        crypto/tasn1/Utilities.h
+    )
+
+    list(APPEND PAL_SOURCES
+        crypto/tasn1/Utilities.cpp
+    )
+endif ()
+
 list(APPEND PAL_LIBRARIES
     GLib::GLib
 )
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/platform/GCrypt.cmake webkitgtk-2.51.90.gcrypt/Source/WebCore/platform/GCrypt.cmake
--- webkitgtk-2.51.90.atk/Source/WebCore/platform/GCrypt.cmake	2026-01-23 02:35:25.723459000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/platform/GCrypt.cmake	2026-01-28 19:30:30.131575891 -0600
@@ -1,6 +1,8 @@
-list(APPEND WebCore_UNIFIED_SOURCE_LIST_FILES
-    "platform/SourcesGCrypt.txt"
-)
+if (ENABLE_WEB_CRYPTO)
+    list(APPEND WebCore_UNIFIED_SOURCE_LIST_FILES
+        "platform/SourcesGCrypt.txt"
+    )
+endif ()
 
 list(APPEND WebCore_LIBRARIES
     LibGcrypt::LibGcrypt
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/platform/LocalizedStrings.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/platform/LocalizedStrings.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/platform/LocalizedStrings.cpp	2026-01-23 02:35:25.727459000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/platform/LocalizedStrings.cpp	2026-01-28 19:30:30.132061241 -0600
@@ -1501,11 +1501,17 @@ String contextMenuItemTagShowMediaStats(
 
 #endif // ENABLE(VIDEO)
 
-#if PLATFORM(COCOA)
+#if ENABLE(WEB_CRYPTO) && PLATFORM(COCOA)
 
 String webCryptoMasterKeyKeychainLabel(const String& localizedApplicationName)
 {
+#if PLATFORM(COCOA)
     return WEB_UI_FORMAT_CFSTRING("%@ WebCrypto Master Key", "Name of application's single WebCrypto master key in Keychain", localizedApplicationName.createCFString().get());
+#elif USE(GLIB)
+    return WEB_UI_FORMAT_STRING("%s WebCrypto Master Key", "Name of application's single WebCrypto master key in Keychain", localizedApplicationName.utf8().data());
+#else
+    return makeStringByReplacingAll(WEB_UI_STRING("<application> WebCrypto Master Key", "Name of application's single WebCrypto master key in Keychain"), "<application>"_s, localizedApplicationName);
+#endif
 }
 
 String webCryptoMasterKeyKeychainComment()
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/platform/LocalizedStrings.h webkitgtk-2.51.90.gcrypt/Source/WebCore/platform/LocalizedStrings.h
--- webkitgtk-2.51.90.atk/Source/WebCore/platform/LocalizedStrings.h	2026-01-23 02:35:25.727459000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/platform/LocalizedStrings.h	2026-01-28 19:30:30.132750237 -0600
@@ -385,7 +385,7 @@ namespace WebCore {
     String contextMenuItemTagShowMediaStats();
 #endif // ENABLE(VIDEO)
 
-#if PLATFORM(COCOA)
+#if ENABLE(WEB_CRYPTO) && PLATFORM(COCOA)
     String webCryptoMasterKeyKeychainLabel(const String& localizedApplicationName);
     String webCryptoMasterKeyKeychainComment();
 #endif
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/platform/OpenSSL.cmake webkitgtk-2.51.90.gcrypt/Source/WebCore/platform/OpenSSL.cmake
--- webkitgtk-2.51.90.atk/Source/WebCore/platform/OpenSSL.cmake	2026-01-23 02:35:25.727459000 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/platform/OpenSSL.cmake	2026-01-28 19:30:30.133078409 -0600
@@ -1,3 +1,4 @@
+if (ENABLE_WEB_CRYPTO)
 list(APPEND WebCore_SOURCES
     crypto/openssl/CryptoAlgorithmAESCBCOpenSSL.cpp
     crypto/openssl/CryptoAlgorithmAESCFBOpenSSL.cpp
@@ -18,3 +19,4 @@ list(APPEND WebCore_SOURCES
     crypto/openssl/OpenSSLUtilities.cpp
     crypto/openssl/SerializedCryptoKeyWrapOpenSSL.cpp
 )
+endif
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/workers/WorkerGlobalScope.cpp webkitgtk-2.51.90.gcrypt/Source/WebCore/workers/WorkerGlobalScope.cpp
--- webkitgtk-2.51.90.atk/Source/WebCore/workers/WorkerGlobalScope.cpp	2026-01-23 02:35:26.135453200 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/workers/WorkerGlobalScope.cpp	2026-01-28 19:30:30.133445885 -0600
@@ -514,6 +514,7 @@ void WorkerGlobalScope::addMessage(Messa
     InspectorInstrumentation::addMessageToConsole(*this, WTF::move(message));
 }
 
+#if ENABLE(WEB_CRYPTO)
 std::optional<Vector<uint8_t>> WorkerGlobalScope::serializeAndWrapCryptoKey(CryptoKeyData&& keyData)
 {
     Ref protectedThis { *this };
@@ -548,6 +549,8 @@ std::optional<Vector<uint8_t>> WorkerGlo
     return key;
 }
 
+#endif // ENABLE(WEB_CRYPTO)
+
 Crypto& WorkerGlobalScope::crypto()
 {
     if (!m_crypto)
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/workers/WorkerGlobalScope.h webkitgtk-2.51.90.gcrypt/Source/WebCore/workers/WorkerGlobalScope.h
--- webkitgtk-2.51.90.atk/Source/WebCore/workers/WorkerGlobalScope.h	2026-01-23 02:35:26.135453200 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/workers/WorkerGlobalScope.h	2026-01-28 19:30:30.133955010 -0600
@@ -210,8 +210,10 @@ private:
 
     bool shouldBypassMainWorldContentSecurityPolicy() const final { return m_shouldBypassMainWorldContentSecurityPolicy; }
 
+#if ENABLE(WEB_CRYPTO)
     std::optional<Vector<uint8_t>> serializeAndWrapCryptoKey(CryptoKeyData&&) final;
     std::optional<Vector<uint8_t>> unwrapCryptoKey(const Vector<uint8_t>& wrappedKey) final;
+#endif
 
     // ReportingClient.
     void notifyReportObservers(Ref<Report>&&) final;
diff -urp webkitgtk-2.51.90.atk/Source/WebCore/worklets/WorkletGlobalScope.h webkitgtk-2.51.90.gcrypt/Source/WebCore/worklets/WorkletGlobalScope.h
--- webkitgtk-2.51.90.atk/Source/WebCore/worklets/WorkletGlobalScope.h	2026-01-23 02:35:26.150948300 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebCore/worklets/WorkletGlobalScope.h	2026-01-28 19:30:30.134338227 -0600
@@ -107,8 +107,10 @@ private:
 
     EventTarget* errorEventTarget() final { return this; }
 
+#if ENABLE(WEB_CRYPTO)
     std::optional<Vector<uint8_t>> serializeAndWrapCryptoKey(CryptoKeyData&&) final { RELEASE_ASSERT_NOT_REACHED(); return std::nullopt; }
     std::optional<Vector<uint8_t>> unwrapCryptoKey(const Vector<uint8_t>&) final { RELEASE_ASSERT_NOT_REACHED(); return std::nullopt; }
+#endif
     URL completeURL(const String&, ForceUTF8 = ForceUTF8::No) const final;
     String userAgent(const URL&) const final;
     const SettingsValues& settingsValues() const final { return m_settingsValues; }
diff -urp webkitgtk-2.51.90.atk/Source/WebKit/UIProcess/API/C/WKPage.cpp webkitgtk-2.51.90.gcrypt/Source/WebKit/UIProcess/API/C/WKPage.cpp
--- webkitgtk-2.51.90.atk/Source/WebKit/UIProcess/API/C/WKPage.cpp	2026-01-23 02:35:26.471448400 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebKit/UIProcess/API/C/WKPage.cpp	2026-01-28 19:30:30.135173610 -0600
@@ -2437,6 +2437,7 @@ void WKPageSetPageNavigationClient(WKPag
             return false;
         }
 
+#if ENABLE(WEB_CRYPTO)
         void legacyWebCryptoMasterKey(WebKit::WebPageProxy& page, CompletionHandler<void(std::optional<Vector<uint8_t>>&&)>&& completionHandler) override
         {
             if (m_client.copyWebCryptoMasterKey) {
@@ -2445,6 +2446,7 @@ void WKPageSetPageNavigationClient(WKPag
             }
             return WebCore::getDefaultWebCryptoMasterKey(WTF::move(completionHandler));
         }
+#endif
 
         void navigationActionDidBecomeDownload(WebKit::WebPageProxy& page, API::NavigationAction& action, WebKit::DownloadProxy& download) override
         {
diff -urp webkitgtk-2.51.90.atk/Source/WebKit/UIProcess/WebPageProxy.cpp webkitgtk-2.51.90.gcrypt/Source/WebKit/UIProcess/WebPageProxy.cpp
--- webkitgtk-2.51.90.atk/Source/WebKit/UIProcess/WebPageProxy.cpp	2026-01-26 13:52:00.829907092 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebKit/UIProcess/WebPageProxy.cpp	2026-01-28 19:30:30.138680940 -0600
@@ -14278,6 +14278,7 @@ void WebPageProxy::getWebCryptoMasterKey
 
 }
 
+#if ENABLE(WEB_CRYPTO)
 void WebPageProxy::wrapCryptoKey(Vector<uint8_t>&& key, CompletionHandler<void(std::optional<Vector<uint8_t>>&&)>&& completionHandler)
 {
     getWebCryptoMasterKey([key = WTF::move(key), completionHandler = WTF::move(completionHandler)](std::optional<Vector<uint8_t>> && masterKey) mutable {
@@ -14318,6 +14319,7 @@ void WebPageProxy::unwrapCryptoKey(Wrapp
     });
 
 }
+#endif
 
 void WebPageProxy::changeFontAttributes(WebCore::FontAttributeChanges&& changes)
 {
diff -urp webkitgtk-2.51.90.atk/Source/WebKit/UIProcess/WebPageProxy.h webkitgtk-2.51.90.gcrypt/Source/WebKit/UIProcess/WebPageProxy.h
--- webkitgtk-2.51.90.atk/Source/WebKit/UIProcess/WebPageProxy.h	2026-01-26 13:52:00.831934228 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebKit/UIProcess/WebPageProxy.h	2026-01-28 19:30:30.141365335 -0600
@@ -2009,8 +2009,10 @@ public:
     RefPtr<ViewSnapshot> takeViewSnapshot(std::optional<WebCore::IntRect>&&, ForceSoftwareCapturingViewportSnapshot);
 #endif
 
+#if ENABLE(WEB_CRYPTO)
     void serializeAndWrapCryptoKey(IPC::Connection&, WebCore::CryptoKeyData&&, CompletionHandler<void(std::optional<Vector<uint8_t>>&&)>&&);
     void unwrapCryptoKey(WebCore::WrappedCryptoKey&&, CompletionHandler<void(std::optional<Vector<uint8_t>>&&)>&&);
+#endif
 
     void takeSnapshotLegacy(const WebCore::IntRect&, const WebCore::IntSize& bitmapSize, SnapshotOptions, CompletionHandler<void(std::optional<WebCore::ShareableBitmapHandle>&&)>&&);
 #if PLATFORM(COCOA)
diff -urp webkitgtk-2.51.90.atk/Source/WebKit/UIProcess/WebPageProxy.messages.in webkitgtk-2.51.90.gcrypt/Source/WebKit/UIProcess/WebPageProxy.messages.in
--- webkitgtk-2.51.90.atk/Source/WebKit/UIProcess/WebPageProxy.messages.in	2026-01-26 13:52:00.833308652 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebKit/UIProcess/WebPageProxy.messages.in	2026-01-28 19:30:30.142385498 -0600
@@ -441,8 +441,10 @@ messages -> WebPageProxy {
 
     DidUpdateActivityState() CanDispatchOutOfOrder
 
+#if ENABLE(WEB_CRYPTO)
     SerializeAndWrapCryptoKey(struct WebCore::CryptoKeyData key) -> (std::optional<Vector<uint8_t>> wrappedKey) Synchronous
     UnwrapCryptoKey(struct WebCore::WrappedCryptoKey wrappedKey) -> (std::optional<Vector<uint8_t>> key) Synchronous
+#endif
 
 #if ENABLE(TELEPHONE_NUMBER_DETECTION)
 #if PLATFORM(MAC)
diff -urp webkitgtk-2.51.90.atk/Source/WebKit/UIProcess/WebProcessProxy.cpp webkitgtk-2.51.90.gcrypt/Source/WebKit/UIProcess/WebProcessProxy.cpp
--- webkitgtk-2.51.90.atk/Source/WebKit/UIProcess/WebProcessProxy.cpp	2026-01-23 02:35:26.615446600 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebKit/UIProcess/WebProcessProxy.cpp	2026-01-28 19:30:30.143245298 -0600
@@ -2851,6 +2851,7 @@ void WebProcessProxy::getNotifications(c
     WebNotificationManagerProxy::serviceWorkerManagerSingleton().getNotifications(registrationURL, tag, sessionID(), WTF::move(callback));
 }
 
+#if ENABLE(WEB_CRYPTO)
 void WebProcessProxy::getWebCryptoMasterKey(CompletionHandler<void(std::optional<Vector<uint8_t>>&&)>&& completionHandler)
 {
     m_websiteDataStore->client().webCryptoMasterKey([completionHandler = WTF::move(completionHandler)](std::optional<Vector<uint8_t>>&& key) mutable {
@@ -2859,7 +2860,9 @@ void WebProcessProxy::getWebCryptoMaster
         return WebCore::getDefaultWebCryptoMasterKey(WTF::move(completionHandler));
     });
 }
+#endif
 
+#if ENABLE(WEB_CRYPTO)
 void WebProcessProxy::wrapCryptoKey(Vector<uint8_t>&& key, CompletionHandler<void(std::optional<Vector<uint8_t>>&&)>&& completionHandler)
 {
     getWebCryptoMasterKey([key = WTF::move(key), completionHandler = WTF::move(completionHandler)](std::optional<Vector<uint8_t>> && masterKey) mutable {
@@ -2900,6 +2903,7 @@ void WebProcessProxy::unwrapCryptoKey(Wr
     });
 
 }
+#endif
 
 void WebProcessProxy::setAppBadgeFromWorker(const SecurityOriginData& origin, std::optional<uint64_t> badge)
 {
diff -urp webkitgtk-2.51.90.atk/Source/WebKit/UIProcess/WebProcessProxy.h webkitgtk-2.51.90.gcrypt/Source/WebKit/UIProcess/WebProcessProxy.h
--- webkitgtk-2.51.90.atk/Source/WebKit/UIProcess/WebProcessProxy.h	2026-01-23 02:35:26.615446600 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebKit/UIProcess/WebProcessProxy.h	2026-01-28 19:30:30.144152367 -0600
@@ -521,8 +521,10 @@ public:
     void setCaptionLanguage(const String&);
 #endif
     void getNotifications(const URL&, const String&, CompletionHandler<void(Vector<WebCore::NotificationData>&&)>&&);
+#if ENABLE(WEB_CRYPTO)
     void serializeAndWrapCryptoKey(WebCore::CryptoKeyData&&, CompletionHandler<void(std::optional<Vector<uint8_t>>&&)>&&);
     void unwrapCryptoKey(WebCore::WrappedCryptoKey&&, CompletionHandler<void(std::optional<Vector<uint8_t>>&&)>&&);
+#endif
 
     void setAppBadgeFromWorker(const WebCore::SecurityOriginData&, std::optional<uint64_t> badge);
 
diff -urp webkitgtk-2.51.90.atk/Source/WebKit/UIProcess/WebProcessProxy.messages.in webkitgtk-2.51.90.gcrypt/Source/WebKit/UIProcess/WebProcessProxy.messages.in
--- webkitgtk-2.51.90.atk/Source/WebKit/UIProcess/WebProcessProxy.messages.in	2026-01-23 02:35:26.615446600 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebKit/UIProcess/WebProcessProxy.messages.in	2026-01-28 19:30:30.144682041 -0600
@@ -92,8 +92,10 @@ messages -> WebProcessProxy WantsDispatc
 #endif
     [EnabledBy=AppBadgeEnabled] SetAppBadgeFromWorker(WebCore::SecurityOriginData origin, std::optional<uint64_t> badge)
 
+#if ENABLE(WEB_CRYPTO)
     SerializeAndWrapCryptoKey(struct WebCore::CryptoKeyData key) -> (std::optional<Vector<uint8_t>> wrappedKey) Synchronous
     UnwrapCryptoKey(struct WebCore::WrappedCryptoKey wrappedKey) -> (std::optional<Vector<uint8_t>> key) Synchronous
+#endif
 
 #if ENABLE(LOGD_BLOCKING_IN_WEBCONTENT)
 #if ENABLE(STREAMING_IPC_IN_LOG_FORWARDING)
diff -urp webkitgtk-2.51.90.atk/Source/WebKit/WebProcess/WebCoreSupport/WebCryptoClient.cpp webkitgtk-2.51.90.gcrypt/Source/WebKit/WebProcess/WebCoreSupport/WebCryptoClient.cpp
--- webkitgtk-2.51.90.atk/Source/WebKit/WebProcess/WebCoreSupport/WebCryptoClient.cpp	2026-01-23 02:35:26.765292600 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebKit/WebProcess/WebCoreSupport/WebCryptoClient.cpp	2026-01-28 19:30:30.145071108 -0600
@@ -38,6 +38,7 @@ namespace WebKit {
 
 WTF_MAKE_TZONE_ALLOCATED_IMPL(WebCryptoClient);
 
+#if ENABLE(WEB_CRYPTO)
 std::optional<Vector<uint8_t>> WebCryptoClient::serializeAndWrapCryptoKey(WebCore::CryptoKeyData&& keyData) const
 {
     Ref connection = *WebProcess::singleton().parentProcessConnection();
@@ -69,6 +70,7 @@ std::optional<Vector<uint8_t>> WebCrypto
     auto [unwrappedKey] = sendResult.takeReplyOr(std::nullopt);
     return unwrappedKey;
 }
+#endif
 
 WebCryptoClient::WebCryptoClient(WebCore::PageIdentifier pageIdentifier)
     : m_pageIdentifier(pageIdentifier)
diff -urp webkitgtk-2.51.90.atk/Source/WebKit/WebProcess/WebCoreSupport/WebCryptoClient.h webkitgtk-2.51.90.gcrypt/Source/WebKit/WebProcess/WebCoreSupport/WebCryptoClient.h
--- webkitgtk-2.51.90.atk/Source/WebKit/WebProcess/WebCoreSupport/WebCryptoClient.h	2026-01-23 02:35:26.765292600 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WebKit/WebProcess/WebCoreSupport/WebCryptoClient.h	2026-01-28 19:30:30.145311624 -0600
@@ -36,8 +36,10 @@ class WebCryptoClient:  public WebCore::
 public:
     WebCryptoClient(WebCore::PageIdentifier);
     WebCryptoClient() = default;
+#if ENABLE(WEB_CRYPTO)
     std::optional<Vector<uint8_t>> serializeAndWrapCryptoKey(WebCore::CryptoKeyData&&) const override;
     std::optional<Vector<uint8_t>> unwrapCryptoKey(const Vector<uint8_t>&) const override;
+#endif
 private:
     std::optional<WebCore::PageIdentifier> m_pageIdentifier;
 };
diff -urp webkitgtk-2.51.90.atk/Source/WTF/wtf/PlatformEnableCocoa.h webkitgtk-2.51.90.gcrypt/Source/WTF/wtf/PlatformEnableCocoa.h
--- webkitgtk-2.51.90.atk/Source/WTF/wtf/PlatformEnableCocoa.h	2026-01-23 02:35:24.927470200 -0600
+++ webkitgtk-2.51.90.gcrypt/Source/WTF/wtf/PlatformEnableCocoa.h	2026-01-28 19:30:30.145934464 -0600
@@ -1006,6 +1006,10 @@
 #define ENABLE_WEB_CODECS 1
 #endif
 
+#if !defined(ENABLE_WEB_CRYPTO)
+#define ENABLE_WEB_CRYPTO 1
+#endif
+
 #if !defined(ENABLE_WEB_PLAYBACK_CONTROLS_MANAGER) && PLATFORM(MAC)
 #define ENABLE_WEB_PLAYBACK_CONTROLS_MANAGER 1
 #endif
