ソースを参照

LibWeb: Move dictionaries to the Bindings namespace

stelar7 1 年間 前
コミット
0afea792e2

+ 3 - 2
Userland/Libraries/LibWeb/Crypto/SubtleCrypto.cpp

@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2021-2022, Linus Groh <linusg@serenityos.org>
+ * Copyright (c) 2023, stelar7 <dudedbz@gmail.com>
  *
  * SPDX-License-Identifier: BSD-2-Clause
  */
@@ -36,7 +37,7 @@ void SubtleCrypto::initialize(JS::Realm& realm)
 }
 
 // https://w3c.github.io/webcrypto/#dfn-normalize-an-algorithm
-JS::ThrowCompletionOr<SubtleCrypto::Algorithm> SubtleCrypto::normalize_an_algorithm(Variant<JS::Handle<JS::Object>, String> const& algorithm, String operation)
+JS::ThrowCompletionOr<Bindings::Algorithm> SubtleCrypto::normalize_an_algorithm(Variant<JS::Handle<JS::Object>, String> const& algorithm, String operation)
 {
     auto& realm = this->realm();
 
@@ -93,7 +94,7 @@ JS::ThrowCompletionOr<SubtleCrypto::Algorithm> SubtleCrypto::normalize_an_algori
     // 8. Let normalizedAlgorithm be the result of converting the ECMAScript object represented by alg
     // to the IDL dictionary type desiredType, as defined by [WebIDL].
     // FIXME: Should IDL generate a struct for each of these?
-    SubtleCrypto::Algorithm normalized_algorithm;
+    Bindings::Algorithm normalized_algorithm;
 
     // 9. Set the name attribute of normalizedAlgorithm to algName.
     normalized_algorithm.name = algorithm_name;

+ 10 - 5
Userland/Libraries/LibWeb/Crypto/SubtleCrypto.h

@@ -10,6 +10,15 @@
 #include <AK/String.h>
 #include <LibJS/Forward.h>
 #include <LibWeb/Bindings/PlatformObject.h>
+// FIXME: Generate these from IDL
+namespace Web::Bindings {
+
+// https://w3c.github.io/webcrypto/#dfn-Algorithm
+struct Algorithm {
+    String name;
+};
+
+};
 
 namespace Web::Crypto {
 
@@ -20,10 +29,6 @@ class SubtleCrypto final : public Bindings::PlatformObject {
     using SupportedAlgorithmsMap = HashMap<String, HashMap<String, String, AK::ASCIICaseInsensitiveStringTraits>>;
 
 public:
-    struct Algorithm {
-        String name;
-    };
-
     [[nodiscard]] static JS::NonnullGCPtr<SubtleCrypto> create(JS::Realm&);
 
     virtual ~SubtleCrypto() override;
@@ -34,7 +39,7 @@ private:
     explicit SubtleCrypto(JS::Realm&);
     virtual void initialize(JS::Realm&) override;
 
-    JS::ThrowCompletionOr<Algorithm> normalize_an_algorithm(Variant<JS::Handle<JS::Object>, String> const& algorithm, String operation);
+    JS::ThrowCompletionOr<Bindings::Algorithm> normalize_an_algorithm(Variant<JS::Handle<JS::Object>, String> const& algorithm, String operation);
 
     static SubtleCrypto::SupportedAlgorithmsMap& supported_algorithms_internal();
     static SubtleCrypto::SupportedAlgorithmsMap supported_algorithms();