Index: bindings/IDLExtendedAttributes.txt |
diff --git a/bindings/IDLExtendedAttributes.txt b/bindings/IDLExtendedAttributes.txt |
new file mode 100644 |
index 0000000000000000000000000000000000000000..dafd683323fccfc332f50d0c4fffc6d9a45cb62c |
--- /dev/null |
+++ b/bindings/IDLExtendedAttributes.txt |
@@ -0,0 +1,112 @@ |
+# |
+# This file describes all Blink IDL extended attributes and allowed values. |
+# If any IDL file uses an extended attribute or values not listed below, the |
+# build will fail. |
+# If you would like to add a new extended attribute or value, please: |
+# (1) add the extended attribute or value to this file |
+# (2) add an explanation to the Blink IDL extended attributes document: |
+# http://www.chromium.org/blink/webidl/blink-idl-extended-attributes |
+# (3) add appropriate test cases to run-bindings-tests |
+# |
+# The syntax of this file is as follows: |
+# - One extended attribute per one line: Name and (optionally) Values. |
+# - "Attr" means that the Attr does not take a value, i.e. [Attr]. |
+# - "Attr=X" means that Attr takes a required value, which must be X; |
+# i.e. [Attr=X]. |
+# - "Attr=X|Y|Z" means that Attr takes a required value, and the valid |
+# values are X, Y, and Z, and combinations thereof; |
+# e.g. [Attr=X], [Attr=Y], [Attr=X|Z]. |
+# The separator must be | or &, so [Attr=X&Z] is also valid; the |
+# separator makes a difference for Conditional, but otherwise is simply |
+# a style convention. |
+# - "Attr=|X|Y|Z" means that Attr takes an optional value, whose valid |
+# values (if present) are X, Y, and Z, and combinations thereof; e.g. |
+# [Attr], [Attr=X], [Attr=Y], [Attr=X|Z], [Attr=X|Y|Z], [Attr=X&Z]. |
+# Note that including an empty value in the list, as in [Attr=X||Y], |
+# is NOT valid: the value is optional, but empty values are not allowed. |
+# - "Attr=*" means that Attr takes a required value, which can be |
+# arbitrary, and combinations thereof, e.g. [Attr=IndexedDB], |
+# [Attr=DeleteFunction], [Attr=X|Y]. |
+# - "Attr=|*" means that Attr takes an optional value, which can be |
+# arbitrary, e.g. [Attr], [Attr=X]. |
+# - "Attr=X|*" means that Attr takes an required value, which can be |
+# arbitrary, but that "X" is standard, e.g. [Attr=X], [Attr=Foo]. |
+# |
+ |
+ActiveDOMObject |
+CachedAttribute=* |
+CallWith=ExecutionContext|ScriptState|ScriptArguments|ActiveWindow|FirstWindow|ThisValue |
+CheckSecurity=Frame|Node |
+Clamp |
+Conditional=* |
+Constructor |
+# FIXME: remove [ConstructorCallWith=Document], as can instead use |
+# [ConstructorCallWith=ExecutionContext] + toDocument(executionContext) |
+ConstructorCallWith=ExecutionContext|Document |
+Custom=|Getter|Setter|LegacyCallAsFunction|ToV8|VisitDOMWrapper|Wrap|PropertyGetter|PropertyEnumerator|PropertyQuery |
+CustomConstructor |
+CustomElementCallbacks |
+# Dartium specific attributes. |
+# DartCustom can have no value or New if New an additional method is added (V8 will not see this method) |
+DartCustom=|New|Setter|Getter |
+# DartName should have the alias name to be used to resolve. |
+DartName=* |
+# DartSuppress can have no value will suppress attribute/method, if attribute can also suppress |
+# just the DartSuppress=getter or DartSuppress=Setter |
+DartSuppress=|Getter|Setter |
+# No need to setup Dart API scope when a native function is invoked. |
+DartNoAutoScope |
+# End of Dartium attributes. |
+Default=Undefined |
+DependentLifetime |
+DeprecateAs=* |
+DoNotCheckConstants |
+DoNotCheckSecurity=|Setter |
+DoNotCheckSignature |
+EnforceRange |
+EventConstructor |
+ExposeJSAccessors |
+Exposed=* |
+GarbageCollected |
+Global=|* |
+Immutable |
+ImplementedAs=* |
+InitializedByEventConstructor |
+LegacyTreatAsPartialInterface |
+LogActivity=|GetterOnly|SetterOnly |
+LogAllWorlds |
+LogPreviousValue |
+MeasureAs=* |
+NamedConstructor=* |
+NoInterfaceObject |
+NotEnumerable |
+OverrideBuiltins |
+PartialInterfaceImplementedAs=* |
+# Valid values for [PerContextEnabled] are Context Features, in |
+# ContextFeatures::FeatureType in Source/core/dom/ContextFeatures.h |
+PerContextEnabled=* |
+PerWorldBindings |
+PrimaryGlobal=|* |
+PutForwards=* |
+RaisesException=|Getter|Setter|Constructor |
+ReadOnly |
+Reflect=|* |
+ReflectEmpty=* |
+ReflectInvalid=* |
+ReflectMissing=* |
+ReflectOnly=* |
+Replaceable |
+# Valid values for [RuntimeEnabled] are the Runtime Enabled Features, listed in |
+# Source/core/page/RuntimeEnabledFeatures.in |
+RuntimeEnabled=* |
+SetWrapperReferenceFrom=* |
+SetWrapperReferenceTo=* |
+SetterCallWith=ExecutionContext|ScriptArguments|ActiveWindow|FirstWindow |
+SpecialWrapFor=* |
+TreatNullAs=NullString |
+TreatReturnedNullStringAs=Null|Undefined |
+TreatUndefinedAs=NullString |
+TypeChecking=Interface|Nullable|Unrestricted |
+URL |
+Unforgeable |
+WillBeGarbageCollected |