1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 13:48:12 +00:00

LibWeb: Re-implement HTML::Navigator using IDL

Get rid of the bespoke NavigatorObject class and use the modern IDL
strategies for creating platform objects to re-implement Navigator and
its associcated mixin interfaces. While we're here, implement it in a
way that brings WorkerNavigator up to spec :^)
This commit is contained in:
Andrew Kaster 2022-10-08 20:53:08 -06:00 committed by Andreas Kling
parent 14e1513077
commit 2d5bee256e
27 changed files with 343 additions and 208 deletions

View file

@ -5,6 +5,7 @@
*/
#include <LibJS/Heap/Heap.h>
#include <LibWeb/Bindings/Intrinsics.h>
#include <LibWeb/HTML/WorkerGlobalScope.h>
#include <LibWeb/HTML/WorkerNavigator.h>
@ -18,7 +19,7 @@ JS::NonnullGCPtr<WorkerNavigator> WorkerNavigator::create(WorkerGlobalScope& glo
WorkerNavigator::WorkerNavigator(WorkerGlobalScope& global_scope)
: PlatformObject(global_scope.realm())
{
// FIXME: Set prototype once we can get to worker scope prototypes.
set_prototype(&Bindings::cached_web_prototype(global_scope.realm(), "WorkerNavigator"));
}
WorkerNavigator::~WorkerNavigator() = default;