Title: [292854] trunk/Source/WebCore
Revision
292854
Author
cdu...@apple.com
Date
2022-04-13 20:55:10 -0700 (Wed, 13 Apr 2022)

Log Message

Use [AtomString] where appropriate in IDL files for performance
https://bugs.webkit.org/show_bug.cgi?id=239314

Reviewed by Alexey Shvayka.

Use [AtomString] where appropriate in IDL files for performance. I added [AtomString] on the
IDL side whenever our C++ implementation uses AtomString.

Without this, the generated bindings code will generate a String, which will then get atomized
once passed to our implementation. This means we're doing unnecessary String allocations in
cases where the AtomString is already in the AtomStringTable.

* dom/Attr.idl:
* dom/Document+HTML.idl:
* dom/Document.cpp:
(WebCore::Document::createAttribute):
* dom/Document.h:
* dom/Document.idl:
* dom/Element.cpp:
(WebCore::Element::getAttribute const):
* dom/Element.idl:
* dom/ElementContentEditable.idl:
* dom/Event.idl:
* dom/FocusEvent.idl:
* dom/FormDataEvent.idl:
* dom/HashChangeEvent.idl:
* dom/InputEvent.idl:
* dom/KeyboardEvent.idl:
* dom/MessageEvent.idl:
* dom/MouseEvent.idl:
* dom/MutationEvent.idl:
* dom/NamedNodeMap.idl:
* dom/Node.idl:
* dom/OverflowEvent.idl:
* dom/PageTransitionEvent.idl:
* dom/PointerEvent.idl:
* dom/ProgressEvent.idl:
* dom/PromiseRejectionEvent.idl:
* dom/SecurityPolicyViolationEvent.idl:
* dom/TextEvent.idl:
* dom/TouchEvent.idl:
* dom/TransitionEvent.idl:
* dom/UIEvent.idl:
* dom/WheelEvent.idl:
* html/HTMLButtonElement.idl:
* html/HTMLDocument.idl:
* html/HTMLElement.idl:
* html/HTMLFormElement.idl:
* html/HTMLImageElement.idl:
* html/HTMLInputElement.idl:
* html/HTMLLinkElement.idl:
* html/HTMLMediaElement.idl:
* html/HTMLScriptElement.idl:
* html/HTMLTableCellElement.idl:
* html/HTMLTrackElement.idl:
* html/MediaEncryptedEvent.idl:
* html/SubmitEvent.idl:
* html/track/AudioTrack.idl:
* html/track/AudioTrackList.idl:
* html/track/TextTrack.idl:
* html/track/TextTrackList.idl:
* html/track/VTTRegion.idl:
* html/track/VideoTrack.idl:
* html/track/VideoTrackList.idl:
* page/DOMWindow.idl:
* page/UserMessageHandlersNamespace.idl:
* storage/StorageEvent.idl:
* svg/SVGAltGlyphElement.idl:
* svg/SVGStyleElement.idl:
* workers/service/ExtendableEvent.idl:
* workers/service/ExtendableMessageEvent.idl:
* workers/service/FetchEvent.idl:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (292853 => 292854)


--- trunk/Source/WebCore/ChangeLog	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/ChangeLog	2022-04-14 03:55:10 UTC (rev 292854)
@@ -1,3 +1,78 @@
+2022-04-13  Chris Dumez  <cdu...@apple.com>
+
+        Use [AtomString] where appropriate in IDL files for performance
+        https://bugs.webkit.org/show_bug.cgi?id=239314
+
+        Reviewed by Alexey Shvayka.
+
+        Use [AtomString] where appropriate in IDL files for performance. I added [AtomString] on the
+        IDL side whenever our C++ implementation uses AtomString.
+
+        Without this, the generated bindings code will generate a String, which will then get atomized
+        once passed to our implementation. This means we're doing unnecessary String allocations in
+        cases where the AtomString is already in the AtomStringTable.
+
+        * dom/Attr.idl:
+        * dom/Document+HTML.idl:
+        * dom/Document.cpp:
+        (WebCore::Document::createAttribute):
+        * dom/Document.h:
+        * dom/Document.idl:
+        * dom/Element.cpp:
+        (WebCore::Element::getAttribute const):
+        * dom/Element.idl:
+        * dom/ElementContentEditable.idl:
+        * dom/Event.idl:
+        * dom/FocusEvent.idl:
+        * dom/FormDataEvent.idl:
+        * dom/HashChangeEvent.idl:
+        * dom/InputEvent.idl:
+        * dom/KeyboardEvent.idl:
+        * dom/MessageEvent.idl:
+        * dom/MouseEvent.idl:
+        * dom/MutationEvent.idl:
+        * dom/NamedNodeMap.idl:
+        * dom/Node.idl:
+        * dom/OverflowEvent.idl:
+        * dom/PageTransitionEvent.idl:
+        * dom/PointerEvent.idl:
+        * dom/ProgressEvent.idl:
+        * dom/PromiseRejectionEvent.idl:
+        * dom/SecurityPolicyViolationEvent.idl:
+        * dom/TextEvent.idl:
+        * dom/TouchEvent.idl:
+        * dom/TransitionEvent.idl:
+        * dom/UIEvent.idl:
+        * dom/WheelEvent.idl:
+        * html/HTMLButtonElement.idl:
+        * html/HTMLDocument.idl:
+        * html/HTMLElement.idl:
+        * html/HTMLFormElement.idl:
+        * html/HTMLImageElement.idl:
+        * html/HTMLInputElement.idl:
+        * html/HTMLLinkElement.idl:
+        * html/HTMLMediaElement.idl:
+        * html/HTMLScriptElement.idl:
+        * html/HTMLTableCellElement.idl:
+        * html/HTMLTrackElement.idl:
+        * html/MediaEncryptedEvent.idl:
+        * html/SubmitEvent.idl:
+        * html/track/AudioTrack.idl:
+        * html/track/AudioTrackList.idl:
+        * html/track/TextTrack.idl:
+        * html/track/TextTrackList.idl:
+        * html/track/VTTRegion.idl:
+        * html/track/VideoTrack.idl:
+        * html/track/VideoTrackList.idl:
+        * page/DOMWindow.idl:
+        * page/UserMessageHandlersNamespace.idl:
+        * storage/StorageEvent.idl:
+        * svg/SVGAltGlyphElement.idl:
+        * svg/SVGStyleElement.idl:
+        * workers/service/ExtendableEvent.idl:
+        * workers/service/ExtendableMessageEvent.idl:
+        * workers/service/FetchEvent.idl:
+
 2022-04-13  Elliott Williams  <e...@apple.com>
 
         [Xcode] Fix public watchOS workspace build by updating scheme and build settings

Modified: trunk/Source/WebCore/dom/Attr.idl (292853 => 292854)


--- trunk/Source/WebCore/dom/Attr.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/dom/Attr.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -28,7 +28,7 @@
     readonly attribute DOMString? prefix;
     readonly attribute DOMString localName;
     readonly attribute DOMString name;
-    [CEReactions] attribute DOMString value;
+    [CEReactions] attribute [AtomString] DOMString value;
 
     readonly attribute Element? ownerElement;
 

