diff -urp webkitgtk-2.48.0.epoxy/Source/cmake/OptionsGTK.cmake webkitgtk-2.48.0/Source/cmake/OptionsGTK.cmake
--- webkitgtk-2.48.0.epoxy/Source/cmake/OptionsGTK.cmake	2025-04-01 15:16:51.080032165 -0500
+++ webkitgtk-2.48.0/Source/cmake/OptionsGTK.cmake	2025-04-04 16:34:42.675409871 -0500
@@ -8,8 +8,7 @@ SET_PROJECT_VERSION(2 48 0)
 set(USER_AGENT_BRANDING "" CACHE STRING "Branding to add to user agent string")
 
 find_package(Cairo 1.15.2 REQUIRED)
-find_package(LibGcrypt 1.7.0 REQUIRED)
-find_package(Libtasn1 REQUIRED)
+find_package(LibGcrypt 1.6.0 REQUIRED)
 find_package(HarfBuzz 1.4.5 REQUIRED COMPONENTS ICU)
 find_package(ICU 52.1 REQUIRED COMPONENTS data i18n uc)
 find_package(JPEG REQUIRED)
@@ -107,6 +106,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)
 
@@ -324,6 +324,16 @@ if (ENABLE_DOCUMENTATION AND NOT GIDocge
     message(FATAL_ERROR "ENABLE_DOCUMENTATION is needed for gi-docgen.")
 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.48.0.epoxy/Source/cmake/WebKitFeatures.cmake webkitgtk-2.48.0/Source/cmake/WebKitFeatures.cmake
--- webkitgtk-2.48.0.epoxy/Source/cmake/WebKitFeatures.cmake	2025-02-25 02:25:42.367415000 -0600
+++ webkitgtk-2.48.0/Source/cmake/WebKitFeatures.cmake	2025-04-04 16:34:42.677409908 -0500
@@ -242,6 +242,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.48.0.epoxy/Source/WebCore/bindings/js/SerializedScriptValue.cpp webkitgtk-2.48.0/Source/WebCore/bindings/js/SerializedScriptValue.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/bindings/js/SerializedScriptValue.cpp	2025-02-25 02:25:40.967381200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/bindings/js/SerializedScriptValue.cpp	2025-04-04 16:34:42.680409962 -0500
@@ -202,7 +202,9 @@ enum SerializationTag {
     MapObjectTag = 30,
     NonMapPropertiesTag = 31,
     NonSetPropertiesTag = 32,
+#if ENABLE(WEB_CRYPTO)
     CryptoKeyTag = 33,
+#endif
     SharedArrayBufferTag = 34,
 #if ENABLE(WEBASSEMBLY)
     WasmModuleTag = 35,
@@ -305,7 +307,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;
@@ -463,7 +467,9 @@ static bool isTypeExposedToGlobalObject(
     case FileListTag:
     case ImageDataTag:
     case BlobTag:
+#if ENABLE(WEB_CRYPTO)
     case CryptoKeyTag:
+#endif
     case DOMPointReadOnlyTag:
     case DOMPointTag:
     case DOMRectReadOnlyTag:
@@ -624,6 +630,8 @@ static String agentClusterIDFromGlobalOb
 }
 #endif
 
+#if ENABLE(WEB_CRYPTO)
+
 const uint32_t currentKeyFormatVersion = 1;
 
 enum class CryptoKeyClassSubtag : uint8_t {
@@ -696,6 +704,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; }
@@ -965,6 +975,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);
@@ -982,6 +993,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)
@@ -2029,6 +2041,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());
@@ -2040,6 +2053,7 @@ private:
                 write(*wrappedKey);
                 return true;
             }
+#endif
 #if ENABLE(WEB_RTC)
             if (RefPtr rtcCertificate = JSRTCCertificate::toWrapped(vm, obj)) {
                 write(RTCCertificateTag);
@@ -2187,6 +2201,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));
@@ -2211,6 +2226,7 @@ private:
     {
         writeLittleEndian<uint8_t>(m_buffer, static_cast<uint8_t>(tag));
     }
+#endif
 
     void write(bool b)
     {
@@ -2426,6 +2442,7 @@ private:
         write(DestinationColorSpaceSRGBTag);
     }
 
+#if ENABLE(WEB_CRYPTO)
     void write(CryptoKeyOKP::NamedCurve curve)
     {
         switch (curve) {
@@ -2630,6 +2647,7 @@ private:
             break;
         }
     }
+#endif
 
     void write(std::span<const uint8_t> data)
     {
@@ -3896,6 +3914,7 @@ private:
         return false;
     }
 
+#if ENABLE(WEB_CRYPTO)
     bool read(CryptoKeyOKP::NamedCurve& result)
     {
         uint8_t nameTag;
@@ -4267,6 +4286,7 @@ private:
         cryptoKey = getJSValue(result.get());
         return true;
     }
+#endif
 
     bool read(SerializableErrorType& errorType)
     {
@@ -5232,6 +5252,7 @@ private:
             addToObjectPool<ArrayBufferViewTag>(arrayBufferView);
             return arrayBufferView;
         }
+#if ENABLE(WEB_CRYPTO)
         case CryptoKeyTag: {
             Vector<uint8_t> wrappedKey;
             if (!read(wrappedKey)) {
@@ -5256,6 +5277,7 @@ private:
             }
             return cryptoKey;
         }
+#endif
         case DOMPointReadOnlyTag:
             return readDOMPoint<DOMPointReadOnly>();
         case DOMPointTag:
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCBC.cpp webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCBC.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCBC.cpp	2025-02-25 02:25:40.995382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCBC.cpp	2025-04-04 16:34:42.682409999 -0500
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmAESCBC.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmAesCbcCfbParams.h"
 #include "CryptoAlgorithmAesKeyParams.h"
 #include "CryptoKeyAES.h"
@@ -193,3 +195,5 @@ ExceptionOr<std::optional<size_t>> Crypt
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCBC.h webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCBC.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCBC.h	2025-02-25 02:25:40.995382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCBC.h	2025-04-04 16:34:42.683724662 -0500
@@ -27,6 +27,8 @@
 
 #include "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.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCFB.cpp webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCFB.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCFB.cpp	2025-02-25 02:25:40.995382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCFB.cpp	2025-04-04 16:34:42.684538713 -0500
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmAESCFB.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmAesCbcCfbParams.h"
 #include "CryptoAlgorithmAesKeyParams.h"
 #include "CryptoKeyAES.h"
@@ -193,3 +195,5 @@ ExceptionOr<std::optional<size_t>> Crypt
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCFB.h webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCFB.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCFB.h	2025-02-25 02:25:40.995382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCFB.h	2025-04-04 16:34:42.685265779 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCTR.cpp webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCTR.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCTR.cpp	2025-02-25 02:25:40.995382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCTR.cpp	2025-04-04 16:34:42.685410053 -0500
@@ -27,6 +27,8 @@
 #include "config.h"
 #include "CryptoAlgorithmAESCTR.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmAesCtrParams.h"
 #include "CryptoAlgorithmAesKeyParams.h"
 #include "CryptoKeyAES.h"
@@ -315,3 +317,5 @@ auto CryptoAlgorithmAESCTR::CounterBlock
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCTR.h webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCTR.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCTR.h	2025-02-25 02:25:40.995382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESCTR.h	2025-04-04 16:34:42.686521487 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESGCM.cpp webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESGCM.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESGCM.cpp	2025-02-25 02:25:40.995382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESGCM.cpp	2025-04-04 16:34:42.687071889 -0500
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmAESGCM.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmAesGcmParams.h"
 #include "CryptoAlgorithmAesKeyParams.h"
 #include "CryptoKeyAES.h"
@@ -239,3 +241,5 @@ ExceptionOr<std::optional<size_t>> Crypt
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESGCM.h webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESGCM.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESGCM.h	2025-02-25 02:25:40.995382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESGCM.h	2025-04-04 16:34:42.687539153 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESKW.cpp webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESKW.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESKW.cpp	2025-02-25 02:25:40.995382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESKW.cpp	2025-04-04 16:34:42.688011227 -0500
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmAESKW.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmAesKeyParams.h"
 #include "CryptoKeyAES.h"
 #include <variant>
@@ -182,3 +184,5 @@ ExceptionOr<std::optional<size_t>> Crypt
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESKW.h webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESKW.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESKW.h	2025-02-25 02:25:40.995382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmAESKW.h	2025-04-04 16:34:42.688373392 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmECDH.cpp webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmECDH.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmECDH.cpp	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmECDH.cpp	2025-04-04 16:34:42.688410108 -0500
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmECDH.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmEcKeyParams.h"
 #include "CryptoAlgorithmEcdhKeyDeriveParams.h"
 #include "CryptoKeyEC.h"
@@ -235,3 +237,5 @@ void CryptoAlgorithmECDH::exportKey(Cryp
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmECDH.h webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmECDH.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmECDH.h	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmECDH.h	2025-04-04 16:34:42.689171754 -0500
@@ -27,6 +27,8 @@
 
 #include "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.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmECDSA.cpp webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmECDSA.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmECDSA.cpp	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmECDSA.cpp	2025-04-04 16:34:42.689600756 -0500
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmECDSA.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmEcKeyParams.h"
 #include "CryptoAlgorithmEcdsaParams.h"
 #include "CryptoKeyEC.h"
@@ -215,3 +217,5 @@ void CryptoAlgorithmECDSA::exportKey(Cry
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmECDSA.h webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmECDSA.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmECDSA.h	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmECDSA.h	2025-04-04 16:34:42.690031000 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmEd25519.cpp webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmEd25519.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmEd25519.cpp	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmEd25519.cpp	2025-04-04 16:34:42.690434925 -0500
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmEd25519.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoKeyOKP.h"
 #include "NotImplemented.h"
 #include "ScriptExecutionContext.h"
@@ -194,3 +196,4 @@ void CryptoAlgorithmEd25519::exportKey(C
 }
 
 } // namespace WebCore
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmEd25519.h webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmEd25519.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmEd25519.h	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmEd25519.h	2025-04-04 16:34:42.690850582 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmHKDF.cpp webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmHKDF.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmHKDF.cpp	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmHKDF.cpp	2025-04-04 16:34:42.691195795 -0500
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmHKDF.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmHkdfParams.h"
 #include "CryptoKeyRaw.h"
 #include "ScriptExecutionContext.h"
@@ -81,3 +83,5 @@ ExceptionOr<std::optional<size_t>> Crypt
 }
     
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmHKDF.h webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmHKDF.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmHKDF.h	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmHKDF.h	2025-04-04 16:34:42.691580944 -0500
@@ -27,6 +27,8 @@
 
 #include "CryptoAlgorithm.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmHkdfParams;
