1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-18 17:25:07 +00:00
serenity/Userland/Libraries/LibWeb/Crypto/Crypto.h
Idan Horowitz 2c6c9b73c8 LibWeb: Add the Web::Crypto namespace, built-in, and getRandomValues
Since we don't support IDL typedefs or unions yet, the responsibility
of verifying the type of the argument is temporarily moved from the
generated Wrapper to the implementation.
2021-09-30 20:02:09 +02:00

38 lines
730 B
C++

/*
* Copyright (c) 2021, Idan Horowitz <idan.horowitz@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <LibJS/Runtime/Value.h>
#include <LibWeb/Bindings/Wrappable.h>
#include <LibWeb/DOM/ExceptionOr.h>
namespace Web::Crypto {
class Crypto : public Bindings::Wrappable
, public RefCounted<Crypto>
, public Weakable<Crypto> {
public:
using WrapperType = Bindings::CryptoWrapper;
static NonnullRefPtr<Crypto> create()
{
return adopt_ref(*new Crypto());
}
DOM::ExceptionOr<JS::Value> get_random_values(JS::Value array) const;
private:
Crypto() = default;
};
}
namespace Web::Bindings {
CryptoWrapper* wrap(JS::GlobalObject&, Crypto::Crypto&);
}