mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-25 17:25:08 +02:00
LibWeb+LibIDL: Remove support for #import directives during parsing
These no longer serve any purpose now that we run the IDLGenerator on all of these files at once.
This commit is contained in:
committed by
Shannon Booth
parent
ba741994dd
commit
cc6e048bd6
Notes:
github-actions[bot]
2026-04-24 18:09:33 +00:00
Author: https://github.com/shannonbooth Commit: https://github.com/LadybirdBrowser/ladybird/commit/cc6e048bd6c Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/9064
@@ -187,57 +187,6 @@ HashMap<ByteString, ByteString> Parser::parse_extended_attributes()
|
||||
return extended_attributes;
|
||||
}
|
||||
|
||||
static HashTable<ByteString> import_stack;
|
||||
Module& Parser::resolve_import(auto path)
|
||||
{
|
||||
ByteString include_path;
|
||||
for (auto import_base_path : import_base_paths) {
|
||||
auto maybe_include_path = LexicalPath::join(import_base_path, path).string();
|
||||
if (!FileSystem::exists(maybe_include_path))
|
||||
continue;
|
||||
|
||||
include_path = maybe_include_path;
|
||||
break;
|
||||
}
|
||||
|
||||
if (include_path.is_empty()) {
|
||||
StringBuilder error_message;
|
||||
error_message.appendff("Failed to find {} in the following directories:\n", path);
|
||||
error_message.join('\n', import_base_paths);
|
||||
report_parsing_error(error_message.to_byte_string(), filename, input, lexer.tell());
|
||||
}
|
||||
|
||||
auto real_path_error_or = FileSystem::real_path(include_path);
|
||||
if (real_path_error_or.is_error())
|
||||
report_parsing_error(ByteString::formatted("Failed to resolve path {}: {}", include_path, real_path_error_or.error()), filename, input, lexer.tell());
|
||||
auto real_path = real_path_error_or.release_value();
|
||||
|
||||
if (top_level_resolved_modules().contains(real_path))
|
||||
return *top_level_resolved_modules().find(real_path)->value;
|
||||
|
||||
if (auto* module = context.find_parsed_module(real_path)) {
|
||||
top_level_resolved_modules().set(real_path, module);
|
||||
return *module;
|
||||
}
|
||||
|
||||
if (import_stack.contains(real_path))
|
||||
report_parsing_error(ByteString::formatted("Circular import detected: {}", include_path), filename, input, lexer.tell());
|
||||
import_stack.set(real_path);
|
||||
|
||||
auto file_or_error = Core::File::open(real_path, Core::File::OpenMode::Read);
|
||||
if (file_or_error.is_error())
|
||||
report_parsing_error(ByteString::formatted("Failed to open {}: {}", real_path, file_or_error.error()), filename, input, lexer.tell());
|
||||
|
||||
auto data_or_error = file_or_error.value()->read_until_eof();
|
||||
if (data_or_error.is_error())
|
||||
report_parsing_error(ByteString::formatted("Failed to read {}: {}", real_path, data_or_error.error()), filename, input, lexer.tell());
|
||||
auto& result = Parser(this, real_path, data_or_error.value(), import_base_paths, context).parse();
|
||||
import_stack.remove(real_path);
|
||||
|
||||
top_level_resolved_modules().set(real_path, &result);
|
||||
return result;
|
||||
}
|
||||
|
||||
NonnullRefPtr<Type const> Parser::parse_type()
|
||||
{
|
||||
if (lexer.consume_specific('(')) {
|
||||
@@ -1415,12 +1364,10 @@ static void validate_overload_sets(Interface& interface, StringView filename, St
|
||||
}
|
||||
}
|
||||
|
||||
Module Parser::parse(ByteString filename, StringView contents, Vector<ByteString> import_base_paths, Context& context)
|
||||
Module Parser::parse(ByteString filename, StringView contents, Context& context)
|
||||
{
|
||||
Parser parser(move(filename), contents, move(import_base_paths), context);
|
||||
auto& module = parser.parse();
|
||||
module.imported_files = parser.imported_files();
|
||||
return module;
|
||||
Parser parser(move(filename), contents, context);
|
||||
return parser.parse();
|
||||
}
|
||||
|
||||
Module& Parser::parse()
|
||||
@@ -1443,18 +1390,6 @@ Module& Parser::parse()
|
||||
auto interface_ptr = make<Interface>(context);
|
||||
auto& interface = *interface_ptr;
|
||||
interface.module_own_path = this_module;
|
||||
top_level_resolved_modules().set(this_module, &module);
|
||||
|
||||
{
|
||||
while (lexer.consume_specific("#import"sv)) {
|
||||
consume_whitespace();
|
||||
assert_specific('<');
|
||||
auto path = lexer.consume_until('>');
|
||||
lexer.ignore();
|
||||
resolve_import(path);
|
||||
consume_whitespace();
|
||||
}
|
||||
}
|
||||
|
||||
parse_non_interface_entities(true, interface);
|
||||
|
||||
@@ -1465,52 +1400,20 @@ Module& Parser::parse()
|
||||
|
||||
parse_non_interface_entities(false, interface);
|
||||
|
||||
if (top_level_parser() == this)
|
||||
VERIFY(import_stack.is_empty());
|
||||
|
||||
if (!interface.name.is_empty())
|
||||
module.interface = interface.context.add_interface(move(interface_ptr));
|
||||
|
||||
return module;
|
||||
}
|
||||
|
||||
Parser::Parser(ByteString filename, StringView contents, Vector<ByteString> import_base_paths, Context& context)
|
||||
: import_base_paths(move(import_base_paths))
|
||||
, filename(move(filename))
|
||||
Parser::Parser(ByteString filename, StringView contents, Context& context)
|
||||
: filename(move(filename))
|
||||
, input(contents)
|
||||
, lexer(input)
|
||||
, context(context)
|
||||
{
|
||||
}
|
||||
|
||||
Parser::Parser(Parser* parent, ByteString filename, StringView contents, Vector<ByteString> import_base_paths, Context& context)
|
||||
: import_base_paths(move(import_base_paths))
|
||||
, filename(move(filename))
|
||||
, input(contents)
|
||||
, lexer(input)
|
||||
, context(context)
|
||||
, parent(parent)
|
||||
{
|
||||
}
|
||||
|
||||
Parser* Parser::top_level_parser()
|
||||
{
|
||||
Parser* current = this;
|
||||
for (Parser* next = this; next; next = next->parent)
|
||||
current = next;
|
||||
return current;
|
||||
}
|
||||
|
||||
HashMap<ByteString, Module*>& Parser::top_level_resolved_modules()
|
||||
{
|
||||
return top_level_parser()->resolved_modules;
|
||||
}
|
||||
|
||||
Vector<ByteString> Parser::imported_files() const
|
||||
{
|
||||
return const_cast<Parser*>(this)->top_level_resolved_modules().keys();
|
||||
}
|
||||
|
||||
static void resolve_partials_and_mixins(Context& context)
|
||||
{
|
||||
for (auto& interface : context.owned_interfaces) {
|
||||
|
||||
@@ -16,7 +16,7 @@ namespace IDL {
|
||||
|
||||
class Parser {
|
||||
public:
|
||||
static Module parse(ByteString filename, StringView contents, Vector<ByteString> import_base_paths, Context& context);
|
||||
static Module parse(ByteString filename, StringView contents, Context& context);
|
||||
|
||||
private:
|
||||
// https://webidl.spec.whatwg.org/#dfn-special-operation
|
||||
@@ -31,15 +31,12 @@ private:
|
||||
Yes,
|
||||
};
|
||||
|
||||
Parser(Parser* parent, ByteString filename, StringView contents, Vector<ByteString> import_base_path, Context&);
|
||||
Parser(ByteString filename, StringView contents, Vector<ByteString> import_base_paths, Context& context);
|
||||
Parser(ByteString filename, StringView contents, Context& context);
|
||||
|
||||
Module& parse();
|
||||
Vector<ByteString> imported_files() const;
|
||||
void assert_specific(char ch);
|
||||
void assert_string(StringView expected);
|
||||
void consume_whitespace();
|
||||
Module& resolve_import(auto path);
|
||||
|
||||
HashMap<ByteString, ByteString> parse_extended_attributes();
|
||||
void parse_attribute(HashMap<ByteString, ByteString>& extended_attributes, Interface&, IsStatic is_static = IsStatic::No);
|
||||
@@ -73,16 +70,10 @@ private:
|
||||
ByteString parse_identifier_ending_with_space();
|
||||
ByteString parse_identifier_ending_with_space_or(auto... possible_terminating_characters);
|
||||
|
||||
Vector<ByteString> import_base_paths;
|
||||
ByteString filename;
|
||||
StringView input;
|
||||
LineTrackingLexer lexer;
|
||||
Context& context;
|
||||
|
||||
HashMap<ByteString, Module*>& top_level_resolved_modules();
|
||||
HashMap<ByteString, Module*> resolved_modules;
|
||||
Parser* top_level_parser();
|
||||
Parser* parent = nullptr;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -354,7 +354,6 @@ public:
|
||||
struct Module {
|
||||
ByteString module_own_path;
|
||||
Optional<Interface&> interface;
|
||||
Vector<ByteString> imported_files;
|
||||
};
|
||||
|
||||
class UnionType : public Type {
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <Animations/Animation.idl>
|
||||
#import <Animations/KeyframeEffect.idl>
|
||||
|
||||
// https://drafts.csswg.org/web-animations-1/#the-animatable-interface-mixin
|
||||
interface mixin Animatable {
|
||||
Animation animate(object? keyframes, optional (unrestricted double or KeyframeAnimationOptions) options = {});
|
||||
|
||||
@@ -1,7 +1,3 @@
|
||||
#import <Animations/AnimationEffect.idl>
|
||||
#import <Animations/AnimationTimeline.idl>
|
||||
#import <DOM/EventTarget.idl>
|
||||
|
||||
// https://drafts.csswg.org/web-animations-1/#the-animation-interface
|
||||
[Exposed=Window]
|
||||
interface Animation : EventTarget {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <CSS/CSSNumericValue.idl>
|
||||
|
||||
// https://drafts.csswg.org/web-animations-1/#the-effecttiming-dictionaries
|
||||
// https://drafts.csswg.org/web-animations-2/#the-effecttiming-dictionaries
|
||||
dictionary EffectTiming {
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <DOM/Event.idl>
|
||||
#import <CSS/CSSNumericValue.idl>
|
||||
|
||||
// https://drafts.csswg.org/web-animations-2/#animationplaybackevent
|
||||
[Exposed=Window]
|
||||
interface AnimationPlaybackEvent : Event {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <CSS/CSSNumericValue.idl>
|
||||
|
||||
// https://drafts.csswg.org/web-animations-2/#the-animationtimeline-interface
|
||||
[Exposed=Window]
|
||||
interface AnimationTimeline {
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <Animations/AnimationTimeline.idl>
|
||||
#import <HighResolutionTime/DOMHighResTimeStamp.idl>
|
||||
|
||||
// https://drafts.csswg.org/web-animations-1/#dictdef-documenttimelineoptions
|
||||
dictionary DocumentTimelineOptions {
|
||||
DOMHighResTimeStamp originTime = 0;
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <Animations/AnimationEffect.idl>
|
||||
#import <DOM/Element.idl>
|
||||
|
||||
// https://drafts.csswg.org/web-animations-1/#the-compositeoperation-enumeration
|
||||
enum CompositeOperation { "replace", "add", "accumulate" };
|
||||
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <DOM/Element.idl>
|
||||
|
||||
// https://drafts.csswg.org/scroll-animations-1/#scrolltimeline
|
||||
[Exposed=Window]
|
||||
interface ScrollTimeline : AnimationTimeline {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <DOM/Event.idl>
|
||||
|
||||
// https://drafts.csswg.org/css-animations-1/#animationevent
|
||||
[Exposed=Window]
|
||||
interface AnimationEvent : Event {
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <CSS/CSSUnitValue.idl>
|
||||
#import <CSS/GeneratedCSSNumericFactoryMethods.idl>
|
||||
|
||||
dictionary PropertyDefinition {
|
||||
required CSSOMString name;
|
||||
CSSOMString syntax = "*";
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <Animations/Animation.idl>
|
||||
|
||||
// https://drafts.csswg.org/css-animations-2/#cssanimation
|
||||
[Exposed=Window]
|
||||
interface CSSAnimation : Animation {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <CSS/CSSGroupingRule.idl>
|
||||
|
||||
// https://drafts.csswg.org/css-conditional-3/#the-cssconditionrule-interface
|
||||
[Exposed=Window]
|
||||
interface CSSConditionRule : CSSGroupingRule {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <CSS/CSSConditionRule.idl>
|
||||
|
||||
// https://drafts.csswg.org/css-conditional-5/#dictdef-csscontainercondition
|
||||
dictionary CSSContainerCondition {
|
||||
required CSSOMString name;
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <CSS/CSSRule.idl>
|
||||
|
||||
// https://drafts.csswg.org/css-counter-styles/#the-csscounterstylerule-interface
|
||||
[Exposed=Window]
|
||||
interface CSSCounterStyleRule : CSSRule {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <CSS/CSSStyleDeclaration.idl>
|
||||
|
||||
// https://drafts.csswg.org/css-fonts-4/#cssfontfacedescriptors
|
||||
[Exposed=Window]
|
||||
interface CSSFontFaceDescriptors : CSSStyleDeclaration {
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <CSS/CSSRule.idl>
|
||||
#import <CSS/CSSStyleDeclaration.idl>
|
||||
|
||||
// https://drafts.csswg.org/css-fonts/#om-fontface
|
||||
[Exposed=Window]
|
||||
interface CSSFontFaceRule : CSSRule {
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <CSS/CSSRule.idl>
|
||||
#import <CSS/CSSFontFeatureValuesMap.idl>
|
||||
|
||||
[Exposed=Window]
|
||||
interface CSSFontFeatureValuesRule : CSSRule {
|
||||
attribute CSSOMString fontFamily;
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <CSS/CSSRule.idl>
|
||||
#import <CSS/CSSFunctionDescriptors.idl>
|
||||
|
||||
[Exposed=Window]
|
||||
interface CSSFunctionDeclarations : CSSRule {
|
||||
[SameObject, PutForwards=cssText] readonly attribute CSSFunctionDescriptors style;
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <CSS/CSSStyleDeclaration.idl>
|
||||
|
||||
// https://drafts.csswg.org/css-mixins-1/#cssfunctiondescriptors
|
||||
[Exposed=Window]
|
||||
interface CSSFunctionDescriptors : CSSStyleDeclaration {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <CSS/CSSGroupingRule.idl>
|
||||
|
||||
// https://drafts.csswg.org/css-mixins-1/#dictdef-functionparameter
|
||||
dictionary FunctionParameter {
|
||||
required CSSOMString name;
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <CSS/CSSRule.idl>
|
||||
#import <CSS/CSSRuleList.idl>
|
||||
|
||||
// https://drafts.csswg.org/cssom/#the-cssgroupingrule-interface
|
||||
[Exposed=Window]
|
||||
interface CSSGroupingRule : CSSRule {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <CSS/CSSStyleValue.idl>
|
||||
|
||||
// https://drafts.css-houdini.org/css-typed-om-1/#cssimagevalue
|
||||
[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
|
||||
interface CSSImageValue : CSSStyleValue {
|
||||
|
||||
@@ -1,7 +1,3 @@
|
||||
#import <CSS/CSSRule.idl>
|
||||
#import <CSS/CSSStyleSheet.idl>
|
||||
#import <CSS/MediaList.idl>
|
||||
|
||||
// https://drafts.csswg.org/cssom/#the-cssimportrule-interface
|
||||
[Exposed=Window]
|
||||
interface CSSImportRule : CSSRule {
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <CSS/CSSRule.idl>
|
||||
#import <CSS/CSSStyleProperties.idl>
|
||||
|
||||
// https://drafts.csswg.org/css-animations-1/#interface-csskeyframerule-idl
|
||||
[Exposed=Window]
|
||||
interface CSSKeyframeRule : CSSRule {
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <CSS/CSSRule.idl>
|
||||
#import <CSS/CSSKeyframeRule.idl>
|
||||
|
||||
// https://drafts.csswg.org/css-animations-1/#interface-csskeyframesrule
|
||||
[Exposed=Window]
|
||||
interface CSSKeyframesRule : CSSRule {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <CSS/CSSStyleValue.idl>
|
||||
|
||||
// https://drafts.css-houdini.org/css-typed-om-1/#csskeywordvalue
|
||||
[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
|
||||
interface CSSKeywordValue : CSSStyleValue {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <CSS/CSSGroupingRule.idl>
|
||||
|
||||
// https://drafts.csswg.org/css-cascade-5/#the-csslayerblockrule-interface
|
||||
[Exposed=Window]
|
||||
interface CSSLayerBlockRule : CSSGroupingRule {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <CSS/CSSRule.idl>
|
||||
|
||||
// https://drafts.csswg.org/css-cascade-5/#the-csslayerstatementrule-interface
|
||||
[Exposed=Window]
|
||||
interface CSSLayerStatementRule : CSSRule {
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <CSS/CSSRule.idl>
|
||||
#import <CSS/CSSStyleProperties.idl>
|
||||
|
||||
// https://drafts.csswg.org/cssom/#cssmarginrule
|
||||
[Exposed=Window]
|
||||
interface CSSMarginRule : CSSRule {
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <CSS/CSSMathValue.idl>
|
||||
#import <CSS/CSSNumericValue.idl>
|
||||
|
||||
// https://drafts.css-houdini.org/css-typed-om-1/#cssmathclamp
|
||||
[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
|
||||
interface CSSMathClamp : CSSMathValue {
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <CSS/CSSMathValue.idl>
|
||||
#import <CSS/CSSNumericValue.idl>
|
||||
|
||||
// https://drafts.css-houdini.org/css-typed-om-1/#cssmathinvert
|
||||
[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
|
||||
interface CSSMathInvert : CSSMathValue {
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <CSS/CSSMathValue.idl>
|
||||
#import <CSS/CSSNumericArray.idl>
|
||||
|
||||
// https://drafts.css-houdini.org/css-typed-om-1/#cssmathmax
|
||||
[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
|
||||
interface CSSMathMax : CSSMathValue {
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <CSS/CSSMathValue.idl>
|
||||
#import <CSS/CSSNumericArray.idl>
|
||||
|
||||
// https://drafts.css-houdini.org/css-typed-om-1/#cssmathmin
|
||||
[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
|
||||
interface CSSMathMin : CSSMathValue {
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <CSS/CSSMathValue.idl>
|
||||
#import <CSS/CSSNumericValue.idl>
|
||||
|
||||
// https://drafts.css-houdini.org/css-typed-om-1/#cssmathnegate
|
||||
[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
|
||||
interface CSSMathNegate : CSSMathValue {
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <CSS/CSSMathValue.idl>
|
||||
#import <CSS/CSSNumericArray.idl>
|
||||
|
||||
// https://drafts.css-houdini.org/css-typed-om-1/#cssmathproduct
|
||||
[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
|
||||
interface CSSMathProduct : CSSMathValue {
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <CSS/CSSMathValue.idl>
|
||||
#import <CSS/CSSNumericArray.idl>
|
||||
|
||||
// https://drafts.css-houdini.org/css-typed-om-1/#cssmathsum
|
||||
[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
|
||||
interface CSSMathSum : CSSMathValue {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <CSS/CSSNumericValue.idl>
|
||||
|
||||
// https://drafts.css-houdini.org/css-typed-om-1/#cssmathvalue
|
||||
[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
|
||||
interface CSSMathValue : CSSNumericValue {
|
||||
|
||||
@@ -1,7 +1,3 @@
|
||||
#import <CSS/CSSTransformComponent.idl>
|
||||
#import <Geometry/DOMMatrix.idl>
|
||||
#import <Geometry/DOMMatrixReadOnly.idl>
|
||||
|
||||
// https://drafts.css-houdini.org/css-typed-om-1/#cssmatrixcomponent
|
||||
[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
|
||||
interface CSSMatrixComponent : CSSTransformComponent {
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <CSS/CSSConditionRule.idl>
|
||||
#import <CSS/MediaList.idl>
|
||||
|
||||
// https://drafts.csswg.org/css-conditional-3/#the-cssmediarule-interface
|
||||
[Exposed=Window]
|
||||
interface CSSMediaRule : CSSConditionRule {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <CSS/CSSRule.idl>
|
||||
|
||||
// https://drafts.csswg.org/cssom/#the-cssnamespacerule-interface
|
||||
[Exposed=Window]
|
||||
interface CSSNamespaceRule : CSSRule {
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <CSS/CSSRule.idl>
|
||||
#import <CSS/CSSStyleProperties.idl>
|
||||
|
||||
// https://drafts.csswg.org/css-nesting-1/#cssnesteddeclarations
|
||||
[Exposed=Window]
|
||||
interface CSSNestedDeclarations : CSSRule {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <CSS/CSSNumericValue.idl>
|
||||
|
||||
// https://drafts.css-houdini.org/css-typed-om-1/#cssnumericarray
|
||||
[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
|
||||
interface CSSNumericArray {
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <CSS/CSSStyleValue.idl>
|
||||
#import <CSS/CSSUnitValue.idl>
|
||||
|
||||
// https://drafts.css-houdini.org/css-typed-om-1/#enumdef-cssnumericbasetype
|
||||
enum CSSNumericBaseType {
|
||||
"length",
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <CSS/CSSStyleDeclaration.idl>
|
||||
|
||||
// https://drafts.csswg.org/cssom/#csspagedescriptors
|
||||
[Exposed=Window]
|
||||
interface CSSPageDescriptors : CSSStyleDeclaration {
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <CSS/CSSGroupingRule.idl>
|
||||
#import <CSS/CSSPageDescriptors.idl>
|
||||
|
||||
// https://drafts.csswg.org/cssom/#csspagerule
|
||||
[Exposed=Window]
|
||||
interface CSSPageRule : CSSGroupingRule {
|
||||
|
||||
@@ -1,7 +1,3 @@
|
||||
#import <CSS/CSSKeywordValue.idl>
|
||||
#import <CSS/CSSNumericValue.idl>
|
||||
#import <CSS/CSSTransformComponent.idl>
|
||||
|
||||
typedef (CSSNumericValue or CSSKeywordish) CSSPerspectiveValue;
|
||||
|
||||
// https://drafts.css-houdini.org/css-typed-om-1/#cssperspective
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <CSS/CSSRule.idl>
|
||||
|
||||
// https://drafts.css-houdini.org/css-properties-values-api/#the-css-property-rule-interface
|
||||
[Exposed=Window]
|
||||
interface CSSPropertyRule : CSSRule {
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <CSS/CSSNumericValue.idl>
|
||||
#import <CSS/CSSTransformComponent.idl>
|
||||
|
||||
// https://drafts.css-houdini.org/css-typed-om-1/#cssrotate
|
||||
[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
|
||||
interface CSSRotate : CSSTransformComponent {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <CSS/CSSStyleSheet.idl>
|
||||
|
||||
// https://drafts.csswg.org/cssom/#the-cssrule-interface
|
||||
[Exposed=Window]
|
||||
interface CSSRule {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <CSS/CSSRule.idl>
|
||||
|
||||
// https://drafts.csswg.org/cssom/#the-cssrulelist-interface
|
||||
[Exposed=Window]
|
||||
interface CSSRuleList {
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <CSS/CSSNumericValue.idl>
|
||||
#import <CSS/CSSTransformComponent.idl>
|
||||
|
||||
// https://drafts.css-houdini.org/css-typed-om-1/#cssscale
|
||||
[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
|
||||
interface CSSScale : CSSTransformComponent {
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <CSS/CSSNumericValue.idl>
|
||||
#import <CSS/CSSTransformComponent.idl>
|
||||
|
||||
// https://drafts.css-houdini.org/css-typed-om-1/#cssskew
|
||||
[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
|
||||
interface CSSSkew : CSSTransformComponent {
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <CSS/CSSNumericValue.idl>
|
||||
#import <CSS/CSSTransformComponent.idl>
|
||||
|
||||
// https://drafts.css-houdini.org/css-typed-om-1/#cssskewx
|
||||
[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
|
||||
interface CSSSkewX : CSSTransformComponent {
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <CSS/CSSNumericValue.idl>
|
||||
#import <CSS/CSSTransformComponent.idl>
|
||||
|
||||
// https://drafts.css-houdini.org/css-typed-om-1/#cssskewy
|
||||
[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
|
||||
interface CSSSkewY : CSSTransformComponent {
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <CSS/CSSStyleDeclaration.idl>
|
||||
#import <CSS/GeneratedCSSStyleProperties.idl>
|
||||
|
||||
// https://drafts.csswg.org/cssom/#cssstyleproperties
|
||||
[Exposed=Window]
|
||||
interface CSSStyleProperties : CSSStyleDeclaration {
|
||||
|
||||
@@ -1,7 +1,3 @@
|
||||
#import <CSS/CSSGroupingRule.idl>
|
||||
#import <CSS/CSSStyleProperties.idl>
|
||||
#import <CSS/StylePropertyMap.idl>
|
||||
|
||||
// https://drafts.csswg.org/cssom/#the-cssstylerule-interface
|
||||
[Exposed=Window]
|
||||
interface CSSStyleRule : CSSGroupingRule {
|
||||
|
||||
@@ -1,8 +1,3 @@
|
||||
#import <CSS/CSSRule.idl>
|
||||
#import <CSS/CSSRuleList.idl>
|
||||
#import <CSS/MediaList.idl>
|
||||
#import <CSS/StyleSheet.idl>
|
||||
|
||||
// https://drafts.csswg.org/cssom/#cssstylesheet
|
||||
[Exposed=Window]
|
||||
interface CSSStyleSheet : StyleSheet {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <CSS/CSSConditionRule.idl>
|
||||
|
||||
// https://drafts.csswg.org/css-conditional-3/#the-csssupportsrule-interface
|
||||
[Exposed=Window]
|
||||
interface CSSSupportsRule : CSSConditionRule {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <Geometry/DOMMatrix.idl>
|
||||
|
||||
// https://drafts.css-houdini.org/css-typed-om-1/#csstransformcomponent
|
||||
[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
|
||||
interface CSSTransformComponent {
|
||||
|
||||
@@ -1,7 +1,3 @@
|
||||
#import <CSS/CSSStyleValue.idl>
|
||||
#import <CSS/CSSTransformComponent.idl>
|
||||
#import <Geometry/DOMMatrix.idl>
|
||||
|
||||
// https://drafts.css-houdini.org/css-typed-om-1/#csstransformvalue
|
||||
[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
|
||||
interface CSSTransformValue : CSSStyleValue {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <Animations/Animation.idl>
|
||||
|
||||
// https://drafts.csswg.org/css-transitions-2/#the-CSSTransition-interface
|
||||
[Exposed=Window]
|
||||
interface CSSTransition : Animation {
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <CSS/CSSNumericValue.idl>
|
||||
#import <CSS/CSSTransformComponent.idl>
|
||||
|
||||
// https://drafts.css-houdini.org/css-typed-om-1/#csstranslate
|
||||
[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
|
||||
interface CSSTranslate : CSSTransformComponent {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <CSS/CSSNumericValue.idl>
|
||||
|
||||
// https://drafts.css-houdini.org/css-typed-om-1/#cssunitvalue
|
||||
[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
|
||||
interface CSSUnitValue : CSSNumericValue {
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <CSS/CSSStyleValue.idl>
|
||||
#import <CSS/CSSVariableReferenceValue.idl>
|
||||
|
||||
// https://drafts.css-houdini.org/css-typed-om-1/#cssunparsedvalue
|
||||
[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
|
||||
interface CSSUnparsedValue : CSSStyleValue {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <CSS/CSSUnparsedValue.idl>
|
||||
|
||||
// https://drafts.css-houdini.org/css-typed-om-1/#cssvariablereferencevalue
|
||||
[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
|
||||
interface CSSVariableReferenceValue {
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <CSS/CSSStyleProperties.idl>
|
||||
#import <CSS/StylePropertyMap.idl>
|
||||
|
||||
// https://w3c.github.io/csswg-drafts/cssom/#elementcssinlinestyle
|
||||
interface mixin ElementCSSInlineStyle {
|
||||
[SameObject, PutForwards=cssText, ImplementedAs=style_for_bindings] readonly attribute CSSStyleProperties style;
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <CSS/FontFace.idl>
|
||||
#import <DOM/EventTarget.idl>
|
||||
|
||||
enum FontFaceSetLoadStatus { "loading", "loaded" };
|
||||
|
||||
// https://drafts.csswg.org/css-font-loading/#fontfaceset
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <CSS/FontFace.idl>
|
||||
#import <DOM/Event.idl>
|
||||
|
||||
// https://drafts.csswg.org/css-font-loading/#fontfacesetloadevent
|
||||
dictionary FontFaceSetLoadEventInit : EventInit {
|
||||
sequence<FontFace> fontfaces = [];
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <CSS/CSSStyleSheet.idl>
|
||||
|
||||
// https://drafts.csswg.org/cssom-1/#ref-for-linkstyle
|
||||
interface mixin LinkStyle {
|
||||
readonly attribute CSSStyleSheet? sheet;
|
||||
|
||||
@@ -1,7 +1,3 @@
|
||||
#import <DOM/EventTarget.idl>
|
||||
#import <DOM/EventHandler.idl>
|
||||
#import <DOM/EventListener.idl>
|
||||
|
||||
// https://drafts.csswg.org/cssom-view/#the-mediaquerylist-interface
|
||||
[Exposed=Window]
|
||||
interface MediaQueryList : EventTarget {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <DOM/Event.idl>
|
||||
|
||||
// https://w3c.github.io/csswg-drafts/cssom-view-1/#mediaquerylistevent
|
||||
[Exposed=Window]
|
||||
interface MediaQueryListEvent : Event {
|
||||
|
||||
@@ -1,7 +1,3 @@
|
||||
#import <CSS/ScreenOrientation.idl>
|
||||
#import <DOM/EventHandler.idl>
|
||||
#import <DOM/EventTarget.idl>
|
||||
|
||||
// https://w3c.github.io/csswg-drafts/cssom-view-1/#screen
|
||||
[Exposed=Window]
|
||||
interface Screen {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <DOM/EventHandler.idl>
|
||||
|
||||
// https://w3c.github.io/screen-orientation/#orientationtype-enum
|
||||
enum OrientationType {
|
||||
"portrait-primary",
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <CSS/StylePropertyMapReadOnly.idl>
|
||||
|
||||
// https://drafts.css-houdini.org/css-typed-om-1/#stylepropertymap
|
||||
[Exposed=Window]
|
||||
interface StylePropertyMap : StylePropertyMapReadOnly {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <CSS/CSSStyleValue.idl>
|
||||
|
||||
// https://drafts.css-houdini.org/css-typed-om-1/#stylepropertymapreadonly
|
||||
[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
|
||||
interface StylePropertyMapReadOnly {
|
||||
|
||||
@@ -1,7 +1,3 @@
|
||||
#import <CSS/CSSStyleSheet.idl>
|
||||
#import <CSS/MediaList.idl>
|
||||
#import <DOM/Element.idl>
|
||||
|
||||
// https://drafts.csswg.org/cssom/#stylesheet
|
||||
[Exposed=Window]
|
||||
interface StyleSheet {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <CSS/CSSStyleSheet.idl>
|
||||
|
||||
// https://drafts.csswg.org/cssom/#the-stylesheetlist-interface
|
||||
[Exposed=Window]
|
||||
interface StyleSheetList {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <DOM/Event.idl>
|
||||
|
||||
// https://drafts.csswg.org/css-transitions/#transitionevent
|
||||
[Exposed=Window]
|
||||
interface TransitionEvent : Event {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <DOM/EventTarget.idl>
|
||||
|
||||
// https://drafts.csswg.org/cssom-view/#the-visualviewport-interface
|
||||
[Exposed=Window]
|
||||
interface VisualViewport : EventTarget {
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <Clipboard/ClipboardItem.idl>
|
||||
#import <DOM/EventTarget.idl>
|
||||
|
||||
typedef sequence<ClipboardItem> ClipboardItems;
|
||||
|
||||
// https://w3c.github.io/clipboard-apis/#clipboard
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <DOM/Event.idl>
|
||||
#import <HTML/DataTransfer.idl>
|
||||
|
||||
dictionary ClipboardEventInit : EventInit {
|
||||
DataTransfer? clipboardData = null;
|
||||
};
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <Streams/GenericTransformStream.idl>
|
||||
|
||||
// https://compression.spec.whatwg.org/#enumdef-compressionformat
|
||||
enum CompressionFormat {
|
||||
"deflate",
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <Compression/CompressionStream.idl>
|
||||
#import <Streams/GenericTransformStream.idl>
|
||||
|
||||
// https://compression.spec.whatwg.org/#decompressionstream
|
||||
[Exposed=*]
|
||||
interface DecompressionStream {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <DOM/Event.idl>
|
||||
|
||||
// https://w3c.github.io/webappsec-csp/#enumdef-securitypolicyviolationeventdisposition
|
||||
enum SecurityPolicyViolationEventDisposition {
|
||||
"enforce",
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <DOM/Event.idl>
|
||||
#import <CookieStore/CookieStore.idl>
|
||||
|
||||
dictionary CookieChangeEventInit : EventInit {
|
||||
CookieList changed;
|
||||
CookieList deleted;
|
||||
|
||||
@@ -1,8 +1,3 @@
|
||||
#import <DOM/EventTarget.idl>
|
||||
#import <DOM/EventHandler.idl>
|
||||
#import <HTML/Window.idl>
|
||||
#import <ServiceWorker/ServiceWorkerGlobalScope.idl>
|
||||
|
||||
[GenerateToValue]
|
||||
dictionary CookieListItem {
|
||||
USVString name;
|
||||
|
||||
@@ -1,7 +1,3 @@
|
||||
#import <CredentialManagement/Credential.idl>
|
||||
#import <CredentialManagement/FederatedCredential.idl>
|
||||
#import <CredentialManagement/PasswordCredential.idl>
|
||||
|
||||
[Exposed=Window, SecureContext]
|
||||
interface CredentialsContainer {
|
||||
Promise<Credential?> get(optional CredentialRequestOptions options = {});
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <CredentialManagement/Credential.idl>
|
||||
|
||||
[Exposed=Window, SecureContext]
|
||||
interface FederatedCredential : Credential {
|
||||
constructor(FederatedCredentialInit data);
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <CredentialManagement/Credential.idl>
|
||||
|
||||
[Exposed=Window, SecureContext]
|
||||
interface PasswordCredential : Credential {
|
||||
constructor(HTMLFormElement form);
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <Crypto/SubtleCrypto.idl>
|
||||
|
||||
// https://w3c.github.io/webcrypto/#crypto-interface
|
||||
[Exposed=(Window,Worker)]
|
||||
interface Crypto {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <Crypto/CryptoKey.idl>
|
||||
|
||||
typedef (object or DOMString) AlgorithmIdentifier;
|
||||
|
||||
dictionary Algorithm {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <DOM/AbortSignal.idl>
|
||||
|
||||
// https://dom.spec.whatwg.org/#interface-abortcontroller
|
||||
[Exposed=*]
|
||||
interface AbortController {
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <DOM/EventTarget.idl>
|
||||
#import <DOM/EventHandler.idl>
|
||||
|
||||
// https://dom.spec.whatwg.org/#interface-AbortSignal
|
||||
[Exposed=*]
|
||||
interface AbortSignal : EventTarget {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <DOM/Node.idl>
|
||||
|
||||
// https://dom.spec.whatwg.org/#interface-abstractrange
|
||||
[Exposed=Window]
|
||||
interface AbstractRange {
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#import <DOM/Node.idl>
|
||||
#import <DOM/Element.idl>
|
||||
|
||||
// https://dom.spec.whatwg.org/#interface-attr
|
||||
[Exposed=Window]
|
||||
interface Attr : Node {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#import <DOM/Text.idl>
|
||||
|
||||
// https://dom.spec.whatwg.org/#interface-cdatasection
|
||||
[Exposed=Window]
|
||||
interface CDATASection : Text {
|
||||
|
||||
@@ -1,7 +1,3 @@
|
||||
#import <DOM/ChildNode.idl>
|
||||
#import <DOM/Element.idl>
|
||||
#import <DOM/Node.idl>
|
||||
|
||||
// https://dom.spec.whatwg.org/#characterdata
|
||||
[Exposed=Window]
|
||||
interface CharacterData : Node {
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user