mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 14:48:14 +00:00

This patch introduces the Wrapper and Wrappable classes. Node now inherits from Wrappable, and can be wrapped in a GC-allocated Bindings::NodeWrapper object. The only property we expose right now is the very simple nodeName property. When a Document's JS::Interpreter is first instantiated, we add a "document" property with a DocumentWrapper object to the global object. This is pretty cool! :^)
21 lines
379 B
C++
21 lines
379 B
C++
#pragma once
|
|
|
|
#include <LibWeb/Bindings/NodeWrapper.h>
|
|
|
|
namespace Web {
|
|
namespace Bindings {
|
|
|
|
class DocumentWrapper : public NodeWrapper {
|
|
public:
|
|
explicit DocumentWrapper(Document&);
|
|
virtual ~DocumentWrapper() override;
|
|
|
|
Document& node();
|
|
const Document& node() const;
|
|
|
|
private:
|
|
virtual const char* class_name() const override { return "Document"; }
|
|
};
|
|
|
|
}
|
|
}
|