@@ -50,3 +52,5 @@ private:
 };
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmHMAC.cpp webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmHMAC.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmHMAC.cpp	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmHMAC.cpp	2025-04-04 16:34:42.691990189 -0500
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmHMAC.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmHmacKeyParams.h"
 #include "CryptoKeyHMAC.h"
 #include "ScriptExecutionContext.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.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmHMAC.h webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmHMAC.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmHMAC.h	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmHMAC.h	2025-04-04 16:34:42.692337366 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmPBKDF2.cpp webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmPBKDF2.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmPBKDF2.cpp	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmPBKDF2.cpp	2025-04-04 16:34:42.692687799 -0500
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmPBKDF2.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmPbkdf2Params.h"
 #include "CryptoKeyRaw.h"
 #include <JavaScriptCore/JSCJSValueInlines.h>
@@ -80,3 +82,5 @@ ExceptionOr<std::optional<size_t>> Crypt
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmPBKDF2.h webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmPBKDF2.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmPBKDF2.h	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmPBKDF2.h	2025-04-04 16:34:42.693077187 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp	2025-04-04 16:34:42.693468437 -0500
@@ -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, WTFMove(result));
 }
 
-} // namespace WebCore
+}
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_OAEP.h webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_OAEP.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_OAEP.h	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_OAEP.h	2025-04-04 16:34:42.693896408 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_PSS.cpp webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_PSS.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_PSS.cpp	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_PSS.cpp	2025-04-04 16:34:42.694329447 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_PSS.h webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_PSS.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_PSS.h	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_PSS.h	2025-04-04 16:34:42.694410217 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp	2025-04-04 16:34:42.695199073 -0500
@@ -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, WTFMove(result));
 }
 
-} // namespace WebCore
+}
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h	2025-04-04 16:34:42.695633586 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA1.cpp webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA1.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA1.cpp	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA1.cpp	2025-04-04 16:34:42.695978499 -0500
@@ -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, WTFMove(callback), WTFMove(exceptionCallback), WTFMove(message), PAL::CryptoDigest::Algorithm::SHA_1);
 }
 
-} // namespace WebCore
+}
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA1.h webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA1.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA1.h	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA1.h	2025-04-04 16:34:42.696247829 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA256.cpp webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA256.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA256.cpp	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA256.cpp	2025-04-04 16:34:42.696474488 -0500
@@ -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, WTFMove(callback), WTFMove(exceptionCallback), WTFMove(message), PAL::CryptoDigest::Algorithm::SHA_256);
 }
 
-} // namespace WebCore
+}
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA256.h webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA256.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA256.h	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA256.h	2025-04-04 16:34:42.696763846 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA384.cpp webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA384.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA384.cpp	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA384.cpp	2025-04-04 16:34:42.697004091 -0500
@@ -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, WTFMove(callback), WTFMove(exceptionCallback), WTFMove(message), PAL::CryptoDigest::Algorithm::SHA_384);
 }
 
-} // namespace WebCore
+}
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA384.h webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA384.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA384.h	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA384.h	2025-04-04 16:34:42.697276606 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA512.cpp webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA512.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA512.cpp	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA512.cpp	2025-04-04 16:34:42.697523043 -0500
@@ -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, WTFMove(callback), WTFMove(exceptionCallback), WTFMove(message), PAL::CryptoDigest::Algorithm::SHA_512);
 }
 
-} // namespace WebCore
+}
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA512.h webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA512.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA512.h	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA512.h	2025-04-04 16:34:42.697803313 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmX25519.cpp webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmX25519.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmX25519.cpp	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmX25519.cpp	2025-04-04 16:34:42.698116476 -0500
@@ -20,6 +20,8 @@
 #include "config.h"
 #include "CryptoAlgorithmX25519.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmEcKeyParams.h"
 #include "CryptoAlgorithmX25519Params.h"
 #include "CryptoKeyOKP.h"