Modified: trunk/Source/WebCore/dom/Document+HTML.idl (292853 => 292854)


--- trunk/Source/WebCore/dom/Document+HTML.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/dom/Document+HTML.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -40,7 +40,7 @@
     // DOM tree accessors
     // getter object (DOMString name);
     [CEReactions] attribute DOMString title;
-    [CEReactions] attribute DOMString dir;
+    [CEReactions] attribute [AtomString] DOMString dir;
     [CEReactions, DOMJIT=Getter, ImplementedAs=bodyOrFrameset] attribute HTMLElement? body;
     readonly attribute HTMLHeadElement? head;
     [SameObject] readonly attribute HTMLCollection images;

Modified: trunk/Source/WebCore/dom/Document.cpp (292853 => 292854)


--- trunk/Source/WebCore/dom/Document.cpp	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/dom/Document.cpp	2022-04-14 03:55:10 UTC (rev 292854)
@@ -6058,7 +6058,7 @@
     return *document;
 }
 
-ExceptionOr<Ref<Attr>> Document::createAttribute(const String& localName)
+ExceptionOr<Ref<Attr>> Document::createAttribute(const AtomString& localName)
 {
     if (!isValidName(localName))
         return Exception { InvalidCharacterError };

Modified: trunk/Source/WebCore/dom/Document.h (292853 => 292854)


--- trunk/Source/WebCore/dom/Document.h	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/dom/Document.h	2022-04-14 03:55:10 UTC (rev 292854)
@@ -439,7 +439,7 @@
     WEBCORE_EXPORT Ref<Comment> createComment(const String& data);
     WEBCORE_EXPORT ExceptionOr<Ref<CDATASection>> createCDATASection(const String& data);
     WEBCORE_EXPORT ExceptionOr<Ref<ProcessingInstruction>> createProcessingInstruction(const String& target, const String& data);
-    WEBCORE_EXPORT ExceptionOr<Ref<Attr>> createAttribute(const String& name);
+    WEBCORE_EXPORT ExceptionOr<Ref<Attr>> createAttribute(const AtomString& name);
     WEBCORE_EXPORT ExceptionOr<Ref<Attr>> createAttributeNS(const AtomString& namespaceURI, const String& qualifiedName, bool shouldIgnoreNamespaceChecks = false);
     WEBCORE_EXPORT ExceptionOr<Ref<Node>> importNode(Node& nodeToImport, bool deep);
     WEBCORE_EXPORT ExceptionOr<Ref<Element>> createElementNS(const AtomString& namespaceURI, const String& qualifiedName);

Modified: trunk/Source/WebCore/dom/Document.idl (292853 => 292854)


--- trunk/Source/WebCore/dom/Document.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/dom/Document.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -54,12 +54,12 @@
     readonly attribute DocumentType? doctype;
     [DOMJIT=Getter] readonly attribute Element? documentElement;
 
-    HTMLCollection getElementsByTagName(DOMString qualifiedName);
-    HTMLCollection getElementsByTagNameNS(DOMString? namespaceURI, DOMString localName);
-    HTMLCollection getElementsByClassName(DOMString classNames);
+    HTMLCollection getElementsByTagName([AtomString] DOMString qualifiedName);
+    HTMLCollection getElementsByTagNameNS([AtomString] DOMString? namespaceURI, [AtomString] DOMString localName);
+    HTMLCollection getElementsByClassName([AtomString] DOMString classNames);
 
-    [NewObject, ImplementedAs=createElementForBindings] Element createElement(DOMString localName); // FIXME: missing options parameter.
-    [NewObject] Element createElementNS(DOMString? namespaceURI, DOMString qualifiedName); // FIXME: missing options parameter.
+    [NewObject, ImplementedAs=createElementForBindings] Element createElement([AtomString] DOMString localName);
+    [NewObject] Element createElementNS([AtomString] DOMString? namespaceURI, [AtomString] DOMString qualifiedName);
     [NewObject] DocumentFragment createDocumentFragment();
     [NewObject] Text createTextNode(DOMString data);
     [NewObject] CDATASection createCDATASection(DOMString data);
@@ -69,8 +69,8 @@
     [CEReactions, NewObject] Node importNode(Node node, optional boolean deep = false);
     [CEReactions] Node adoptNode(Node node);
 
-    [NewObject] Attr createAttribute(DOMString localName);
-    [NewObject] Attr createAttributeNS(DOMString? namespaceURI, DOMString qualifiedName);
+    [NewObject] Attr createAttribute([AtomString] DOMString localName);
+    [NewObject] Attr createAttributeNS([AtomString] DOMString? namespaceURI, DOMString qualifiedName);
 
     [NewObject] Event createEvent(DOMString type);
 

Modified: trunk/Source/WebCore/dom/Element.cpp (292853 => 292854)


--- trunk/Source/WebCore/dom/Element.cpp	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/dom/Element.cpp	2022-04-14 03:55:10 UTC (rev 292854)
@@ -1792,7 +1792,7 @@
 
 const AtomString& Element::getAttribute(const AtomString& qualifiedName) const
 {
-    if (!elementData())
+    if (!elementData() || qualifiedName.isEmpty())
         return nullAtom();
     synchronizeAttribute(qualifiedName);
     if (const Attribute* attribute = elementData()->findAttributeByName(qualifiedName, shouldIgnoreAttributeCase(*this)))

Modified: trunk/Source/WebCore/dom/Element.idl (292853 => 292854)


--- trunk/Source/WebCore/dom/Element.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/dom/Element.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -40,18 +40,18 @@
     [DOMJIT=ReadDOM] boolean hasAttributes();
     [SameObject] readonly attribute NamedNodeMap attributes;
     sequence<DOMString> getAttributeNames();
-    [DOMJIT=ReadDOM] DOMString? getAttribute(DOMString qualifiedName);
-    DOMString? getAttributeNS(DOMString? namespaceURI, DOMString localName);
-    [CEReactions] undefined setAttribute(DOMString qualifiedName, DOMString value);
-    [CEReactions] undefined setAttributeNS(DOMString? namespaceURI, DOMString qualifiedName, DOMString value);
-    [CEReactions, ImplementedAs=removeAttributeForBindings] undefined removeAttribute(DOMString qualifiedName);
-    [CEReactions, ImplementedAs=removeAttributeNSForBindings] undefined removeAttributeNS(DOMString? namespaceURI, DOMString localName);
-    [CEReactions] boolean toggleAttribute(DOMString qualifiedName, optional boolean force);
-    boolean hasAttribute(DOMString qualifiedName);
-    boolean hasAttributeNS(DOMString? namespaceURI, DOMString localName);
+    [DOMJIT=ReadDOM] DOMString? getAttribute([AtomString] DOMString qualifiedName);
+    DOMString? getAttributeNS([AtomString] DOMString? namespaceURI, [AtomString] DOMString localName);
+    [CEReactions] undefined setAttribute([AtomString] DOMString qualifiedName, [AtomString] DOMString value);
+    [CEReactions] undefined setAttributeNS([AtomString] DOMString? namespaceURI, [AtomString] DOMString qualifiedName, [AtomString] DOMString value);
+    [CEReactions, ImplementedAs=removeAttributeForBindings] undefined removeAttribute([AtomString] DOMString qualifiedName);
+    [CEReactions, ImplementedAs=removeAttributeNSForBindings] undefined removeAttributeNS([AtomString] DOMString? namespaceURI, [AtomString] DOMString localName);
+    [CEReactions] boolean toggleAttribute([AtomString] DOMString qualifiedName, optional boolean force);
+    boolean hasAttribute([AtomString] DOMString qualifiedName);
+    boolean hasAttributeNS([AtomString] DOMString? namespaceURI, [AtomString] DOMString localName);
 
-    [DOMJIT=ReadDOM] Attr? getAttributeNode(DOMString qualifiedName);
-    Attr? getAttributeNodeNS(DOMString? namespaceURI, DOMString localName);
+    [DOMJIT=ReadDOM] Attr? getAttributeNode([AtomString] DOMString qualifiedName);
+    Attr? getAttributeNodeNS([AtomString] DOMString? namespaceURI, [AtomString] DOMString localName);
     [CEReactions] Attr? setAttributeNode(Attr attr);
     [CEReactions] Attr? setAttributeNodeNS(Attr attr);
     [CEReactions] Attr removeAttributeNode(Attr attr);
@@ -63,9 +63,9 @@
     boolean matches(DOMString selectors);
     [ImplementedAs=matches] boolean webkitMatchesSelector(DOMString selectors); // Historical alias of .matches.
 
-    [DOMJIT=ReadDOM] HTMLCollection getElementsByTagName(DOMString qualifiedName);
-    HTMLCollection getElementsByTagNameNS(DOMString? namespaceURI, DOMString localName);
-    HTMLCollection getElementsByClassName(DOMString name);
+    [DOMJIT=ReadDOM] HTMLCollection getElementsByTagName([AtomString] DOMString qualifiedName);
+    HTMLCollection getElementsByTagNameNS([AtomString] DOMString? namespaceURI, [AtomString] DOMString localName);
+    HTMLCollection getElementsByClassName([AtomString] DOMString name);
 
     [CEReactions] Element? insertAdjacentElement(DOMString where, Element element); // Historical.
     undefined insertAdjacentText(DOMString where, DOMString data); // Historical.

Modified: trunk/Source/WebCore/dom/ElementContentEditable.idl (292853 => 292854)


--- trunk/Source/WebCore/dom/ElementContentEditable.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/dom/ElementContentEditable.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -28,5 +28,5 @@
     [CEReactions] attribute DOMString contentEditable;
     [CEReactions, EnabledBySetting=EnterKeyHintEnabled] attribute DOMString enterKeyHint;
     readonly attribute boolean isContentEditable;
-    [CEReactions] attribute DOMString inputMode;
+    [CEReactions] attribute [AtomString] DOMString inputMode;
 };

Modified: trunk/Source/WebCore/dom/Event.idl (292853 => 292854)


--- trunk/Source/WebCore/dom/Event.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/dom/Event.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -27,7 +27,7 @@
     Exposed=*,
     JSCustomHeader,
 ] interface Event {
-    constructor(DOMString type, optional EventInit eventInitDict);
+    constructor([AtomString] DOMString type, optional EventInit eventInitDict);
 
     readonly attribute DOMString type;
     readonly attribute EventTarget? target;
@@ -53,7 +53,7 @@
     [LegacyUnforgeable] readonly attribute boolean isTrusted;
     [CallWith=RelevantScriptExecutionContext, ImplementedAs=timeStampForBindings] readonly attribute DOMHighResTimeStamp timeStamp;
 
-    undefined initEvent(DOMString type, optional boolean bubbles = false, optional boolean cancelable = false); // Historical.
+    undefined initEvent([AtomString] DOMString type, optional boolean bubbles = false, optional boolean cancelable = false); // Historical.
 
     // IE extensions that may get standardized (https://github.com/whatwg/dom/issues/334).
     [ImplementedAs=target] readonly attribute EventTarget srcElement;

Modified: trunk/Source/WebCore/dom/FocusEvent.idl (292853 => 292854)


--- trunk/Source/WebCore/dom/FocusEvent.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/dom/FocusEvent.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -26,7 +26,7 @@
 [
     Exposed=Window
 ] interface FocusEvent : UIEvent {
-    constructor(DOMString type, optional FocusEventInit eventInitDict);
+    constructor([AtomString] DOMString type, optional FocusEventInit eventInitDict);
 
     readonly attribute EventTarget? relatedTarget;
 };

Modified: trunk/Source/WebCore/dom/FormDataEvent.idl (292853 => 292854)


--- trunk/Source/WebCore/dom/FormDataEvent.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/dom/FormDataEvent.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -26,7 +26,7 @@
 [
     Exposed=Window
 ] interface FormDataEvent : Event {
-    constructor(DOMString type, FormDataEventInit eventInitDict);
+    constructor([AtomString] DOMString type, FormDataEventInit eventInitDict);
 
     readonly attribute DOMFormData formData;
 };

Modified: trunk/Source/WebCore/dom/HashChangeEvent.idl (292853 => 292854)


--- trunk/Source/WebCore/dom/HashChangeEvent.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/dom/HashChangeEvent.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -21,9 +21,9 @@
 [
     Exposed=Window
 ] interface HashChangeEvent : Event {
-    constructor(DOMString type, optional HashChangeEventInit eventInitDict);
+    constructor([AtomString] DOMString type, optional HashChangeEventInit eventInitDict);
 
-    undefined initHashChangeEvent(DOMString type,
+    undefined initHashChangeEvent([AtomString] DOMString type,
                              optional boolean canBubble = false,
                              optional boolean cancelable = false,
                              optional USVString oldURL = "undefined",

Modified: trunk/Source/WebCore/dom/InputEvent.idl (292853 => 292854)


--- trunk/Source/WebCore/dom/InputEvent.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/dom/InputEvent.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -26,7 +26,7 @@
 [
     Exposed=Window
 ] interface InputEvent : UIEvent {
-    constructor(DOMString type, optional InputEventInit eventInitDict);
+    constructor([AtomString] DOMString type, optional InputEventInit eventInitDict);
 
     readonly attribute DOMString inputType;
     readonly attribute DOMString? data;

Modified: trunk/Source/WebCore/dom/KeyboardEvent.idl (292853 => 292854)


--- trunk/Source/WebCore/dom/KeyboardEvent.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/dom/KeyboardEvent.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -21,7 +21,7 @@
 [
     Exposed=Window
 ] interface KeyboardEvent : UIEvent {
-    constructor(DOMString type, optional KeyboardEventInit eventInitDict);
+    constructor([AtomString] DOMString type, optional KeyboardEventInit eventInitDict);
 
     const unsigned long DOM_KEY_LOCATION_STANDARD = 0x00;
     const unsigned long DOM_KEY_LOCATION_LEFT = 0x01;
@@ -51,7 +51,7 @@
     readonly attribute unsigned long which;
 
     // FIXME: this does not match the version in the DOM spec.
-    undefined initKeyboardEvent(DOMString type, optional boolean canBubble = false, optional boolean cancelable = false,
+    undefined initKeyboardEvent([AtomString] DOMString type, optional boolean canBubble = false, optional boolean cancelable = false,
         optional WindowProxy? view = null, optional DOMString keyIdentifier = "undefined", optional unsigned long location = 0,
         optional boolean ctrlKey = false, optional boolean altKey = false, optional boolean shiftKey = false, optional boolean metaKey = false, optional boolean altGraphKey = false);
 };

Modified: trunk/Source/WebCore/dom/MessageEvent.idl (292853 => 292854)


--- trunk/Source/WebCore/dom/MessageEvent.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/dom/MessageEvent.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -37,7 +37,7 @@
     JSCustomMarkFunction,
     ReportExtraMemoryCost,
 ] interface MessageEvent : Event {
-    constructor(DOMString type, optional MessageEventInit eventInitDict);
+    constructor([AtomString] DOMString type, optional MessageEventInit eventInitDict);
 
     readonly attribute USVString origin;
     readonly attribute DOMString lastEventId;
@@ -45,7 +45,7 @@
     [CustomGetter] readonly attribute any data;
     [CustomGetter] readonly attribute FrozenArray<MessagePort> ports;
 
-    undefined initMessageEvent(DOMString type, optional boolean bubbles = false, optional boolean cancelable = false,
+    undefined initMessageEvent([AtomString] DOMString type, optional boolean bubbles = false, optional boolean cancelable = false,
         optional any data = "" optional USVString originArg = "", optional DOMString lastEventId = "", optional MessageEventSource? source = null,
         optional sequence<MessagePort> messagePorts = []);
 };

Modified: trunk/Source/WebCore/dom/MouseEvent.idl (292853 => 292854)


--- trunk/Source/WebCore/dom/MouseEvent.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/dom/MouseEvent.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -21,7 +21,7 @@
     DoNotCheckConstants,
     Exposed=Window
 ] interface MouseEvent : UIEvent {
-    constructor(DOMString type, optional MouseEventInit eventInitDict);
+    constructor([AtomString] DOMString type, optional MouseEventInit eventInitDict);
 
     [Conditional=MOUSE_FORCE_EVENTS] const double WEBKIT_FORCE_AT_MOUSE_DOWN = 1;
     [Conditional=MOUSE_FORCE_EVENTS] const double WEBKIT_FORCE_AT_FORCE_MOUSE_DOWN = 2;
@@ -45,7 +45,7 @@
     [Conditional=MOUSE_FORCE_EVENTS, ImplementedAs=force]readonly attribute double webkitForce;
 
     // FIXME: relatedTarget should be of type EventTarget? but we need to use any to support a quirk for iAd Producer (rdar://problem/30640101).
-    [CallWith=CurrentGlobalObject&CurrentScriptExecutionContext, ImplementedAs=initMouseEventQuirk] undefined initMouseEvent(DOMString type,
+    [CallWith=CurrentGlobalObject&CurrentScriptExecutionContext, ImplementedAs=initMouseEventQuirk] undefined initMouseEvent([AtomString] DOMString type,
         optional boolean canBubble = false, optional boolean cancelable = false,
         optional WindowProxy? view = null, optional long detail = 0,
         optional long screenX = 0, optional long screenY = 0, optional long clientX = 0, optional long clientY = 0,

Modified: trunk/Source/WebCore/dom/MutationEvent.idl (292853 => 292854)


--- trunk/Source/WebCore/dom/MutationEvent.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/dom/MutationEvent.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -31,7 +31,7 @@
     readonly attribute DOMString attrName;
     readonly attribute unsigned short attrChange;
 
-    undefined initMutationEvent(DOMString type, optional boolean canBubble = false, optional boolean cancelable = false,
+    undefined initMutationEvent([AtomString] DOMString type, optional boolean canBubble = false, optional boolean cancelable = false,
         optional Node? relatedNode = null, optional DOMString prevValue = "undefined", optional DOMString newValue = "undefined",
         optional DOMString attrName = "undefined", optional unsigned short attrChange = 0);
 };

Modified: trunk/Source/WebCore/dom/NamedNodeMap.idl (292853 => 292854)


--- trunk/Source/WebCore/dom/NamedNodeMap.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/dom/NamedNodeMap.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -26,10 +26,10 @@
 ] interface NamedNodeMap {
     readonly attribute unsigned long length;
     getter Attr? item(unsigned long index);
-    getter Attr? getNamedItem(DOMString qualifiedName);
-    Attr? getNamedItemNS(DOMString? namespaceURI, DOMString localName);
+    getter Attr? getNamedItem([AtomString] DOMString qualifiedName);
+    Attr? getNamedItemNS([AtomString] DOMString? namespaceURI, [AtomString] DOMString localName);
     [CEReactions] Attr? setNamedItem(Attr attr);
     [CEReactions, ImplementedAs=setNamedItem] Attr? setNamedItemNS(Attr attr);
-    [CEReactions] Attr removeNamedItem(DOMString qualifiedName);
-    [CEReactions] Attr removeNamedItemNS(DOMString? namespaceURI, DOMString localName);
+    [CEReactions] Attr removeNamedItem([AtomString] DOMString qualifiedName);
+    [CEReactions] Attr removeNamedItemNS([AtomString] DOMString? namespaceURI, [AtomString] DOMString localName);
 };

Modified: trunk/Source/WebCore/dom/Node.idl (292853 => 292854)


--- trunk/Source/WebCore/dom/Node.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/dom/Node.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -74,9 +74,9 @@
     unsigned short compareDocumentPosition(Node other);
     boolean contains(Node? other);
 
-    DOMString? lookupPrefix(DOMString? namespaceURI);
-    DOMString? lookupNamespaceURI(DOMString? prefix);
-    boolean isDefaultNamespace(DOMString? namespaceURI);
+    DOMString? lookupPrefix([AtomString] DOMString? namespaceURI);
+    DOMString? lookupNamespaceURI([AtomString] DOMString? prefix);
+    boolean isDefaultNamespace([AtomString] DOMString? namespaceURI);
 
     [CEReactions] Node insertBefore([ReturnValue] Node node, Node? child);
     [CEReactions] Node appendChild([ReturnValue] Node node);

Modified: trunk/Source/WebCore/dom/OverflowEvent.idl (292853 => 292854)


--- trunk/Source/WebCore/dom/OverflowEvent.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/dom/OverflowEvent.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -26,7 +26,7 @@
 [
     Exposed=Window
 ] interface OverflowEvent : Event {
-    constructor(DOMString type, optional OverflowEventInit eventInitDict);
+    constructor([AtomString] DOMString type, optional OverflowEventInit eventInitDict);
 
     const unsigned short HORIZONTAL = 0;
     const unsigned short VERTICAL   = 1;

Modified: trunk/Source/WebCore/dom/PageTransitionEvent.idl (292853 => 292854)


--- trunk/Source/WebCore/dom/PageTransitionEvent.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/dom/PageTransitionEvent.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -26,7 +26,7 @@
 [
     Exposed=Window
 ] interface PageTransitionEvent : Event {
-    constructor(DOMString type, optional PageTransitionEventInit eventInitDict);
+    constructor([AtomString] DOMString type, optional PageTransitionEventInit eventInitDict);
 
     readonly attribute boolean persisted;
 };

Modified: trunk/Source/WebCore/dom/PointerEvent.idl (292853 => 292854)


--- trunk/Source/WebCore/dom/PointerEvent.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/dom/PointerEvent.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -40,7 +40,7 @@
     DisabledByQuirk=shouldDisablePointerEvents,
     Exposed=Window
 ] interface PointerEvent : MouseEvent {
-    constructor(DOMString type, optional PointerEventInit eventInitDict);
+    constructor([AtomString] DOMString type, optional PointerEventInit eventInitDict);
 
     readonly attribute long pointerId;
     readonly attribute double width;

Modified: trunk/Source/WebCore/dom/ProgressEvent.idl (292853 => 292854)


--- trunk/Source/WebCore/dom/ProgressEvent.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/dom/ProgressEvent.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -26,7 +26,7 @@
 [
     Exposed=(Window,Worker),
 ] interface ProgressEvent : Event {
-    constructor(DOMString type, optional ProgressEventInit eventInitDict);
+    constructor([AtomString] DOMString type, optional ProgressEventInit eventInitDict);
 
     readonly attribute boolean lengthComputable;
     readonly attribute unsigned long long loaded;

Modified: trunk/Source/WebCore/dom/PromiseRejectionEvent.idl (292853 => 292854)


--- trunk/Source/WebCore/dom/PromiseRejectionEvent.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/dom/PromiseRejectionEvent.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -27,7 +27,7 @@
     Exposed=*,
     JSCustomMarkFunction,
 ] interface PromiseRejectionEvent : Event {
-    constructor(DOMString type, PromiseRejectionEventInit eventInitDict);
+    constructor([AtomString] DOMString type, PromiseRejectionEventInit eventInitDict);
 
     readonly attribute Promise<any> promise;
     readonly attribute any reason;

Modified: trunk/Source/WebCore/dom/SecurityPolicyViolationEvent.idl (292853 => 292854)


--- trunk/Source/WebCore/dom/SecurityPolicyViolationEvent.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/dom/SecurityPolicyViolationEvent.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -32,8 +32,8 @@
 [
     Exposed=(Window,Worker)
 ] interface SecurityPolicyViolationEvent : Event {
-    constructor(DOMString type);
-    constructor(DOMString type, SecurityPolicyViolationEventInit eventInitDict);
+    constructor([AtomString] DOMString type);
+    constructor([AtomString] DOMString type, SecurityPolicyViolationEventInit eventInitDict);
 
     readonly attribute USVString documentURI;
     readonly attribute USVString referrer;

Modified: trunk/Source/WebCore/dom/TextEvent.idl (292853 => 292854)


--- trunk/Source/WebCore/dom/TextEvent.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/dom/TextEvent.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -28,7 +28,7 @@
 ] interface TextEvent : UIEvent {
     readonly attribute DOMString data;
 
-    undefined initTextEvent(DOMString typeArg,
+    undefined initTextEvent([AtomString] DOMString typeArg,
                        optional boolean canBubbleArg = false,
                        optional boolean cancelableArg = false,
                        optional WindowProxy? viewArg = null,

Modified: trunk/Source/WebCore/dom/TouchEvent.idl (292853 => 292854)


--- trunk/Source/WebCore/dom/TouchEvent.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/dom/TouchEvent.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -27,7 +27,7 @@
     Conditional=TOUCH_EVENTS,
     Exposed=Window
 ] interface TouchEvent : UIEvent {
-    constructor(DOMString type, optional TouchEventInit eventInitDict);
+    constructor([AtomString] DOMString type, optional TouchEventInit eventInitDict);
 
     readonly attribute TouchList touches;
     readonly attribute TouchList targetTouches;

Modified: trunk/Source/WebCore/dom/TransitionEvent.idl (292853 => 292854)


--- trunk/Source/WebCore/dom/TransitionEvent.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/dom/TransitionEvent.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -27,7 +27,7 @@
 [
     Exposed=Window
 ] interface TransitionEvent : Event {
-    constructor(DOMString type, optional TransitionEventInit transitionEventInitDict);
+    constructor([AtomString] DOMString type, optional TransitionEventInit transitionEventInitDict);
 
     readonly attribute DOMString propertyName;
     readonly attribute double elapsedTime;

Modified: trunk/Source/WebCore/dom/UIEvent.idl (292853 => 292854)


--- trunk/Source/WebCore/dom/UIEvent.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/dom/UIEvent.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -20,12 +20,12 @@
 [
     Exposed=Window
 ] interface UIEvent : Event {
-    constructor(DOMString type, optional UIEventInit eventInitDict);
+    constructor([AtomString] DOMString type, optional UIEventInit eventInitDict);
 
     readonly attribute WindowProxy view;
     readonly attribute long detail;
     
-    undefined initUIEvent(DOMString type, optional boolean canBubble = false, optional boolean cancelable = false, optional WindowProxy? view = null, optional long detail = 0);
+    undefined initUIEvent([AtomString] DOMString type, optional boolean canBubble = false, optional boolean cancelable = false, optional WindowProxy? view = null, optional long detail = 0);
 
     readonly attribute long layerX;
     readonly attribute long layerY;

Modified: trunk/Source/WebCore/dom/WheelEvent.idl (292853 => 292854)


--- trunk/Source/WebCore/dom/WheelEvent.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/dom/WheelEvent.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -22,7 +22,7 @@
 [
     Exposed=Window
 ] interface WheelEvent : MouseEvent {
-    constructor(DOMString type, optional WheelEventInit eventInitDict);
+    constructor([AtomString] DOMString type, optional WheelEventInit eventInitDict);
 
     // DeltaModeCode
     const unsigned long DOM_DELTA_PIXEL = 0x00;

Modified: trunk/Source/WebCore/html/HTMLButtonElement.idl (292853 => 292854)


--- trunk/Source/WebCore/html/HTMLButtonElement.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/html/HTMLButtonElement.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -27,7 +27,7 @@
 
     [CEReactions=NotNeeded] attribute DOMString formEnctype;
     [CEReactions=NotNeeded] attribute DOMString formMethod;
-    [CEReactions=NotNeeded] attribute DOMString type;
+    [CEReactions=NotNeeded] attribute [AtomString] DOMString type;
 
     [CEReactions=NotNeeded, Reflect] attribute boolean formNoValidate;
     [CEReactions=NotNeeded, Reflect] attribute DOMString formTarget;

Modified: trunk/Source/WebCore/html/HTMLDocument.idl (292853 => 292854)


--- trunk/Source/WebCore/html/HTMLDocument.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/html/HTMLDocument.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -24,5 +24,5 @@
     LegacyOverrideBuiltIns,
     Exposed=Window
 ] interface HTMLDocument : Document {    
-    getter (WindowProxy or Element or HTMLCollection) (DOMString name);
+    getter (WindowProxy or Element or HTMLCollection) ([AtomString] DOMString name);
 };

Modified: trunk/Source/WebCore/html/HTMLElement.idl (292853 => 292854)


--- trunk/Source/WebCore/html/HTMLElement.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/html/HTMLElement.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -32,7 +32,7 @@
     [CEReactions, Reflect] attribute DOMString title;
     [CEReactions, Reflect] attribute DOMString lang;
     [CEReactions] attribute boolean translate;
-    [CEReactions] attribute DOMString dir;
+    [CEReactions] attribute [AtomString] DOMString dir;
 
     // user interaction
     [CEReactions, Reflect] attribute boolean hidden;

Modified: trunk/Source/WebCore/html/HTMLFormElement.idl (292853 => 292854)


--- trunk/Source/WebCore/html/HTMLFormElement.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/html/HTMLFormElement.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -26,7 +26,7 @@
 ] interface HTMLFormElement : HTMLElement {
     [CEReactions=NotNeeded, Reflect=accept_charset] attribute DOMString acceptCharset;
     [CEReactions=NotNeeded] attribute USVString action;
-    [CEReactions=NotNeeded] attribute DOMString autocomplete;
+    [CEReactions=NotNeeded] attribute [AtomString] DOMString autocomplete;
     [CEReactions=NotNeeded] attribute DOMString enctype;
     [CEReactions=NotNeeded, ImplementedAs=enctype] attribute DOMString encoding;
     [CEReactions=NotNeeded] attribute DOMString method;
@@ -39,7 +39,7 @@
     readonly attribute HTMLFormControlsCollection elements;
     readonly attribute unsigned long length;
     getter Element? (unsigned long index);
-    getter (RadioNodeList or Element)? (DOMString name);
+    getter (RadioNodeList or Element)? ([AtomString] DOMString name);
 
     [ImplementedAs=submitFromJavaScript] undefined submit();
     [EnabledBySetting=RequestSubmitEnabled] undefined requestSubmit(optional HTMLElement? submitter);

Modified: trunk/Source/WebCore/html/HTMLImageElement.idl (292853 => 292854)


--- trunk/Source/WebCore/html/HTMLImageElement.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/html/HTMLImageElement.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -31,7 +31,7 @@
     [CEReactions=NotNeeded, Reflect, URL] attribute USVString src;
     [CEReactions=NotNeeded, Reflect] attribute USVString srcset;
     [CEReactions=NotNeeded, Reflect] attribute DOMString sizes;
-    [CEReactions=NotNeeded] attribute DOMString? crossOrigin;
+    [CEReactions=NotNeeded] attribute [AtomString] DOMString? crossOrigin;
     [CEReactions=NotNeeded, Reflect] attribute DOMString useMap;
     [CEReactions=NotNeeded, Reflect] attribute boolean isMap;
     [CEReactions=NotNeeded] attribute unsigned long width;
@@ -40,9 +40,9 @@
     readonly attribute long naturalWidth;
     readonly attribute boolean complete;
     readonly attribute USVString currentSrc;
-    [CEReactions=NotNeeded, EnabledBySetting=ReferrerPolicyAttributeEnabled, ImplementedAs=referrerPolicyForBindings] attribute DOMString referrerPolicy;
+    [CEReactions=NotNeeded, EnabledBySetting=ReferrerPolicyAttributeEnabled, ImplementedAs=referrerPolicyForBindings] attribute [AtomString] DOMString referrerPolicy;
     [CEReactions=NotNeeded] attribute DOMString decoding;
-    [CEReactions, EnabledBySetting=LazyImageLoadingEnabled, ImplementedAs=loadingForBindings] attribute DOMString loading;
+    [CEReactions, EnabledBySetting=LazyImageLoadingEnabled, ImplementedAs=loadingForBindings] attribute [AtomString] DOMString loading;
 
     Promise<undefined> decode();
 

Modified: trunk/Source/WebCore/html/HTMLInputElement.idl (292853 => 292854)


--- trunk/Source/WebCore/html/HTMLInputElement.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/html/HTMLInputElement.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -26,7 +26,7 @@
 ] interface HTMLInputElement : HTMLElement {
     [CEReactions=NotNeeded, Reflect] attribute DOMString accept;
     [CEReactions=NotNeeded, Reflect] attribute DOMString alt;
-    [CEReactions=NotNeeded] attribute DOMString autocomplete;
+    [CEReactions=NotNeeded] attribute [AtomString] DOMString autocomplete;
     [CEReactions=NotNeeded, Reflect=checked] attribute boolean defaultChecked;
     attribute boolean checked;
     [CEReactions=NotNeeded, Reflect] attribute DOMString dirName;
@@ -56,7 +56,7 @@
     [CEReactions=NotNeeded] attribute unsigned long size;
     [CEReactions=NotNeeded, Reflect, URL] attribute USVString src;
     [CEReactions=NotNeeded, Reflect] attribute DOMString step;
-    [CEReactions=NotNeeded] attribute DOMString type; // readonly dropped as part of DOM level 2
+    [CEReactions=NotNeeded] attribute [AtomString] DOMString type;
     [CEReactions=NotNeeded] attribute DOMString defaultValue;
     // See the discussion in https://bugs.webkit.org/show_bug.cgi?id=100085
     [CEReactions=NotNeeded] attribute [LegacyNullToEmptyString] DOMString value;

Modified: trunk/Source/WebCore/html/HTMLLinkElement.idl (292853 => 292854)


--- trunk/Source/WebCore/html/HTMLLinkElement.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/html/HTMLLinkElement.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -34,11 +34,11 @@
     [PutForwards=value] readonly attribute DOMTokenList sizes;
     [CEReactions=NotNeeded, Reflect] attribute DOMString target;
     [CEReactions=NotNeeded, Reflect] attribute DOMString type;
-    [CEReactions=NotNeeded] attribute DOMString as;
-    [CEReactions=NotNeeded] attribute DOMString? crossOrigin;
+    [CEReactions=NotNeeded] attribute [AtomString] DOMString as;
+    [CEReactions=NotNeeded] attribute [AtomString] DOMString? crossOrigin;
     [CEReactions=NotNeeded, Reflect, EnabledBySetting=LinkPreloadResponsiveImagesEnabled] attribute DOMString imageSrcset;
     [CEReactions=NotNeeded, Reflect, EnabledBySetting=LinkPreloadResponsiveImagesEnabled] attribute DOMString imageSizes;
-    [EnabledBySetting=ReferrerPolicyAttributeEnabled, ImplementedAs=referrerPolicyForBindings, CEReactions=NotNeeded] attribute DOMString referrerPolicy;
+    [EnabledBySetting=ReferrerPolicyAttributeEnabled, ImplementedAs=referrerPolicyForBindings, CEReactions=NotNeeded] attribute [AtomString] DOMString referrerPolicy;
 
     // DOM Level 2 Style
     readonly attribute StyleSheet sheet;

Modified: trunk/Source/WebCore/html/HTMLMediaElement.idl (292853 => 292854)


--- trunk/Source/WebCore/html/HTMLMediaElement.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/html/HTMLMediaElement.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -47,7 +47,7 @@
     [CEReactions=NotNeeded, Reflect, URL] attribute USVString src;
     attribute MediaProvider? srcObject;
     [URL] readonly attribute USVString currentSrc;
-    [CEReactions=NotNeeded] attribute DOMString? crossOrigin;
+    [CEReactions=NotNeeded] attribute [AtomString] DOMString? crossOrigin;
 
     const unsigned short NETWORK_EMPTY = 0;
     const unsigned short NETWORK_IDLE = 1;

Modified: trunk/Source/WebCore/html/HTMLScriptElement.idl (292853 => 292854)


--- trunk/Source/WebCore/html/HTMLScriptElement.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/html/HTMLScriptElement.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -29,10 +29,10 @@
     [CEReactions=NotNeeded, Reflect] attribute boolean defer;
     [CEReactions=NotNeeded, Reflect, URL] attribute USVString src;
     [CEReactions=NotNeeded, Reflect] attribute DOMString type;
-    [CEReactions=NotNeeded] attribute DOMString? crossOrigin;
+    [CEReactions=NotNeeded] attribute [AtomString] DOMString? crossOrigin;
     [CEReactions=NotNeeded, Reflect] attribute boolean noModule;
     [CEReactions=NotNeeded, Reflect] attribute DOMString integrity;
-    [EnabledBySetting=ReferrerPolicyAttributeEnabled, ImplementedAs=referrerPolicyForBindings, CEReactions=NotNeeded] attribute DOMString referrerPolicy;
+    [EnabledBySetting=ReferrerPolicyAttributeEnabled, ImplementedAs=referrerPolicyForBindings, CEReactions=NotNeeded] attribute [AtomString] DOMString referrerPolicy;
 
     static boolean supports(DOMString type);
 };

Modified: trunk/Source/WebCore/html/HTMLTableCellElement.idl (292853 => 292854)


--- trunk/Source/WebCore/html/HTMLTableCellElement.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/html/HTMLTableCellElement.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -39,6 +39,6 @@
     [CEReactions=NotNeeded, Reflect] attribute DOMString width;
 
     [CEReactions=NotNeeded, Reflect] attribute DOMString abbr;
-    [CEReactions=NotNeeded] attribute DOMString scope;
+    [CEReactions=NotNeeded] attribute [AtomString] DOMString scope;
 };
 

Modified: trunk/Source/WebCore/html/HTMLTrackElement.idl (292853 => 292854)


--- trunk/Source/WebCore/html/HTMLTrackElement.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/html/HTMLTrackElement.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -28,7 +28,7 @@
     Conditional=VIDEO,
     Exposed=Window
 ] interface HTMLTrackElement : HTMLElement {
-    [CEReactions=NotNeeded] attribute DOMString kind;
+    [CEReactions=NotNeeded] attribute [AtomString] DOMString kind;
     [CEReactions=NotNeeded, Reflect, URL] attribute USVString src;
     [CEReactions=NotNeeded, Reflect] attribute DOMString srclang;
     [CEReactions=NotNeeded, Reflect] attribute DOMString label;

Modified: trunk/Source/WebCore/html/MediaEncryptedEvent.idl (292853 => 292854)


--- trunk/Source/WebCore/html/MediaEncryptedEvent.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/html/MediaEncryptedEvent.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -37,7 +37,7 @@
     DisabledByQuirk=hasBrokenEncryptedMediaAPISupport,
     Exposed=Window
 ] interface MediaEncryptedEvent : Event {
-    constructor(DOMString type, optional MediaEncryptedEventInit eventInitDict);
+    constructor([AtomString] DOMString type, optional MediaEncryptedEventInit eventInitDict);
 
     readonly attribute DOMString initDataType;
     readonly attribute ArrayBuffer? initData;

Modified: trunk/Source/WebCore/html/SubmitEvent.idl (292853 => 292854)


--- trunk/Source/WebCore/html/SubmitEvent.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/html/SubmitEvent.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -26,7 +26,7 @@
 [
     Exposed=Window
 ] interface SubmitEvent : Event {
-    constructor(DOMString type, optional SubmitEventInit eventInitDict);
+    constructor([AtomString] DOMString type, optional SubmitEventInit eventInitDict);
 
     readonly attribute HTMLElement? submitter;
 };

Modified: trunk/Source/WebCore/html/track/AudioTrack.idl (292853 => 292854)


--- trunk/Source/WebCore/html/track/AudioTrack.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/html/track/AudioTrack.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -32,7 +32,7 @@
     readonly attribute DOMString id;
     [SettingsConditionallyReadWrite=MediaSourceEnabled] attribute DOMString kind;
     readonly attribute DOMString label;
-    [SettingsConditionallyReadWrite=MediaSourceEnabled] attribute DOMString language;
+    [SettingsConditionallyReadWrite=MediaSourceEnabled] attribute [AtomString] DOMString language;
     [EnabledBySetting=TrackConfigurationEnabled] readonly attribute AudioTrackConfiguration configuration;
 
     attribute boolean enabled;

Modified: trunk/Source/WebCore/html/track/AudioTrackList.idl (292853 => 292854)


--- trunk/Source/WebCore/html/track/AudioTrackList.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/html/track/AudioTrackList.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -32,7 +32,7 @@
 ] interface AudioTrackList : EventTarget {
     readonly attribute unsigned long length;
     getter AudioTrack item(unsigned long index);
-    AudioTrack getTrackById(DOMString id);
+    AudioTrack getTrackById([AtomString] DOMString id);
 
     attribute EventHandler onchange;
     attribute EventHandler onaddtrack;

Modified: trunk/Source/WebCore/html/track/TextTrack.idl (292853 => 292854)


--- trunk/Source/WebCore/html/track/TextTrack.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/html/track/TextTrack.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -38,7 +38,7 @@
     readonly attribute DOMString id;
     [ImplementedAs=kindForBindings] attribute TextTrackKind kind;
     readonly attribute DOMString label;
-    [SettingsConditionallyReadWrite=MediaSourceEnabled] attribute DOMString language;
+    [SettingsConditionallyReadWrite=MediaSourceEnabled] attribute [AtomString] DOMString language;
     readonly attribute DOMString inBandMetadataTrackDispatchType;
 
     attribute TextTrackMode mode;

Modified: trunk/Source/WebCore/html/track/TextTrackList.idl (292853 => 292854)


--- trunk/Source/WebCore/html/track/TextTrackList.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/html/track/TextTrackList.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -32,7 +32,7 @@
 ] interface TextTrackList : EventTarget {
     readonly attribute unsigned long length;
     getter TextTrack item(unsigned long index);
-    TextTrack getTrackById(DOMString id);
+    TextTrack getTrackById([AtomString] DOMString id);
 
     attribute EventHandler onaddtrack;
     attribute EventHandler onchange;

Modified: trunk/Source/WebCore/html/track/VTTRegion.idl (292853 => 292854)


--- trunk/Source/WebCore/html/track/VTTRegion.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/html/track/VTTRegion.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -40,5 +40,5 @@
     attribute double regionAnchorY;
     attribute double viewportAnchorX;
     attribute double viewportAnchorY;
-    attribute DOMString scroll;
+    attribute [AtomString] DOMString scroll;
 };

Modified: trunk/Source/WebCore/html/track/VideoTrack.idl (292853 => 292854)


--- trunk/Source/WebCore/html/track/VideoTrack.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/html/track/VideoTrack.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -29,9 +29,9 @@
     Exposed=Window
 ] interface VideoTrack {
     readonly attribute DOMString id;
-    [SettingsConditionallyReadWrite=MediaSourceEnabled] attribute DOMString kind;
+    [SettingsConditionallyReadWrite=MediaSourceEnabled] attribute [AtomString] DOMString kind;
     readonly attribute DOMString label;
-    [SettingsConditionallyReadWrite=MediaSourceEnabled] attribute DOMString language;
+    [SettingsConditionallyReadWrite=MediaSourceEnabled] attribute [AtomString] DOMString language;
 
     attribute boolean selected;
 

Modified: trunk/Source/WebCore/html/track/VideoTrackList.idl (292853 => 292854)


--- trunk/Source/WebCore/html/track/VideoTrackList.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/html/track/VideoTrackList.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -32,7 +32,7 @@
 ] interface VideoTrackList : EventTarget {
     readonly attribute unsigned long length;
     getter VideoTrack item(unsigned long index);
-    VideoTrack getTrackById(DOMString id);
+    VideoTrack getTrackById([AtomString] DOMString id);
     readonly attribute long selectedIndex;
 
     attribute EventHandler onchange;

Modified: trunk/Source/WebCore/page/DOMWindow.idl (292853 => 292854)


--- trunk/Source/WebCore/page/DOMWindow.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/page/DOMWindow.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -73,7 +73,7 @@
     [DoNotCheckSecurityOnGetter, CustomSetter] attribute WindowProxy? opener;
     [Replaceable, DoNotCheckSecurityOnGetter] readonly attribute WindowProxy? parent;
     [CheckSecurityForNode] readonly attribute Element? frameElement;
-    [CallWith=ActiveWindow&FirstWindow] WindowProxy? open(optional USVString url = "" optional DOMString target = "_blank", optional [LegacyNullToEmptyString] DOMString features = "");
+    [CallWith=ActiveWindow&FirstWindow] WindowProxy? open(optional USVString url = "" optional [AtomString] DOMString target = "_blank", optional [LegacyNullToEmptyString] DOMString features = "");
 
     // the user agent
     readonly attribute Navigator navigator;

Modified: trunk/Source/WebCore/page/UserMessageHandlersNamespace.idl (292853 => 292854)


--- trunk/Source/WebCore/page/UserMessageHandlersNamespace.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/page/UserMessageHandlersNamespace.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -30,5 +30,5 @@
     Conditional=USER_MESSAGE_HANDLERS,
     Exposed=Window
 ] interface UserMessageHandlersNamespace {
-    [CallWith=World] getter UserMessageHandler (DOMString name);
+    [CallWith=World] getter UserMessageHandler ([AtomString] DOMString name);
 };

Modified: trunk/Source/WebCore/storage/StorageEvent.idl (292853 => 292854)


--- trunk/Source/WebCore/storage/StorageEvent.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/storage/StorageEvent.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -26,7 +26,7 @@
 [
     Exposed=Window
 ] interface StorageEvent : Event {
-    constructor(DOMString type, optional StorageEventInit eventInitDict);
+    constructor([AtomString] DOMString type, optional StorageEventInit eventInitDict);
 
     readonly attribute DOMString? key;
     readonly attribute DOMString? oldValue;
@@ -34,7 +34,7 @@
     readonly attribute USVString url;
     readonly attribute Storage? storageArea;
 
-    undefined initStorageEvent(DOMString typeArg,
+    undefined initStorageEvent([AtomString] DOMString typeArg,
                           optional boolean canBubbleArg = false,
                           optional boolean cancelableArg = false,
                           optional DOMString keyArg = "undefined",

Modified: trunk/Source/WebCore/svg/SVGAltGlyphElement.idl (292853 => 292854)


--- trunk/Source/WebCore/svg/SVGAltGlyphElement.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/svg/SVGAltGlyphElement.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -26,8 +26,8 @@
 [
     Exposed=Window
 ] interface SVGAltGlyphElement : SVGTextPositioningElement {
-    attribute DOMString glyphRef;
-    attribute DOMString format;
+    attribute [AtomString] DOMString glyphRef;
+    attribute [AtomString] DOMString format;
 };
 
 SVGAltGlyphElement includes SVGURIReference;

Modified: trunk/Source/WebCore/svg/SVGStyleElement.idl (292853 => 292854)


--- trunk/Source/WebCore/svg/SVGStyleElement.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/svg/SVGStyleElement.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -28,7 +28,7 @@
     Exposed=Window
 ] interface SVGStyleElement : SVGElement {
      attribute boolean disabled;
-     attribute DOMString type;
-     attribute DOMString media;
+     attribute [AtomString] DOMString type;
+     attribute [AtomString] DOMString media;
      [Reflect] attribute DOMString title;
 };

Modified: trunk/Source/WebCore/workers/service/ExtendableEvent.idl (292853 => 292854)


--- trunk/Source/WebCore/workers/service/ExtendableEvent.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/workers/service/ExtendableEvent.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -30,7 +30,7 @@
     ExportMacro=WEBCORE_EXPORT,
     JSGenerateToNativeObject,
 ] interface ExtendableEvent : Event {
-    constructor(DOMString type, optional ExtendableEventInit eventInitDict);
+    constructor([AtomString] DOMString type, optional ExtendableEventInit eventInitDict);
 
     undefined waitUntil(Promise<any> f);
 };

Modified: trunk/Source/WebCore/workers/service/ExtendableMessageEvent.idl (292853 => 292854)


--- trunk/Source/WebCore/workers/service/ExtendableMessageEvent.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/workers/service/ExtendableMessageEvent.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -29,7 +29,7 @@
     Exposed=ServiceWorker,
     JSGenerateToJSObject,
 ] interface ExtendableMessageEvent : ExtendableEvent {
-    [Custom] constructor(DOMString type, optional ExtendableMessageEventInit eventInitDict);
+    [Custom] constructor([AtomString] DOMString type, optional ExtendableMessageEventInit eventInitDict);
 
     [CachedAttribute, CustomGetter] readonly attribute any data;
     readonly attribute USVString origin;

Modified: trunk/Source/WebCore/workers/service/FetchEvent.idl (292853 => 292854)


--- trunk/Source/WebCore/workers/service/FetchEvent.idl	2022-04-14 02:34:36 UTC (rev 292853)
+++ trunk/Source/WebCore/workers/service/FetchEvent.idl	2022-04-14 03:55:10 UTC (rev 292854)
@@ -31,7 +31,7 @@
     Exposed=ServiceWorker,
     JSGenerateToNativeObject
 ] interface FetchEvent : ExtendableEvent {
-    [CallWith=CurrentGlobalObject] constructor(DOMString type, FetchEventInit eventInitDict);
+    [CallWith=CurrentGlobalObject] constructor([AtomString] DOMString type, FetchEventInit eventInitDict);
     [SameObject] readonly attribute FetchRequest request;
     [CallWith=CurrentScriptExecutionContext, EnabledBySetting=ServiceWorkerNavigationPreloadEnabled] readonly attribute Promise<any> preloadResponse;
     readonly attribute DOMString clientId;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to