WebKit Bugzilla
Attachment 345839 Details for
Bug 187851
: Add CEReactions=NotNeeded for reactions only needed for customized builtins
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-187851-20180726141346.patch (text/plain), 85.71 KB, created by
Frédéric Wang (:fredw)
on 2018-07-26 05:13:49 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Frédéric Wang (:fredw)
Created:
2018-07-26 05:13:49 PDT
Size:
85.71 KB
patch
obsolete
>Subversion Revision: 234252 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 03935da6a37b9dd240f596b47a0652f0375ca3a8..d73cd8097822d8cf8463bc2dfd1df133ed59f853 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,101 @@ >+2018-07-26 Frederic Wang <fwang@igalia.com> >+ >+ Add CEReactions=NotNeeded for reactions only needed for customized builtins >+ https://bugs.webkit.org/show_bug.cgi?id=187851 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ This patch adds missing CEReactions in idl rules. Some of them were omitted on purpose since >+ they are only relevant for customized builtins. We use CEReactions=NotNeeded for these cases, >+ so that the code can assert no custom element reactions actually happen. CodeGeneratorJS.pm >+ is refactored a bit to share the code handling CEReactions. >+ >+ Test: Source/WebCore/bindings/scripts/test/TestCEReactions.idl >+ >+ * bindings/scripts/CodeGeneratorJS.pm: >+ (GeneratePut): Use InsertCustomElementReactionStackIfNeeded. >+ (GeneratePutByIndex): Ditto. >+ (GenerateDefineOwnProperty): Ditto. >+ (GenerateDeletePropertyCommon): Ditto. >+ (GenerateAttributeSetterBodyDefinition): Ditto. >+ (GenerateOperationBodyDefinition): Ditto. >+ (InsertCustomElementReactionStack): New helper function to insert a CustomElementReactionStack >+ object and add the necessary headers. This also parses CEReactions=NotNeeded. >+ An assert ensures consistent values of the CEReactions extended attributes, in case it comes >+ from different operators. >+ (InsertCustomElementReactionStackIfNeeded): Same helper function that can try several >+ variables with the CEReactions attribute. >+ * bindings/scripts/test/TestCEReactions.idl: Add a test for CEReactions=NotNeeded >+ * bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp: Update reference due to spacing >+ change. >+ * bindings/scripts/test/JS/JSTestCEReactions.cpp: Ditto and also add expectation for >+ the new CEReactions=NotNeeded test. >+ * dom/CustomElementReactionQueue.h: Introduce CustomElementReactionStackWithReactionsForbidden >+ which is a CustomElementReactionStack that expects no reactions. >+ * dom/CustomElementReactionQueue.cpp: Fix typo. >+ * html/HTMLAnchorElement.idl: Add missing CEReactions. >+ * html/HTMLAreaElement.idl: Ditto. >+ * html/HTMLBRElement.idl: Ditto. >+ * html/HTMLBaseElement.idl: Ditto. >+ * html/HTMLBodyElement.idl: Ditto. >+ * html/HTMLButtonElement.idl: Ditto. >+ * html/HTMLCanvasElement.idl: Ditto. >+ * html/HTMLDListElement.idl: Ditto. >+ * html/HTMLDataElement.idl: Ditto. >+ * html/HTMLDetailsElement.idl: Ditto. >+ * html/HTMLDirectoryElement.idl: Ditto. >+ * html/HTMLDivElement.idl: Ditto. >+ * html/HTMLElement.idl: Ditto. >+ * html/HTMLEmbedElement.idl: Ditto. >+ * html/HTMLFieldSetElement.idl: Ditto. >+ * html/HTMLFontElement.idl: Ditto. >+ * html/HTMLFormElement.idl: Ditto. >+ * html/HTMLFrameElement.idl: Ditto. >+ * html/HTMLFrameSetElement.idl: Ditto. >+ * html/HTMLHRElement.idl: Ditto. >+ * html/HTMLHeadingElement.idl: Ditto. >+ * html/HTMLHtmlElement.idl: Ditto. >+ * html/HTMLHyperlinkElementUtils.idl: Ditto. >+ * html/HTMLIFrameElement.idl: Ditto. >+ * html/HTMLImageElement.idl: Ditto. >+ * html/HTMLInputElement.idl: Ditto. >+ * html/HTMLLIElement.idl: Ditto. >+ * html/HTMLLabelElement.idl: Ditto. >+ * html/HTMLLegendElement.idl: Ditto. >+ * html/HTMLLinkElement.idl: Ditto. >+ * html/HTMLMapElement.idl: Ditto. >+ * html/HTMLMarqueeElement.idl: Ditto. >+ * html/HTMLMediaElement.idl: Ditto. >+ * html/HTMLMenuElement.idl: Ditto. >+ * html/HTMLMetaElement.idl: Ditto. >+ * html/HTMLMeterElement.idl: Ditto. >+ * html/HTMLModElement.idl: Ditto. >+ * html/HTMLOListElement.idl: Ditto. >+ * html/HTMLObjectElement.idl: Ditto. >+ * html/HTMLOptGroupElement.idl: Ditto. >+ * html/HTMLOptionElement.idl: Ditto. >+ * html/HTMLOutputElement.idl: Ditto. >+ * html/HTMLParagraphElement.idl: Ditto. >+ * html/HTMLParamElement.idl: Ditto. >+ * html/HTMLPreElement.idl: Ditto. >+ * html/HTMLProgressElement.idl: Ditto. >+ * html/HTMLQuoteElement.idl: Ditto. >+ * html/HTMLScriptElement.idl: Ditto. >+ * html/HTMLSlotElement.idl: Ditto. >+ * html/HTMLSourceElement.idl: Ditto. >+ * html/HTMLStyleElement.idl: Ditto. >+ * html/HTMLTableCaptionElement.idl: Ditto. >+ * html/HTMLTableCellElement.idl: Ditto. >+ * html/HTMLTableColElement.idl: Ditto. >+ * html/HTMLTableElement.idl: Ditto. >+ * html/HTMLTableRowElement.idl: Ditto. >+ * html/HTMLTableSectionElement.idl: Ditto. >+ * html/HTMLTextAreaElement.idl: Ditto. >+ * html/HTMLTimeElement.idl: Ditto. >+ * html/HTMLTrackElement.idl: Ditto. >+ * html/HTMLUListElement.idl: Ditto. >+ * html/HTMLVideoElement.idl: Ditto. >+ > 2018-07-26 Antoine Quint <graouts@apple.com> > > [Web Animations] REGRESSION: transition added immediately after element creation doesn't work >diff --git a/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm b/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm >index d9d45831ee9110f55df4db88e944a4694748e567..9a8c38292e283a790d0e6b6f352e58fdb7f110ee 100644 >--- a/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm >+++ b/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm >@@ -931,10 +931,7 @@ sub GeneratePut > push(@$outputArray, " auto* thisObject = jsCast<${className}*>(cell);\n"); > push(@$outputArray, " ASSERT_GC_OBJECT_INHERITS(thisObject, info());\n\n"); > >- if (($namedSetterOperation && $namedSetterOperation->extendedAttributes->{CEReactions}) || ($indexedSetterOperation && $indexedSetterOperation->extendedAttributes->{CEReactions})) { >- push(@$outputArray, " CustomElementReactionStack customElementReactionStack;\n\n"); >- AddToImplIncludes("CustomElementReactionQueue.h"); >- } >+ InsertCustomElementReactionStackIfNeeded($outputArray, 0, " ", $namedSetterOperation, $indexedSetterOperation); > > if ($indexedSetterOperation) { > push(@$outputArray, " if (auto index = parseIndex(propertyName)) {\n"); >@@ -1003,10 +1000,7 @@ sub GeneratePutByIndex > push(@$outputArray, " auto* thisObject = jsCast<${className}*>(cell);\n"); > push(@$outputArray, " ASSERT_GC_OBJECT_INHERITS(thisObject, info());\n\n"); > >- if (($namedSetterOperation && $namedSetterOperation->extendedAttributes->{CEReactions}) || ($indexedSetterOperation && $indexedSetterOperation->extendedAttributes->{CEReactions})) { >- push(@$outputArray, " CustomElementReactionStack customElementReactionStack;\n\n"); >- AddToImplIncludes("CustomElementReactionQueue.h"); >- } >+ InsertCustomElementReactionStackIfNeeded($outputArray, 0, " ", $namedSetterOperation, $indexedSetterOperation); > > if ($indexedSetterOperation ) { > push(@$outputArray, " if (LIKELY(index <= MAX_ARRAY_INDEX)) {\n"); >@@ -1099,10 +1093,7 @@ sub GenerateDefineOwnProperty > push(@$outputArray, " auto* thisObject = jsCast<${className}*>(object);\n"); > push(@$outputArray, " ASSERT_GC_OBJECT_INHERITS(thisObject, info());\n\n"); > >- if (($namedSetterOperation && $namedSetterOperation->extendedAttributes->{CEReactions}) || ($indexedSetterOperation && $indexedSetterOperation->extendedAttributes->{CEReactions})) { >- push(@$outputArray, " CustomElementReactionStack customElementReactionStack;\n\n"); >- AddToImplIncludes("CustomElementReactionQueue.h"); >- } >+ InsertCustomElementReactionStackIfNeeded($outputArray, 0, " ", $namedSetterOperation, $indexedSetterOperation); > > # 1. If O supports indexed properties and P is an array index property name, then: > if (GetIndexedGetterOperation($interface)) { >@@ -1223,10 +1214,7 @@ sub GenerateDeletePropertyCommon > my $overrideBuiltin = $codeGenerator->InheritsExtendedAttribute($interface, "OverrideBuiltins") ? "OverrideBuiltins::Yes" : "OverrideBuiltins::No"; > push(@$outputArray, " if (isVisibleNamedProperty<${overrideBuiltin}>(*state, thisObject, propertyName)) {\n"); > >- if ($operation->extendedAttributes->{CEReactions}) { >- push(@$outputArray, " CustomElementReactionStack customElementReactionStack;\n"); >- AddToImplIncludes("CustomElementReactionQueue.h", $conditional); >- } >+ InsertCustomElementReactionStackIfNeeded($outputArray, $conditional, " ", $operation); > > # 2.1. If O does not implement an interface with a named property deleter, then return false. > # 2.2. Let operation be the operation used to declare the named property deleter. >@@ -4843,10 +4831,7 @@ sub GenerateAttributeSetterBodyDefinition > push(@$outputArray, "{\n"); > push(@$outputArray, " UNUSED_PARAM(throwScope);\n"); > >- if ($attribute->extendedAttributes->{CEReactions}) { >- push(@$outputArray, " CustomElementReactionStack customElementReactionStack;\n"); >- AddToImplIncludes("CustomElementReactionQueue.h", $conditional); >- } >+ InsertCustomElementReactionStackIfNeeded($outputArray, $conditional, " ", $attribute); > > if ($interface->extendedAttributes->{CheckSecurity} && !$attribute->extendedAttributes->{DoNotCheckSecurity} && !$attribute->extendedAttributes->{DoNotCheckSecurityOnSetter}) { > AddToImplIncludes("JSDOMBindingSecurity.h", $conditional); >@@ -5068,10 +5053,7 @@ sub GenerateOperationBodyDefinition > push(@$outputArray, " UNUSED_PARAM(throwScope);\n"); > > if (!$generatingOverloadDispatcher) { >- if ($operation->extendedAttributes->{CEReactions}) { >- AddToImplIncludes("CustomElementReactionQueue.h", $conditional); >- push(@$outputArray, " CustomElementReactionStack customElementReactionStack;\n"); >- } >+ InsertCustomElementReactionStackIfNeeded($outputArray, $conditional, " ", $operation); > > if ($interface->extendedAttributes->{CheckSecurity} and !$operation->extendedAttributes->{DoNotCheckSecurity}) { > assert("Security checks are not supported for static operations.") if $operation->isStatic; >@@ -7212,6 +7194,38 @@ sub GenerateConstructorHelperMethods > push(@$outputArray, "template<> const ClassInfo ${constructorClassName}::s_info = { \"${visibleInterfaceName}\", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE($constructorClassName) };\n\n"); > } > >+sub InsertCustomElementReactionStack >+{ >+ my ($outputArray, $conditional, $indent, $CEReaction) = @_; >+ >+ push(@$outputArray, "${indent}CustomElementReactionStack"); >+ if ($CEReaction eq "NotNeeded") { >+ push(@$outputArray, "WithReactionsForbidden"); >+ } >+ push(@$outputArray, " customElementReactionStack;\n\n"); >+ >+ AddToImplIncludes("CustomElementReactionQueue.h", $conditional); >+} >+ >+sub InsertCustomElementReactionStackIfNeeded >+{ >+ my $outputArray = shift; >+ my $conditional = shift; >+ my $indent = shift; >+ my $CEReactions; >+ foreach my $operator (@_) { >+ next unless $operator; >+ my $operatorCEReactions = $operator->extendedAttributes->{CEReactions}; >+ next unless $operatorCEReactions; >+ if (!$CEReactions) { >+ $CEReactions = $operatorCEReactions; >+ InsertCustomElementReactionStack($outputArray, $conditional, $indent, $CEReactions); >+ } else { >+ assert("Inconsistent CEReactions specified on an operator") unless $operatorCEReactions eq $CEReactions; >+ } >+ } >+} >+ > sub HasCustomConstructor > { > my $interface = shift; >diff --git a/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactions.cpp b/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactions.cpp >index 39281f1cc8b926baa74287ed94b95b31fc6b0d1e..b54ee21cfa6684881c7ac812bfc28b424a33f6bb 100644 >--- a/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactions.cpp >+++ b/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactions.cpp >@@ -56,6 +56,8 @@ JSC::EncodedJSValue jsTestCEReactionsReflectAttributeWithCEReactions(JSC::ExecSt > bool setJSTestCEReactionsReflectAttributeWithCEReactions(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue); > JSC::EncodedJSValue jsTestCEReactionsStringifierAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName); > bool setJSTestCEReactionsStringifierAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue); >+JSC::EncodedJSValue jsTestCEReactionsAttributeWithCEReactionsNotNeeded(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName); >+bool setJSTestCEReactionsAttributeWithCEReactionsNotNeeded(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue); > > class JSTestCEReactionsPrototype : public JSC::JSNonFinalObject { > public: >@@ -107,6 +109,7 @@ static const HashTableValue JSTestCEReactionsPrototypeTableValues[] = > { "attributeWithCEReactions", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestCEReactionsAttributeWithCEReactions), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestCEReactionsAttributeWithCEReactions) } }, > { "reflectAttributeWithCEReactions", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestCEReactionsReflectAttributeWithCEReactions), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestCEReactionsReflectAttributeWithCEReactions) } }, > { "stringifierAttribute", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestCEReactionsStringifierAttribute), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestCEReactionsStringifierAttribute) } }, >+ { "attributeWithCEReactionsNotNeeded", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestCEReactionsAttributeWithCEReactionsNotNeeded), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestCEReactionsAttributeWithCEReactionsNotNeeded) } }, > { "methodWithCEReactions", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsTestCEReactionsPrototypeFunctionMethodWithCEReactions), (intptr_t) (0) } }, > }; > >@@ -204,6 +207,7 @@ static inline bool setJSTestCEReactionsAttributeWithCEReactionsSetter(ExecState& > { > UNUSED_PARAM(throwScope); > CustomElementReactionStack customElementReactionStack; >+ > auto& impl = thisObject.wrapped(); > auto nativeValue = convert<IDLDOMString>(state, value); > RETURN_IF_EXCEPTION(throwScope, false); >@@ -236,6 +240,7 @@ static inline bool setJSTestCEReactionsReflectAttributeWithCEReactionsSetter(Exe > { > UNUSED_PARAM(throwScope); > CustomElementReactionStack customElementReactionStack; >+ > auto& impl = thisObject.wrapped(); > auto nativeValue = convert<IDLDOMString>(state, value); > RETURN_IF_EXCEPTION(throwScope, false); >@@ -286,11 +291,45 @@ bool setJSTestCEReactionsStringifierAttribute(ExecState* state, EncodedJSValue t > return IDLAttribute<JSTestCEReactions>::set<setJSTestCEReactionsStringifierAttributeSetter>(*state, thisValue, encodedValue, "stringifierAttribute"); > } > >+static inline JSValue jsTestCEReactionsAttributeWithCEReactionsNotNeededGetter(ExecState& state, JSTestCEReactions& thisObject, ThrowScope& throwScope) >+{ >+ UNUSED_PARAM(throwScope); >+ UNUSED_PARAM(state); >+ auto& impl = thisObject.wrapped(); >+ JSValue result = toJS<IDLDOMString>(state, throwScope, impl.attributeWithCEReactionsNotNeeded()); >+ return result; >+} >+ >+EncodedJSValue jsTestCEReactionsAttributeWithCEReactionsNotNeeded(ExecState* state, EncodedJSValue thisValue, PropertyName) >+{ >+ return IDLAttribute<JSTestCEReactions>::get<jsTestCEReactionsAttributeWithCEReactionsNotNeededGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "attributeWithCEReactionsNotNeeded"); >+} >+ >+static inline bool setJSTestCEReactionsAttributeWithCEReactionsNotNeededSetter(ExecState& state, JSTestCEReactions& thisObject, JSValue value, ThrowScope& throwScope) >+{ >+ UNUSED_PARAM(throwScope); >+ CustomElementReactionStackWithReactionsForbidden customElementReactionStack; >+ >+ auto& impl = thisObject.wrapped(); >+ auto nativeValue = convert<IDLDOMString>(state, value); >+ RETURN_IF_EXCEPTION(throwScope, false); >+ AttributeSetter::call(state, throwScope, [&] { >+ return impl.setAttributeWithCEReactionsNotNeeded(WTFMove(nativeValue)); >+ }); >+ return true; >+} >+ >+bool setJSTestCEReactionsAttributeWithCEReactionsNotNeeded(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue) >+{ >+ return IDLAttribute<JSTestCEReactions>::set<setJSTestCEReactionsAttributeWithCEReactionsNotNeededSetter>(*state, thisValue, encodedValue, "attributeWithCEReactionsNotNeeded"); >+} >+ > static inline JSC::EncodedJSValue jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsBody(JSC::ExecState* state, typename IDLOperation<JSTestCEReactions>::ClassParameter castedThis, JSC::ThrowScope& throwScope) > { > UNUSED_PARAM(state); > UNUSED_PARAM(throwScope); > CustomElementReactionStack customElementReactionStack; >+ > auto& impl = castedThis->wrapped(); > impl.methodWithCEReactions(); > return JSValue::encode(jsUndefined()); >diff --git a/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp b/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp >index d7f167967bd6dbae6605167703c8b5ef10097e31..81edc51eb35bd3f67de9a85131fd2c9040ee2dc3 100644 >--- a/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp >+++ b/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp >@@ -194,6 +194,7 @@ static inline bool setJSTestCEReactionsStringifierValueSetter(ExecState& state, > { > UNUSED_PARAM(throwScope); > CustomElementReactionStack customElementReactionStack; >+ > auto& impl = thisObject.wrapped(); > auto nativeValue = convert<IDLDOMString>(state, value); > RETURN_IF_EXCEPTION(throwScope, false); >diff --git a/Source/WebCore/bindings/scripts/test/TestCEReactions.idl b/Source/WebCore/bindings/scripts/test/TestCEReactions.idl >index fff73d5a9cb1b47edf3741a7643239036ed7f21b..60119c70add4684fc727fad5d34b259335075d64 100644 >--- a/Source/WebCore/bindings/scripts/test/TestCEReactions.idl >+++ b/Source/WebCore/bindings/scripts/test/TestCEReactions.idl >@@ -32,5 +32,6 @@ interface TestCEReactions { > [CEReactions, Reflect] attribute DOMString reflectAttributeWithCEReactions; > > [PutForwards=value] attribute TestCEReactionsStringifier stringifierAttribute; >+ [CEReactions=NotNeeded] attribute DOMString attributeWithCEReactionsNotNeeded; > }; > >diff --git a/Source/WebCore/dom/CustomElementReactionQueue.cpp b/Source/WebCore/dom/CustomElementReactionQueue.cpp >index 572b3e0fe53fc23f997fd1c0c7637d101418a46c..2c3ea3d88994f8b215f7de98d0707c73a4fbaac7 100644 >--- a/Source/WebCore/dom/CustomElementReactionQueue.cpp >+++ b/Source/WebCore/dom/CustomElementReactionQueue.cpp >@@ -242,7 +242,7 @@ CustomElementReactionQueue& CustomElementReactionStack::ensureCurrentQueue(Eleme > } > > auto*& queue = s_currentProcessingStack->m_queue; >- if (!queue) // We use a raw pointer to avoid genearing code to delete it in ~CustomElementReactionStack. >+ if (!queue) // We use a raw pointer to avoid generating code to delete it in ~CustomElementReactionStack. > queue = new ElementQueue; > queue->add(element); > return *element.reactionQueue(); >diff --git a/Source/WebCore/dom/CustomElementReactionQueue.h b/Source/WebCore/dom/CustomElementReactionQueue.h >index 0c9123dc2e216dca3c835b61544d944ee981781f..9b3715faa0faa7f80d5c42701aab54e4c2c15e92 100644 >--- a/Source/WebCore/dom/CustomElementReactionQueue.h >+++ b/Source/WebCore/dom/CustomElementReactionQueue.h >@@ -70,7 +70,7 @@ public: > > ~CustomElementReactionStack() > { >- if (UNLIKELY(m_queue)) >+ if (UNLIKELY(hasQueue())) > processQueue(); > s_currentProcessingStack = m_previousProcessingStack; > } >@@ -81,6 +81,9 @@ public: > > static void processBackupQueue(); > >+protected: >+ bool hasQueue() { return m_queue; } >+ > private: > class ElementQueue { > public: >@@ -103,4 +106,16 @@ private: > WEBCORE_EXPORT static CustomElementReactionStack* s_currentProcessingStack; > }; > >+class CustomElementReactionStackWithReactionsForbidden : public CustomElementReactionStack { >+public: >+ CustomElementReactionStackWithReactionsForbidden() >+ { >+ } >+ >+ ~CustomElementReactionStackWithReactionsForbidden() >+ { >+ ASSERT(!hasQueue()); >+ } >+}; >+ > } >diff --git a/Source/WebCore/html/HTMLAnchorElement.idl b/Source/WebCore/html/HTMLAnchorElement.idl >index 7486d032c62256f2bb9f665ae11a40d0f40e629d..b7f59462150ca7dacf7aae5e26c4d39df0f19634 100644 >--- a/Source/WebCore/html/HTMLAnchorElement.idl >+++ b/Source/WebCore/html/HTMLAnchorElement.idl >@@ -19,17 +19,17 @@ > */ > > interface HTMLAnchorElement : HTMLElement { >- [Reflect] attribute DOMString charset; >- [Reflect] attribute DOMString coords; >- [Conditional=DOWNLOAD_ATTRIBUTE, EnabledAtRuntime=DownloadAttribute, Reflect] attribute DOMString download; >- [Reflect] attribute DOMString hreflang; >- [Reflect] attribute DOMString name; >- [Reflect] attribute USVString ping; >- [Reflect] attribute DOMString rel; >- [Reflect] attribute DOMString rev; >- [Reflect] attribute DOMString shape; >- [Reflect] attribute DOMString target; >- [Reflect] attribute DOMString type; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString charset; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString coords; >+ [CEReactions=NotNeeded, Conditional=DOWNLOAD_ATTRIBUTE, EnabledAtRuntime=DownloadAttribute, Reflect] attribute DOMString download; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString hreflang; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString name; >+ [CEReactions=NotNeeded, Reflect] attribute USVString ping; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString rel; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString rev; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString shape; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString target; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString type; > > [CEReactions] attribute DOMString text; > >diff --git a/Source/WebCore/html/HTMLAreaElement.idl b/Source/WebCore/html/HTMLAreaElement.idl >index 1598583a3234e66e352a8e356dd0c7514ea6b105..c1bc6e696434e9ef5f4c524ca3a485a7b0801de3 100644 >--- a/Source/WebCore/html/HTMLAreaElement.idl >+++ b/Source/WebCore/html/HTMLAreaElement.idl >@@ -19,15 +19,15 @@ > */ > > interface HTMLAreaElement : HTMLElement { >- [Reflect] attribute DOMString alt; >- [Reflect] attribute DOMString coords; >- [Reflect] attribute boolean noHref; >- [Reflect] attribute USVString ping; >- [Reflect] attribute DOMString rel; >- [Reflect] attribute DOMString shape; >- [Reflect] attribute DOMString target; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString alt; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString coords; >+ [CEReactions=NotNeeded, Reflect] attribute boolean noHref; >+ [CEReactions=NotNeeded, Reflect] attribute USVString ping; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString rel; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString shape; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString target; > >- [Conditional=DOWNLOAD_ATTRIBUTE, EnabledAtRuntime=DownloadAttribute, Reflect] attribute DOMString download; >+ [CEReactions=NotNeeded, Conditional=DOWNLOAD_ATTRIBUTE, EnabledAtRuntime=DownloadAttribute, Reflect] attribute DOMString download; > > [PutForwards=value] readonly attribute DOMTokenList relList; > }; >diff --git a/Source/WebCore/html/HTMLBRElement.idl b/Source/WebCore/html/HTMLBRElement.idl >index c909dc1c86699dfc358920bc6a5e30390085354d..d7b7777cda001b0606dd15b33cbb291206446e4f 100644 >--- a/Source/WebCore/html/HTMLBRElement.idl >+++ b/Source/WebCore/html/HTMLBRElement.idl >@@ -18,6 +18,6 @@ > */ > > interface HTMLBRElement : HTMLElement { >- [Reflect] attribute DOMString clear; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString clear; > }; > >diff --git a/Source/WebCore/html/HTMLBaseElement.idl b/Source/WebCore/html/HTMLBaseElement.idl >index 1167d64791709c3c352c04e93fd345ea2d0c94eb..4b2371b1ad02567edc52a5db04c9467dd249824f 100644 >--- a/Source/WebCore/html/HTMLBaseElement.idl >+++ b/Source/WebCore/html/HTMLBaseElement.idl >@@ -18,7 +18,7 @@ > */ > > interface HTMLBaseElement : HTMLElement { >- attribute USVString href; >+ [CEReactions=NotNeeded] attribute USVString href; > >- [Reflect] attribute DOMString target; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString target; > }; >diff --git a/Source/WebCore/html/HTMLBodyElement.idl b/Source/WebCore/html/HTMLBodyElement.idl >index 6eef87bb1a5d8fb08f811cf3e7dd5cda22c520aa..4185d9666b64bc0949e8971279eb6028f71e64c4 100644 >--- a/Source/WebCore/html/HTMLBodyElement.idl >+++ b/Source/WebCore/html/HTMLBodyElement.idl >@@ -19,12 +19,12 @@ > */ > > interface HTMLBodyElement : HTMLElement { >- [Reflect] attribute [TreatNullAs=EmptyString] DOMString aLink; >- [Reflect] attribute DOMString background; >- [Reflect] attribute [TreatNullAs=EmptyString] DOMString bgColor; >- [Reflect] attribute [TreatNullAs=EmptyString] DOMString link; >- [Reflect] attribute [TreatNullAs=EmptyString] DOMString text; >- [Reflect] attribute [TreatNullAs=EmptyString] DOMString vLink; >+ [CEReactions=NotNeeded, Reflect] attribute [TreatNullAs=EmptyString] DOMString aLink; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString background; >+ [CEReactions=NotNeeded, Reflect] attribute [TreatNullAs=EmptyString] DOMString bgColor; >+ [CEReactions=NotNeeded, Reflect] attribute [TreatNullAs=EmptyString] DOMString link; >+ [CEReactions=NotNeeded, Reflect] attribute [TreatNullAs=EmptyString] DOMString text; >+ [CEReactions=NotNeeded, Reflect] attribute [TreatNullAs=EmptyString] DOMString vLink; > > [NotEnumerable, WindowEventHandler] attribute EventHandler onblur; > [NotEnumerable, WindowEventHandler] attribute EventHandler onerror; >diff --git a/Source/WebCore/html/HTMLButtonElement.idl b/Source/WebCore/html/HTMLButtonElement.idl >index 09c8d9bbfcbdcb84d9fc30cd613d94937d1e1dc1..b6338e83fdb2d86bac68c5acdd8c49b6189d6bf0 100644 >--- a/Source/WebCore/html/HTMLButtonElement.idl >+++ b/Source/WebCore/html/HTMLButtonElement.idl >@@ -19,19 +19,19 @@ > */ > > interface HTMLButtonElement : HTMLElement { >- [Reflect] attribute boolean autofocus; >- [Reflect] attribute boolean disabled; >+ [CEReactions=NotNeeded, Reflect] attribute boolean autofocus; >+ [CEReactions=NotNeeded, Reflect] attribute boolean disabled; > readonly attribute HTMLFormElement form; >- attribute USVString formAction; >+ [CEReactions=NotNeeded] attribute USVString formAction; > >- attribute DOMString formEnctype; >- attribute DOMString formMethod; >- attribute DOMString type; >+ [CEReactions=NotNeeded] attribute DOMString formEnctype; >+ [CEReactions=NotNeeded] attribute DOMString formMethod; >+ [CEReactions=NotNeeded] attribute DOMString type; > >- [Reflect] attribute boolean formNoValidate; >- [Reflect] attribute DOMString formTarget; >- [Reflect] attribute DOMString name; >- [Reflect] attribute DOMString value; >+ [CEReactions=NotNeeded, Reflect] attribute boolean formNoValidate; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString formTarget; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString name; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString value; > > readonly attribute boolean willValidate; > readonly attribute ValidityState validity; >diff --git a/Source/WebCore/html/HTMLCanvasElement.idl b/Source/WebCore/html/HTMLCanvasElement.idl >index 6157ea16f5d188f18cefc137b5dc326c2f935553..f6902936931bfbbbf2f00d8b7d8a4f33ec761cba 100644 >--- a/Source/WebCore/html/HTMLCanvasElement.idl >+++ b/Source/WebCore/html/HTMLCanvasElement.idl >@@ -42,8 +42,8 @@ typedef ( > ReportExtraMemoryCost, > ReportExternalMemoryCost, > ] interface HTMLCanvasElement : HTMLElement { >- attribute unsigned long width; >- attribute unsigned long height; >+ [CEReactions=NotNeeded] attribute unsigned long width; >+ [CEReactions=NotNeeded] attribute unsigned long height; > > [CallWith=ScriptState, MayThrowException] RenderingContext? getContext(DOMString contextId, any... arguments); > >diff --git a/Source/WebCore/html/HTMLDListElement.idl b/Source/WebCore/html/HTMLDListElement.idl >index 95a97ffacad47c829eea37bedde88db90a5dcba8..db368b33020ad2d3d37aa05acc83c5117953a507 100644 >--- a/Source/WebCore/html/HTMLDListElement.idl >+++ b/Source/WebCore/html/HTMLDListElement.idl >@@ -18,6 +18,6 @@ > */ > > interface HTMLDListElement : HTMLElement { >- [Reflect] attribute boolean compact; >+ [CEReactions=NotNeeded, Reflect] attribute boolean compact; > }; > >diff --git a/Source/WebCore/html/HTMLDataElement.idl b/Source/WebCore/html/HTMLDataElement.idl >index 52ef9fd5f99372faf33b9438fde1412528eab081..7ce5d091bcaf5ad1dff2703b70fc322c078359a5 100644 >--- a/Source/WebCore/html/HTMLDataElement.idl >+++ b/Source/WebCore/html/HTMLDataElement.idl >@@ -24,5 +24,5 @@ > */ > > interface HTMLDataElement : HTMLElement { >- [Reflect] attribute DOMString value; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString value; > }; >diff --git a/Source/WebCore/html/HTMLDetailsElement.idl b/Source/WebCore/html/HTMLDetailsElement.idl >index 8909fc84eaa6d0c075562dee5d4c8f24cea527e8..e4c64079bca06f749fbd95f8e9f1f7d374142e02 100644 >--- a/Source/WebCore/html/HTMLDetailsElement.idl >+++ b/Source/WebCore/html/HTMLDetailsElement.idl >@@ -18,6 +18,6 @@ > */ > > interface HTMLDetailsElement : HTMLElement { >- [Reflect] attribute boolean open; >+ [CEReactions=NotNeeded, Reflect] attribute boolean open; > }; > >diff --git a/Source/WebCore/html/HTMLDirectoryElement.idl b/Source/WebCore/html/HTMLDirectoryElement.idl >index 541ae007f4f7ac83a24588230c777e14586eb29b..a5c92b2ff37d3b2602eb00edee20e6dd355e45d0 100644 >--- a/Source/WebCore/html/HTMLDirectoryElement.idl >+++ b/Source/WebCore/html/HTMLDirectoryElement.idl >@@ -18,6 +18,6 @@ > */ > > interface HTMLDirectoryElement : HTMLElement { >- [Reflect] attribute boolean compact; >+ [CEReactions=NotNeeded, Reflect] attribute boolean compact; > }; > >diff --git a/Source/WebCore/html/HTMLDivElement.idl b/Source/WebCore/html/HTMLDivElement.idl >index 40c8db44436e4d996ea94abf049131aeb132d3f1..13b50d8c771a56412d9e6d90ff06d1c8678c9816 100644 >--- a/Source/WebCore/html/HTMLDivElement.idl >+++ b/Source/WebCore/html/HTMLDivElement.idl >@@ -18,6 +18,6 @@ > */ > > interface HTMLDivElement : HTMLElement { >- [Reflect] attribute DOMString align; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString align; > }; > >diff --git a/Source/WebCore/html/HTMLElement.idl b/Source/WebCore/html/HTMLElement.idl >index c94e9eb694ea7abb3f0164e8ee6c527525cbdcef..cf2e0564e862c92c9d705a0006f807122e21c0a1 100644 >--- a/Source/WebCore/html/HTMLElement.idl >+++ b/Source/WebCore/html/HTMLElement.idl >@@ -63,7 +63,7 @@ > > // iOS autocorrect / autocapitalization extensions. > [Conditional=IOS_AUTOCORRECT_AND_AUTOCAPITALIZE] attribute boolean autocorrect; >- [Conditional=IOS_AUTOCORRECT_AND_AUTOCAPITALIZE] attribute [TreatNullAs=EmptyString] DOMString autocapitalize; >+ [CEReactions, Conditional=IOS_AUTOCORRECT_AND_AUTOCAPITALIZE] attribute [TreatNullAs=EmptyString] DOMString autocapitalize; > > // FIXME: We are the only browser to support this now that Blink dropped it (http://crbug.com/688943). > [CEReactions, Reflect] attribute DOMString webkitdropzone; >diff --git a/Source/WebCore/html/HTMLEmbedElement.idl b/Source/WebCore/html/HTMLEmbedElement.idl >index d82b2c55055e617cd5791e0b973b4060dac58017..b5bdf234ee3aace28d36c16f9b72755f8e70625d 100644 >--- a/Source/WebCore/html/HTMLEmbedElement.idl >+++ b/Source/WebCore/html/HTMLEmbedElement.idl >@@ -21,12 +21,12 @@ > [ > Plugin > ] interface HTMLEmbedElement : HTMLElement { >- [Reflect] attribute DOMString align; >- [Reflect] attribute DOMString height; >- [Reflect] attribute DOMString name; >- [Reflect, URL] attribute USVString src; >- [Reflect] attribute DOMString type; >- [Reflect] attribute DOMString width; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString align; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString height; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString name; >+ [CEReactions=NotNeeded, Reflect, URL] attribute USVString src; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString type; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString width; > > [CheckSecurityForNode, MayThrowException] Document getSVGDocument(); > }; >diff --git a/Source/WebCore/html/HTMLFieldSetElement.idl b/Source/WebCore/html/HTMLFieldSetElement.idl >index e2ebc85c1f7c599fe3309c9fea6ada0d834afa20..ba814d5ae77a4077708a3358141dda0718e259f4 100644 >--- a/Source/WebCore/html/HTMLFieldSetElement.idl >+++ b/Source/WebCore/html/HTMLFieldSetElement.idl >@@ -18,9 +18,9 @@ > */ > > interface HTMLFieldSetElement : HTMLElement { >- [Reflect] attribute boolean disabled; >+ [CEReactions=NotNeeded, Reflect] attribute boolean disabled; > readonly attribute HTMLFormElement form; >- [Reflect] attribute DOMString name; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString name; > > readonly attribute DOMString type; > >diff --git a/Source/WebCore/html/HTMLFontElement.idl b/Source/WebCore/html/HTMLFontElement.idl >index bcfb6ffa4c186382ae31ea79bc3fb63c5b9bb97b..806bd5369c1352fe3f12b76f0a4eaa6a9de69a6a 100644 >--- a/Source/WebCore/html/HTMLFontElement.idl >+++ b/Source/WebCore/html/HTMLFontElement.idl >@@ -18,8 +18,8 @@ > */ > > interface HTMLFontElement : HTMLElement { >- [Reflect] attribute [TreatNullAs=EmptyString] DOMString color; >- [Reflect] attribute DOMString face; >- [Reflect] attribute DOMString size; >+ [CEReactions=NotNeeded, Reflect] attribute [TreatNullAs=EmptyString] DOMString color; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString face; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString size; > }; > >diff --git a/Source/WebCore/html/HTMLFormElement.idl b/Source/WebCore/html/HTMLFormElement.idl >index 16231ca6263b937a9eadab6106dab2c69f6f2fec..e5122bd03d5066cfe206d9d7051a37a15f4b1fdd 100644 >--- a/Source/WebCore/html/HTMLFormElement.idl >+++ b/Source/WebCore/html/HTMLFormElement.idl >@@ -23,15 +23,15 @@ > OverrideBuiltins, > JSGenerateToNativeObject, > ] interface HTMLFormElement : HTMLElement { >- [Reflect=accept_charset] attribute DOMString acceptCharset; >- [Reflect, URL] attribute USVString action; >- attribute DOMString autocomplete; >- attribute DOMString enctype; >- [ImplementedAs=enctype] attribute DOMString encoding; >- attribute DOMString method; >- [Reflect] attribute DOMString name; >- [Reflect] attribute boolean noValidate; >- [Reflect] attribute DOMString target; >+ [CEReactions=NotNeeded, Reflect=accept_charset] attribute DOMString acceptCharset; >+ [CEReactions=NotNeeded, Reflect, URL] attribute USVString action; >+ [CEReactions=NotNeeded] attribute DOMString autocomplete; >+ [CEReactions=NotNeeded] attribute DOMString enctype; >+ [CEReactions=NotNeeded, ImplementedAs=enctype] attribute DOMString encoding; >+ [CEReactions=NotNeeded] attribute DOMString method; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString name; >+ [CEReactions=NotNeeded, Reflect] attribute boolean noValidate; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString target; > > readonly attribute HTMLFormControlsCollection elements; > readonly attribute unsigned long length; >@@ -39,7 +39,7 @@ > getter (RadioNodeList or Element)? (DOMString name); > > [ImplementedAs=submitFromJavaScript] void submit(); >- void reset(); >+ [CEReactions=NotNeeded] void reset(); > boolean checkValidity(); > [EnabledAtRuntime=InteractiveFormValidation] boolean reportValidity(); > }; >diff --git a/Source/WebCore/html/HTMLFrameElement.idl b/Source/WebCore/html/HTMLFrameElement.idl >index ed7c0b6e277299b65ca218f21e18261e513dfc0c..14433c99fc5996e934af3df2ececbda38428066b 100644 >--- a/Source/WebCore/html/HTMLFrameElement.idl >+++ b/Source/WebCore/html/HTMLFrameElement.idl >@@ -19,22 +19,22 @@ > */ > > interface HTMLFrameElement : HTMLElement { >- [Reflect] attribute DOMString name; >- [Reflect] attribute DOMString scrolling; >- [Reflect, URL] attribute USVString src; >- [Reflect] attribute DOMString frameBorder; >- [Reflect, URL] attribute USVString longDesc; >- [Reflect] attribute boolean noResize; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString name; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString scrolling; >+ [CEReactions=NotNeeded, Reflect, URL] attribute USVString src; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString frameBorder; >+ [CEReactions=NotNeeded, Reflect, URL] attribute USVString longDesc; >+ [CEReactions=NotNeeded, Reflect] attribute boolean noResize; > [CheckSecurityForNode] readonly attribute Document contentDocument; > readonly attribute WindowProxy contentWindow; > >- [Reflect] attribute [TreatNullAs=EmptyString] DOMString marginHeight; >- [Reflect] attribute [TreatNullAs=EmptyString] DOMString marginWidth; >+ [CEReactions=NotNeeded, Reflect] attribute [TreatNullAs=EmptyString] DOMString marginHeight; >+ [CEReactions=NotNeeded, Reflect] attribute [TreatNullAs=EmptyString] DOMString marginWidth; > > [CheckSecurityForNode, MayThrowException] Document getSVGDocument(); > >- readonly attribute long width; >- readonly attribute long height; >+ [CEReactions=NotNeeded] readonly attribute long width; >+ [CEReactions=NotNeeded] readonly attribute long height; > > // FIXME: No other browser has this attribute. > [SetterCallWith=ScriptState] attribute DOMString? location; >diff --git a/Source/WebCore/html/HTMLFrameSetElement.idl b/Source/WebCore/html/HTMLFrameSetElement.idl >index 6942173e74409249c205b0b3c52629e2acc4694e..1d09736d06ac25890ae64ed23bae6cce4408075d 100644 >--- a/Source/WebCore/html/HTMLFrameSetElement.idl >+++ b/Source/WebCore/html/HTMLFrameSetElement.idl >@@ -19,8 +19,8 @@ > */ > > interface HTMLFrameSetElement : HTMLElement { >- [Reflect] attribute DOMString cols; >- [Reflect] attribute DOMString rows; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString cols; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString rows; > > [NotEnumerable, WindowEventHandler] attribute EventHandler onblur; > [NotEnumerable, WindowEventHandler] attribute EventHandler onerror; >diff --git a/Source/WebCore/html/HTMLHRElement.idl b/Source/WebCore/html/HTMLHRElement.idl >index 2a7ba6436f666810ce5c14b10dada8ad1b80ac05..098550e1c73d202e055774bc323ef4cb516ce232 100644 >--- a/Source/WebCore/html/HTMLHRElement.idl >+++ b/Source/WebCore/html/HTMLHRElement.idl >@@ -18,10 +18,10 @@ > */ > > interface HTMLHRElement : HTMLElement { >- [Reflect] attribute DOMString align; >- [Reflect] attribute DOMString color; >- [Reflect] attribute boolean noShade; >- [Reflect] attribute DOMString size; >- [Reflect] attribute DOMString width; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString align; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString color; >+ [CEReactions=NotNeeded, Reflect] attribute boolean noShade; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString size; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString width; > }; > >diff --git a/Source/WebCore/html/HTMLHeadingElement.idl b/Source/WebCore/html/HTMLHeadingElement.idl >index 288f439025c4f22be08391ddae8c33289fc5b697..14cfda051c7b90e08bf5cfd89ce55a5ab4fe3398 100644 >--- a/Source/WebCore/html/HTMLHeadingElement.idl >+++ b/Source/WebCore/html/HTMLHeadingElement.idl >@@ -18,6 +18,6 @@ > */ > > interface HTMLHeadingElement : HTMLElement { >- [Reflect] attribute DOMString align; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString align; > }; > >diff --git a/Source/WebCore/html/HTMLHtmlElement.idl b/Source/WebCore/html/HTMLHtmlElement.idl >index 430cdc6f805ef1d9fdf40b32c16717ea59ab404b..aefbb5cc7da2054ef71ee83b1721c03ac621e4da 100644 >--- a/Source/WebCore/html/HTMLHtmlElement.idl >+++ b/Source/WebCore/html/HTMLHtmlElement.idl >@@ -18,7 +18,7 @@ > */ > > interface HTMLHtmlElement : HTMLElement { >- [Reflect] attribute DOMString version; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString version; > [Reflect, URL] attribute DOMString manifest; > }; > >diff --git a/Source/WebCore/html/HTMLHyperlinkElementUtils.idl b/Source/WebCore/html/HTMLHyperlinkElementUtils.idl >index 838281ec1f436e62c770bea6a85718eb00da14d1..53b685d785ec0e0bb86cff5151596c68b62a01cb 100644 >--- a/Source/WebCore/html/HTMLHyperlinkElementUtils.idl >+++ b/Source/WebCore/html/HTMLHyperlinkElementUtils.idl >@@ -26,16 +26,16 @@ > [ > NoInterfaceObject > ] interface HTMLHyperlinkElementUtils { >- [Reflect, URL] stringifier attribute USVString href; >+ [CEReactions=NotNeeded, Reflect, URL] stringifier attribute USVString href; > readonly attribute USVString origin; > >- attribute USVString protocol; >- attribute USVString username; >- attribute USVString password; >- attribute USVString host; >- attribute USVString hostname; >- attribute USVString port; >- attribute USVString pathname; >- attribute USVString search; >- attribute USVString hash; >+ [CEReactions=NotNeeded] attribute USVString protocol; >+ [CEReactions=NotNeeded] attribute USVString username; >+ [CEReactions=NotNeeded] attribute USVString password; >+ [CEReactions=NotNeeded] attribute USVString host; >+ [CEReactions=NotNeeded] attribute USVString hostname; >+ [CEReactions=NotNeeded] attribute USVString port; >+ [CEReactions=NotNeeded] attribute USVString pathname; >+ [CEReactions=NotNeeded] attribute USVString search; >+ [CEReactions=NotNeeded] attribute USVString hash; > }; >diff --git a/Source/WebCore/html/HTMLIFrameElement.idl b/Source/WebCore/html/HTMLIFrameElement.idl >index c163922ee420e75c04dd128194b535f383c95d09..56dc17b02ad1e72d0cca9a99c8ebef551fa2dc83 100644 >--- a/Source/WebCore/html/HTMLIFrameElement.idl >+++ b/Source/WebCore/html/HTMLIFrameElement.idl >@@ -19,19 +19,19 @@ > */ > > interface HTMLIFrameElement : HTMLElement { >- [Reflect] attribute DOMString align; >- [Reflect] attribute DOMString frameBorder; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString align; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString frameBorder; > [Reflect] attribute DOMString height; >- [Reflect, URL] attribute USVString longDesc; >- [Reflect] attribute [TreatNullAs=EmptyString] DOMString marginHeight; >- [Reflect] attribute [TreatNullAs=EmptyString] DOMString marginWidth; >+ [CEReactions=NotNeeded, Reflect, URL] attribute USVString longDesc; >+ [CEReactions=NotNeeded, Reflect] attribute [TreatNullAs=EmptyString] DOMString marginHeight; >+ [CEReactions=NotNeeded, Reflect] attribute [TreatNullAs=EmptyString] DOMString marginWidth; > [Reflect] attribute DOMString name; > > [PutForwards=value] readonly attribute DOMTokenList sandbox; > [Reflect] attribute boolean allowFullscreen; > [CEReactions, Reflect] attribute DOMString allow; > >- [Reflect] attribute DOMString scrolling; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString scrolling; > [Reflect, URL] attribute USVString src; > [Reflect] attribute DOMString srcdoc; > [Reflect] attribute DOMString width; >diff --git a/Source/WebCore/html/HTMLImageElement.idl b/Source/WebCore/html/HTMLImageElement.idl >index af72d3bc9a2791dbee4ff976d926373261ebb9b7..f4fc13197129445338b99f2dfe326eee56749e1d 100644 >--- a/Source/WebCore/html/HTMLImageElement.idl >+++ b/Source/WebCore/html/HTMLImageElement.idl >@@ -24,27 +24,27 @@ > ConstructorCallWith=Document, > NamedConstructor=Image(optional unsigned long width, optional unsigned long height) > ] interface HTMLImageElement : HTMLElement { >- [Reflect] attribute DOMString name; >- [Reflect] attribute DOMString align; >- [Reflect] attribute DOMString alt; >- [Reflect] attribute [TreatNullAs=EmptyString] DOMString border; >- attribute DOMString? crossOrigin; >- attribute unsigned long height; >- [Reflect] attribute unsigned long hspace; >- [Reflect] attribute boolean isMap; >- [Reflect, URL] attribute USVString longDesc; >- [Reflect, URL] attribute USVString src; >- [Reflect] attribute USVString srcset; >- [Reflect] attribute DOMString sizes; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString name; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString align; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString alt; >+ [CEReactions=NotNeeded, Reflect] attribute [TreatNullAs=EmptyString] DOMString border; >+ [CEReactions=NotNeeded] attribute DOMString? crossOrigin; >+ [CEReactions=NotNeeded] attribute unsigned long height; >+ [CEReactions=NotNeeded, Reflect] attribute unsigned long hspace; >+ [CEReactions=NotNeeded, Reflect] attribute boolean isMap; >+ [CEReactions=NotNeeded, Reflect, URL] attribute USVString longDesc; >+ [CEReactions=NotNeeded, Reflect, URL] attribute USVString src; >+ [CEReactions=NotNeeded, Reflect] attribute USVString srcset; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString sizes; > readonly attribute USVString currentSrc; >- [Reflect] attribute DOMString useMap; >- [Reflect] attribute unsigned long vspace; >- attribute unsigned long width; >- [Reflect] attribute DOMString decoding; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString useMap; >+ [CEReactions=NotNeeded, Reflect] attribute unsigned long vspace; >+ [CEReactions=NotNeeded] attribute unsigned long width; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString decoding; > > // Extensions > readonly attribute boolean complete; >- [Reflect,URL] attribute USVString lowsrc; >+ [CEReactions=NotNeeded, Reflect,URL] attribute USVString lowsrc; > readonly attribute long naturalHeight; > readonly attribute long naturalWidth; > readonly attribute long x; >diff --git a/Source/WebCore/html/HTMLInputElement.idl b/Source/WebCore/html/HTMLInputElement.idl >index e9658294f101badd4b744105e1d1d2dd6e29a150..dbcb9e7d3ef2f9f3501f574cc494bc55ad638187 100644 >--- a/Source/WebCore/html/HTMLInputElement.idl >+++ b/Source/WebCore/html/HTMLInputElement.idl >@@ -23,50 +23,50 @@ > ExportMacro=WEBCORE_EXPORT, > JSGenerateToNativeObject, > ] interface HTMLInputElement : HTMLElement { >- [Reflect] attribute DOMString accept; >- [Reflect] attribute DOMString alt; >- attribute DOMString autocomplete; >- [Reflect] attribute boolean autofocus; >- [Reflect=checked] attribute boolean defaultChecked; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString accept; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString alt; >+ [CEReactions=NotNeeded] attribute DOMString autocomplete; >+ [CEReactions=NotNeeded, Reflect] attribute boolean autofocus; >+ [CEReactions=NotNeeded, Reflect=checked] attribute boolean defaultChecked; > attribute boolean checked; >- [Reflect] attribute DOMString dirName; >- [Reflect] attribute boolean disabled; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString dirName; >+ [CEReactions=NotNeeded, Reflect] attribute boolean disabled; > readonly attribute HTMLFormElement form; > attribute FileList? files; >- attribute USVString formAction; >+ [CEReactions=NotNeeded] attribute USVString formAction; > >- attribute DOMString formEnctype; >- attribute DOMString formMethod; >+ [CEReactions=NotNeeded] attribute DOMString formEnctype; >+ [CEReactions=NotNeeded] attribute DOMString formMethod; > >- [Reflect] attribute boolean formNoValidate; >- [Reflect] attribute DOMString formTarget; >- attribute unsigned long height; >+ [CEReactions=NotNeeded, Reflect] attribute boolean formNoValidate; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString formTarget; >+ [CEReactions=NotNeeded] attribute unsigned long height; > attribute boolean indeterminate; > [Conditional=DATALIST_ELEMENT] readonly attribute HTMLElement list; >- [Reflect] attribute DOMString max; >- attribute long minLength; >- attribute long maxLength; >- [Reflect] attribute DOMString min; >- [Reflect] attribute boolean multiple; >- [Reflect] attribute DOMString name; >- [Reflect] attribute DOMString pattern; >- [Reflect] attribute DOMString placeholder; >- [Reflect] attribute boolean readOnly; >- [Reflect] attribute boolean required; >- attribute unsigned long size; >- [Reflect, URL] attribute USVString src; >- [Reflect] attribute DOMString step; >- attribute DOMString type; // readonly dropped as part of DOM level 2 >- attribute DOMString defaultValue; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString max; >+ [CEReactions=NotNeeded] attribute long minLength; >+ [CEReactions=NotNeeded] attribute long maxLength; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString min; >+ [CEReactions=NotNeeded, Reflect] attribute boolean multiple; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString name; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString pattern; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString placeholder; >+ [CEReactions=NotNeeded, Reflect] attribute boolean readOnly; >+ [CEReactions=NotNeeded, Reflect] attribute boolean required; >+ [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 DOMString defaultValue; > // See the discussion in https://bugs.webkit.org/show_bug.cgi?id=100085 >- attribute [TreatNullAs=EmptyString] DOMString value; >+ [CEReactions=NotNeeded] attribute [TreatNullAs=EmptyString] DOMString value; > attribute Date? valueAsDate; > attribute unrestricted double valueAsNumber; > > [MayThrowException] void stepUp(optional long n = 1); > [MayThrowException] void stepDown(optional long n = 1); > >- attribute unsigned long width; >+ [CEReactions=NotNeeded] attribute unsigned long width; > readonly attribute boolean willValidate; > readonly attribute ValidityState validity; > readonly attribute DOMString validationMessage; >@@ -86,10 +86,10 @@ > > [ImplementedAs=setSelectionRangeForBindings, MayThrowException] void setSelectionRange(long start, long end, optional DOMString direction); > >- [Reflect] attribute DOMString align; >- [Reflect] attribute DOMString useMap; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString align; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString useMap; > [Reflect] attribute boolean incremental; > > // See http://www.w3.org/TR/html-media-capture/ >- [Conditional=MEDIA_CAPTURE, Reflect] attribute DOMString capture; >+ [CEReactions=NotNeeded, Conditional=MEDIA_CAPTURE, Reflect] attribute DOMString capture; > }; >diff --git a/Source/WebCore/html/HTMLLIElement.idl b/Source/WebCore/html/HTMLLIElement.idl >index ba3eaaebd1ad3dbc384e357836e99dcd14438842..3bc26df8baf65a73e89fcc56112cf6702d6220ad 100644 >--- a/Source/WebCore/html/HTMLLIElement.idl >+++ b/Source/WebCore/html/HTMLLIElement.idl >@@ -18,7 +18,7 @@ > */ > > interface HTMLLIElement : HTMLElement { >- [Reflect] attribute DOMString type; >- [Reflect] attribute long value; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString type; >+ [CEReactions=NotNeeded, Reflect] attribute long value; > }; > >diff --git a/Source/WebCore/html/HTMLLabelElement.idl b/Source/WebCore/html/HTMLLabelElement.idl >index fa37360b775f73c6f7867785075cde64473ffe3e..71106a9ff7c260c82036756b52fdc6a302b2af66 100644 >--- a/Source/WebCore/html/HTMLLabelElement.idl >+++ b/Source/WebCore/html/HTMLLabelElement.idl >@@ -20,7 +20,7 @@ > > interface HTMLLabelElement : HTMLElement { > readonly attribute HTMLFormElement form; >- [Reflect=for] attribute DOMString htmlFor; >+ [CEReactions=NotNeeded, Reflect=for] attribute DOMString htmlFor; > readonly attribute HTMLElement control; > }; > >diff --git a/Source/WebCore/html/HTMLLegendElement.idl b/Source/WebCore/html/HTMLLegendElement.idl >index e8e88719a2fe1cc8fdb598402f20d3be8c0f5b1c..c0f44b0135e3244612ad247c3a32d715d818389a 100644 >--- a/Source/WebCore/html/HTMLLegendElement.idl >+++ b/Source/WebCore/html/HTMLLegendElement.idl >@@ -20,6 +20,6 @@ > > interface HTMLLegendElement : HTMLElement { > readonly attribute HTMLFormElement form; >- [Reflect] attribute DOMString align; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString align; > }; > >diff --git a/Source/WebCore/html/HTMLLinkElement.idl b/Source/WebCore/html/HTMLLinkElement.idl >index f6d113d274fa31789426fe3a89c11f6ad51cd1de..8c5c6eed9dc3cc4d9e946b002b16748249787b9d 100644 >--- a/Source/WebCore/html/HTMLLinkElement.idl >+++ b/Source/WebCore/html/HTMLLinkElement.idl >@@ -24,17 +24,17 @@ > JSGenerateToNativeObject, > ] interface HTMLLinkElement : HTMLElement { > [Reflect] attribute boolean disabled; >- [Reflect] attribute DOMString charset; >- [Reflect, URL] attribute USVString href; >- [Reflect] attribute DOMString hreflang; >- [Reflect] attribute DOMString media; >- [Reflect] attribute DOMString rel; >- [Reflect] attribute DOMString rev; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString charset; >+ [CEReactions=NotNeeded, Reflect, URL] attribute USVString href; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString hreflang; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString media; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString rel; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString rev; > [PutForwards=value] readonly attribute DOMTokenList sizes; >- [Reflect] attribute DOMString target; >- [Reflect] attribute DOMString type; >- attribute DOMString as; >- attribute DOMString? crossOrigin; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString target; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString type; >+ [CEReactions=NotNeeded] attribute DOMString as; >+ [CEReactions=NotNeeded] attribute DOMString? crossOrigin; > > // DOM Level 2 Style > readonly attribute StyleSheet sheet; >@@ -42,6 +42,6 @@ > [PutForwards=value] readonly attribute DOMTokenList relList; > > [Reflect] attribute DOMString nonce; >- [Reflect, EnabledBySetting=SubresourceIntegrity] attribute DOMString integrity; >+ [CEReactions=NotNeeded, Reflect, EnabledBySetting=SubresourceIntegrity] attribute DOMString integrity; > }; > >diff --git a/Source/WebCore/html/HTMLMapElement.idl b/Source/WebCore/html/HTMLMapElement.idl >index 01dcae007c8b3f13ec5c313558aafe97f855d782..1c5fd81610d09d9053ada09fef76e2da1d3cb996 100644 >--- a/Source/WebCore/html/HTMLMapElement.idl >+++ b/Source/WebCore/html/HTMLMapElement.idl >@@ -20,6 +20,6 @@ > > interface HTMLMapElement : HTMLElement { > readonly attribute HTMLCollection areas; >- [Reflect] attribute DOMString name; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString name; > }; > >diff --git a/Source/WebCore/html/HTMLMarqueeElement.idl b/Source/WebCore/html/HTMLMarqueeElement.idl >index a480d0fece34a8adb7e2f68a9e766ddc3a04b608..f8ff1c23c366be4942b11b33da086ddf833441a9 100644 >--- a/Source/WebCore/html/HTMLMarqueeElement.idl >+++ b/Source/WebCore/html/HTMLMarqueeElement.idl >@@ -21,17 +21,17 @@ interface HTMLMarqueeElement : HTMLElement { > void start(); > void stop(); > >- [Reflect] attribute DOMString behavior; >- [Reflect] attribute DOMString bgColor; >- [Reflect] attribute DOMString direction; >- [Reflect] attribute DOMString height; >- [Reflect] attribute unsigned long hspace; >- attribute long loop; >- attribute unsigned long scrollAmount; >- attribute unsigned long scrollDelay; >- [Reflect] attribute boolean trueSpeed; >- [Reflect] attribute unsigned long vspace; >- [Reflect] attribute DOMString width; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString behavior; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString bgColor; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString direction; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString height; >+ [CEReactions=NotNeeded, Reflect] attribute unsigned long hspace; >+ [CEReactions=NotNeeded] attribute long loop; >+ [CEReactions=NotNeeded] attribute unsigned long scrollAmount; >+ [CEReactions=NotNeeded] attribute unsigned long scrollDelay; >+ [CEReactions=NotNeeded, Reflect] attribute boolean trueSpeed; >+ [CEReactions=NotNeeded, Reflect] attribute unsigned long vspace; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString width; > > // FIXME: Implement the following event handler attributes > // https://bugs.webkit.org/show_bug.cgi?id=49788 >diff --git a/Source/WebCore/html/HTMLMediaElement.idl b/Source/WebCore/html/HTMLMediaElement.idl >index 3ef613839ddf58228999e3e8b54d873004e2b04f..ab75cdf6b452cf8c49a55ba6b070ab925c1bffff 100644 >--- a/Source/WebCore/html/HTMLMediaElement.idl >+++ b/Source/WebCore/html/HTMLMediaElement.idl >@@ -44,17 +44,17 @@ typedef ( > readonly attribute MediaError error; > > // network state >- [Reflect, URL] attribute USVString src; >+ [CEReactions=NotNeeded, Reflect, URL] attribute USVString src; > attribute MediaProvider? srcObject; > [URL] readonly attribute USVString currentSrc; >- attribute DOMString? crossOrigin; >+ [CEReactions=NotNeeded] attribute DOMString? crossOrigin; > > const unsigned short NETWORK_EMPTY = 0; > const unsigned short NETWORK_IDLE = 1; > const unsigned short NETWORK_LOADING = 2; > const unsigned short NETWORK_NO_SOURCE = 3; > readonly attribute unsigned short networkState; >- attribute DOMString preload; >+ [CEReactions=NotNeeded] attribute DOMString preload; > > readonly attribute TimeRanges buffered; > void load(); >@@ -80,17 +80,17 @@ typedef ( > readonly attribute TimeRanges played; > readonly attribute TimeRanges seekable; > readonly attribute boolean ended; >- [Reflect] attribute boolean autoplay; >- [Reflect] attribute boolean loop; >+ [CEReactions=NotNeeded, Reflect] attribute boolean autoplay; >+ [CEReactions=NotNeeded, Reflect] attribute boolean loop; > Promise<void> play(); > void pause(); > void fastSeek(unrestricted double time); > > // controls >- attribute boolean controls; >+ [CEReactions=NotNeeded] attribute boolean controls; > attribute double volume; > attribute boolean muted; >- [Reflect=muted] attribute boolean defaultMuted; >+ [CEReactions=NotNeeded, Reflect=muted] attribute boolean defaultMuted; > > // WebKit extensions > attribute boolean webkitPreservesPitch; >diff --git a/Source/WebCore/html/HTMLMenuElement.idl b/Source/WebCore/html/HTMLMenuElement.idl >index ea756fcaeacb7f1108b87b376c29cb9302705cea..859bb2754c76120a6e6fd530970a84e83d1759a5 100644 >--- a/Source/WebCore/html/HTMLMenuElement.idl >+++ b/Source/WebCore/html/HTMLMenuElement.idl >@@ -18,6 +18,6 @@ > */ > > interface HTMLMenuElement : HTMLElement { >- [Reflect] attribute boolean compact; >+ [CEReactions=NotNeeded, Reflect] attribute boolean compact; > }; > >diff --git a/Source/WebCore/html/HTMLMetaElement.idl b/Source/WebCore/html/HTMLMetaElement.idl >index 4f7e9cd00e165bda2eca2c3e30f9677264b6539f..a3e5e94236deb28589cfc8c69a2188d4211d54fb 100644 >--- a/Source/WebCore/html/HTMLMetaElement.idl >+++ b/Source/WebCore/html/HTMLMetaElement.idl >@@ -18,9 +18,9 @@ > */ > > interface HTMLMetaElement : HTMLElement { >- [Reflect] attribute DOMString content; >- [Reflect=http_equiv] attribute DOMString httpEquiv; >- [Reflect] attribute DOMString name; >- [Reflect] attribute DOMString scheme; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString content; >+ [CEReactions=NotNeeded, Reflect=http_equiv] attribute DOMString httpEquiv; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString name; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString scheme; > }; > >diff --git a/Source/WebCore/html/HTMLMeterElement.idl b/Source/WebCore/html/HTMLMeterElement.idl >index 0463b833b67191d2a66b93de648582118b0835ae..61a6a05b125bd512def9a946b01a619dd48893fe 100644 >--- a/Source/WebCore/html/HTMLMeterElement.idl >+++ b/Source/WebCore/html/HTMLMeterElement.idl >@@ -20,11 +20,11 @@ > [ > Conditional=METER_ELEMENT > ] interface HTMLMeterElement : HTMLElement { >- attribute double value; >- attribute double min; >- attribute double max; >- attribute double low; >- attribute double high; >- attribute double optimum; >+ [CEReactions=NotNeeded] attribute double value; >+ [CEReactions=NotNeeded] attribute double min; >+ [CEReactions=NotNeeded] attribute double max; >+ [CEReactions=NotNeeded] attribute double low; >+ [CEReactions=NotNeeded] attribute double high; >+ [CEReactions=NotNeeded] attribute double optimum; > readonly attribute NodeList labels; > }; >diff --git a/Source/WebCore/html/HTMLModElement.idl b/Source/WebCore/html/HTMLModElement.idl >index 82c1405694cfb5e25b666c2eb53198ffe2cda3be..b0766c38f8e8b34a8c621dc28a659e2a7bbd182e 100644 >--- a/Source/WebCore/html/HTMLModElement.idl >+++ b/Source/WebCore/html/HTMLModElement.idl >@@ -18,7 +18,7 @@ > */ > > interface HTMLModElement : HTMLElement { >- [Reflect, URL] attribute USVString cite; >- [Reflect] attribute DOMString dateTime; >+ [CEReactions=NotNeeded, Reflect, URL] attribute USVString cite; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString dateTime; > }; > >diff --git a/Source/WebCore/html/HTMLOListElement.idl b/Source/WebCore/html/HTMLOListElement.idl >index a4bfe83fce90a9142732e0ac1a213224cb2d2eed..dab5fe8aedaab94673daaed714625d1de49f0524 100644 >--- a/Source/WebCore/html/HTMLOListElement.idl >+++ b/Source/WebCore/html/HTMLOListElement.idl >@@ -18,9 +18,9 @@ > */ > > interface HTMLOListElement : HTMLElement { >- [Reflect] attribute boolean compact; >- [ImplementedAs=startForBindings] attribute long start; >- [Reflect] attribute boolean reversed; >- [Reflect] attribute DOMString type; >+ [CEReactions=NotNeeded, Reflect] attribute boolean compact; >+ [CEReactions=NotNeeded, ImplementedAs=startForBindings] attribute long start; >+ [CEReactions=NotNeeded, Reflect] attribute boolean reversed; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString type; > }; > >diff --git a/Source/WebCore/html/HTMLObjectElement.idl b/Source/WebCore/html/HTMLObjectElement.idl >index 588f70537db30462415e1732acc413e26f65dbaa..016d9aac319b23b014628fcf2049ee93992feb3a 100644 >--- a/Source/WebCore/html/HTMLObjectElement.idl >+++ b/Source/WebCore/html/HTMLObjectElement.idl >@@ -22,22 +22,22 @@ > Plugin > ] interface HTMLObjectElement : HTMLElement { > readonly attribute HTMLFormElement form; >- [Reflect] attribute DOMString code; >- [Reflect] attribute DOMString align; >- [Reflect] attribute DOMString archive; >- [Reflect] attribute [TreatNullAs=EmptyString] DOMString border; >- [Reflect, URL] attribute USVString codeBase; >- [Reflect] attribute DOMString codeType; >- [Reflect, URL] attribute USVString data; >- [Reflect] attribute boolean declare; >- [Reflect] attribute DOMString height; >- [Reflect] attribute unsigned long hspace; >- [Reflect] attribute DOMString name; >- [Reflect] attribute DOMString standby; >- [Reflect] attribute DOMString type; >- [Reflect] attribute DOMString useMap; >- [Reflect] attribute unsigned long vspace; >- [Reflect] attribute DOMString width; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString code; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString align; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString archive; >+ [CEReactions=NotNeeded, Reflect] attribute [TreatNullAs=EmptyString] DOMString border; >+ [CEReactions=NotNeeded, Reflect, URL] attribute USVString codeBase; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString codeType; >+ [CEReactions=NotNeeded, Reflect, URL] attribute USVString data; >+ [CEReactions=NotNeeded, Reflect] attribute boolean declare; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString height; >+ [CEReactions=NotNeeded, Reflect] attribute unsigned long hspace; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString name; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString standby; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString type; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString useMap; >+ [CEReactions=NotNeeded, Reflect] attribute unsigned long vspace; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString width; > readonly attribute boolean willValidate; > readonly attribute ValidityState validity; > readonly attribute DOMString validationMessage; >diff --git a/Source/WebCore/html/HTMLOptGroupElement.idl b/Source/WebCore/html/HTMLOptGroupElement.idl >index 1b53640f45603f352cc5db5adb070c4f0c9003a8..6dca0a2459aba0b49689a09beb44f9cb0a0d9850 100644 >--- a/Source/WebCore/html/HTMLOptGroupElement.idl >+++ b/Source/WebCore/html/HTMLOptGroupElement.idl >@@ -20,7 +20,7 @@ > [ > JSGenerateToNativeObject, > ] interface HTMLOptGroupElement : HTMLElement { >- [Reflect] attribute boolean disabled; >- [Reflect] attribute DOMString label; >+ [CEReactions=NotNeeded, Reflect] attribute boolean disabled; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString label; > }; > >diff --git a/Source/WebCore/html/HTMLOptionElement.idl b/Source/WebCore/html/HTMLOptionElement.idl >index 3c6691f8435806288c4b9f3485ebc53473456ecd..223928ae256862474ba4f54f18b903744d71cd9f 100644 >--- a/Source/WebCore/html/HTMLOptionElement.idl >+++ b/Source/WebCore/html/HTMLOptionElement.idl >@@ -24,13 +24,13 @@ > ConstructorCallWith=Document, > NamedConstructor=Option(optional DOMString text = "", optional DOMString value, optional boolean defaultSelected = false, optional boolean selected = false), > ] interface HTMLOptionElement : HTMLElement { >- [Reflect] attribute boolean disabled; >+ [CEReactions=NotNeeded, Reflect] attribute boolean disabled; > readonly attribute HTMLFormElement form; >- attribute DOMString label; >- [Reflect=selected] attribute boolean defaultSelected; >+ [CEReactions=NotNeeded] attribute DOMString label; >+ [CEReactions=NotNeeded, Reflect=selected] attribute boolean defaultSelected; > attribute boolean selected; >- attribute DOMString value; >+ [CEReactions=NotNeeded] attribute DOMString value; > >- [CEReactions] attribute DOMString text; >+ [CEReactions=NotNeeded, CEReactions] attribute DOMString text; > readonly attribute long index; > }; >diff --git a/Source/WebCore/html/HTMLOutputElement.idl b/Source/WebCore/html/HTMLOutputElement.idl >index c8f47da902aeb44db6002acefe1f4fcf2f68a226..bd5dc94a37489e8863348d9273883ee61bcc941b 100644 >--- a/Source/WebCore/html/HTMLOutputElement.idl >+++ b/Source/WebCore/html/HTMLOutputElement.idl >@@ -26,7 +26,7 @@ interface HTMLOutputElement : HTMLElement { > [PutForwards=value] readonly attribute DOMTokenList htmlFor; > > readonly attribute HTMLFormElement form; >- [Reflect] attribute DOMString name; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString name; > > readonly attribute DOMString type; > [CEReactions] attribute [TreatNullAs=EmptyString] DOMString defaultValue; >diff --git a/Source/WebCore/html/HTMLParagraphElement.idl b/Source/WebCore/html/HTMLParagraphElement.idl >index e6bd9e8bdd33fb89a1830572443fdfeb2fc4945e..31783078910b959ca1215b90c4527b52fc1963ae 100644 >--- a/Source/WebCore/html/HTMLParagraphElement.idl >+++ b/Source/WebCore/html/HTMLParagraphElement.idl >@@ -18,6 +18,6 @@ > */ > > interface HTMLParagraphElement : HTMLElement { >- [Reflect] attribute DOMString align; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString align; > }; > >diff --git a/Source/WebCore/html/HTMLParamElement.idl b/Source/WebCore/html/HTMLParamElement.idl >index fea259445eaa2f9cfb5a8deaff64cd71259436fb..256d09ba88b7cdbc9288f4e1d2876fb108466fce 100644 >--- a/Source/WebCore/html/HTMLParamElement.idl >+++ b/Source/WebCore/html/HTMLParamElement.idl >@@ -18,9 +18,9 @@ > */ > > interface HTMLParamElement : HTMLElement { >- [Reflect] attribute DOMString name; >- [Reflect] attribute DOMString type; >- [Reflect] attribute DOMString value; >- [Reflect] attribute DOMString valueType; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString name; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString type; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString value; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString valueType; > }; > >diff --git a/Source/WebCore/html/HTMLPreElement.idl b/Source/WebCore/html/HTMLPreElement.idl >index 807248c0c4b5573c302216ab6133f4f2331cd292..1ecc50a8f9af8e61afe267e75739d287e6c5e033 100644 >--- a/Source/WebCore/html/HTMLPreElement.idl >+++ b/Source/WebCore/html/HTMLPreElement.idl >@@ -21,7 +21,7 @@ > interface HTMLPreElement : HTMLElement { > // FIXME: DOM spec says that width should be of type DOMString > // see http://bugs.webkit.org/show_bug.cgi?id=8992 >- [Reflect] attribute long width; >+ [CEReactions=NotNeeded, Reflect] attribute long width; > > // Extensions > [Reflect] attribute boolean wrap; >diff --git a/Source/WebCore/html/HTMLProgressElement.idl b/Source/WebCore/html/HTMLProgressElement.idl >index b1cb05c8872d8669e52b8ebe89817c333925c900..e8f67eea0c2ceb6faded7e2fcb72d81f2f99215d 100644 >--- a/Source/WebCore/html/HTMLProgressElement.idl >+++ b/Source/WebCore/html/HTMLProgressElement.idl >@@ -18,8 +18,8 @@ > */ > > interface HTMLProgressElement : HTMLElement { >- attribute double value; >- attribute double max; >+ [CEReactions=NotNeeded] attribute double value; >+ [CEReactions=NotNeeded] attribute double max; > readonly attribute double position; > readonly attribute NodeList labels; > }; >diff --git a/Source/WebCore/html/HTMLQuoteElement.idl b/Source/WebCore/html/HTMLQuoteElement.idl >index 5eb406f29fdda60fa41616f68253cba0878e9ab6..fcbfd6e7b080f352cf849c0dffe7ac2635aef8b9 100644 >--- a/Source/WebCore/html/HTMLQuoteElement.idl >+++ b/Source/WebCore/html/HTMLQuoteElement.idl >@@ -18,5 +18,5 @@ > */ > > interface HTMLQuoteElement : HTMLElement { >- [Reflect, URL] attribute USVString cite; >+ [CEReactions=NotNeeded, Reflect, URL] attribute USVString cite; > }; >diff --git a/Source/WebCore/html/HTMLScriptElement.idl b/Source/WebCore/html/HTMLScriptElement.idl >index 261c4eba232320bc3d857b92b6f0972ebd705adb..cb9e6b14e39eec153c3bc72aafb237555f3562a4 100644 >--- a/Source/WebCore/html/HTMLScriptElement.idl >+++ b/Source/WebCore/html/HTMLScriptElement.idl >@@ -18,17 +18,17 @@ > */ > > interface HTMLScriptElement : HTMLElement { >- attribute DOMString text; >+ [CEReactions=NotNeeded] attribute DOMString text; > >- [Reflect=for] attribute DOMString htmlFor; >- [Reflect] attribute DOMString event; >- [Reflect] attribute DOMString charset; >- attribute boolean async; >- [Reflect] attribute boolean defer; >- [Reflect, URL] attribute USVString src; >- [Reflect] attribute DOMString type; >- attribute DOMString? crossOrigin; >+ [CEReactions=NotNeeded, Reflect=for] attribute DOMString htmlFor; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString event; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString charset; >+ [CEReactions=NotNeeded] attribute boolean async; >+ [CEReactions=NotNeeded, Reflect] attribute boolean defer; >+ [CEReactions=NotNeeded, Reflect, URL] attribute USVString src; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString type; >+ [CEReactions=NotNeeded] attribute DOMString? crossOrigin; > [Reflect] attribute DOMString nonce; >- [Reflect] attribute boolean noModule; >- [Reflect, EnabledBySetting=SubresourceIntegrity] attribute DOMString integrity; >+ [CEReactions=NotNeeded, Reflect] attribute boolean noModule; >+ [CEReactions=NotNeeded, Reflect, EnabledBySetting=SubresourceIntegrity] attribute DOMString integrity; > }; >diff --git a/Source/WebCore/html/HTMLSlotElement.idl b/Source/WebCore/html/HTMLSlotElement.idl >index 600c5beb5c2b43e075ee8692fb1fac22e31ba830..c3802a89e640c8137fb3c1a7a4a2f2d7471d17fb 100644 >--- a/Source/WebCore/html/HTMLSlotElement.idl >+++ b/Source/WebCore/html/HTMLSlotElement.idl >@@ -27,7 +27,7 @@ > EnabledAtRuntime=ShadowDOM, > JSGenerateToNativeObject > ] interface HTMLSlotElement : HTMLElement { >- [Reflect] attribute DOMString name; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString name; > sequence<Node> assignedNodes(optional AssignedNodesOptions options); > }; > >diff --git a/Source/WebCore/html/HTMLSourceElement.idl b/Source/WebCore/html/HTMLSourceElement.idl >index 3d9296e69a1047f76c76305d3967b2d7596f8eae..ac63882553b0be822c94115450f760001d525496 100644 >--- a/Source/WebCore/html/HTMLSourceElement.idl >+++ b/Source/WebCore/html/HTMLSourceElement.idl >@@ -24,9 +24,9 @@ > */ > > interface HTMLSourceElement : HTMLElement { >- [Reflect, URL] attribute USVString src; >- [Reflect] attribute DOMString type; >- [Reflect] attribute USVString srcset; >- [Reflect] attribute DOMString sizes; >- [Reflect] attribute DOMString media; >+ [CEReactions=NotNeeded, Reflect, URL] attribute USVString src; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString type; >+ [CEReactions=NotNeeded, Reflect] attribute USVString srcset; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString sizes; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString media; > }; >diff --git a/Source/WebCore/html/HTMLStyleElement.idl b/Source/WebCore/html/HTMLStyleElement.idl >index fd3f7c0d33f846e47e043667604a884eec000ba4..67c4b58a81499815a24ded8783fee77e3269442b 100644 >--- a/Source/WebCore/html/HTMLStyleElement.idl >+++ b/Source/WebCore/html/HTMLStyleElement.idl >@@ -20,8 +20,8 @@ > > interface HTMLStyleElement : HTMLElement { > attribute boolean disabled; >- [Reflect] attribute DOMString media; >- [Reflect] attribute DOMString type; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString media; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString type; > > // DOM Level 2 Style > readonly attribute StyleSheet sheet; >diff --git a/Source/WebCore/html/HTMLTableCaptionElement.idl b/Source/WebCore/html/HTMLTableCaptionElement.idl >index d9b3aa548f42ff8b509581146009851f6eb52bbe..77f10c2a2ea8e3fb8f5a05f8cc0812c79a48f12d 100644 >--- a/Source/WebCore/html/HTMLTableCaptionElement.idl >+++ b/Source/WebCore/html/HTMLTableCaptionElement.idl >@@ -21,6 +21,6 @@ > [ > JSGenerateToNativeObject > ] interface HTMLTableCaptionElement : HTMLElement { >- [Reflect] attribute DOMString align; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString align; > }; > >diff --git a/Source/WebCore/html/HTMLTableCellElement.idl b/Source/WebCore/html/HTMLTableCellElement.idl >index a730916bd92863d778ed4f4df1c6dcdc2279db3b..1c4652c159a5b0f256f4c528fd7325f80ff67040 100644 >--- a/Source/WebCore/html/HTMLTableCellElement.idl >+++ b/Source/WebCore/html/HTMLTableCellElement.idl >@@ -20,23 +20,23 @@ > > interface HTMLTableCellElement : HTMLElement { > readonly attribute long cellIndex; >- [Reflect] attribute DOMString align; >- [Reflect] attribute DOMString axis; >- [Reflect] attribute [TreatNullAs=EmptyString] DOMString bgColor; >- [Reflect=char] attribute DOMString ch; >- [Reflect=charoff] attribute DOMString chOff; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString align; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString axis; >+ [CEReactions=NotNeeded, Reflect] attribute [TreatNullAs=EmptyString] DOMString bgColor; >+ [CEReactions=NotNeeded, Reflect=char] attribute DOMString ch; >+ [CEReactions=NotNeeded, Reflect=charoff] attribute DOMString chOff; > >- attribute unsigned long colSpan; >- [ImplementedAs=rowSpanForBindings] attribute unsigned long rowSpan; >+ [CEReactions=NotNeeded] attribute unsigned long colSpan; >+ [CEReactions=NotNeeded, ImplementedAs=rowSpanForBindings] attribute unsigned long rowSpan; > >- [Reflect] attribute DOMString headers; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString headers; > >- [Reflect] attribute DOMString height; >- [Reflect] attribute boolean noWrap; >- [Reflect] attribute DOMString vAlign; >- [Reflect] attribute DOMString width; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString height; >+ [CEReactions=NotNeeded, Reflect] attribute boolean noWrap; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString vAlign; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString width; > >- [Reflect] attribute DOMString abbr; >- attribute DOMString scope; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString abbr; >+ [CEReactions=NotNeeded] attribute DOMString scope; > }; > >diff --git a/Source/WebCore/html/HTMLTableColElement.idl b/Source/WebCore/html/HTMLTableColElement.idl >index 03c00d99877667bb31ec7b3be2338934fd3274f9..b49c9521695ac583ec87d740b25500dd8e24aebc 100644 >--- a/Source/WebCore/html/HTMLTableColElement.idl >+++ b/Source/WebCore/html/HTMLTableColElement.idl >@@ -19,10 +19,10 @@ > */ > > interface HTMLTableColElement : HTMLElement { >- [Reflect] attribute DOMString align; >- [Reflect=char] attribute DOMString ch; >- [Reflect=charoff] attribute DOMString chOff; >- attribute unsigned long span; >- [Reflect] attribute DOMString vAlign; >- [Reflect] attribute DOMString width; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString align; >+ [CEReactions=NotNeeded, Reflect=char] attribute DOMString ch; >+ [CEReactions=NotNeeded, Reflect=charoff] attribute DOMString chOff; >+ [CEReactions=NotNeeded] attribute unsigned long span; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString vAlign; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString width; > }; >diff --git a/Source/WebCore/html/HTMLTableElement.idl b/Source/WebCore/html/HTMLTableElement.idl >index faaa6720da5dd192ec5ea73146d8c7eb77a89e14..35725aa9a02df74e3064e931f0faea16fbba76e3 100644 >--- a/Source/WebCore/html/HTMLTableElement.idl >+++ b/Source/WebCore/html/HTMLTableElement.idl >@@ -25,17 +25,17 @@ interface HTMLTableElement : HTMLElement { > > readonly attribute HTMLCollection rows; > readonly attribute HTMLCollection tBodies; >- [Reflect] attribute DOMString align; >- [Reflect] attribute [TreatNullAs=EmptyString] DOMString bgColor; >- [Reflect] attribute DOMString border; >- [Reflect] attribute [TreatNullAs=EmptyString] DOMString cellPadding; >- [Reflect] attribute [TreatNullAs=EmptyString] DOMString cellSpacing; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString align; >+ [CEReactions=NotNeeded, Reflect] attribute [TreatNullAs=EmptyString] DOMString bgColor; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString border; >+ [CEReactions=NotNeeded, Reflect] attribute [TreatNullAs=EmptyString] DOMString cellPadding; >+ [CEReactions=NotNeeded, Reflect] attribute [TreatNullAs=EmptyString] DOMString cellSpacing; > >- [Reflect] attribute DOMString frame; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString frame; > >- [Reflect] attribute DOMString rules; >- [Reflect] attribute DOMString summary; >- [Reflect] attribute DOMString width; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString rules; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString summary; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString width; > > HTMLElement createTHead(); > [CEReactions] void deleteTHead(); >diff --git a/Source/WebCore/html/HTMLTableRowElement.idl b/Source/WebCore/html/HTMLTableRowElement.idl >index 655f84975956e261e12747c9e9f524286929438d..5a08feef072c2779eff7a2f65970deacc634aed1 100644 >--- a/Source/WebCore/html/HTMLTableRowElement.idl >+++ b/Source/WebCore/html/HTMLTableRowElement.idl >@@ -22,11 +22,11 @@ interface HTMLTableRowElement : HTMLElement { > readonly attribute long rowIndex; > readonly attribute long sectionRowIndex; > readonly attribute HTMLCollection cells; >- [Reflect] attribute DOMString align; >- [Reflect] attribute [TreatNullAs=EmptyString] DOMString bgColor; >- [Reflect=char] attribute DOMString ch; >- [Reflect=charoff] attribute DOMString chOff; >- [Reflect] attribute DOMString vAlign; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString align; >+ [CEReactions=NotNeeded, Reflect] attribute [TreatNullAs=EmptyString] DOMString bgColor; >+ [CEReactions=NotNeeded, Reflect=char] attribute DOMString ch; >+ [CEReactions=NotNeeded, Reflect=charoff] attribute DOMString chOff; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString vAlign; > [MayThrowException] HTMLElement insertCell(optional long index = -1); > [CEReactions, MayThrowException] void deleteCell(long index); > }; >diff --git a/Source/WebCore/html/HTMLTableSectionElement.idl b/Source/WebCore/html/HTMLTableSectionElement.idl >index 7b3cea82431c410af381c3b0c1f0a07dd08cb6c1..a3592b1c8c7df26f280b13a930afdf471a844301 100644 >--- a/Source/WebCore/html/HTMLTableSectionElement.idl >+++ b/Source/WebCore/html/HTMLTableSectionElement.idl >@@ -21,10 +21,10 @@ > [ > JSGenerateToNativeObject, > ] interface HTMLTableSectionElement : HTMLElement { >- [Reflect] attribute DOMString align; >- [Reflect=char] attribute DOMString ch; >- [Reflect=charoff] attribute DOMString chOff; >- [Reflect] attribute DOMString vAlign; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString align; >+ [CEReactions=NotNeeded, Reflect=char] attribute DOMString ch; >+ [CEReactions=NotNeeded, Reflect=charoff] attribute DOMString chOff; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString vAlign; > readonly attribute HTMLCollection rows; > [MayThrowException] HTMLElement insertRow(optional long index = -1); > [CEReactions, MayThrowException] void deleteRow(long index); >diff --git a/Source/WebCore/html/HTMLTextAreaElement.idl b/Source/WebCore/html/HTMLTextAreaElement.idl >index b8540165275e1cd3774583a4b7c7a67d81b22b93..64c81fb0e93fea0401dbdee345fe53ecc84aaf27 100644 >--- a/Source/WebCore/html/HTMLTextAreaElement.idl >+++ b/Source/WebCore/html/HTMLTextAreaElement.idl >@@ -20,23 +20,23 @@ > */ > > interface HTMLTextAreaElement : HTMLElement { >- [Reflect] attribute boolean autofocus; >- [Reflect] attribute DOMString dirName; >- [Reflect] attribute boolean disabled; >+ [CEReactions=NotNeeded, Reflect] attribute boolean autofocus; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString dirName; >+ [CEReactions=NotNeeded, Reflect] attribute boolean disabled; > readonly attribute HTMLFormElement form; >- attribute long minLength; >- attribute long maxLength; >- [Reflect] attribute DOMString name; >- [Reflect] attribute DOMString placeholder; >- [Reflect] attribute boolean readOnly; >- [Reflect] attribute boolean required; >- attribute unsigned long rows; >- attribute unsigned long cols; >- [Reflect] attribute DOMString wrap; >+ [CEReactions=NotNeeded] attribute long minLength; >+ [CEReactions=NotNeeded] attribute long maxLength; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString name; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString placeholder; >+ [CEReactions=NotNeeded, Reflect] attribute boolean readOnly; >+ [CEReactions=NotNeeded, Reflect] attribute boolean required; >+ [CEReactions=NotNeeded] attribute unsigned long rows; >+ [CEReactions=NotNeeded] attribute unsigned long cols; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString wrap; > > readonly attribute DOMString type; >- attribute DOMString defaultValue; >- attribute [TreatNullAs=EmptyString] DOMString value; >+ [CEReactions=NotNeeded] attribute DOMString defaultValue; >+ [CEReactions=NotNeeded] attribute [TreatNullAs=EmptyString] DOMString value; > readonly attribute unsigned long textLength; > > readonly attribute boolean willValidate; >@@ -58,5 +58,5 @@ interface HTMLTextAreaElement : HTMLElement { > > void setSelectionRange(optional long start = 0, optional long end = 0, optional DOMString direction); > >- attribute DOMString autocomplete; >+ [CEReactions=NotNeeded] attribute DOMString autocomplete; > }; >diff --git a/Source/WebCore/html/HTMLTimeElement.idl b/Source/WebCore/html/HTMLTimeElement.idl >index 67e1c1b541a60b57a844c671b639b0081a1c56cd..e03ea1fb7b4f62b96174403b512328c66fe9da1a 100644 >--- a/Source/WebCore/html/HTMLTimeElement.idl >+++ b/Source/WebCore/html/HTMLTimeElement.idl >@@ -24,5 +24,5 @@ > */ > > interface HTMLTimeElement : HTMLElement { >- [Reflect] attribute DOMString dateTime; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString dateTime; > }; >diff --git a/Source/WebCore/html/HTMLTrackElement.idl b/Source/WebCore/html/HTMLTrackElement.idl >index b568a527c4a7c37356c5964f3737df92910a3998..db403da4694cb873b3b5eb6030d53c137d3cb2ba 100644 >--- a/Source/WebCore/html/HTMLTrackElement.idl >+++ b/Source/WebCore/html/HTMLTrackElement.idl >@@ -26,11 +26,11 @@ > [ > Conditional=VIDEO_TRACK, > ] interface HTMLTrackElement : HTMLElement { >- attribute DOMString kind; >- [Reflect, URL] attribute USVString src; >- [Reflect] attribute DOMString srclang; >- [Reflect] attribute DOMString label; >- [Reflect] attribute boolean default; >+ [CEReactions=NotNeeded] attribute DOMString kind; >+ [CEReactions=NotNeeded, Reflect, URL] attribute USVString src; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString srclang; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString label; >+ [CEReactions=NotNeeded, Reflect] attribute boolean default; > > const unsigned short NONE = 0; > const unsigned short LOADING = 1; >diff --git a/Source/WebCore/html/HTMLUListElement.idl b/Source/WebCore/html/HTMLUListElement.idl >index e40350d83d1d84d4b4720ccc5c1cc75c20561511..e3234b2b87fc820e3ba2a7d524a1f3b87c0143e7 100644 >--- a/Source/WebCore/html/HTMLUListElement.idl >+++ b/Source/WebCore/html/HTMLUListElement.idl >@@ -18,7 +18,7 @@ > */ > > interface HTMLUListElement : HTMLElement { >- [Reflect] attribute boolean compact; >- [Reflect] attribute DOMString type; >+ [CEReactions=NotNeeded, Reflect] attribute boolean compact; >+ [CEReactions=NotNeeded, Reflect] attribute DOMString type; > }; > >diff --git a/Source/WebCore/html/HTMLVideoElement.idl b/Source/WebCore/html/HTMLVideoElement.idl >index c24c031e4019fcce0325cd97d2bc874a4022a012..1f931685bcc3bce3c4b3cc242f98075205a7e801 100644 >--- a/Source/WebCore/html/HTMLVideoElement.idl >+++ b/Source/WebCore/html/HTMLVideoElement.idl >@@ -27,13 +27,13 @@ > Conditional=VIDEO, > JSGenerateToNativeObject, > ] interface HTMLVideoElement : HTMLMediaElement { >- [Reflect] attribute unsigned long width; >- [Reflect] attribute unsigned long height; >+ [CEReactions=NotNeeded, Reflect] attribute unsigned long width; >+ [CEReactions=NotNeeded, Reflect] attribute unsigned long height; > readonly attribute unsigned long videoWidth; > readonly attribute unsigned long videoHeight; >- [Reflect, URL] attribute USVString poster; >+ [CEReactions=NotNeeded, Reflect, URL] attribute USVString poster; > >- [Reflect] attribute boolean playsInline; >+ [CEReactions=NotNeeded, Reflect] attribute boolean playsInline; > readonly attribute boolean webkitSupportsFullscreen; > readonly attribute boolean webkitDisplayingFullscreen; >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 187851
:
345514
|
345531
|
345538
|
345564
|
345656
|
345839
|
346584
|
346585
|
346652