@@ -242,3 +244,5 @@ void CryptoAlgorithmX25519::exportKey(Cr
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmX25519.h webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmX25519.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/algorithms/CryptoAlgorithmX25519.h	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/algorithms/CryptoAlgorithmX25519.h	2025-04-04 16:34:42.698429880 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/CommonCryptoUtilities.cpp webkitgtk-2.48.0/Source/WebCore/crypto/CommonCryptoUtilities.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/CommonCryptoUtilities.cpp	2025-02-25 02:25:40.995382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/CommonCryptoUtilities.cpp	2025-04-04 16:34:42.698796784 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/CommonCryptoUtilities.h webkitgtk-2.48.0/Source/WebCore/crypto/CommonCryptoUtilities.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/CommonCryptoUtilities.h	2025-02-25 02:25:40.995382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/CommonCryptoUtilities.h	2025-04-04 16:34:42.699250904 -0500
@@ -25,6 +25,8 @@
 
 #pragma once
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmIdentifier.h"
 #include <CommonCrypto/CommonCryptor.h>
 #include <CommonCrypto/CommonRandom.h>
@@ -36,3 +38,5 @@ namespace WebCore {
 bool getCommonCryptoDigestAlgorithm(CryptoAlgorithmIdentifier, CCDigestAlgorithm&);
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/CryptoAlgorithm.cpp webkitgtk-2.48.0/Source/WebCore/crypto/CryptoAlgorithm.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/CryptoAlgorithm.cpp	2025-02-25 02:25:40.995382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/CryptoAlgorithm.cpp	2025-04-04 16:34:42.699593112 -0500
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithm.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "ScriptExecutionContext.h"
 
 namespace WebCore {
@@ -133,4 +135,6 @@ void CryptoAlgorithm::dispatchDigest(Wor
     });
 }
 
-} // namespace WebCore
+}
+
+#endif
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/CryptoAlgorithm.h webkitgtk-2.48.0/Source/WebCore/crypto/CryptoAlgorithm.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/CryptoAlgorithm.h	2025-02-25 02:25:40.995382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/CryptoAlgorithm.h	2025-04-04 16:34:42.700067670 -0500
@@ -39,6 +39,8 @@
 #include <wtf/Vector.h>
 #include <wtf/WorkQueue.h>
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmParameters;
@@ -82,3 +84,5 @@ public:
 };
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/CryptoAlgorithmParameters.h webkitgtk-2.48.0/Source/WebCore/crypto/CryptoAlgorithmParameters.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/CryptoAlgorithmParameters.h	2025-02-25 02:25:40.995382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/CryptoAlgorithmParameters.h	2025-04-04 16:34:42.700773015 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/CryptoAlgorithmParameters.idl webkitgtk-2.48.0/Source/WebCore/crypto/CryptoAlgorithmParameters.idl
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/CryptoAlgorithmParameters.idl	2025-02-25 02:25:40.995382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/CryptoAlgorithmParameters.idl	2025-04-04 16:34:42.701081299 -0500
@@ -23,6 +23,8 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-dictionary CryptoAlgorithmParameters {
+[
+    Conditional=WEB_CRYPTO,
+] dictionary CryptoAlgorithmParameters {
     required DOMString name;
 };
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/CryptoAlgorithmRegistry.cpp webkitgtk-2.48.0/Source/WebCore/crypto/CryptoAlgorithmRegistry.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/CryptoAlgorithmRegistry.cpp	2025-02-25 02:25:40.995382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/CryptoAlgorithmRegistry.cpp	2025-04-04 16:34:42.701376107 -0500
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmRegistry.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithm.h"
 #include <wtf/NeverDestroyed.h>
 
@@ -96,3 +98,5 @@ void CryptoAlgorithmRegistry::registerAl
 
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/CryptoAlgorithmRegistry.h webkitgtk-2.48.0/Source/WebCore/crypto/CryptoAlgorithmRegistry.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/CryptoAlgorithmRegistry.h	2025-02-25 02:25:40.995382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/CryptoAlgorithmRegistry.h	2025-04-04 16:34:42.701410345 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/CryptoKey.cpp webkitgtk-2.48.0/Source/WebCore/crypto/CryptoKey.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/CryptoKey.cpp	2025-02-25 02:25:40.995382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/CryptoKey.cpp	2025-04-04 16:34:42.702104696 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/CryptoKeyFormat.h webkitgtk-2.48.0/Source/WebCore/crypto/CryptoKeyFormat.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/CryptoKeyFormat.h	2025-02-25 02:25:40.995382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/CryptoKeyFormat.h	2025-04-04 16:34:42.702433188 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/CryptoKey.h webkitgtk-2.48.0/Source/WebCore/crypto/CryptoKey.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/CryptoKey.h	2025-02-25 02:25:40.995382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/CryptoKey.h	2025-04-04 16:34:42.702621364 -0500
@@ -25,6 +25,8 @@
 
 #pragma once
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAesKeyAlgorithm.h"
 #include "CryptoEcKeyAlgorithm.h"
 #include "CryptoHmacKeyAlgorithm.h"
@@ -89,3 +91,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.48.0.epoxy/Source/WebCore/crypto/CryptoKey.idl webkitgtk-2.48.0/Source/WebCore/crypto/CryptoKey.idl
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/CryptoKey.idl	2025-02-25 02:25:40.995382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/CryptoKey.idl	2025-04-04 16:34:42.702919749 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/CryptoKeyPair.h webkitgtk-2.48.0/Source/WebCore/crypto/CryptoKeyPair.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/CryptoKeyPair.h	2025-02-25 02:25:40.995382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/CryptoKeyPair.h	2025-04-04 16:34:42.703106122 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/CryptoKeyPair.idl webkitgtk-2.48.0/Source/WebCore/crypto/CryptoKeyPair.idl
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/CryptoKeyPair.idl	2025-02-25 02:25:40.995382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/CryptoKeyPair.idl	2025-04-04 16:34:42.703311080 -0500
@@ -24,6 +24,7 @@
  */
 
 [
+    Conditional=WEB_CRYPTO,
     JSGenerateToJSObject
 ] dictionary CryptoKeyPair {
     CryptoKey publicKey;
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/CryptoKeyUsage.idl webkitgtk-2.48.0/Source/WebCore/crypto/CryptoKeyUsage.idl
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/CryptoKeyUsage.idl	2025-02-25 02:25:40.995382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/CryptoKeyUsage.idl	2025-04-04 16:34:42.704066650 -0500
@@ -23,7 +23,9 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-enum CryptoKeyUsage {
+[
+    Conditional=WEB_CRYPTO,
+] enum CryptoKeyUsage {
     "encrypt",
     "decrypt",
     "sign",
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/gcrypt/CryptoAlgorithmECDHGCrypt.cpp webkitgtk-2.48.0/Source/WebCore/crypto/gcrypt/CryptoAlgorithmECDHGCrypt.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/gcrypt/CryptoAlgorithmECDHGCrypt.cpp	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/gcrypt/CryptoAlgorithmECDHGCrypt.cpp	2025-04-04 16:34:42.704499620 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/gcrypt/CryptoAlgorithmECDSAGCrypt.cpp webkitgtk-2.48.0/Source/WebCore/crypto/gcrypt/CryptoAlgorithmECDSAGCrypt.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/gcrypt/CryptoAlgorithmECDSAGCrypt.cpp	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/gcrypt/CryptoAlgorithmECDSAGCrypt.cpp	2025-04-04 16:34:42.705098293 -0500
@@ -28,6 +28,8 @@
 #include "config.h"
 #include "CryptoAlgorithmECDSA.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmEcdsaParams.h"
 #include "CryptoKeyEC.h"
 #include "GCryptUtilities.h"
@@ -185,3 +187,5 @@ ExceptionOr<bool> CryptoAlgorithmECDSA::
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/gcrypt/CryptoAlgorithmEd25519GCrypt.cpp webkitgtk-2.48.0/Source/WebCore/crypto/gcrypt/CryptoAlgorithmEd25519GCrypt.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/gcrypt/CryptoAlgorithmEd25519GCrypt.cpp	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/gcrypt/CryptoAlgorithmEd25519GCrypt.cpp	2025-04-04 16:34:42.705599792 -0500
@@ -20,6 +20,8 @@
 #include "config.h"
 #include "CryptoAlgorithmEd25519.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoKeyOKP.h"
 #include "GCryptUtilities.h"
 
@@ -153,4 +155,5 @@ ExceptionOr<bool> CryptoAlgorithmEd25519
     return verifyEd25519(key.platformKey(), key.keySizeInBytes(), signature, data);
 }
 
-} // namespace WebCore
+}
+#endif
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/gcrypt/CryptoAlgorithmHKDFGCrypt.cpp webkitgtk-2.48.0/Source/WebCore/crypto/gcrypt/CryptoAlgorithmHKDFGCrypt.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/gcrypt/CryptoAlgorithmHKDFGCrypt.cpp	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/gcrypt/CryptoAlgorithmHKDFGCrypt.cpp	2025-04-04 16:34:42.706068420 -0500
@@ -28,6 +28,8 @@
 #include "config.h"
 #include "CryptoAlgorithmHKDF.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmHkdfParams.h"
 #include "CryptoKeyRaw.h"
 #include "GCryptUtilities.h"
@@ -159,3 +161,5 @@ ExceptionOr<Vector<uint8_t>> CryptoAlgor
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/gcrypt/CryptoAlgorithmHMACGCrypt.cpp webkitgtk-2.48.0/Source/WebCore/crypto/gcrypt/CryptoAlgorithmHMACGCrypt.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/gcrypt/CryptoAlgorithmHMACGCrypt.cpp	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/gcrypt/CryptoAlgorithmHMACGCrypt.cpp	2025-04-04 16:34:42.706519864 -0500
@@ -29,6 +29,8 @@
 #include "config.h"
 #include "CryptoAlgorithmHMAC.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoKeyHMAC.h"
 #include <pal/crypto/gcrypt/Handle.h>
 #include <wtf/CryptographicUtilities.h>
@@ -106,4 +108,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.48.0.epoxy/Source/WebCore/crypto/gcrypt/CryptoAlgorithmPBKDF2GCrypt.cpp webkitgtk-2.48.0/Source/WebCore/crypto/gcrypt/CryptoAlgorithmPBKDF2GCrypt.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/gcrypt/CryptoAlgorithmPBKDF2GCrypt.cpp	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/gcrypt/CryptoAlgorithmPBKDF2GCrypt.cpp	2025-04-04 16:34:42.706916495 -0500
@@ -28,6 +28,8 @@
 #include "config.h"
 #include "CryptoAlgorithmPBKDF2.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmPbkdf2Params.h"
 #include "CryptoKeyRaw.h"
 #include "GCryptUtilities.h"
@@ -64,3 +66,5 @@ ExceptionOr<Vector<uint8_t>> CryptoAlgor
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/gcrypt/CryptoAlgorithmRegistryGCrypt.cpp webkitgtk-2.48.0/Source/WebCore/crypto/gcrypt/CryptoAlgorithmRegistryGCrypt.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/gcrypt/CryptoAlgorithmRegistryGCrypt.cpp	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/gcrypt/CryptoAlgorithmRegistryGCrypt.cpp	2025-04-04 16:34:42.707275284 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/gcrypt/CryptoAlgorithmRSA_OAEPGCrypt.cpp webkitgtk-2.48.0/Source/WebCore/crypto/gcrypt/CryptoAlgorithmRSA_OAEPGCrypt.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/gcrypt/CryptoAlgorithmRSA_OAEPGCrypt.cpp	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/gcrypt/CryptoAlgorithmRSA_OAEPGCrypt.cpp	2025-04-04 16:34:42.707721138 -0500
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmRSA_OAEP.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmRsaOaepParams.h"
 #include "CryptoKeyRSA.h"
 #include "GCryptUtilities.h"
@@ -126,3 +128,5 @@ ExceptionOr<Vector<uint8_t>> CryptoAlgor
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/gcrypt/CryptoAlgorithmRSA_PSSGCrypt.cpp webkitgtk-2.48.0/Source/WebCore/crypto/gcrypt/CryptoAlgorithmRSA_PSSGCrypt.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/gcrypt/CryptoAlgorithmRSA_PSSGCrypt.cpp	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/gcrypt/CryptoAlgorithmRSA_PSSGCrypt.cpp	2025-04-04 16:34:42.708183704 -0500
@@ -28,6 +28,8 @@
 #include "config.h"
 #include "CryptoAlgorithmRSA_PSS.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmRsaPssParams.h"
 #include "CryptoKeyRSA.h"
 #include "GCryptUtilities.h"
@@ -152,3 +154,5 @@ ExceptionOr<bool> CryptoAlgorithmRSA_PSS
 
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/gcrypt/CryptoAlgorithmRSASSA_PKCS1_v1_5GCrypt.cpp webkitgtk-2.48.0/Source/WebCore/crypto/gcrypt/CryptoAlgorithmRSASSA_PKCS1_v1_5GCrypt.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/gcrypt/CryptoAlgorithmRSASSA_PKCS1_v1_5GCrypt.cpp	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/gcrypt/CryptoAlgorithmRSASSA_PKCS1_v1_5GCrypt.cpp	2025-04-04 16:34:42.708656629 -0500
@@ -27,6 +27,8 @@
 #include "config.h"
 #include "CryptoAlgorithmRSASSA_PKCS1_v1_5.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoKeyRSA.h"
 #include "GCryptUtilities.h"
 #include "NotImplemented.h"
@@ -150,3 +152,5 @@ ExceptionOr<bool> CryptoAlgorithmRSASSA_
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/gcrypt/CryptoAlgorithmX25519GCrypt.cpp webkitgtk-2.48.0/Source/WebCore/crypto/gcrypt/CryptoAlgorithmX25519GCrypt.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/gcrypt/CryptoAlgorithmX25519GCrypt.cpp	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/gcrypt/CryptoAlgorithmX25519GCrypt.cpp	2025-04-04 16:34:42.709002003 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/gcrypt/CryptoKeyECGCrypt.cpp webkitgtk-2.48.0/Source/WebCore/crypto/gcrypt/CryptoKeyECGCrypt.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/gcrypt/CryptoKeyECGCrypt.cpp	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/gcrypt/CryptoKeyECGCrypt.cpp	2025-04-04 16:34:42.709440182 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/gcrypt/CryptoKeyOKPGCrypt.cpp webkitgtk-2.48.0/Source/WebCore/crypto/gcrypt/CryptoKeyOKPGCrypt.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/gcrypt/CryptoKeyOKPGCrypt.cpp	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/gcrypt/CryptoKeyOKPGCrypt.cpp	2025-04-04 16:34:42.709976958 -0500
@@ -20,6 +20,8 @@
 #include "config.h"
 #include "CryptoKeyOKP.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoKeyPair.h"
 #include "GCryptRFC7748.h"
 #include "GCryptRFC8032.h"
@@ -512,3 +514,5 @@ Vector<uint8_t> CryptoKeyOKP::platformEx
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/gcrypt/CryptoKeyRSAGCrypt.cpp webkitgtk-2.48.0/Source/WebCore/crypto/gcrypt/CryptoKeyRSAGCrypt.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/gcrypt/CryptoKeyRSAGCrypt.cpp	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/gcrypt/CryptoKeyRSAGCrypt.cpp	2025-04-04 16:34:42.710521389 -0500
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoKeyRSA.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmRegistry.h"
 #include "CryptoKeyPair.h"
 #include "CryptoKeyRSAComponents.h"
@@ -710,3 +712,5 @@ std::unique_ptr<CryptoKeyRSAComponents>
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/gcrypt/SerializedCryptoKeyWrapGCrypt.cpp webkitgtk-2.48.0/Source/WebCore/crypto/gcrypt/SerializedCryptoKeyWrapGCrypt.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/gcrypt/SerializedCryptoKeyWrapGCrypt.cpp	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/gcrypt/SerializedCryptoKeyWrapGCrypt.cpp	2025-04-04 16:34:42.710958577 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/JsonWebKey.idl webkitgtk-2.48.0/Source/WebCore/crypto/JsonWebKey.idl
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/JsonWebKey.idl	2025-02-25 02:25:40.995382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/JsonWebKey.idl	2025-04-04 16:34:42.711702756 -0500
@@ -24,6 +24,7 @@
  */
 
 [
+    Conditional=WEB_CRYPTO,
     JSGenerateToJSObject,
     JSGenerateToNativeObject
 ] dictionary JsonWebKey {
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/keys/CryptoAesKeyAlgorithm.idl webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoAesKeyAlgorithm.idl
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/keys/CryptoAesKeyAlgorithm.idl	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoAesKeyAlgorithm.idl	2025-04-04 16:34:42.711975782 -0500
@@ -24,6 +24,7 @@
  */
 
 [
+    Conditional=WEB_CRYPTO,
     JSGenerateToJSObject
 ] dictionary CryptoAesKeyAlgorithm : CryptoKeyAlgorithm {
     // The length, in bits, of the key.
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/keys/CryptoEcKeyAlgorithm.idl webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoEcKeyAlgorithm.idl
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/keys/CryptoEcKeyAlgorithm.idl	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoEcKeyAlgorithm.idl	2025-04-04 16:34:42.712199816 -0500
@@ -26,6 +26,7 @@
 typedef DOMString NamedCurve;
 
 [
+    Conditional=WEB_CRYPTO,
     JSGenerateToJSObject
 ] dictionary CryptoEcKeyAlgorithm : CryptoKeyAlgorithm {
     // The named curve that the key uses
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/keys/CryptoHmacKeyAlgorithm.idl webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoHmacKeyAlgorithm.idl
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/keys/CryptoHmacKeyAlgorithm.idl	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoHmacKeyAlgorithm.idl	2025-04-04 16:34:42.712411808 -0500
@@ -24,6 +24,7 @@
  */
 
 [
+    Conditional=WEB_CRYPTO,
     JSGenerateToJSObject
 ] dictionary CryptoHmacKeyAlgorithm : CryptoKeyAlgorithm {
     // The inner hash function to use.
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/keys/CryptoKeyAES.cpp webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoKeyAES.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/keys/CryptoKeyAES.cpp	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoKeyAES.cpp	2025-04-04 16:34:42.712689203 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/keys/CryptoKeyAES.h webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoKeyAES.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/keys/CryptoKeyAES.h	2025-02-25 02:25:40.999382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoKeyAES.h	2025-04-04 16:34:42.713125779 -0500
@@ -31,6 +31,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.48.0.epoxy/Source/WebCore/crypto/keys/CryptoKeyAlgorithm.idl webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoKeyAlgorithm.idl
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/keys/CryptoKeyAlgorithm.idl	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoKeyAlgorithm.idl	2025-04-04 16:34:42.713437179 -0500
@@ -24,6 +24,7 @@
  */
 
 [
+    Conditional=WEB_CRYPTO,
     JSGenerateToJSObject
 ] dictionary CryptoKeyAlgorithm {
     required DOMString name;
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/keys/CryptoKeyEC.cpp webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoKeyEC.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/keys/CryptoKeyEC.cpp	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoKeyEC.cpp	2025-04-04 16:34:42.713762735 -0500
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoKeyEC.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmRegistry.h"
 #include "JsonWebKey.h"
 #if HAVE(SWIFT_CPP_INTEROP)
@@ -253,3 +255,5 @@ CryptoKey::Data CryptoKeyEC::data() cons
 
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/keys/CryptoKeyEC.h webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoKeyEC.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/keys/CryptoKeyEC.h	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoKeyEC.h	2025-04-04 16:34:42.714189623 -0500
@@ -29,6 +29,8 @@
 #include "CryptoKeyPair.h"
 #include "ExceptionOr.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #if OS(DARWIN) && !PLATFORM(GTK)
 #include "CommonCryptoUtilities.h"
 #if HAVE(SWIFT_CPP_INTEROP)
@@ -126,3 +128,5 @@ private:
 } // namespace WebCore
 
 SPECIALIZE_TYPE_TRAITS_CRYPTO_KEY(CryptoKeyEC, CryptoKeyClass::EC)
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/keys/CryptoKeyHMAC.cpp webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoKeyHMAC.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/keys/CryptoKeyHMAC.cpp	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoKeyHMAC.cpp	2025-04-04 16:34:42.714586454 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/keys/CryptoKeyHMAC.h webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoKeyHMAC.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/keys/CryptoKeyHMAC.h	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoKeyHMAC.h	2025-04-04 16:34:42.715033090 -0500
@@ -25,6 +25,8 @@
 
 #pragma once
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoKey.h"
 #include "ExceptionOr.h"
 #include <wtf/Function.h>
@@ -71,3 +73,5 @@ private:
 } // namespace WebCore
 
 SPECIALIZE_TYPE_TRAITS_CRYPTO_KEY(CryptoKeyHMAC, CryptoKeyClass::HMAC)
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/keys/CryptoKeyOKP.cpp webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoKeyOKP.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/keys/CryptoKeyOKP.cpp	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoKeyOKP.cpp	2025-04-04 16:34:42.715439379 -0500
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoKeyOKP.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmRegistry.h"
 #include "JsonWebKey.h"
 #include <wtf/text/Base64.h>
@@ -287,3 +289,5 @@ Vector<uint8_t> CryptoKeyOKP::platformEx
 #endif
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/keys/CryptoKeyOKP.h webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoKeyOKP.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/keys/CryptoKeyOKP.h	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoKeyOKP.h	2025-04-04 16:34:42.715868792 -0500
@@ -29,6 +29,8 @@
 #include "CryptoKeyPair.h"
 #include "ExceptionOr.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.48.0.epoxy/Source/WebCore/crypto/keys/CryptoKeyRaw.cpp webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoKeyRaw.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/keys/CryptoKeyRaw.cpp	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoKeyRaw.cpp	2025-04-04 16:34:42.716215719 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/keys/CryptoKeyRaw.h webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoKeyRaw.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/keys/CryptoKeyRaw.h	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoKeyRaw.h	2025-04-04 16:34:42.716603062 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/keys/CryptoKeyRSAComponents.cpp webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoKeyRSAComponents.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/keys/CryptoKeyRSAComponents.cpp	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoKeyRSAComponents.cpp	2025-04-04 16:34:42.716995605 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/keys/CryptoKeyRSAComponents.h webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoKeyRSAComponents.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/keys/CryptoKeyRSAComponents.h	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoKeyRSAComponents.h	2025-04-04 16:34:42.717426080 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/keys/CryptoKeyRSA.cpp webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoKeyRSA.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/keys/CryptoKeyRSA.cpp	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoKeyRSA.cpp	2025-04-04 16:34:42.717796070 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/keys/CryptoKeyRSA.h webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoKeyRSA.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/keys/CryptoKeyRSA.h	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoKeyRSA.h	2025-04-04 16:34:42.718261602 -0500
@@ -29,6 +29,8 @@
 #include "ExceptionOr.h"
 #include <wtf/Function.h>
 
+#if ENABLE(WEB_CRYPTO)
+
 #if OS(DARWIN) && !PLATFORM(GTK)
 #include "CommonCryptoUtilities.h"
 
@@ -108,3 +110,5 @@ private:
 } // namespace WebCore
 
 SPECIALIZE_TYPE_TRAITS_CRYPTO_KEY(CryptoKeyRSA, CryptoKeyClass::RSA)
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/keys/CryptoRsaHashedKeyAlgorithm.idl webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoRsaHashedKeyAlgorithm.idl
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/keys/CryptoRsaHashedKeyAlgorithm.idl	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoRsaHashedKeyAlgorithm.idl	2025-04-04 16:34:42.718585595 -0500
@@ -24,6 +24,7 @@
  */
 
 [
+    Conditional=WEB_CRYPTO,
     JSGenerateToJSObject
 ] dictionary CryptoRsaHashedKeyAlgorithm : CryptoRsaKeyAlgorithm {
     // The hash algorithm that is used with this key
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/keys/CryptoRsaKeyAlgorithm.idl webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoRsaKeyAlgorithm.idl
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/keys/CryptoRsaKeyAlgorithm.idl	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/keys/CryptoRsaKeyAlgorithm.idl	2025-04-04 16:34:42.718772829 -0500
@@ -26,6 +26,7 @@
 typedef Uint8Array BigInteger;
 
 [
+    Conditional=WEB_CRYPTO,
     JSGenerateToJSObject
 ] dictionary CryptoRsaKeyAlgorithm : CryptoKeyAlgorithm {
     // The length, in bits, of the RSA modulus
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/openssl/CryptoAlgorithmECDHOpenSSL.cpp webkitgtk-2.48.0/Source/WebCore/crypto/openssl/CryptoAlgorithmECDHOpenSSL.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/openssl/CryptoAlgorithmECDHOpenSSL.cpp	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/openssl/CryptoAlgorithmECDHOpenSSL.cpp	2025-04-04 16:34:42.719054483 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/openssl/CryptoAlgorithmECDSAOpenSSL.cpp webkitgtk-2.48.0/Source/WebCore/crypto/openssl/CryptoAlgorithmECDSAOpenSSL.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/openssl/CryptoAlgorithmECDSAOpenSSL.cpp	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/openssl/CryptoAlgorithmECDSAOpenSSL.cpp	2025-04-04 16:34:42.719503172 -0500
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmECDSA.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmEcdsaParams.h"
 #include "CryptoKeyEC.h"
 #include "OpenSSLUtilities.h"
@@ -97,3 +99,5 @@ ExceptionOr<bool> CryptoAlgorithmECDSA::
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/openssl/CryptoAlgorithmHKDFOpenSSL.cpp webkitgtk-2.48.0/Source/WebCore/crypto/openssl/CryptoAlgorithmHKDFOpenSSL.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/openssl/CryptoAlgorithmHKDFOpenSSL.cpp	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/openssl/CryptoAlgorithmHKDFOpenSSL.cpp	2025-04-04 16:34:42.719934138 -0500
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmHKDF.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmHkdfParams.h"
 #include "CryptoKeyRaw.h"
 #include "OpenSSLUtilities.h"
@@ -47,3 +49,5 @@ ExceptionOr<Vector<uint8_t>> CryptoAlgor
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/openssl/CryptoAlgorithmHMACOpenSSL.cpp webkitgtk-2.48.0/Source/WebCore/crypto/openssl/CryptoAlgorithmHMACOpenSSL.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/openssl/CryptoAlgorithmHMACOpenSSL.cpp	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/openssl/CryptoAlgorithmHMACOpenSSL.cpp	2025-04-04 16:34:42.720356006 -0500
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmHMAC.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoKeyHMAC.h"
 #include "OpenSSLCryptoUniquePtr.h"
 #include "OpenSSLUtilities.h"
@@ -83,3 +85,5 @@ ExceptionOr<bool> CryptoAlgorithmHMAC::p
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/openssl/CryptoAlgorithmPBKDF2OpenSSL.cpp webkitgtk-2.48.0/Source/WebCore/crypto/openssl/CryptoAlgorithmPBKDF2OpenSSL.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/openssl/CryptoAlgorithmPBKDF2OpenSSL.cpp	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/openssl/CryptoAlgorithmPBKDF2OpenSSL.cpp	2025-04-04 16:34:42.720410691 -0500
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmPBKDF2.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmPbkdf2Params.h"
 #include "CryptoKeyRaw.h"
 #include "OpenSSLUtilities.h"
@@ -51,3 +53,5 @@ ExceptionOr<Vector<uint8_t>> CryptoAlgor
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/openssl/CryptoAlgorithmRegistryOpenSSL.cpp webkitgtk-2.48.0/Source/WebCore/crypto/openssl/CryptoAlgorithmRegistryOpenSSL.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/openssl/CryptoAlgorithmRegistryOpenSSL.cpp	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/openssl/CryptoAlgorithmRegistryOpenSSL.cpp	2025-04-04 16:34:42.721170498 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/openssl/CryptoAlgorithmRSA_OAEPOpenSSL.cpp webkitgtk-2.48.0/Source/WebCore/crypto/openssl/CryptoAlgorithmRSA_OAEPOpenSSL.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/openssl/CryptoAlgorithmRSA_OAEPOpenSSL.cpp	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/openssl/CryptoAlgorithmRSA_OAEPOpenSSL.cpp	2025-04-04 16:34:42.721611483 -0500
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmRSA_OAEP.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmRsaOaepParams.h"
 #include "CryptoKeyRSA.h"
 #include "OpenSSLUtilities.h"
@@ -131,3 +133,5 @@ ExceptionOr<Vector<uint8_t>> CryptoAlgor
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/openssl/CryptoAlgorithmRSA_PSSOpenSSL.cpp webkitgtk-2.48.0/Source/WebCore/crypto/openssl/CryptoAlgorithmRSA_PSSOpenSSL.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/openssl/CryptoAlgorithmRSA_PSSOpenSSL.cpp	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/openssl/CryptoAlgorithmRSA_PSSOpenSSL.cpp	2025-04-04 16:34:42.722049472 -0500
@@ -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"
@@ -119,4 +119,4 @@ ExceptionOr<bool> CryptoAlgorithmRSA_PSS
 
 } // namespace WebCore
 
-#endif // HAVE(RSA_PSS)
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/openssl/CryptoAlgorithmRSASSA_PKCS1_v1_5OpenSSL.cpp webkitgtk-2.48.0/Source/WebCore/crypto/openssl/CryptoAlgorithmRSASSA_PKCS1_v1_5OpenSSL.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/openssl/CryptoAlgorithmRSASSA_PKCS1_v1_5OpenSSL.cpp	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/openssl/CryptoAlgorithmRSASSA_PKCS1_v1_5OpenSSL.cpp	2025-04-04 16:34:42.722434411 -0500
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoAlgorithmRSASSA_PKCS1_v1_5.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoKeyRSA.h"
 #include "OpenSSLUtilities.h"
 
@@ -95,3 +97,5 @@ ExceptionOr<bool> CryptoAlgorithmRSASSA_
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/openssl/CryptoKeyECOpenSSL.cpp webkitgtk-2.48.0/Source/WebCore/crypto/openssl/CryptoKeyECOpenSSL.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/openssl/CryptoKeyECOpenSSL.cpp	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/openssl/CryptoKeyECOpenSSL.cpp	2025-04-04 16:34:42.722836181 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/openssl/CryptoKeyRSAOpenSSL.cpp webkitgtk-2.48.0/Source/WebCore/crypto/openssl/CryptoKeyRSAOpenSSL.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/openssl/CryptoKeyRSAOpenSSL.cpp	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/openssl/CryptoKeyRSAOpenSSL.cpp	2025-04-04 16:34:42.723327071 -0500
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "CryptoKeyRSA.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmRegistry.h"
 #include "CryptoKeyPair.h"
 #include "CryptoKeyRSAComponents.h"
@@ -402,3 +404,5 @@ std::unique_ptr<CryptoKeyRSAComponents>
 }
 
 } // namespace WebCore
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/openssl/OpenSSLUtilities.cpp webkitgtk-2.48.0/Source/WebCore/crypto/openssl/OpenSSLUtilities.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/openssl/OpenSSLUtilities.cpp	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/openssl/OpenSSLUtilities.cpp	2025-04-04 16:34:42.723410746 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/openssl/OpenSSLUtilities.h webkitgtk-2.48.0/Source/WebCore/crypto/openssl/OpenSSLUtilities.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/openssl/OpenSSLUtilities.h	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/openssl/OpenSSLUtilities.h	2025-04-04 16:34:42.724130892 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/openssl/SerializedCryptoKeyWrapOpenSSL.cpp webkitgtk-2.48.0/Source/WebCore/crypto/openssl/SerializedCryptoKeyWrapOpenSSL.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/openssl/SerializedCryptoKeyWrapOpenSSL.cpp	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/openssl/SerializedCryptoKeyWrapOpenSSL.cpp	2025-04-04 16:34:42.724532893 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/parameters/AesCbcCfbParams.idl webkitgtk-2.48.0/Source/WebCore/crypto/parameters/AesCbcCfbParams.idl
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/AesCbcCfbParams.idl	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/parameters/AesCbcCfbParams.idl	2025-04-04 16:34:42.724836178 -0500
@@ -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
 ] dictionary AesCbcCfbParams : CryptoAlgorithmParameters {
     // The initialization vector. MUST be 16 bytes.
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/AesCtrParams.idl webkitgtk-2.48.0/Source/WebCore/crypto/parameters/AesCtrParams.idl
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/AesCtrParams.idl	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/parameters/AesCtrParams.idl	2025-04-04 16:34:42.725184256 -0500
@@ -23,6 +23,7 @@
 */
 
 [
+    Conditional=WEB_CRYPTO,
     ImplementedAs=CryptoAlgorithmAesCtrParams
 ] dictionary AesCtrParams : CryptoAlgorithmParameters {
     // The initial value of the counter block. counter MUST be 16 bytes
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/AesGcmParams.idl webkitgtk-2.48.0/Source/WebCore/crypto/parameters/AesGcmParams.idl
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/AesGcmParams.idl	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/parameters/AesGcmParams.idl	2025-04-04 16:34:42.725497279 -0500
@@ -23,6 +23,7 @@
  */
 
 [
+    Conditional=WEB_CRYPTO,
     ImplementedAs=CryptoAlgorithmAesGcmParams
 ] dictionary AesGcmParams : CryptoAlgorithmParameters {
     // The initialization vector to use. May be up to 2^64-1 bytes long.
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/AesKeyParams.idl webkitgtk-2.48.0/Source/WebCore/crypto/parameters/AesKeyParams.idl
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/AesKeyParams.idl	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/parameters/AesKeyParams.idl	2025-04-04 16:34:42.725712316 -0500
@@ -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
 ] dictionary AesKeyParams : CryptoAlgorithmParameters {
     // The length, in bits, of the key.
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/CryptoAlgorithmAesCbcCfbParams.h webkitgtk-2.48.0/Source/WebCore/crypto/parameters/CryptoAlgorithmAesCbcCfbParams.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/CryptoAlgorithmAesCbcCfbParams.h	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/parameters/CryptoAlgorithmAesCbcCfbParams.h	2025-04-04 16:34:42.725967279 -0500
@@ -29,6 +29,8 @@
 #include "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.48.0.epoxy/Source/WebCore/crypto/parameters/CryptoAlgorithmAesCtrParams.h webkitgtk-2.48.0/Source/WebCore/crypto/parameters/CryptoAlgorithmAesCtrParams.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/CryptoAlgorithmAesCtrParams.h	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/parameters/CryptoAlgorithmAesCtrParams.h	2025-04-04 16:34:42.726397774 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/parameters/CryptoAlgorithmAesGcmParams.h webkitgtk-2.48.0/Source/WebCore/crypto/parameters/CryptoAlgorithmAesGcmParams.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/CryptoAlgorithmAesGcmParams.h	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/parameters/CryptoAlgorithmAesGcmParams.h	2025-04-04 16:34:42.726773154 -0500
@@ -29,6 +29,8 @@
 #include "CryptoAlgorithmParameters.h"
 #include <wtf/Vector.h>
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmAesGcmParams final : public CryptoAlgorithmParameters {
@@ -83,3 +85,5 @@ private:
 } // namespace WebCore
 
 SPECIALIZE_TYPE_TRAITS_CRYPTO_ALGORITHM_PARAMETERS(AesGcmParams)
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/CryptoAlgorithmAesKeyParams.h webkitgtk-2.48.0/Source/WebCore/crypto/parameters/CryptoAlgorithmAesKeyParams.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/CryptoAlgorithmAesKeyParams.h	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/parameters/CryptoAlgorithmAesKeyParams.h	2025-04-04 16:34:42.727090195 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/parameters/CryptoAlgorithmEcdhKeyDeriveParams.h webkitgtk-2.48.0/Source/WebCore/crypto/parameters/CryptoAlgorithmEcdhKeyDeriveParams.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/CryptoAlgorithmEcdhKeyDeriveParams.h	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/parameters/CryptoAlgorithmEcdhKeyDeriveParams.h	2025-04-04 16:34:42.727261629 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/parameters/CryptoAlgorithmEcdsaParams.h webkitgtk-2.48.0/Source/WebCore/crypto/parameters/CryptoAlgorithmEcdsaParams.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/CryptoAlgorithmEcdsaParams.h	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/parameters/CryptoAlgorithmEcdsaParams.h	2025-04-04 16:34:42.727485493 -0500
@@ -30,6 +30,8 @@
 #include <JavaScriptCore/Strong.h>
 #include <variant>
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmEcdsaParams final : public CryptoAlgorithmParameters {
@@ -54,3 +56,5 @@ public:
 } // namespace WebCore
 
 SPECIALIZE_TYPE_TRAITS_CRYPTO_ALGORITHM_PARAMETERS(EcdsaParams)
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/CryptoAlgorithmEcKeyParams.h webkitgtk-2.48.0/Source/WebCore/crypto/parameters/CryptoAlgorithmEcKeyParams.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/CryptoAlgorithmEcKeyParams.h	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/parameters/CryptoAlgorithmEcKeyParams.h	2025-04-04 16:34:42.727826218 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/parameters/CryptoAlgorithmHkdfParams.h webkitgtk-2.48.0/Source/WebCore/crypto/parameters/CryptoAlgorithmHkdfParams.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/CryptoAlgorithmHkdfParams.h	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/parameters/CryptoAlgorithmHkdfParams.h	2025-04-04 16:34:42.728097511 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/parameters/CryptoAlgorithmHmacKeyParams.h webkitgtk-2.48.0/Source/WebCore/crypto/parameters/CryptoAlgorithmHmacKeyParams.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/CryptoAlgorithmHmacKeyParams.h	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/parameters/CryptoAlgorithmHmacKeyParams.h	2025-04-04 16:34:42.728505524 -0500
@@ -25,6 +25,8 @@
 
 #pragma once
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "CryptoAlgorithmParameters.h"
 #include <JavaScriptCore/JSObject.h>
 #include <JavaScriptCore/Strong.h>
@@ -56,3 +58,5 @@ public:
 } // namespace WebCore
 
 SPECIALIZE_TYPE_TRAITS_CRYPTO_ALGORITHM_PARAMETERS(HmacKeyParams)
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/CryptoAlgorithmPbkdf2Params.h webkitgtk-2.48.0/Source/WebCore/crypto/parameters/CryptoAlgorithmPbkdf2Params.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/CryptoAlgorithmPbkdf2Params.h	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/parameters/CryptoAlgorithmPbkdf2Params.h	2025-04-04 16:34:42.728882477 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaHashedImportParams.h webkitgtk-2.48.0/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaHashedImportParams.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaHashedImportParams.h	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaHashedImportParams.h	2025-04-04 16:34:42.729321749 -0500
@@ -30,6 +30,8 @@
 #include <JavaScriptCore/Strong.h>
 #include <variant>
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmRsaHashedImportParams final : public CryptoAlgorithmParameters {
@@ -54,3 +56,5 @@ public:
 } // namespace WebCore
 
 SPECIALIZE_TYPE_TRAITS_CRYPTO_ALGORITHM_PARAMETERS(RsaHashedImportParams)
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaHashedKeyGenParams.h webkitgtk-2.48.0/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaHashedKeyGenParams.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaHashedKeyGenParams.h	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaHashedKeyGenParams.h	2025-04-04 16:34:42.729410855 -0500
@@ -30,6 +30,8 @@
 #include <JavaScriptCore/Strong.h>
 #include <variant>
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmRsaHashedKeyGenParams final : public CryptoAlgorithmRsaKeyGenParams {
@@ -44,3 +46,5 @@ public:
 } // namespace WebCore
 
 SPECIALIZE_TYPE_TRAITS_CRYPTO_ALGORITHM_PARAMETERS(RsaHashedKeyGenParams)
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h webkitgtk-2.48.0/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h	2025-04-04 16:34:42.730019319 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaOaepParams.h webkitgtk-2.48.0/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaOaepParams.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaOaepParams.h	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaOaepParams.h	2025-04-04 16:34:42.730468680 -0500
@@ -29,6 +29,8 @@
 #include "CryptoAlgorithmParameters.h"
 #include <wtf/Vector.h>
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmRsaOaepParams final : public CryptoAlgorithmParameters {
@@ -69,3 +71,5 @@ private:
 } // namespace WebCore
 
 SPECIALIZE_TYPE_TRAITS_CRYPTO_ALGORITHM_PARAMETERS(RsaOaepParams)
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaPssParams.h webkitgtk-2.48.0/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaPssParams.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaPssParams.h	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/parameters/CryptoAlgorithmRsaPssParams.h	2025-04-04 16:34:42.730811249 -0500
@@ -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.48.0.epoxy/Source/WebCore/crypto/parameters/CryptoAlgorithmX25519Params.h webkitgtk-2.48.0/Source/WebCore/crypto/parameters/CryptoAlgorithmX25519Params.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/CryptoAlgorithmX25519Params.h	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/parameters/CryptoAlgorithmX25519Params.h	2025-04-04 16:34:42.730984066 -0500
@@ -26,6 +26,8 @@
 #include <JavaScriptCore/Strong.h>
 #include <variant>
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 class CryptoAlgorithmX25519Params final : public CryptoAlgorithmParameters {
@@ -38,3 +40,5 @@ public:
 } // namespace WebCore
 
 SPECIALIZE_TYPE_TRAITS_CRYPTO_ALGORITHM_PARAMETERS(X25519Params)
+
+#endif // ENABLE(WEB_CRYPTO)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/EcdhKeyDeriveParams.idl webkitgtk-2.48.0/Source/WebCore/crypto/parameters/EcdhKeyDeriveParams.idl
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/EcdhKeyDeriveParams.idl	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/parameters/EcdhKeyDeriveParams.idl	2025-04-04 16:34:42.731143668 -0500
@@ -24,6 +24,7 @@
  */
 
 [
+    Conditional=WEB_CRYPTO,
     ImplementedAs=CryptoAlgorithmEcdhKeyDeriveParams,
 ] dictionary EcdhKeyDeriveParams : CryptoAlgorithmParameters {
     // We should rename this to public once https://bugs.webkit.org/show_bug.cgi?id=169333 is fixed.
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/EcdsaParams.idl webkitgtk-2.48.0/Source/WebCore/crypto/parameters/EcdsaParams.idl
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/EcdsaParams.idl	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/parameters/EcdsaParams.idl	2025-04-04 16:34:42.731299813 -0500
@@ -26,6 +26,7 @@
 typedef (object or DOMString) HashAlgorithmIdentifier;
 
 [
+    Conditional=WEB_CRYPTO,
     ImplementedAs=CryptoAlgorithmEcdsaParams
 ] dictionary EcdsaParams : CryptoAlgorithmParameters {
     // The hash algorithm to use
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/EcKeyParams.idl webkitgtk-2.48.0/Source/WebCore/crypto/parameters/EcKeyParams.idl
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/EcKeyParams.idl	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/parameters/EcKeyParams.idl	2025-04-04 16:34:42.731469905 -0500
@@ -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
 ] dictionary EcKeyParams : CryptoAlgorithmParameters {
     required DOMString namedCurve;
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/HkdfParams.idl webkitgtk-2.48.0/Source/WebCore/crypto/parameters/HkdfParams.idl
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/HkdfParams.idl	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/parameters/HkdfParams.idl	2025-04-04 16:34:42.731647732 -0500
@@ -26,6 +26,7 @@
 typedef (object or DOMString) HashAlgorithmIdentifier;
 
 [
+    Conditional=WEB_CRYPTO,
     ImplementedAs=CryptoAlgorithmHkdfParams,
 ] dictionary HkdfParams : CryptoAlgorithmParameters {
     // The algorithm to use with HMAC (e.g.: SHA-256)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/HmacKeyParams.idl webkitgtk-2.48.0/Source/WebCore/crypto/parameters/HmacKeyParams.idl
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/HmacKeyParams.idl	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/parameters/HmacKeyParams.idl	2025-04-04 16:34:42.731810991 -0500
@@ -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
 ] dictionary HmacKeyParams : CryptoAlgorithmParameters {
     // The inner hash function to use.
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/Pbkdf2Params.idl webkitgtk-2.48.0/Source/WebCore/crypto/parameters/Pbkdf2Params.idl
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/Pbkdf2Params.idl	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/parameters/Pbkdf2Params.idl	2025-04-04 16:34:42.732008946 -0500
@@ -26,6 +26,7 @@
 typedef (object or DOMString) HashAlgorithmIdentifier;
 
 [
+    Conditional=WEB_CRYPTO,
     ImplementedAs=CryptoAlgorithmPbkdf2Params,
 ] dictionary Pbkdf2Params : CryptoAlgorithmParameters {
     required BufferSource salt;
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/RsaHashedImportParams.idl webkitgtk-2.48.0/Source/WebCore/crypto/parameters/RsaHashedImportParams.idl
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/RsaHashedImportParams.idl	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/parameters/RsaHashedImportParams.idl	2025-04-04 16:34:42.732166384 -0500
@@ -26,6 +26,7 @@
 typedef (object or DOMString) HashAlgorithmIdentifier;
 
 [
+    Conditional=WEB_CRYPTO,
     ImplementedAs=CryptoAlgorithmRsaHashedImportParams
 ] dictionary RsaHashedImportParams : CryptoAlgorithmParameters {
     // The hash algorithm to use
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/RsaHashedKeyGenParams.idl webkitgtk-2.48.0/Source/WebCore/crypto/parameters/RsaHashedKeyGenParams.idl
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/RsaHashedKeyGenParams.idl	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/parameters/RsaHashedKeyGenParams.idl	2025-04-04 16:34:42.732345743 -0500
@@ -26,6 +26,7 @@
 typedef (object or DOMString) HashAlgorithmIdentifier;
 
 [
+    Conditional=WEB_CRYPTO,
     ImplementedAs=CryptoAlgorithmRsaHashedKeyGenParams
 ] dictionary RsaHashedKeyGenParams : RsaKeyGenParams {
     // The hash algorithm to use
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/RsaKeyGenParams.idl webkitgtk-2.48.0/Source/WebCore/crypto/parameters/RsaKeyGenParams.idl
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/RsaKeyGenParams.idl	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/parameters/RsaKeyGenParams.idl	2025-04-04 16:34:42.732500877 -0500
@@ -24,6 +24,7 @@
  */
 
 [
+    Conditional=WEB_CRYPTO,
     ImplementedAs=CryptoAlgorithmRsaKeyGenParams
 ] dictionary RsaKeyGenParams : CryptoAlgorithmParameters {
     // The length, in bits, of the RSA modulus
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/RsaOaepParams.idl webkitgtk-2.48.0/Source/WebCore/crypto/parameters/RsaOaepParams.idl
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/RsaOaepParams.idl	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/parameters/RsaOaepParams.idl	2025-04-04 16:34:42.732673754 -0500
@@ -24,6 +24,7 @@
 */
 
 [
+    Conditional=WEB_CRYPTO,
     ImplementedAs=CryptoAlgorithmRsaOaepParams
 ] dictionary RsaOaepParams : CryptoAlgorithmParameters {
     // The optional label/application data to associate with the message
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/RsaPssParams.idl webkitgtk-2.48.0/Source/WebCore/crypto/parameters/RsaPssParams.idl
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/RsaPssParams.idl	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/parameters/RsaPssParams.idl	2025-04-04 16:34:42.732837534 -0500
@@ -24,6 +24,7 @@
  */
 
 [
+    Conditional=WEB_CRYPTO,
     ImplementedAs=CryptoAlgorithmRsaPssParams
 ] dictionary RsaPssParams : CryptoAlgorithmParameters {
     // The desired length of the random salt
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/X25519Params.idl webkitgtk-2.48.0/Source/WebCore/crypto/parameters/X25519Params.idl
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/parameters/X25519Params.idl	2025-02-25 02:25:41.003382200 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/parameters/X25519Params.idl	2025-04-04 16:34:42.733029478 -0500
@@ -1,4 +1,5 @@
 [
+    Conditional=WEB_CRYPTO,
     ImplementedAs=CryptoAlgorithmX25519Params,
 ] dictionary X25519Params : CryptoAlgorithmParameters {
     required CryptoKey publicKey;
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/RsaOtherPrimesInfo.idl webkitgtk-2.48.0/Source/WebCore/crypto/RsaOtherPrimesInfo.idl
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/RsaOtherPrimesInfo.idl	2025-02-25 02:25:40.995382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/RsaOtherPrimesInfo.idl	2025-04-04 16:34:42.733368670 -0500
@@ -24,6 +24,7 @@
  */
 
 [
+    Conditional=WEB_CRYPTO,
     JSGenerateToJSObject,
     JSGenerateToNativeObject
 ] dictionary RsaOtherPrimesInfo {
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/SerializedCryptoKeyWrap.h webkitgtk-2.48.0/Source/WebCore/crypto/SerializedCryptoKeyWrap.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/SerializedCryptoKeyWrap.h	2025-02-25 02:25:40.995382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/SerializedCryptoKeyWrap.h	2025-04-04 16:34:42.733614605 -0500
@@ -28,6 +28,8 @@
 #include <wtf/Forward.h>
 #include <wtf/text/WTFString.h>
 
+#if ENABLE(WEB_CRYPTO)
+
 namespace WebCore {
 
 struct WrappedCryptoKey;
@@ -48,3 +50,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.48.0.epoxy/Source/WebCore/crypto/SubtleCrypto.cpp webkitgtk-2.48.0/Source/WebCore/crypto/SubtleCrypto.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/SubtleCrypto.cpp	2025-02-25 02:25:40.995382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/SubtleCrypto.cpp	2025-04-04 16:34:42.734253735 -0500
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "SubtleCrypto.h"
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "ContextDestructionObserverInlines.h"
 #include "CryptoAlgorithm.h"
 #include "CryptoAlgorithmRegistry.h"
@@ -66,7 +68,7 @@ SubtleCrypto::SubtleCrypto(ScriptExecuti
 
 SubtleCrypto::~SubtleCrypto() = default;
 
-enum class Operations : uint8_t {
+enum class Operations {
     Encrypt,
     Decrypt,
     Sign,
@@ -1303,4 +1305,6 @@ void SubtleCrypto::unwrapKey(JSC::JSGlob
     unwrapAlgorithm->decrypt(*unwrapParams, unwrappingKey, WTFMove(wrappedKey), WTFMove(callback), WTFMove(exceptionCallback), *scriptExecutionContext(), m_workQueue);
 }
 
-} // namespace WebCore
+}
+
+#endif
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/SubtleCrypto.h webkitgtk-2.48.0/Source/WebCore/crypto/SubtleCrypto.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/SubtleCrypto.h	2025-02-25 02:25:40.995382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/SubtleCrypto.h	2025-04-04 16:34:42.734410946 -0500
@@ -25,6 +25,8 @@
 
 #pragma once
 
+#if ENABLE(WEB_CRYPTO)
+
 #include "ContextDestructionObserver.h"
 #include "CryptoKeyFormat.h"
 #include <JavaScriptCore/Strong.h>
@@ -84,4 +86,6 @@ private:
     HashMap<DeferredPromise*, Ref<DeferredPromise>> m_pendingPromises;
 };
 
-} // namespace WebCore
+}
+
+#endif
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/SubtleCrypto.idl webkitgtk-2.48.0/Source/WebCore/crypto/SubtleCrypto.idl
--- webkitgtk-2.48.0.epoxy/Source/WebCore/crypto/SubtleCrypto.idl	2025-02-25 02:25:40.995382000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/crypto/SubtleCrypto.idl	2025-04-04 16:34:42.735198895 -0500
@@ -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.48.0.epoxy/Source/WebCore/dom/Document.cpp webkitgtk-2.48.0/Source/WebCore/dom/Document.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/dom/Document.cpp	2025-02-25 02:25:41.075384000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/dom/Document.cpp	2025-04-04 16:34:42.737411001 -0500
@@ -9496,6 +9496,7 @@ void Document::didLoadResourceSynchronou
         page->cookieJar().clearCacheForHost(url.host().toString());
 }
 
+#if ENABLE(WEB_CRYPTO)
 std::optional<Vector<uint8_t>> Document::wrapCryptoKey(const Vector<uint8_t>& key)
 {
     RefPtr page = this->page();
@@ -9521,6 +9522,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.48.0.epoxy/Source/WebCore/dom/Document.h webkitgtk-2.48.0/Source/WebCore/dom/Document.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/dom/Document.h	2025-02-25 02:25:41.079384000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/dom/Document.h	2025-04-04 16:34:42.739620184 -0500
@@ -1611,9 +1611,11 @@ public:
 
     void setVisualUpdatesAllowedByClient(bool);
 
+#if ENABLE(WEB_CRYPTO)
     std::optional<Vector<uint8_t>> wrapCryptoKey(const Vector<uint8_t>&) final;
     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.48.0.epoxy/Source/WebCore/dom/EmptyScriptExecutionContext.h webkitgtk-2.48.0/Source/WebCore/dom/EmptyScriptExecutionContext.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/dom/EmptyScriptExecutionContext.h	2025-02-25 02:25:41.083384000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/dom/EmptyScriptExecutionContext.h	2025-04-04 16:34:42.740454504 -0500
@@ -79,9 +79,11 @@ public:
     void postTask(Task&&) final { ASSERT_NOT_REACHED(); }
     EventTarget* errorEventTarget() final { return nullptr; };
 
+#if ENABLE(WEB_CRYPTO)
     std::optional<Vector<uint8_t>> wrapCryptoKey(const Vector<uint8_t>&) final { return std::nullopt; }
     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.48.0.epoxy/Source/WebCore/dom/ScriptExecutionContext.h webkitgtk-2.48.0/Source/WebCore/dom/ScriptExecutionContext.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/dom/ScriptExecutionContext.h	2025-02-25 02:25:41.103384500 -0600
+++ webkitgtk-2.48.0/Source/WebCore/dom/ScriptExecutionContext.h	2025-04-04 16:34:42.741103472 -0500
@@ -287,12 +287,14 @@ public:
     DatabaseContext* databaseContext() { return m_databaseContext.get(); }
     void setDatabaseContext(DatabaseContext*);
 
+#if ENABLE(WEB_CRYPTO)
     // 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.
     virtual std::optional<Vector<uint8_t>> wrapCryptoKey(const Vector<uint8_t>& key) = 0;
     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.48.0.epoxy/Source/WebCore/page/Crypto.cpp webkitgtk-2.48.0/Source/WebCore/page/Crypto.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/page/Crypto.cpp	2025-02-25 02:25:41.275388700 -0600
+++ webkitgtk-2.48.0/Source/WebCore/page/Crypto.cpp	2025-04-04 16:34:42.741690103 -0500
@@ -46,7 +46,9 @@ namespace WebCore {
 
 Crypto::Crypto(ScriptExecutionContext* context)
     : ContextDestructionObserver(context)
+#if ENABLE(WEB_CRYPTO)
     , m_subtle(SubtleCrypto::create(context))
+#endif
 {
 }
 
@@ -72,9 +74,13 @@ String Crypto::randomUUID() const
     return createVersion4UUIDString();
 }
 
+#if ENABLE(WEB_CRYPTO)
+
 SubtleCrypto& Crypto::subtle()
 {
     return m_subtle;
 }
 
-} // namespace WebCore
+#endif
+
+}
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/page/Crypto.h webkitgtk-2.48.0/Source/WebCore/page/Crypto.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/page/Crypto.h	2025-02-25 02:25:41.275388700 -0600
+++ webkitgtk-2.48.0/Source/WebCore/page/Crypto.h	2025-04-04 16:34:42.742234413 -0500
@@ -48,12 +48,16 @@ public:
     ExceptionOr<void> getRandomValues(JSC::ArrayBufferView&);
     String randomUUID() const;
 
+#if ENABLE(WEB_CRYPTO)
     SubtleCrypto& subtle();
+#endif
 
 private:
     Crypto(ScriptExecutionContext*);
 
+#if ENABLE(WEB_CRYPTO)
     Ref<SubtleCrypto> m_subtle;
+#endif
 };
 
 }
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/page/Crypto.idl webkitgtk-2.48.0/Source/WebCore/page/Crypto.idl
--- webkitgtk-2.48.0.epoxy/Source/WebCore/page/Crypto.idl	2025-02-25 02:25:41.275388700 -0600
+++ webkitgtk-2.48.0/Source/WebCore/page/Crypto.idl	2025-04-04 16:34:42.742620063 -0500
@@ -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.48.0.epoxy/Source/WebCore/PAL/pal/PlatformGTK.cmake webkitgtk-2.48.0/Source/WebCore/PAL/pal/PlatformGTK.cmake
--- webkitgtk-2.48.0.epoxy/Source/WebCore/PAL/pal/PlatformGTK.cmake	2025-02-25 02:25:40.831378000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/PAL/pal/PlatformGTK.cmake	2025-04-04 16:34:42.742863724 -0500
@@ -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/glib/SleepDisablerGLib.cpp
@@ -24,6 +20,16 @@ list(APPEND PAL_SOURCES
     unix/LoggingUnix.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
     GTK::GTK
 )
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/platform/GCrypt.cmake webkitgtk-2.48.0/Source/WebCore/platform/GCrypt.cmake
--- webkitgtk-2.48.0.epoxy/Source/WebCore/platform/GCrypt.cmake	2025-02-25 02:25:41.331390100 -0600
+++ webkitgtk-2.48.0/Source/WebCore/platform/GCrypt.cmake	2025-04-04 16:34:42.743210541 -0500
@@ -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.48.0.epoxy/Source/WebCore/platform/LocalizedStrings.cpp webkitgtk-2.48.0/Source/WebCore/platform/LocalizedStrings.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/platform/LocalizedStrings.cpp	2025-02-25 02:25:41.335390000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/platform/LocalizedStrings.cpp	2025-04-04 16:34:42.743411110 -0500
@@ -1453,11 +1453,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.48.0.epoxy/Source/WebCore/platform/LocalizedStrings.h webkitgtk-2.48.0/Source/WebCore/platform/LocalizedStrings.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/platform/LocalizedStrings.h	2025-02-25 02:25:41.335390000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/platform/LocalizedStrings.h	2025-04-04 16:34:42.744593549 -0500
@@ -372,7 +372,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.48.0.epoxy/Source/WebCore/platform/OpenSSL.cmake webkitgtk-2.48.0/Source/WebCore/platform/OpenSSL.cmake
--- webkitgtk-2.48.0.epoxy/Source/WebCore/platform/OpenSSL.cmake	2025-02-25 02:25:41.335390000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/platform/OpenSSL.cmake	2025-04-04 16:34:42.745117260 -0500
@@ -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.48.0.epoxy/Source/WebCore/workers/WorkerGlobalScope.cpp webkitgtk-2.48.0/Source/WebCore/workers/WorkerGlobalScope.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebCore/workers/WorkerGlobalScope.cpp	2025-02-25 02:25:41.699399000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/workers/WorkerGlobalScope.cpp	2025-04-04 16:34:42.745727816 -0500
@@ -501,6 +501,7 @@ void WorkerGlobalScope::addMessage(Messa
     InspectorInstrumentation::addMessageToConsole(*this, WTFMove(message));
 }
 
+#if ENABLE(WEB_CRYPTO)
 std::optional<Vector<uint8_t>> WorkerGlobalScope::wrapCryptoKey(const Vector<uint8_t>& key)
 {
     Ref protectedThis { *this };
@@ -552,6 +553,8 @@ std::optional<Vector<uint8_t>> WorkerGlo
     return key;
 }
 
+#endif // ENABLE(WEB_CRYPTO)
+
 Crypto& WorkerGlobalScope::crypto()
 {
     if (!m_crypto)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebCore/workers/WorkerGlobalScope.h webkitgtk-2.48.0/Source/WebCore/workers/WorkerGlobalScope.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/workers/WorkerGlobalScope.h	2025-02-25 02:25:41.699399000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/workers/WorkerGlobalScope.h	2025-04-04 16:34:42.746401171 -0500
@@ -208,9 +208,11 @@ private:
 
     bool shouldBypassMainWorldContentSecurityPolicy() const final { return m_shouldBypassMainWorldContentSecurityPolicy; }
 
+#if ENABLE(WEB_CRYPTO)
     std::optional<Vector<uint8_t>> wrapCryptoKey(const Vector<uint8_t>& key) final;
     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.48.0.epoxy/Source/WebCore/worklets/WorkletGlobalScope.h webkitgtk-2.48.0/Source/WebCore/worklets/WorkletGlobalScope.h
--- webkitgtk-2.48.0.epoxy/Source/WebCore/worklets/WorkletGlobalScope.h	2025-02-25 02:25:41.711399000 -0600
+++ webkitgtk-2.48.0/Source/WebCore/worklets/WorkletGlobalScope.h	2025-04-04 16:34:42.746964868 -0500
@@ -105,9 +105,11 @@ private:
 
     EventTarget* errorEventTarget() final { return this; }
 
+#if ENABLE(WEB_CRYPTO)
     std::optional<Vector<uint8_t>> wrapCryptoKey(const Vector<uint8_t>&) final { RELEASE_ASSERT_NOT_REACHED(); return std::nullopt; }
     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 Settings::Values& settingsValues() const final { return m_settingsValues; }
diff -urp webkitgtk-2.48.0.epoxy/Source/WebKit/UIProcess/API/C/WKPage.cpp webkitgtk-2.48.0/Source/WebKit/UIProcess/API/C/WKPage.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebKit/UIProcess/API/C/WKPage.cpp	2025-02-25 02:25:42.003406300 -0600
+++ webkitgtk-2.48.0/Source/WebKit/UIProcess/API/C/WKPage.cpp	2025-04-04 16:34:42.747411183 -0500
@@ -2466,6 +2466,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) {
@@ -2474,6 +2475,7 @@ void WKPageSetPageNavigationClient(WKPag
             }
             return completionHandler(defaultWebCryptoMasterKey());
         }
+#endif
 
         void navigationActionDidBecomeDownload(WebKit::WebPageProxy& page, API::NavigationAction& action, WebKit::DownloadProxy& download) override
         {
diff -urp webkitgtk-2.48.0.epoxy/Source/WebKit/UIProcess/WebPageProxy.cpp webkitgtk-2.48.0/Source/WebKit/UIProcess/WebPageProxy.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebKit/UIProcess/WebPageProxy.cpp	2025-03-17 16:18:47.856950994 -0500
+++ webkitgtk-2.48.0/Source/WebKit/UIProcess/WebPageProxy.cpp	2025-04-04 16:34:42.751411256 -0500
@@ -13252,6 +13252,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 = WTFMove(key), completionHandler = WTFMove(completionHandler)](std::optional<Vector<uint8_t>> && masterKey) mutable {
@@ -13290,6 +13291,7 @@ void WebPageProxy::unwrapCryptoKey(Wrapp
     });
 
 }
+#endif
 
 void WebPageProxy::changeFontAttributes(WebCore::FontAttributeChanges&& changes)
 {
diff -urp webkitgtk-2.48.0.epoxy/Source/WebKit/UIProcess/WebPageProxy.h webkitgtk-2.48.0/Source/WebKit/UIProcess/WebPageProxy.h
--- webkitgtk-2.48.0.epoxy/Source/WebKit/UIProcess/WebPageProxy.h	2025-03-17 16:58:05.965821579 -0500
+++ webkitgtk-2.48.0/Source/WebKit/UIProcess/WebPageProxy.h	2025-04-04 16:34:42.753411292 -0500
@@ -1906,9 +1906,11 @@ public:
     RefPtr<ViewSnapshot> takeViewSnapshot(std::optional<WebCore::IntRect>&&, ForceSoftwareCapturingViewportSnapshot);
 #endif
 
+#if ENABLE(WEB_CRYPTO)
     void wrapCryptoKey(Vector<uint8_t>&&, CompletionHandler<void(std::optional<Vector<uint8_t>>&&)>&&);
     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 takeSnapshot(WebCore::IntRect, WebCore::IntSize bitmapSize, SnapshotOptions, CompletionHandler<void(std::optional<WebCore::ShareableBitmapHandle>&&)>&&);
 
diff -urp webkitgtk-2.48.0.epoxy/Source/WebKit/UIProcess/WebPageProxy.messages.in webkitgtk-2.48.0/Source/WebKit/UIProcess/WebPageProxy.messages.in
--- webkitgtk-2.48.0.epoxy/Source/WebKit/UIProcess/WebPageProxy.messages.in	2025-03-17 16:18:47.860994175 -0500
+++ webkitgtk-2.48.0/Source/WebKit/UIProcess/WebPageProxy.messages.in	2025-04-04 16:34:42.755273947 -0500
@@ -445,9 +445,11 @@ messages -> WebPageProxy {
 
     DidUpdateActivityState() CanDispatchOutOfOrder
 
+#if ENABLE(WEB_CRYPTO)
     WrapCryptoKey(Vector<uint8_t> key) -> (std::optional<Vector<uint8_t>> wrappedKey) Synchronous
     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)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebKit/UIProcess/WebProcessProxy.cpp webkitgtk-2.48.0/Source/WebKit/UIProcess/WebProcessProxy.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebKit/UIProcess/WebProcessProxy.cpp	2025-02-25 02:25:42.123409000 -0600
+++ webkitgtk-2.48.0/Source/WebKit/UIProcess/WebProcessProxy.cpp	2025-04-04 16:34:42.755411329 -0500
@@ -2812,6 +2812,7 @@ void WebProcessProxy::getNotifications(c
     WebNotificationManagerProxy::serviceWorkerManagerSingleton().getNotifications(registrationURL, tag, sessionID(), WTFMove(callback));
 }
 
+#if ENABLE(WEB_CRYPTO)
 void WebProcessProxy::getWebCryptoMasterKey(CompletionHandler<void(std::optional<Vector<uint8_t>>&&)>&& completionHandler)
 {
     m_websiteDataStore->client().webCryptoMasterKey([completionHandler = WTFMove(completionHandler)](std::optional<Vector<uint8_t>>&& key) mutable {
@@ -2820,7 +2821,9 @@ void WebProcessProxy::getWebCryptoMaster
         return completionHandler(WebCore::defaultWebCryptoMasterKey());
     });
 }
+#endif
 
+#if ENABLE(WEB_CRYPTO)
 void WebProcessProxy::wrapCryptoKey(Vector<uint8_t>&& key, CompletionHandler<void(std::optional<Vector<uint8_t>>&&)>&& completionHandler)
 {
     getWebCryptoMasterKey([key = WTFMove(key), completionHandler = WTFMove(completionHandler)](std::optional<Vector<uint8_t>> && masterKey) mutable {
@@ -2857,8 +2860,9 @@ void WebProcessProxy::unwrapCryptoKey(Wr
             return completionHandler(WTFMove(key));
         completionHandler(std::nullopt);
     });
-
 }
+#endif
+
 void WebProcessProxy::setAppBadge(std::optional<WebPageProxyIdentifier> pageIdentifier, const SecurityOriginData& origin, std::optional<uint64_t> badge)
 {
     if (!pageIdentifier) {
diff -urp webkitgtk-2.48.0.epoxy/Source/WebKit/UIProcess/WebProcessProxy.h webkitgtk-2.48.0/Source/WebKit/UIProcess/WebProcessProxy.h
--- webkitgtk-2.48.0.epoxy/Source/WebKit/UIProcess/WebProcessProxy.h	2025-02-25 02:25:42.123409000 -0600
+++ webkitgtk-2.48.0/Source/WebKit/UIProcess/WebProcessProxy.h	2025-04-04 16:34:42.757388751 -0500
@@ -582,7 +582,9 @@ private:
 
     void validateFreezerStatus();
 
+#if ENABLE(WEB_CRYPTO)
     void getWebCryptoMasterKey(CompletionHandler<void(std::optional<Vector<uint8_t>>&&)>&&);
+#endif
     using WebProcessProxyMap = HashMap<WebCore::ProcessIdentifier, CheckedRef<WebProcessProxy>>;
     static WebProcessProxyMap& allProcessMap();
     static Vector<Ref<WebProcessProxy>> allProcesses();
diff -urp webkitgtk-2.48.0.epoxy/Source/WebKit/UIProcess/WebProcessProxy.messages.in webkitgtk-2.48.0/Source/WebKit/UIProcess/WebProcessProxy.messages.in
--- webkitgtk-2.48.0.epoxy/Source/WebKit/UIProcess/WebProcessProxy.messages.in	2025-02-25 02:25:42.123409000 -0600
+++ webkitgtk-2.48.0/Source/WebKit/UIProcess/WebProcessProxy.messages.in	2025-04-04 16:34:42.757968248 -0500
@@ -93,9 +93,11 @@ messages -> WebProcessProxy WantsDispatc
     [EnabledBy=AppBadgeEnabled] SetAppBadge(std::optional<WebKit::WebPageProxyIdentifier> pageIdentifier, WebCore::SecurityOriginData origin, std::optional<uint64_t> badge)
     [EnabledBy=AppBadgeEnabled] SetClientBadge(WebKit::WebPageProxyIdentifier pageIdentifier, WebCore::SecurityOriginData origin, std::optional<uint64_t> badge)
 
+#if ENABLE(WEB_CRYPTO)
     WrapCryptoKey(Vector<uint8_t> key) -> (std::optional<Vector<uint8_t>> wrappedKey) Synchronous
     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)
     SetupLogStream(uint32_t pid, IPC::StreamServerConnectionHandle serverConnection, WebKit::LogStreamIdentifier identifier) -> (IPC::Semaphore streamWakeUpSemaphore, IPC::Semaphore streamClientWaitSemaphore)
diff -urp webkitgtk-2.48.0.epoxy/Source/WebKit/WebProcess/WebCoreSupport/WebCryptoClient.cpp webkitgtk-2.48.0/Source/WebKit/WebProcess/WebCoreSupport/WebCryptoClient.cpp
--- webkitgtk-2.48.0.epoxy/Source/WebKit/WebProcess/WebCoreSupport/WebCryptoClient.cpp	2025-02-25 02:25:42.231411700 -0600
+++ webkitgtk-2.48.0/Source/WebKit/WebProcess/WebCoreSupport/WebCryptoClient.cpp	2025-04-04 16:34:42.758491749 -0500
@@ -38,6 +38,7 @@ namespace WebKit {
 
 WTF_MAKE_TZONE_ALLOCATED_IMPL(WebCryptoClient);
 
+#if ENABLE(WEB_CRYPTO)
 std::optional<Vector<uint8_t>> WebCryptoClient::wrapCryptoKey(const Vector<uint8_t>& key) const
 {
     if (m_pageIdentifier) {
@@ -80,6 +81,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.48.0.epoxy/Source/WebKit/WebProcess/WebCoreSupport/WebCryptoClient.h webkitgtk-2.48.0/Source/WebKit/WebProcess/WebCoreSupport/WebCryptoClient.h
--- webkitgtk-2.48.0.epoxy/Source/WebKit/WebProcess/WebCoreSupport/WebCryptoClient.h	2025-02-25 02:25:42.231411700 -0600
+++ webkitgtk-2.48.0/Source/WebKit/WebProcess/WebCoreSupport/WebCryptoClient.h	2025-04-04 16:34:42.759052079 -0500
@@ -40,9 +40,11 @@ public:
     WebCryptoClient(WebCore::PageIdentifier);
     WebCryptoClient() = default;
     ~WebCryptoClient() = default;
+#if ENABLE(WEB_CRYPTO)
     std::optional<Vector<uint8_t>> wrapCryptoKey(const Vector<uint8_t>&) const override;
     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.48.0.epoxy/Source/WTF/wtf/PlatformEnableCocoa.h webkitgtk-2.48.0/Source/WTF/wtf/PlatformEnableCocoa.h
--- webkitgtk-2.48.0.epoxy/Source/WTF/wtf/PlatformEnableCocoa.h	2025-02-25 02:25:40.559371500 -0600
+++ webkitgtk-2.48.0/Source/WTF/wtf/PlatformEnableCocoa.h	2025-04-04 16:34:42.759411402 -0500
@@ -952,6 +952,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
