1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 01:27:34 +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

@ -1,8 +1,13 @@
#import <HTML/NavigatorID.idl>
#import <HTML/NavigatorLanguage.idl>
#import <HTML/NavigatorOnLine.idl>
#import <HTML/NavigatorConcurrentHardware.idl>
// https://html.spec.whatwg.org/multipage/workers.html#workernavigator
[Exposed=Worker]
interface WorkerNavigator {};
// FIXME: Add these mixins that are used to prevent duplication b/w WorkerNavigator and Navigator
// WorkerNavigator includes NavigatorID;
// WorkerNavigator includes NavigatorLanguage;
// WorkerNavigator includes NavigatorOnLine;
// WorkerNavigator includes NavigatorConcurrentHardware;
WorkerNavigator includes NavigatorID;
WorkerNavigator includes NavigatorLanguage;
WorkerNavigator includes NavigatorOnLine;
WorkerNavigator includes NavigatorConcurrentHardware;