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:
Shannon Booth
2026-04-23 22:41:12 +02:00
committed by Shannon Booth
parent ba741994dd
commit cc6e048bd6
Notes: github-actions[bot] 2026-04-24 18:09:33 +00:00
527 changed files with 10 additions and 1840 deletions

View File

@@ -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) {

View File

@@ -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;
};
}

View File

@@ -354,7 +354,6 @@ public:
struct Module {
ByteString module_own_path;
Optional<Interface&> interface;
Vector<ByteString> imported_files;
};
class UnionType : public Type {

View File

@@ -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 = {});

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -1,5 +1,3 @@
#import <CSS/CSSNumericValue.idl>
// https://drafts.csswg.org/web-animations-2/#the-animationtimeline-interface
[Exposed=Window]
interface AnimationTimeline {

View File

@@ -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;

View File

@@ -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" };

View File

@@ -1,5 +1,3 @@
#import <DOM/Element.idl>
// https://drafts.csswg.org/scroll-animations-1/#scrolltimeline
[Exposed=Window]
interface ScrollTimeline : AnimationTimeline {

View File

@@ -1,5 +1,3 @@
#import <DOM/Event.idl>
// https://drafts.csswg.org/css-animations-1/#animationevent
[Exposed=Window]
interface AnimationEvent : Event {

View File

@@ -1,6 +1,3 @@
#import <CSS/CSSUnitValue.idl>
#import <CSS/GeneratedCSSNumericFactoryMethods.idl>
dictionary PropertyDefinition {
required CSSOMString name;
CSSOMString syntax = "*";

View File

@@ -1,5 +1,3 @@
#import <Animations/Animation.idl>
// https://drafts.csswg.org/css-animations-2/#cssanimation
[Exposed=Window]
interface CSSAnimation : Animation {

View File

@@ -1,5 +1,3 @@
#import <CSS/CSSGroupingRule.idl>
// https://drafts.csswg.org/css-conditional-3/#the-cssconditionrule-interface
[Exposed=Window]
interface CSSConditionRule : CSSGroupingRule {

View File

@@ -1,5 +1,3 @@
#import <CSS/CSSConditionRule.idl>
// https://drafts.csswg.org/css-conditional-5/#dictdef-csscontainercondition
dictionary CSSContainerCondition {
required CSSOMString name;

View File

@@ -1,5 +1,3 @@
#import <CSS/CSSRule.idl>
// https://drafts.csswg.org/css-counter-styles/#the-csscounterstylerule-interface
[Exposed=Window]
interface CSSCounterStyleRule : CSSRule {

View File

@@ -1,5 +1,3 @@
#import <CSS/CSSStyleDeclaration.idl>
// https://drafts.csswg.org/css-fonts-4/#cssfontfacedescriptors
[Exposed=Window]
interface CSSFontFaceDescriptors : CSSStyleDeclaration {

View File

@@ -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 {

View File

@@ -1,6 +1,3 @@
#import <CSS/CSSRule.idl>
#import <CSS/CSSFontFeatureValuesMap.idl>
[Exposed=Window]
interface CSSFontFeatureValuesRule : CSSRule {
attribute CSSOMString fontFamily;

View File

@@ -1,6 +1,3 @@
#import <CSS/CSSRule.idl>
#import <CSS/CSSFunctionDescriptors.idl>
[Exposed=Window]
interface CSSFunctionDeclarations : CSSRule {
[SameObject, PutForwards=cssText] readonly attribute CSSFunctionDescriptors style;

View File

@@ -1,5 +1,3 @@
#import <CSS/CSSStyleDeclaration.idl>
// https://drafts.csswg.org/css-mixins-1/#cssfunctiondescriptors
[Exposed=Window]
interface CSSFunctionDescriptors : CSSStyleDeclaration {

View File

@@ -1,5 +1,3 @@
#import <CSS/CSSGroupingRule.idl>
// https://drafts.csswg.org/css-mixins-1/#dictdef-functionparameter
dictionary FunctionParameter {
required CSSOMString name;

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -1,5 +1,3 @@
#import <CSS/CSSGroupingRule.idl>
// https://drafts.csswg.org/css-cascade-5/#the-csslayerblockrule-interface
[Exposed=Window]
interface CSSLayerBlockRule : CSSGroupingRule {

View File

@@ -1,5 +1,3 @@
#import <CSS/CSSRule.idl>
// https://drafts.csswg.org/css-cascade-5/#the-csslayerstatementrule-interface
[Exposed=Window]
interface CSSLayerStatementRule : CSSRule {

View File

@@ -1,6 +1,3 @@
#import <CSS/CSSRule.idl>
#import <CSS/CSSStyleProperties.idl>
// https://drafts.csswg.org/cssom/#cssmarginrule
[Exposed=Window]
interface CSSMarginRule : CSSRule {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -1,5 +1,3 @@
#import <CSS/CSSRule.idl>
// https://drafts.csswg.org/cssom/#the-cssnamespacerule-interface
[Exposed=Window]
interface CSSNamespaceRule : CSSRule {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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",

View File

@@ -1,5 +1,3 @@
#import <CSS/CSSStyleDeclaration.idl>
// https://drafts.csswg.org/cssom/#csspagedescriptors
[Exposed=Window]
interface CSSPageDescriptors : CSSStyleDeclaration {

View File

@@ -1,6 +1,3 @@
#import <CSS/CSSGroupingRule.idl>
#import <CSS/CSSPageDescriptors.idl>
// https://drafts.csswg.org/cssom/#csspagerule
[Exposed=Window]
interface CSSPageRule : CSSGroupingRule {

View File

@@ -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

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -1,5 +1,3 @@
#import <CSS/CSSStyleSheet.idl>
// https://drafts.csswg.org/cssom/#the-cssrule-interface
[Exposed=Window]
interface CSSRule {

View File

@@ -1,5 +1,3 @@
#import <CSS/CSSRule.idl>
// https://drafts.csswg.org/cssom/#the-cssrulelist-interface
[Exposed=Window]
interface CSSRuleList {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -1,6 +1,3 @@
#import <CSS/CSSStyleDeclaration.idl>
#import <CSS/GeneratedCSSStyleProperties.idl>
// https://drafts.csswg.org/cssom/#cssstyleproperties
[Exposed=Window]
interface CSSStyleProperties : CSSStyleDeclaration {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -1,5 +1,3 @@
#import <CSS/CSSConditionRule.idl>
// https://drafts.csswg.org/css-conditional-3/#the-csssupportsrule-interface
[Exposed=Window]
interface CSSSupportsRule : CSSConditionRule {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -1,5 +1,3 @@
#import <Animations/Animation.idl>
// https://drafts.csswg.org/css-transitions-2/#the-CSSTransition-interface
[Exposed=Window]
interface CSSTransition : Animation {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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;

View File

@@ -1,6 +1,3 @@
#import <CSS/FontFace.idl>
#import <DOM/EventTarget.idl>
enum FontFaceSetLoadStatus { "loading", "loaded" };
// https://drafts.csswg.org/css-font-loading/#fontfaceset

View File

@@ -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 = [];

View File

@@ -1,5 +1,3 @@
#import <CSS/CSSStyleSheet.idl>
// https://drafts.csswg.org/cssom-1/#ref-for-linkstyle
interface mixin LinkStyle {
readonly attribute CSSStyleSheet? sheet;

View File

@@ -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 {

View File

@@ -1,5 +1,3 @@
#import <DOM/Event.idl>
// https://w3c.github.io/csswg-drafts/cssom-view-1/#mediaquerylistevent
[Exposed=Window]
interface MediaQueryListEvent : Event {

View File

@@ -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 {

View File

@@ -1,5 +1,3 @@
#import <DOM/EventHandler.idl>
// https://w3c.github.io/screen-orientation/#orientationtype-enum
enum OrientationType {
"portrait-primary",

View File

@@ -1,5 +1,3 @@
#import <CSS/StylePropertyMapReadOnly.idl>
// https://drafts.css-houdini.org/css-typed-om-1/#stylepropertymap
[Exposed=Window]
interface StylePropertyMap : StylePropertyMapReadOnly {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -1,5 +1,3 @@
#import <CSS/CSSStyleSheet.idl>
// https://drafts.csswg.org/cssom/#the-stylesheetlist-interface
[Exposed=Window]
interface StyleSheetList {

View File

@@ -1,5 +1,3 @@
#import <DOM/Event.idl>
// https://drafts.csswg.org/css-transitions/#transitionevent
[Exposed=Window]
interface TransitionEvent : Event {

View File

@@ -1,5 +1,3 @@
#import <DOM/EventTarget.idl>
// https://drafts.csswg.org/cssom-view/#the-visualviewport-interface
[Exposed=Window]
interface VisualViewport : EventTarget {

View File

@@ -1,6 +1,3 @@
#import <Clipboard/ClipboardItem.idl>
#import <DOM/EventTarget.idl>
typedef sequence<ClipboardItem> ClipboardItems;
// https://w3c.github.io/clipboard-apis/#clipboard

View File

@@ -1,6 +1,3 @@
#import <DOM/Event.idl>
#import <HTML/DataTransfer.idl>
dictionary ClipboardEventInit : EventInit {
DataTransfer? clipboardData = null;
};

View File

@@ -1,5 +1,3 @@
#import <Streams/GenericTransformStream.idl>
// https://compression.spec.whatwg.org/#enumdef-compressionformat
enum CompressionFormat {
"deflate",

View File

@@ -1,6 +1,3 @@
#import <Compression/CompressionStream.idl>
#import <Streams/GenericTransformStream.idl>
// https://compression.spec.whatwg.org/#decompressionstream
[Exposed=*]
interface DecompressionStream {

View File

@@ -1,5 +1,3 @@
#import <DOM/Event.idl>
// https://w3c.github.io/webappsec-csp/#enumdef-securitypolicyviolationeventdisposition
enum SecurityPolicyViolationEventDisposition {
"enforce",

View File

@@ -1,6 +1,3 @@
#import <DOM/Event.idl>
#import <CookieStore/CookieStore.idl>
dictionary CookieChangeEventInit : EventInit {
CookieList changed;
CookieList deleted;

View File

@@ -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;

View File

@@ -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 = {});

View File

@@ -1,5 +1,3 @@
#import <CredentialManagement/Credential.idl>
[Exposed=Window, SecureContext]
interface FederatedCredential : Credential {
constructor(FederatedCredentialInit data);

View File

@@ -1,5 +1,3 @@
#import <CredentialManagement/Credential.idl>
[Exposed=Window, SecureContext]
interface PasswordCredential : Credential {
constructor(HTMLFormElement form);

View File

@@ -1,5 +1,3 @@
#import <Crypto/SubtleCrypto.idl>
// https://w3c.github.io/webcrypto/#crypto-interface
[Exposed=(Window,Worker)]
interface Crypto {

View File

@@ -1,5 +1,3 @@
#import <Crypto/CryptoKey.idl>
typedef (object or DOMString) AlgorithmIdentifier;
dictionary Algorithm {

View File

@@ -1,5 +1,3 @@
#import <DOM/AbortSignal.idl>
// https://dom.spec.whatwg.org/#interface-abortcontroller
[Exposed=*]
interface AbortController {

View File

@@ -1,6 +1,3 @@
#import <DOM/EventTarget.idl>
#import <DOM/EventHandler.idl>
// https://dom.spec.whatwg.org/#interface-AbortSignal
[Exposed=*]
interface AbortSignal : EventTarget {

View File

@@ -1,5 +1,3 @@
#import <DOM/Node.idl>
// https://dom.spec.whatwg.org/#interface-abstractrange
[Exposed=Window]
interface AbstractRange {

View File

@@ -1,6 +1,3 @@
#import <DOM/Node.idl>
#import <DOM/Element.idl>
// https://dom.spec.whatwg.org/#interface-attr
[Exposed=Window]
interface Attr : Node {

View File

@@ -1,5 +1,3 @@
#import <DOM/Text.idl>
// https://dom.spec.whatwg.org/#interface-cdatasection
[Exposed=Window]
interface CDATASection : Text {

View File

@@ -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