1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 04:07:44 +00:00

LibWeb: Begin implementing the Clipboard API

https://w3c.github.io/clipboard-apis/

This implements enough for navigator.clipboard.writeText(String).
This commit is contained in:
Timothy Flynn 2023-11-10 13:29:20 -05:00 committed by Andreas Kling
parent 78d455e231
commit 4b94b0b561
14 changed files with 303 additions and 0 deletions

View file

@ -8,6 +8,7 @@
#include <LibJS/Heap/Heap.h>
#include <LibJS/Runtime/Realm.h>
#include <LibWeb/Bindings/Intrinsics.h>
#include <LibWeb/Clipboard/Clipboard.h>
#include <LibWeb/HTML/Navigator.h>
#include <LibWeb/HTML/Scripting/Environments.h>
#include <LibWeb/HTML/Window.h>
@ -57,6 +58,7 @@ void Navigator::visit_edges(Cell::Visitor& visitor)
Base::visit_edges(visitor);
visitor.visit(m_mime_type_array);
visitor.visit(m_plugin_array);
visitor.visit(m_clipboard);
}
JS::NonnullGCPtr<MimeTypeArray> Navigator::mime_types()
@ -73,4 +75,11 @@ JS::NonnullGCPtr<PluginArray> Navigator::plugins()
return *m_plugin_array;
}
JS::NonnullGCPtr<Clipboard::Clipboard> Navigator::clipboard()
{
if (!m_clipboard)
m_clipboard = heap().allocate<Clipboard::Clipboard>(realm(), realm());
return *m_clipboard;
}
}